Sage ideal crypto toolbox

From YobiWiki
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

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

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)