A Python implementation of saltpack, mainly for testing and experimentation. You can play with commands like:
saltpack encrypt -m "foo" | saltpack decrypt --debug
pip3, depending on what your system calls Python
3's version of
pip install saltpack
A brief summary of the commands:
- encrypt and decrypt deal with encrypted messages. Use the
--binaryflag to skip the ASCII armoring. The default private key is 32 zero bytes, and the default recipients list is just the sender. They will read from stdin unless you provide the
- sign and verify deal with signed messages. The default private
key is randomly generated. These also understand
--detachedflag (for signing) and the
--signature <file>flag (for verifying) invoke the detached signing mode.
- armor and dearmor commands read input from stdin and either
encode it or decode it with saltpack's base 62 ASCII armor. The
--rawflag skips the "BEGIN..." header and "END..." footer. Note that the header produced by this command doesn't describe the message type (i.e. "BEGIN SALTPACK ENCRYPTED MESSAGE"), so prefer encrypt and sign's built-in armoring.
- block and unblock are low level command for playing with the BaseX encoding scheme that underlies our base 62 ASCII armor.
- efficient prints out a list of efficient BaseX block sizes for a given alphabet size.