Saturday, June 26, 2004

AES and the One Time Pad

The traditional way to use a one-time pad (OTP) is to XOR the pad data with the plain text. However, if an attacker gets a hold of the plaintext and the ciphertext, and if you are stupid enough to accidentally encrypt using the same "one-time" pad data twice, then the second encryption can be trivially broken. So instead of using XOR as your "cipher", use AES, and use the one-time pad as key material. That is, take 128 bits of plaintext and 128 bits of OTP as key to produce one block of ciphertext. For the next block, take the next 128 bits of OTP as key and so forth. Even after an attacker gains the plaintext and ciphertext, he still has to calculate f(PT,CT)->Key(s) which is conjectured to be hard. So, my AES decoder ring will also have a CD-ROM which can input a one-time-pad.

No comments :