Hacker News new | past | comments | ask | show | jobs | submit login

That's what I was saying a true OTP is a cumbersome version of stream cyphers that trades some improvement in security for a huge increase in fragility and difficulty of use and distribution.



The OTP algorithm can be seen as a form of stream cipher (where the key is the stream), but what you actually said was "a lot of encryption algorithms are various ways of creating a one-time pad". This is false since a one-time pad must be truly random and the stream produced by the other algorithms is only pseudo-random; you can't "create" a one-time pad using a pseudo-random number generator. This is a qualitative difference in security because a pseudo-random stream is subject to brute-force searches to locate the seed which decodes the ciphertext to a meaningful message (the number of possible seeds is much smaller than the number of possible messages, so you can generally determine when you've found the right key) whereas with a properly implemented OTP for any message of size equal to or smaller than the ciphertext there exists a key which will decode the ciphertext into that message (possibly with some padding), so brute-force search is impossible.

I wouldn't call OTP "fragile" or "hard to use", but you're correct about the key distribution difficulties.


> With a single key much smaller than a megabyte

Unless that was a preshared key, you're not talking about a one time pad. One time pads are inherently symmetric. If you're comparing symmetric to assymmetric crypto systems, you might as well just say that 'if my grandmother had wheels, she'd be a bicycle'.


I don't think "symmetric cryptography" means what you think it means.

Stream ciphers and OTPs are both symmetric.

The "symmetric" part is the fact that the same key is used for encryption and decryption, not that the plaintext and key are the same length.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: