Skip to content

python3 implementation of the Double Ratchet Algorithm by Signal app.

Notifications You must be signed in to change notification settings

BlancoLanda/double-ratchet-py

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 

Repository files navigation

Double Ratchet implementation in Python3

Python3 implementation of the Double Ratchet Algorithm by Signal app. It does not include key agreement protocol (such as X3DH) to agree on the shared secret key, header encryption nor out-of-order messages. To deliver messages between both ends, MQTT protocol is used, so a MQTT server is needed.

Installation

pip3 install -r requirements.txt

Usage

First:

python3 double_ratchet.py in

After that, on other instance:

python3 double_ratchet.py out

How it works

Bob (OUT) starts sending the DH parameters to Alice (IN). Then, Alice (IN) automatically sends a message to Bob (OUT) to start the conversation. After that, the system is initialized, and both console inputs are enabled to start chatting.

References

[1] The Double Ratchet Algorithm: https://signal.org/docs/specifications/doubleratchet/

About

python3 implementation of the Double Ratchet Algorithm by Signal app.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages