您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

1234567891011121314151617181920212223242526272829303132
  1. # `p751sidh`
  2. 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](http://sike.org/files/SIDH-spec.pdf) (Nov 30, 2017).
  3. The implementation is intended for use on the `amd64` architecture only -- no
  4. generic field arithmetic implementation is provided. Portions of the field
  5. arithmetic were ported from the Microsoft Research implementation.
  6. The SIDH package does NOT implement key validation. It means that it should only be
  7. used for ephemeral DH. Each keypair should be used at most once.
  8. If you feel that SIDH may be appropriate for you, consult your cryptographer.
  9. ## Source code
  10. Project provides following packages:
  11. * ``p751toolbox``: P751 field arithmetic, curve computation and isogeny internal functions
  12. * ``sidh``: Implementation of SIDH key agreement
  13. * ``sike``: Implementation of SIKE PKE and KEM, based on ``sidh`` package
  14. ## Testing
  15. At development time following make targets may come handy:
  16. * ``make test`` : unit testing
  17. * ``make bench``: benchmarking
  18. * ``make cover``: produces code coverage as txt file (used by travis)
  19. 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``.
  20. ## Acknowledgements
  21. Special thanks to [Craig Costello](http://www.craigcostello.com.au/), [Diego Aranha](https://sites.google.com/site/dfaranha/), and [Deirdre Connolly](https://twitter.com/durumcrustulum) for advice
  22. and discussion.