Skip to main content

Python implementation of the Axolotl ratchet protocol

Project description

Overview

The Axolotl ratchet is a protocol (similar to OTR) that provides for perfect forward secrecy in (a)synchronous communications. It uses triple Diffie-Hellman for authentication and ECDHE for perfect forward secrecy. The protocol is lighter and more robust than the OTR protocol - providing better forward and future secrecy, as well as deniability.

The protocol was developed by Trevor Perrin and Moxie Marlinspike. Its chief use currently is in the Whisper Systems TextSecure SMS package.

A nice writeup of the protocol is on the Whisper Systems Blog. You can find the most recent specification of the protocol here.

Installation instructions

If you use pip, install pyaxo with:

sudo pip install pyaxo

pyaxo will be ready for use!

If you do not use pip, first make sure that you have the following:

sudo apt-get install python-dev

You will have to install the curve25519-donna package manually, since pyaxo requires it for doing the ECDHE calculations. It can be installed by:

git clone https://github.com/agl/curve25519-donna
cd curve25519-donna
sudo python setup.py install

pyaxo also uses python-gnupg and passlib, and if you have setuptools installed, these packages will be downloaded and installed automatically. You may need some additional python modules as well. Check the imports list.

Finally, from pyaxo’s source folder, install with:

sudo python setup.py install

Usage

There are several examples showing usage. There are also encrypt_pipe() and decrypt_pipe() methods for use in certain applications. I haven’t put together an example using them yet, but it should be straightforward.

Bugs, etc. should be reported to the pyaxo github issues page.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyaxo-0.3.tar.gz (29.2 kB view details)

Uploaded Source

Built Distribution

pyaxo-0.3.linux-x86_64.tar.gz (35.5 kB view details)

Uploaded Source

File details

Details for the file pyaxo-0.3.tar.gz.

File metadata

  • Download URL: pyaxo-0.3.tar.gz
  • Upload date:
  • Size: 29.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for pyaxo-0.3.tar.gz
Algorithm Hash digest
SHA256 80c4ad66a360a8b1064ad8e1aaf8f665d870a7e2015403d06040bdaa29ba0bfc
MD5 1b4b462d97aec2472a2cde5caf27bf35
BLAKE2b-256 89a09726086728467c279629e41e0e145b223f0c598978251c46814684939bf5

See more details on using hashes here.

File details

Details for the file pyaxo-0.3.linux-x86_64.tar.gz.

File metadata

File hashes

Hashes for pyaxo-0.3.linux-x86_64.tar.gz
Algorithm Hash digest
SHA256 752f5525c011cb9db2531566eca2d94099b81bbc0976aeb1246f5d88915c9e54
MD5 941764fba44f459ed72a20dfa8a5eeff
BLAKE2b-256 0e60ebb218bade130ac9ac7461c68de2d9313b61d1979f8fae25f691b0d7a9cc

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page