Skip to content

Latest commit

 

History

History
45 lines (41 loc) · 2.19 KB

README.md

File metadata and controls

45 lines (41 loc) · 2.19 KB

OptimizedJCAlgs

Collection of open-source JavaCard crypto algorithms. Optimized for memory and speed with unified interface (where possible). See each algorithm's own readme file for more details.

Featured algorithms:

  • AEGIS, ACORN, ASCON, CLOC, MORUS - Authenticated Encryption
  • TWINE, Zorro - Block Ciphers
  • SHA-3 - Message Digest
  • PBKDF2 - Key derivation
  • OpenPGP - extend your GnuPG with smart card!

List of known JC crypto algs on GitHub:

  • Elliptic curves: JCMathLib
  • Sha3 (Keccak): JCSha3, OptimizedJCAlgs (Discontinued on JCSha3, continuing here; SHAKE not done yet)
  • JCSWAlgs (don't blindly trust the code there)
    • Sha3
    • Sha512
    • AES
    • Twine Cipher (incorrect implementation there, correct here)
    • Zorro Cipher (correct implementation here, but the alg. design is not secure!)
  • Primitives_SmartCard
    • Sha3
    • LBlock Cipher
    • Picollo Cipher
    • Rectangle Cipher
  • Authenticated Encryption: AEonJC (well optimized)
    • AEGIS
    • ACORN
    • ASCON
    • CLOC
    • MORUS
  • OpenPGP - open source PGP on JC
  • LedgerHQ Wallet - implementation of Ledger cryptocurrency wallet on JC
  • Password-based key derivation: OptimizedJCAlgs
    • PBKDF2 (Sha1, Sha256; single-block, 128-bit salt) (pretty slow)

Profiling and optimization tools:

JC miracle people: Martin Paljak, PetrS