Metadata-Version: 2.1
Name: lattice_cryptography
Version: 0.0.2
Summary: Implementation of lattice cryptography primitives
Home-page: https://github.com/geometry-labs/lattice-cryptography
Author: Geometry Labs
Author-email: info@geometrylabs.io
License: MIT
Keywords: lattice,cryptography,crypto,signatures
Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: Intended Audience :: Financial and Insurance Industry
Classifier: Natural Language :: English
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
Classifier: Programming Language :: Python
Classifier: Topic :: Software Development
Classifier: Topic :: Scientific/Engineering :: Mathematics
Classifier: Topic :: Security :: Cryptography
Classifier: Typing :: Typed
Requires-Python: >=3.6
Description-Content-Type: text/markdown
License-File: LICENSE

## Introduction

This repository contains an implementation of a lattice-based one-time signature scheme (similar to the one published by [Lyubashevsky and Micciancio](https://eprint.iacr.org/2013/746.pdf)), and an extension to [Boneh and Kim](https://github.com/geometry-labs/rsis/blob/dev-end-of-january/lmsigs/agg_ots/agg_ots.py) style signature aggregation. An upcoming release will include prototypes of our novel one-time adaptor signature scheme.

## Explanatory resources
The "Techniques for efficient post-quantum finance" finance series contains several articles that go into detail about how these schemes work.

+ For more information about the one-time signature scheme (`lm_one_times_sigs`) see this writeup: [https://www.theqrl.org/blog/techniques-for-efficient-post-quantum-finance-part-1-digital-signatures/](https://www.theqrl.org/blog/techniques-for-efficient-post-quantum-finance-part-1-digital-signatures/)
+ For more information about signature aggregation (`bklm_one_time_agg_sigs.py`) see this writeup: [https://www.theqrl.org/blog/techniques-for-efficient-post-quantum-finance-part-2-signature-aggregation/](https://www.theqrl.org/blog/techniques-for-efficient-post-quantum-finance-part-2-signature-aggregation/)
+ For more information about the `lattice-algebra` library underlying the code in this repositor, see our introduction here: https://www.theqrl.org/blog/lattice-algebra-library/

## Contributors

Brandon Goodell (lead author), Mitchell "Isthmus" Krawiec-Thayer, Rob Cannon.

Built by [Geometry Labs](https://www.geometrylabs.io) in partnership with [The QRL Foundation](https://qrl.foundation/).

## Running Tests

Run `pip install -r requirements-dev.txt` then see files in `tests` folder

## License

This library is released as free and open-source software under the MIT License, see LICENSE file for details.

## Contact

[info@geometrylabs.io](mailto:info@geometrylabs.io)

