Hacker News new | ask | show | jobs
by immibis 615 days ago
If you generate your OTP beforehand with a PRNG, it's also a stream cipher with extra steps. The real key space is the PRNG seed space, not the size of the key you shipped. Expanding a small key into a big one doesn't make it an OTP - an OTP needs to be actually random.
1 comments

The difficult of stream ciphers is generating good noise 100% predictably. With a one time pad generation you don't need to be able to reliably recreate good noise from the key.

The generator used at the time in BASIC seems to have reseeded the PRNG automatically based on processor time and the checksum of the last block generated by the previous seed so you'd have to use some other source of randomness because you couldn't control that on disparate machines even if you changed the clock on the decoding machine to exactly match the encoding machine at the time of generation.

Instead of just using a statistically useful rand the creator of this would have had to create their own implementation of a stream cipher and that's trusting the NSA hasn't backdoored all of them which was a fear at the time. We're honestly not certain still, though the times that people were most paranoid about like the DES standard it turns out they were actually improving the algorithms resilience.