Sage ideal crypto toolbox
Revision as of 21:34, 24 November 2010 by <bdi>PhilippeTeuwen</bdi> (talk | contribs) (Reverted edits by Etegohy (Talk) to last revision by PhilippeTeuwen)
Back to SAGE & cryptology
This is a lengthy list but it's our Xmas list ;-) We aim to have a toolbox for research/education/playing not production optimizations required. So easy access, reconfigurability and clearness are more important!
Block ciphers
Block cipher algorithms
Make sure the internals are accessible and reconfigurable, particularly the S-BOXes.
Try to make generic constructors such as Feistel cipher, etc
- Serpent
- Blowfish, Twofish
- Idea
- DES, 3DES 112, 168
- AES 128, 196, 256
- Present
Modes of operation
Make sure we can select independently the block cipher encryption/decryption mode and the chaining "encryption/decryption" mode
- Authentication modes
- CMAC
- XCBC
- CBC-MAC
- Authentication+encryption modes
- CCM
- GCM
- Encryption modes
- ECB
- CBC
- CTR
- Disk encryption modes
- LRW
- XTS
Non-keyed hashes
- MDC-2 (ISO 10118-2)
Paddings
- Bit padding (can be done at bit level, others are at byte level)
DD DD DD 80 00 00 00 00
- zeros
DD DD DD 00 00 00 00 00
- PKCS7
DD DD DD 05 05 05 05 05
- ISO 10126
DD DD DD 42 DB 8A 98 05
- ANSI X.923
DD DD DD 00 00 00 00 05
Stream ciphers
Same thing, get the internals accessible and patchable
- RC4
- A5/1 A5/2
- SNOW2 SNOW3G
- SW candidates of eSTREAM:
- HC-128
- RABBIT
- Salsa 20/12
- SOSEMANUK
- HW candidates of eSTREAM:
- F-FCSR
- Grain
- MICKEY
- Trivium
- LFSR
- Shrinking generator
- Self-shrinking generator
One-way functions
- MD5
- SHA family
- Whirlpool
- RipeMD
- MDC-2
- RadioGatún
Ways to transform a block cipher into a hash
- Davies-Meyer
- Matyas-Meyer-Oseas
- Miyaguchi-Preneel
MACs based on hash functions
- HMAC
- NMAC
Key derivation functions
- KDF family
- PBKDF2
Public-key cryptography
ECC
- all coordinate systems
- cf http://www.hyperelliptic.org/EFD/
Others
- RSA (encryption, signature, PKCS#1 v1.5 and v2.1, with and without CTR)
- DSA
- ElGamal
- DH
- XTR
- Paillier
- NTRUE
Pseudo-random generators
- cf NIST
- Mersenne Twister
Cryptanalysis tools
- boolean functions & S-Box
- algebraic degree
- algebraic immunity
- algebraic normal form (ANF)
- non linearity
- resiliency
- Walsh transforms
- cross-correlation
- ECC point counting
- complex multiplication?
- factorisation solver
- discrete log solver
- statistical tests (diehard, FIPS...)
- Field operations: addition, multiplication, inverses (normal and polynomial basis)