update
1 file changed
tree: 0b4c0a4025376c311788fdaf1dfa362309615c4d
  1. arithm.sage
  2. digest.sage
  3. ec_arithm.sage
  4. ecdsa.sage
  5. eckeygen.sage
  6. ectest.sage
  7. elgamal.sage
  8. field.sage
  9. hash_to_range.sage
  10. inverse.sage
  11. lamport.sage
  12. Makefile
  13. matrix.sage
  14. miller-textbook.sage
  15. miller.sage
  16. nist-char2-polys.sage
  17. paillier.sage
  18. paillier_test.sage
  19. plot.sage
  20. prime192v1.sage
  21. rand.sage
  22. README.md
  23. reed-solomon.sage
  24. rsa.sage
  25. symbolic.sage
  26. two-party-ecdsa.sage
  27. type1curve.sage
  28. weil-pairing-example.sage
README.md

About

CryptoSage provides cryptography algorithms in SageMath (http://www.sagemath.org).

This project is for students and engineers interested in cryptography. You can try and test these cryptography algorithms with real parameters and full key lengths. We write cryptography algorithms in SageMath.

Install

At first you need to install SageMath. And then the sage command can load and run the CryptoSage scripts.

Features

We hope to implement all popular public key schemes:

  • Integer-Factoring-Based Cryptosystems including RSA/Rabin/Paillier, etc.
  • Descrete-Log-Based Cryptosystems including DH/ElGamal/DSA, etc.
  • ECC (Elliptic curve cryptography)
  • Pairing-Based Cryptography
  • Lattice-Based Cryptography
  • Coding-Based Cryptography

Elliptic Curve Cryptography

  • EC domain parameters: prime192v1.sage
  • EC key generation: eckeygen.sage
  • ECDSA signature generation and verification ecdsa.sage

You can view and try the ectest.sage

$ sage ectest.sage

Pairing