Skip to main content

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

Make sure that you have the following:

sudo apt-get install python-dev # If using Debian/Ubuntu
sudo yum install python-devel # If using Fedora

pyaxo also uses python-gnupg, curve25519-donna and passlib, but these packages will be downloaded and installed automatically by pip/setuptools.

If you use pip, install pyaxo with:

sudo pip install pyaxo

If you use setuptools, change to pyaxo’s source folder and install with:

sudo python setup.py install

pyaxo will be ready for use!

If you do not use neither of those, you will have to manually install each dependency before running the previous command.

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.

Protocol Update

pyaxo 0.4 was updated according to the latest (Oct 1, 2014) version of the protocol, which changed the order of the ratcheting. For that reason, old conversations (created with pyaxo < 0.4) might not work properly after the update. We suggest that users update pyaxo and restart their conversations.

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

Metadata

Release files for pyaxo 0.5.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pyaxo 0.5.0
File Size Uploaded
pyaxo-0.5.0.tar.gz 56.4 kB Details

Release files / pyaxo-0.5.0.tar.gz

Download URL pyaxo-0.5.0.tar.gz
Size 56.4 kB
Tags Source
SHA-256 checksum
How to use checksums
a60cdb127e1f8bf34a985bec12932e146601ce6636e0f9ec30f324b490713b7b
BLAKE2b-256 checksum
How to use checksums
9ba6457de00d0c7b76052fee351c93ad76a852cd00fdbb65b3c6ea3e4c5fb330
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

0.8.2

1 release file

0.8.1

1 release file

0.8.0

1 release file

0.7.7

1 release file

0.7.6

1 release file

0.7.5

1 release file

0.7.4

1 release file

0.7.3

1 release file

0.7.1

1 release file

0.7.0

1 release file

0.6.1

1 release file

0.6.0

1 release file

This release

0.5.0 This release

1 release file

0.4.6

1 release file

0.4.4

1 release file

0.4.3

1 release file

0.4.2

1 release file

0.4.1

1 release file

0.3.9

1 release file

0.3.8

1 release file

0.3.7

1 release file

0.3.6

1 release file

0.3.5

1 release file

0.3.4

1 release file

0.3.3

1 release file

0.3.2

1 release file

0.3

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page