[ Team LiB ] |
5.24 Using One-Time Pads5.24.1 ProblemYou want to use an encryption algorithm that has provable secrecy properties, and deploy it in a fashion that does not destroy the security properties of the algorithm. 5.24.2 SolutionSettle for more realistic security goals. Do not use a one-time pad. 5.24.3 DiscussionOne-time pads are provably secure if implemented properly. Unfortunately, they are rarely used properly. A one-time pad is very much like a stream cipher. Encryption is simply XOR'ing the message with the keystream. The security comes from having every single bit of the keystream be truly random instead of merely cryptographically random. If portions of the keystream are reused, the security of data encrypted with those portions is incredibly weak. There are a number of big hurdles when using one-time pads:
Basically, the secure deployment of one-time pads is almost always highly impractical. You are generally far better off using a good high-level interface to encryption and decryption, such as the one provided in Recipe 5.16. 5.24.4 See Also |
[ Team LiB ] |