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