Skip to content

The-QSig-Commission/q1ss

Repository files navigation

Quantum 1-Shot Signatures

Python versions PyPI version PyPI status Checked with Mypy Documentation Status standard-readme compliant

This library contains experimental implementations of quantum one-shot signatures by authors from the QSig Commission and other contributors, with special focus on blockchain technology. Currently, the main focus is on implementation, compilation and obfuscation of affine partition functions, originally introduced by "One-shot Signatures and Applications to Hybrid Quantum/Classical Authentication".

The library is currently in pre-alpha development, but you can install the latest release from PyPI as follows:

$ pip install -U q1ss

Low-level operations are vectorised using numpy, which is a required dependency of this library.

If numba is installed, it is automatically used to JIT-compile certain low-level operations for additional performance:

$ pip install -U numba

If cupy is installed additionally to numba, GPU acceleration can be used for certain operations:

$ pip install -U cupy

If networkx and matplotlib are installed, affine subspaces and affine partition functions can be drawn for easier visualisation:

$ pip install -U networkx matplotlib

Short usage examples for the README are coming soon.

The notebooks folder contains the following Jupyter notebooks, exemplifying various features of the library:

  1. The AffinePartitions notebook contains examples related to the construction of affine partition functions.

For the full API documentation, see https://q1ss.readthedocs.io/

LGPL © Hashberg Ltd and 20squares UG.