Non puoi selezionare più di 25 argomenti Gli argomenti devono iniziare con una lettera o un numero, possono includere trattini ('-') e possono essere lunghi fino a 35 caratteri.
 
 
 
Henry Case cf9e40db2b perf p751: improve performance by using branch predictor 6 anni fa
etc p503 in SIDH/SIKE 6 anni fa
internal moves KeyVariant to api.go and removes PrimeFieldId 6 anni fa
p503 perf p503: improve performance by using branch predictor 6 anni fa
p751 perf p751: improve performance by using branch predictor 6 anni fa
sidh changes import paths 6 anni fa
sike changes import paths 6 anni fa
.travis.yml makefile: improvements 6 anni fa
LICENSE cln16sidh: add LICENSE text 7 anni fa
Makefile changes import paths 6 anni fa
README.md Updates README.md 6 anni fa

README.md

sidh

Project provides a Go implementation of (ephemeral) supersingular isogeny Diffie-Hellman (SIDH) and supersingular isogeny key exchange (SIKE), as specified in SIDH-spec, PQC NIST Submission (Nov 30, 2017).

Portions of the field arithmetic were ported from the Microsoft Research implementation.

The SIDH package does NOT implement key validation. It means that it should only be used for ephemeral DH. Each keypair should be used at most once.

If you feel that SIDH may be appropriate for you, consult your cryptographer.

Source code

Project provides following packages:

  • p503: P503 field arithmetic
  • p751: P751 field arithmetic
  • sidh: Implementation of SIDH key agreement
  • sike: Implementation of SIKE PKE and KEM, based on sidh package

Testing

At development time following make targets may come handy:

  • make test : unit testing
  • make bench: benchmarking
  • make cover: produces code coverage as txt file (used by travis)

It is possible to add one of following postfixes to each of the targets above, in order to run tests specific to -p503, -p751, -sidh or -sike.

Acknowledgements

Special thanks to Craig Costello, Diego Aranha, and Deirdre Connolly for advice and discussion.