On Sat, Sep 07, 2013 at 02:53:22AM +0200, Natanael wrote: > http://blog.cryptographyengineering.com/2012/02/multiple-encryption.html > Apparently it's called "cascade encryption" or "cascade encipherment", > and the implementations are apparently called "robust combiners". And > by the way, Truecrypt already lets you pick your chosen combo of AES > and two other ciphers.
If you want to do this with stream ciphers, a fundamentally different approach would be to use Knuth's "Algorithm M" (Knuth, 2ed, vol.1 , p 32): Algorithm M (Randomizing by shuffling). Given methods for generating sequences (Xn) and (Yn), this algorithm will successively output the terms of a "considerably more random" sequence. We use a table V[0], V[1], ... V[k-1], where k is some number chosen for convenience, usually in the neighborhood of 100. Initially, the V-table is filled with the first k values of the X-sequence. M1. [Generate X, Y.] Set X and Y equal to the next members of the sequences (Xn) and (Yn), respectively. M2. [Extract j.] Set j <- [kY/m] where m is the modulus used in the sequence (Yn); that is, j is a random value, 0 <= j < k, determined by Y. M3 [Exchange.] Output V[j] and then set V[j] <- X. The reference proceeds to give two examples. If there are more modern (post-1981) references that agitate against this method of combining two keystream generators, I'd love to learn of them. Thor _______________________________________________ cryptography mailing list cryptography@randombit.net http://lists.randombit.net/mailman/listinfo/cryptography