4 ms·
Back in the 80's I worked for IBM and invented a counter-mode based stream cipher. I did it to speed up overall network throughput in the presence of bursty tra
by todd8 6y ago
Back in the 80's I worked for IBM and invented a counter-mode based stream cipher. I did it to speed up overall network throughput in the presence of bursty traffic. The lawyers wanted it patented, so I agreed to meet with them and in their office, while working on the wording and patent claims they wanted me to add a bunch of features.
I just wanted to patent the basic idea of using counter-mode to generate a stream cipher from a block cipher. They said that it seemed like such a small idea, couldn't we allow it to generate simultaneous multiple streams, etc. So it was patented, but the patent is a bit of a mess with some half-baked designs for multiple streams. This was absolutely the worst way to design a crypto system: design one yourself while in the patent lawyer's office.
It still covered the basic idea of using a block cipher and a counter to generate a stream cipher, but I think the good stuff was buried in just a few of the claims. That's all ancient history now since the patent would have expired decades ago.
- dogma1138 6y agoYou can run any block cipher in CTR, there are 3DES CTR implementations out there, same goes for 3DES CFB/OFB modes. The only one that got wide adoption I think is CBC since ECB was always known to be well a problem. Counter modes were petty well known in the 80's already I'm not sure what the patent could've been applied for but then it's IBM and their lawyers can probably find a way to patent waking up in the morning.
- todd8 6y agoYes, counter mode wasn’t novel at the time. The actual idea was related to encryption of network traffic. Back then, networks ran faster than encryption (processors didn’t have encryption hardware support). Since many networks have bursts of transmission the idea was to encrypt a counter with buffering of the results. This buffered stream of crypto values would then be XOR’d with the data when it arrived. The xor of course can run at full network speed since the encryption was done while during an idle time of the network. The method takes advantage of network idle time so it doesn’t improve maximum bandwidth but instead reduces the average latency of a network not running at full bandwidth.