newhope: Library implementing the NewHope cryptographic key-exchange protocol

This is a package candidate release! Here you can preview how this package release will appear once published to the main package index (which can be accomplished via the 'maintain' link below). Please note that once a package has been published to the main package index it cannot be undone! Please consult the package uploading documentation for more information.

[maintain] [Publish]

Warnings:

This is a Haskell implementation of the NewHope key exchange protocol. It has been made via examination of the official NewHope project's public domain C reference code and the author is not affiliated with that team or with NIST. For further details please see the package README.


[Skip to Readme]

Properties

Versions 0.1.0.0, 0.1.0.0
Change log ChangeLog.md
Dependencies AES (>=0.2 && <0.3), base (>=4.7 && <5), bytestring (>=0.10 && <0.11), containers (>=0.5 && <0.7), deepseq (>=1.4 && <1.5), mtl (>=2.2 && <2.3), system-fileio (>=0.3 && <90.4), system-filepath (>=0.4 && <0.5), tasty-quickcheck (>=0.10 && <0.11), text (>=1.2 && <1.3), vector (>=0.12 && <0.13) [details]
License Apache-2.0
Copyright © 2019 Jeremy Bornstein
Author Jeremy Bornstein
Maintainer jeremy@bornstein.org
Category Library, Cryptography
Home page https://github.com/unprolix/newhope#README.md
Bug tracker https://github.com/unprolix/newhope/issues
Source repo head: git clone https://github.com/https://github.com/unprolix/newhope
Uploaded by jeremy at 2019-03-23T16:47:59Z

Modules

[Index] [Quick Jump]

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees


Readme for newhope-0.1.0.0

[back to package description]

This is a Haskell implementation of the NewHope key exchange protocol. It has been made via examination of the official NewHope project's public domain C reference code and the author is not affiliated with that team or with NIST.

This codebase has not yet been reviewed by anyone other than the author. Until such time as it has been competently reviewed, please consider it as a draft implementation only, and do not rely on it for actual securtiy in practice. Judged by comparison with the reference library, it does produce correct results but could contain subtle (or obvious!) flaws. In addition, it has not been optimized for performance and at this stage is probably quite a bit slower than the reference C implementation on any given platform.

This project uses the Haskell build manager "stack" to produceː

In addition, the project contains a fair number of automatically-evaluated tests that cover a large swath of the important functionality implemented, including that tested by the "test" binaries built by the reference C source, and including comparison between the KAT output that we produce and that produced by the reference C implementation. To run the tests and view the results, execute stack test at a command line.

लोकाः समस्ताः सुखिनोभवंतु

Patches, comments, and discussion are welcome. The most appropriate place for these for the time being is probably the Github repository.