A method is disclosed for modifying an iterated
block cipher by controlling the operations and transformations that cause
diffusion. In one embodiment which is applicable to any iterated
block cipher (12), a
diffusion function (10), during
encryption, is selected based on a parameter which measures the order of permutation of the
diffusion function (10) and applies the
diffusion function (10) to the
encryption routine (12). The user chooses the required amount of diffusion for a given block of
plaintext (11). The
plaintext (11) is then encrypted using the modified
diffusion function (10) to produce a
ciphertext (14) which is then sent over a communications channel (16) which may be noisy. At the receiving end (18) of the communications channel (16), the received
ciphertext (20), which now may be corrupted by bit errors, is passed through an iterated
block cipher decryption routine (22) using the same
diffusion function (10) selected earlier during
encryption. In a second embodiment, the SCOPE method is applied to the DES encryption and decryption standard. The expansion bits (82) of DES are replaced with a minicipher (98a-98n), and the DES standard permutation box (88) is replaced with a permutation box (104a-104n) modified according to a user-specified order of permutation. In a third embodiment, the SCOPE method is applied to the AES encryption and decryption standard. In the SCOPE-enhanced version of AES, diffusion is controlled by altering the diffusion of the “MixColumn” or “InvMixColumn” transformation based on its
branch number and by changing the number of shifts in the “ShiftRow” or “InvShfitRow” transformations.