Nelze vybrat více než 25 témat Téma musí začínat písmenem nebo číslem, může obsahovat pomlčky („-“) a může být dlouhé až 35 znaků.
 
 
 
Ko- 036e180db1 p751: fix asm, in Go registers are caller-saved před 6 roky
etc sike: algorithm implementation (#7) před 6 roky
p751toolbox p751: fix asm, in Go registers are caller-saved před 6 roky
sidh p751: implements platform independent field arithmetic před 6 roky
sike sike: algorithm implementation (#7) před 6 roky
.travis.yml ci: run also tests for generic code před 6 roky
LICENSE cln16sidh: add LICENSE text před 7 roky
Makefile ci: re-organize makefile před 6 roky
README.md sike: algorithm implementation (#7) před 6 roky

README.md

p751sidh

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

The implementation is intended for use on the amd64 architecture only -- no generic field arithmetic implementation is provided. 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:

  • p751toolbox: P751 field arithmetic, curve computation and isogeny internal functions
  • 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 -p751toolbox, -sidh or -sike.

Acknowledgements

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