Jotasapiens / Open Source Libraries

JotaSigs (Hash-based Signatures)

JotaSigs is a Python implementation of hash-based, one time signatures (OTS). OTS serve as primitives employed to construct more general signatures schemes. On its own, a OTS can only authenticate one single message per public key. In conjuction with another scheme (i.e., XMSS) the OTS primitive can be turned into a many-times, general purpose signature.

Hash-based signatures are post-quantum: they are designed to be used on classical computers, and are thought to be resistant even against an attacker with a quantum computer, since they only rely the security of a cryptographic hash.

The Jotasigs library includes two primitives:

Important: the library is currently in beta, and is intended for use in education and research. Use with caution. Its use in production is not recommended yet.


Requirements: Python 2.7

(All versions are beta versions)

Shuffle (A Peer-to-peer Voting Algorithm)

Shuffle is a Python implementation of some functions described in the paper 'Shuffling Public Keys (A Peer-to-peer Voting Algorithm)'.

The folder 'shuffle, with routing' includes the main functions:


Requirements: Python 2.7


The code is distributed under a 3-clause BSD license.

More info

Papers and additional info describing the algorithms are available at:

hosted by
Hosted by TuxFamily