ACL is an ongoing academic projects. Several parts of the code is written by students as part of a semester project or a (bachelor/master) thesis. Usually, those students are neither ADA professionals nor cryptographic experts.

Thus, use this project with caution.

Packages

  • crypto
  • crypto.*

Unit Testing

  • Test.*

Implemented Features

  • Symmetric Cryptography

    • Blockciphers: AES, Twofish, 3DES, Serpent
    • Modes of Operation : BPS, CFB, Ctr, OFB
    • Tweakable Blockcipher Modes: CMT, XT
    • Hash functions: SHA-1 (broken), SHA-256, (SHA-384), SHA-512, Whirlpool
    • MACs: RMAC, HMAC, CMAC
    • Authenticated Encryption schemes: OCB, SIV and McOE
    • Key Derivation Functions: PBKDF2, scrypt, and SHA-512crypt
  • Big (unsigned) number library

    • Primary cyclic group arithmetic (Z_p)
    • Binary Field arithmetic support.
    • Elliptic Curve arithmetic
      • Supersingular Elliptic Curves Over Binary Fields (SS-BF)
      • Non-Supersingular Elliptic Curves Over Binary Fields (NSS-BF)
      • Elliptic Curves Over Z_p (EC-Z_P)
  • Asymmetric Cryptography

    • Probabilistic primality testing
    • DSA signature scheme
    • OEAP-RSA
    • ECDSA, ECDH
  • Nonce Generator Support: Random, Counter, Mixed