It seems there is a difference between "streaming" in cryptographic sense (as in CTR) and "streaming" in general programming sense (as in "accept a file larger than RAM from socket and save it on disk"). It shows when people try to apply AEAD (or in general authenticated encryption) schemes to something like Java's InputStreamReader (e.g. authentication is broken or not enforced enough). To do streaming in a latter sense it would be very useful to have AEAD scheme that provides "intermediate" authentication, that is, for block of encrypted message it should be known if it's genuine up to the point. Granted, later we can discover that there were some meddling and revert all the work already done (or just skip affected part), but it would be simpler compared to what is, in a sense, two-stage scheme (receive an entire message and only then verify it). Is there such schemes out there? Am I missing something that makes the proposed arrangement terribly insecure?

  • 2
    $\begingroup$ Splitting the message into segments and authenticating each segment separately is the standard approach. $\endgroup$ Apr 9 '15 at 15:37
  • 2
    $\begingroup$ @CodesInChaos yeah, but then there is a problem of a separate protocol over the cryptographic scheme, e.g. nonce management. It would be nice to have thought out scheme that does this, too, like AEAD did to ad-hoc MAC-X-encrypt schemes. $\endgroup$
    – si14
    Apr 9 '15 at 15:42

Yes there are such schemes.

However they aren't standardized by any means yet.
The schemes I'm talking about take part in CAESAR-competition.
If you wait ~1 week (hopefully) you'll see if any mode / cipher makes in in the second round.
This paper provides you with a good overview over the ciphers.
The four ciphers you need are:

This schemes can be used. But I'd strongly recommend against using them before CAESAR-competitions has further advanced (a few years?). Until then splitting a message stream into pieces with own tags + IVs seem to be the only method one can think of. To ease up IV management, one could use Message numbers as nonces.

  • $\begingroup$ Thanks a lot for this answer! I suspected that wonderful things will come out of CAESAR, but didn't bother to dig in. It seems that the hardest part now is to wait for a few years until CEASAR completion :) $\endgroup$
    – si14
    Apr 14 '15 at 18:07

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.