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

12345678910111213141516171819202122232425262728293031
  1. # `sidh`
  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. Portions of the field arithmetic were ported from the Microsoft Research implementation.
  4. The SIDH package does NOT implement key validation. It means that it should only be
  5. used for ephemeral DH. Each keypair should be used at most once.
  6. If you feel that SIDH may be appropriate for you, consult your cryptographer.
  7. ## Source code
  8. Project provides following packages:
  9. * ``p503``: P503 field arithmetic
  10. * ``p751``: P751 field arithmetic
  11. * ``sidh``: Implementation of SIDH key agreement
  12. * ``sike``: Implementation of SIKE PKE and KEM, based on ``sidh`` package
  13. ## Testing
  14. At development time following make targets may come handy:
  15. * ``make test`` : unit testing
  16. * ``make bench``: benchmarking
  17. * ``make cover``: produces code coverage as txt file (used by travis)
  18. 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``.
  19. ## Acknowledgements
  20. 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
  21. and discussion.