raw
esthlos-v_keccak        1 Q: What is this?
esthlos-v_keccak 2 A: This is an implementation of the Keccak hash function.
esthlos-v_keccak 3
esthlos-v_keccak 4 Q: What is a hash function?
esthlos-v_keccak 5 A: A deterministic procedure which seems difficult to invert.
esthlos-v_keccak 6
esthlos-v_keccak 7 Q: What do you mean "seems difficult"?
esthlos-v_keccak 8 A: Broadly speaking, there is no proof that common hash functions *are*
esthlos-v_keccak 9 difficult to invert. Rather, we don't know efficient ways to invert them.
esthlos-v_keccak 10
esthlos-v_keccak 11 Q: What is Keccak?
esthlos-v_keccak 12 A: https://keccak.team/keccak.html
esthlos-v_keccak 13
esthlos-v_keccak 14 Q: What are the advantages of Keccak over other hash functions?
esthlos-v_keccak 15 A: Keccak has a few nice features (list not exhaustive):
esthlos-v_keccak 16 - Keccak can take in arbitrarily large input, and return arbitrarily
esthlos-v_keccak 17 large output.
esthlos-v_keccak 18 - It's possible to trade security for speed, and vice versa.
esthlos-v_keccak 19
esthlos-v_keccak 20 Q: How does Keccak work?
esthlos-v_keccak 21 A: Basically, Keccak loads bits into a large Rubik's cube, permutes those bits
esthlos-v_keccak 22 in convoluted ways, and reads back bits from the Rubik's cube.
esthlos-v_genesis 23 To contain a Keccak implementation.