摘要 |
A method for producing at least one ciphertext block from at least one plaintext block using a block cipher E and a key K, the method including receiving n plaintext blocks, wherein n is an integer greater than 0, setting Q<SUB>0 </SUB>equal to an initial value, and for each plaintext block of the n plaintext blocks: computing Q<SUB>i</SUB>=E<SUB>K</SUB>(Q<SUB>i-1</SUB>) XOR P<SUB>i</SUB>; and computing C<SUB>i</SUB>=M(P<SUB>i</SUB>, Q<SUB>i</SUB>), thereby producing n ciphertext blocks, wherein 0<I<=N, AND P<SUB>i </SUB>denotes an i-th plaintext block of the n plaintext blocks, and C<SUB>i </SUB>denotes an i-th ciphertext block of the n ciphertext blocks, and M is a selector function which, for each bit C<SUB>ij </SUB>of block C<SUB>i</SUB>, selects a first argument of M if bit P<SUB>ij </SUB>is not to be encrypted, and selects a second argument of M if bit P<SUB>ij </SUB>is to be encrypted. Related apparatus and methods are also provided. |