25'ten fazla konu seçemezsiniz Konular bir harf veya rakamla başlamalı, kısa çizgiler ('-') içerebilir ve en fazla 35 karakter uzunluğunda olabilir.

README.md 1.5 KiB

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.