Block ciphers

Imagemap
Block ciphersoperation modesECBweakcodebook attackattackscodebooksmall plaintext blocksknown plaintextmatching ciphertextlike...gigantic lookup table!AESRijndaelkey schedulersubstitution boxesrandom permutationvery non-linearusually...byte-sizedfixed-size lookup tablevery fast!keyselectiontruly random?entropy<2^64 bits = breakableEnglish?need > 32 charsavalanche effect1-bit input changecompletely different outputstrictly...50% bits changed on averageBlowfishkey derives s-boxesidentical roundsmathematically non-linearcan't simplifyinvolutionreversibleself-invertingindependent of functionXORy = Fk(a ^ b) ^ ax = Fk(a ^ b) ^ bz = Fk(a ^ b) ^ b ^ Fk(Fk(a ^ b) ^ a ^ F ...function Fhighly non-linearvery fast
hideBlock ciphers
hideoperation modes
hidedesktop_newECB
hideweak
leafcodebook attack
hideattacks
hidecodebook
leafsmall plaintext blocks
leafknown plaintext
leafmatching ciphertext
hidelike...
leafgigantic lookup table!
hideAES
leafRijndael
leafhelpkey scheduler
hidemessagebox_warningsubstitution boxes
hiderandom permutation
leafbutton_okvery non-linear
hideusually...
leafbyte-sized
leaffixed-size lookup table
leafflagvery fast!
hidepasswordkey
hideselection
hidetruly random?
hideentropy
leaf<2^64 bits = breakable
hideEnglish?
leafneed > 32 chars
hideavalanche effect
hide1-bit input change
leafcompletely different output
hidestrictly...
leaf50% bits changed on average
hideBlowfish
leafkey derives s-boxes
hideidentical rounds
hidemathematically non-linear
leafcan't simplify
hideinvolution
leafreversibleInternal Link
leafself-invertingInternal Link
leafindependent of function
hideXOR
leafy = Fk(a ^ b) ^ a
leafx = Fk(a ^ b) ^ b
leafz = Fk(a ^ b) ^ b ^ Fk(Fk(a ^ b) ^ a ^ Fk(a ^ b) ^ b) => z = Fk(a ^ b) ^ b ^ Fk(a ^ b) => z = b
hidefunction F
leafhighly non-linear
leafvery fast