Skip to content
A Python implementation of saltpack, mainly for testing. Only partial support for V2.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
saltpack
.gitignore
.travis.yml
README.md
requirements-dev.txt
setup.py switch from libnacl back to PyNaCl Feb 3, 2016
test_saltpack.py add an encoding directive for potential Python 2 compatibility Jul 20, 2017
tox.ini

README.md

Build Status

A Python implementation of saltpack, mainly for testing and experimentation. You can play with commands like:

saltpack encrypt -m "foo" | saltpack decrypt --debug

Install with pip or pip3, depending on what your system calls Python 3's version of pip:

pip install saltpack

A brief summary of the commands:

  • encrypt and decrypt deal with encrypted messages. Use the --binary flag 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 --message flag.
  • sign and verify deal with signed messages. The default private key is randomly generated. These also understand --binary and --message. The --detached flag (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 --raw flag 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.
You can’t perform that action at this time.