Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Totally OT here, but do you know why there seemed to be a big movement away from stream ciphers sometime the 90s? I remember at some point around 2000 reading an article saying that RC4 was suspect because it was a stream cipher, as block ciphers are considered more secure. Similarly TLS contained only a single stream cipher, and my understanding is that eSTREAM happened because NIST seemed uninterested in stream ciphers.


What were the viable software native stream ciphers in the 1990s? If you look at what Schneier thought to write up in Applied Cryptography, they were either hardware bit encryptors or amateur-hour "RNG + XOR" stuff.

RC4 was the first cipher I ever successfully worked with (in my defense, I was a teenager). I had a devilishly hard time debugging block crypto code, but once you had a working RC4 library, you could round-trip data through it trivially. I remember seeing RC4 get embedded in a lot of code for that same reason: if you had RC4, you were "done", but if you had a 3DES core, you'd still need to be crypto-literate enough to rig up some half-assed block cipher mode; even ECB requires some adaptation to encrypt arbitrary streams, which is what everyone wants to do.

There was a pretty significant amount of interest in reversing the RC4 algorithm (hence "arcfour"), and I think this is part of the reason. People wanted something that worked like a stream cipher, and didn't have better alternatives (unless they were themselves cryptographers).

Someone more acquainted with the literature might correct me, but my sense is: we didn't "move away" from stream ciphers, so much as we didn't have them at all, and gradually developed some. You see the same thing now with CAESAR and native AEAD ciphers.




Consider applying for YC's Fall 2026 batch! Applications are open till July 27.

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

Search: