A word-oriented technique for generating a pseudo-random sequence, e.g., a
keystream (17) for use in a stream cipher. Specifically, the technique
utilizes two different arrays (653, 657) with each array having
illustratively 256 32-bit elements. One array (653) contains a 256 element
32-bit S-box. An output stream generated by the S-box, i.e., S.sub.t, is
applied as one input to a first hash function. This hash function, in
response to input S.sub.t multiplied by a variable, C, provides the output
keystream. S-box element S.sub.t is then updated through a second hash
function having, as its input, the current value of S.sub.t multiplied by
the variable C. The variable, C, initially a random variable, is itself
updated, for use during a next iteration, through an additive combination,
of its current value and a corresponding element in the second array (G),
i.e., G.sub.t. Both the S-box and G array can be initialized by, e.g.,
entirely filling each of these arrays with random 32-bit values. This
technique, when used to generate a keystream for a stream cipher, appears
to be just as secure as a conventional RC4 cipher and, by operating on a
word- rather than a byte-level, is considerably faster than an RC4
keystream generator. Hence, this technique, when used in cryptographic
applications, is particularly well suited for use in devices that have
limited computational resources and would not be amenable to use of the
RC4 stream cipher.
Een woord-georiënteerde techniek om een pseudo-random opeenvolging te produceren, b.v., keystream (17) voor gebruik in een stroomcijfer. Specifiek, gebruikt de techniek twee verschillende series (653, 657) met elke serie die ter illustratie 256 elementen heeft met 32 bits. Één serie (653) bevat 256 elementens-box met 32 bits. Een outputstroom die door S-box wordt geproduceerd, d.w.z., S.sub.t, wordt toegepast als ingevoerde één op een eerste knoeiboelfunctie. Deze knoeiboelfunctie, in antwoord op input S.sub.t die met een variabele, C wordt vermenigvuldigd, verstrekt outputkeystream. S-box het element S.sub.t wordt dan door een tweede knoeiboelfunctie bijgewerkt die heeft, als zijn input, de huidige waarde van S.sub.t die met veranderlijk C wordt vermenigvuldigd. De variabele, C, aanvankelijk een willekeurige variabele, zelf bijgewerkt=wordt=, voor gebruik tijdens een volgende herhaling, door een bijkomende combinatie, van zijn huidige waarde en een overeenkomstig element in de tweede serie (G), d.w.z. G.sub.t. Zowel kunnen S-box als G- serie worden geïnitialiseerd door, b.v., volledig elk van deze series met willekeurige waarden met 32 bits te vullen. Deze techniek, wanneer gebruikt om keystream voor een stroomcijfer te produceren, schijnt enkel veilig zo zoals een conventioneel RC4 cijfer en te zijn, door op een woord te werken - eerder dan een byte-niveau, is aanzienlijk sneller dan een RC4 keystream generator. Vandaar, is deze techniek, wanneer gebruikt in cryptografische toepassingen, goed bijzonder geschikt voor gebruik in apparaten die computermiddelen hebben beperkt en niet ontvankelijk voor gebruik van het RC4 stroomcijfer geweest.