q1ss

Quantum 1-Shot Signatures


License
LGPL-2.1
Install
pip install q1ss==0.0.1

Documentation

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".

Install

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

Usage

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.

API

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

License

LGPL © Hashberg Ltd and 20squares UG.