Mixing and whitening algorithms

From Randomness for cryptography
Jump to navigation Jump to search

Algorithms

Linux dev/random, urandom

Cryptographic hashes

  • MD5
  • SHA1
  • SHA2
  • SHA3
  • SHA3 competition runners up with poor hardware performance (SCRUPHP -- a good thing)

Ciphers

  • xor
  • 3DES
  • AES
  • NaCl Salasa20
  • RC4

Strong PRNGs

  • Ciphers and hashes in feedback mode
  • Blum-Blum-Shub
  • Dual_EC_RNG --NSA supplied constants, used as default by RSA, are highly suspect

Yarrow and Fortuna

  • Solves the wrong problem?

Key stretching

A few seconds at startup reduces risk associated with RdRand, Bernstein attack.--agr

Entropy testing

  • What statistical tests exist?
  • How valid are they?
  • External tests
    • Sensitivity to temperature, vibration, external radiation
    • X-ray, reverse engineering
    • Nothing up my sleeve hardware