The present invention relates to data encryption and/or decryption, and, more particularly, to a method and apparatus for reducing the susceptibility of block-encrypted data transmitted over noisy networks to transmission channel induced bit errors.
Wireless networks have replaced wired networks both at offices and the home. The cellular market has also grown swiftly, with more people preferring mobile communication. Although wireless networks and mobile devices add flexibility to the lives of people, they have at least two serious drawbacks: wireless communication is subject to intrusion and prone to interference from noisy channels of transmission. To handle the intrusion problem, designers of wireless networks have employed various techniques such as cryptography.
One popular cryptographic technique known in the art is block ciphering. In block ciphering, a source block of data known as a plaintext (e.g. a block of 64 bits) is operated upon to produce an encrypted version of the block, referred to as ciphertext. This process is carried out for each bock of source data. Three common properties of block ciphers are the use of key mixing, confusion, and diffusion. Key mixing involves operations that make the ciphertext dependent on both the plaintext and a secret key. Confusion involves substituting one or more groups of bits or bytes of data for another, via a transformation of one set of bits or bytes for another. This operation makes the relationship between the statistics of the ciphertext and the value of the encryption key as complex as possible in order to thwart key discovery. This makes it difficult to utilize a statistical analysis to narrow the search to find the key. Confusion ensures that most of the key is needed to decrypt even very short sequences of ciphertext. Confusion is usually achieved by a substitution operation. Diffusion involves operations and transformations that smooth out the statistical differences between characters and between character combinations. The statistical structure of the plaintext dissipates into long range statistics of the ciphertext. Diffusion is usually achieved by a permutation operation.
The key mixing, substitution (confusion), and permutation (diffusion) operations described above achieve a property known as avalanche effect. The avalanche effect can be described as the property that a minor change to the plaintext or the key results in significant changes to the ciphertext that appear to be random. For a given transformation to exhibit the avalanche effect, an average of one half of the output bits should change whenever a single input bit changes.
Most block ciphers are constructed by repeatedly applying a function to the plaintext and/or ciphertext. This approach is known as iterated block cipher. Each iteration is termed a round, and the repeated function is termed the round function f. The round function f is applied iteratively for several rounds. The round function f combines the key mixing, substitution, and permutation operations discussed above. Iterated block ciphers strongly exhibit the avalanche effect in order to maximize the security of the ciphertext against intrusion.
Unfortunately, the very same properties that give iterated block ciphers their cryptographic strength (e.g., the avalanche effect) make them sensitive to channel errors. For example, in iterated block ciphers, a single bit flip in the encrypted data can cause a complete decryption failure, in which the error is propagated or spread throughout the ciphertext block by the avalanche effect. In many iterated block ciphers, this propagation of errors is made worse when the ciphertext of the current block is partially based on the ciphertext generated in a previous block. This results in errors from previous blocks cascading though subsequent blocks. The sensitivity of iterated block ciphers to propagation of errors makes error-free transmission in noisy channels, such as wireless networks, very difficult to achieve. An error prone transmission channel is subject to frequent retransmissions of blocks, which reduces overall throughput, and in the case of mobile phones or radios, drains battery power.
The present invention overcomes the disadvantages and shortcomings of the prior art discussed above by providing a method for maintaining data integrity for a block of data to be transmitted over a communications channel by modifying an iterated block cipher to control the operations and transformations that cause diffusion. This method is referred to herein as Robust Encryption Based Security by Controlled Propagation of Errors (SCOPE). The encryption method according to the present invention includes the steps of receiving a block of data to be encrypted; selecting an iterated block cipher encryption algorithm to be applied to the block of data; determining a desired amount of diffusion specified by a user; selecting a diffusion function corresponding to the desired amount of diffusion; and encrypting the block of data using the iterated block cipher encryption algorithm and the diffusion function to produce a cipher text for transmission over the communications channel.
The diffusion function, during encryption, is selected based on a parameter which measures the order of permutation of the diffusion function and applies the diffusion function to the encryption routine. The user chooses the required amount of diffusion for a given block of plaintext. The plaintext is then encrypted using the modified diffusion function to produce a ciphertext which is then sent over a communications channel which may be noisy. At the receiving end of the channel, the received ciphertext, which now may be corrupted by bit errors caused by noise in the communications channel, is passed through an iterated block cipher decryption routine using the same diffusion function generated earlier. The decryption method according to the present invention includes the steps of receiving a block of ciphertext to be decrypted; selecting an iterated block cipher decryption algorithm to be applied to the block of ciphertext, the iterated block cipher decryption algorithm having been modified by a diffusion function corresponding to a desired amount of diffusion used during encryption; and decrypting the block of ciphertext using the iterated block cipher decryption algorithm and the diffusion function to produce a block of plaintext.
In a second embodiment, the SCOPE method is applied to the DES encryption and decryption standard. The expansion bits of DES are replaced with a minicipher, and the DES standard permutation box is replaced with a permutation box 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” transformations based on its branch number and by changing the number of shifts in the “ShiftRow” or “InvShiftRow” transformations.
Further features and advantages of the invention will appear more clearly on a reading of the following detailed description of three exemplary embodiments of the invention.
For a more complete understanding of the present invention, reference is made to the following detailed description of three exemplary embodiments considered in conjunction with the accompanying drawings, in which:
With reference to
With reference to
The Data Encryption Standard (DES) is a representative iterated block encryption standard that can benefit from modification to its expansion and permutation operations using the SCOPE method of the present invention. A representative description of DES is set forth in Data Encryption Standard, National Bureau of Standards, U.S. Department of Commerce, 1977, which can be found at the web site http://www.itl.nist.gov/fipspubs/fip46-2.htm and which is incorporated herein by reference in its entirety. DES can be regarded as a block encryption/decryption system with an alphabet size of 264 symbols.
With reference to
With reference to
In the expansion operation, the thirty-two bit sub-block 78, represented by A(a1, a2, . . . , a32) where each ai represents a bit at a position i, is divided into eight, four bit, sub-sub-blocks (A1, A2, . . . , A8), where A1 is a1a2a3a4, A2 is a5, a6, a7, a8, and A8 is a29, a30, a31, a32. The expansion operation 82 converts each four bit, sub-sub-block into a six bit sub-sub-block by appending the four bit sub-sub-block at both ends with bits from its neighboring sub-sub-blocks by the relation EXP(A)=(a32, a1, a2, a3, a4, a5, . . . , a28, a29, a30, a31, a32, a1). This produces the aforementioned avalanche effect. By appending bits from other sub-sub-blocks to a given sub-sub-block, a form of diffusion is accomplished, but with the side effect of increasing vulnerability to avalanche-effect bit errors. Likewise, the permutation operation 88 subjects the thirty-two bit sub-block 78 to avalanche-effect bit errors.
When the method of the present invention is applied to DES, both the expansion operation 82 and the permutation operation 88 are modified to control a sub-sub-block's dependency on bits from other sub-sub-blocks so that the number of subsequent substitution boxes at round r+1 affected by the output bits of the current substitution box 86 at round r are controlled. Control of the expansion operation 82 is accomplished by substituting the normal expansion operation 82 (E-table) with a minicipher, and using a value of an order of permutation α for generating a modified permutation operation 88 (P-table), both to be discussed hereinbelow in connection with
With reference to
With reference to
Now referring to
With reference to
With reference to
For the sixty-four bit DES iterated block cipher algorithm, there are four possible values, of the order of permutation, represented by α=1, 2, 3, 4. When α=4, maximum security is desired so that the default DES algorithm is used. An α of 1 deviates the most from standard DES, with maximum immunity to bit errors but minimum security. The value α can be selected as desired by a user, but it may also be defined mathematically, as follows. At round r of the encryption performed on a sixty-four bit block of plaintext using the method of the present inventions as it applies to DES, the set of four bit sub-sub-blocks Air where i=1 to 8 are expanded to a set of six bit sub-sub-blocks Bir using the expansion operation of step 130 of
Expressed in another way, the order of permutation a represents the following property of the permuted sub-sub-blocks Cir as illustrated in
The Advanced Encryption Standard (AES) is another representative iterated block encryption standard that can benefit from modification to its permutation operations using the SCOPE method of the present invention. A representative description of AES is presented in AES Proposal: Rijndael, Joan Daemon, Vincent Rijman, Document Version 2, 9 Mar. 1999 (hereinafter “the Rijndael AES Cipher”) which can be found at the web site http://csrc.nist.gov/CryptoToolkit/aes/rijndael/Rijndael.pdf and which is incorporated herein by reference in its entirety. The Rijndael AES Cipher describes an iterated block cipher with a variable block length and a variable key length. The block length and the key length can be independently specified to 128, 192, or 256 bits. The different transformations of the Rijndael AES Cipher are performed on an initial block of plaintext and intermediate ciphertext results called the State. The State can be pictured as a rectangular array of bytes. For a block length of 128 bits, the State is arranged as a 4×4 matrix of bytes. Similarly, for a key length of 128 bits, the key, known as a Cipher Key, is similarly arranged as a 4×4 matrix of bytes. The transformations performed on the State matrix can be viewed as a series of matrix multiplications and additions, the rules for the matrix multiplications and additions being described in Section 2 of the Rijndael AES Cipher. The transformations can be described in pseudo C code as:
where RoundKey are portions of the Cipher Key generated by the transformations described in Section 3 of the Rijndael AES Cipher. Nr is the number of rounds of transformations to be performed on the State, which depends on the number of rows and columns in the State matrix, which in turn depends on the size of a block. For a block size of 128 bits, Nr=10.
The round transformation is composed of four different transformations. In pseudo C notation these are:
The final round of the cipher is slightly different, defined in pseudo C notation as:
ByteSub is a substitution operation performed on each byte of the State matrix using an S-box defined in Section 4.2.1 of the Rijndael AES Cipher. The ShiftRow and MixColumn transformations are both permutation operations. In ShiftRow, the rows of the State are cyclically shifted over different offsets. For a 128 bit block, each row byte of the State matrix, designated S4×4r where r is the round number, is shifted by the corresponding row number to get A4×4r, i.e. the first row is not shifted, the second row is shifted by one byte, the third row by two bytes, and the fourth row by three bytes. In the MixColumn operation, A4×4r is a matrix multiplied by an invertible square matrix (printed below and described in Section 4.2.3 of the Rijndael AES Cipher) to get the resulting State B4×4r.
The MixColumn operation is performed so that every element in B4×4r is dependent on all the elements from the same column of A4×4r. In the AddRoundKey operation, the RoundKey for round r bitwise XOR's the RoundKey with the State.
When the method of the present invention is applied to AES with a block size of 128 bits and a Cipher Key of 128 bits, diffusion is controlled by altering the diffusion of the MixColumn transformations based on its branch number (See Section 7.3.1 of Rijndael AES Cipher for a description of branch number.) and by changing the number of shifts in the ShiftRow transformation. The actions to be performed alter the Round function described above and depend on the user-defined choice of the permutation order α. As with DES, α=1, 2, 3, or 4. The following changes to the Rijndael function are used to get the four orders of permutation:
α=1: Both the ShiftRow and MixColumn operations are eliminated.
α=2: The State is divided into four 2×2 matrices. The ShiftRow transformation shifts the second row of each 2×2 matrix by one byte. The MixColumn transformation multiplies the State with a 2×2 matrix having a branch number of 3. The 2×2 matrices with a branch number of 3 are not necessarily the same matrix. The MixColumn 2×2 matrix appears below:
α=3: The ShiftRow transformation remains the same as for the case of α=2. The MixColumn transformation is the same transformation used in the Rijndael AES Cipher.
α=4: The ShiftRow and MixColumn transformations, and hence the order of transformation, remain the same as is used in the Rijndael AES Cipher.
As with the DES cipher modified with SCOPE, for the AES cipher modified with SCOPE, when α=4, maximum security is desired so that the default AES algorithm is used. An α of 1 deviates the most from standard AES, with maximum immunity to bit errors but minimum security. The value of α can be selected as desired by the user, but it may also be defined mathematically as follows. The relationship Sj,ir→Bij,ir is defined to be true when a change in one or more bits in Sj,ir will change one or more bits of Bj,ir with a probability p>0. If Πj,ir is the set {Sj,irs.tSj,ir→Bj,ir is true}, then the order of permutation α for every element in the ciphertext Bj,ir is defined as the cardinality of the set Πj,ir. The ShiftRow and MixColumn transformation matrices are chosen in such a way that the cardinality of all Πj,ir is the same for all i and all j.
With reference to
Referring now to
Expressed in another way, the order of permutation α represents the following property of the MixColumn transformation on the State matrix as illustrated in
The decryption operation for SCOPE applied to AES employs modifications to the standard inverse Rijndael cipher (as described in Section 5.3 thereof). The SCOPE description operation can be described in pseudo-C code as follows:
α=1: Both the InvShiftRow and InvMixColumn operations are eliminated.
α=2: The State is divided into four 2×2 matrices. The InvShiftRow transformation shifts the second row of each 2×2 matrix by one byte (same as encryption). The InvMixColumn transformation multiplies the State with a 2×2 matrix having a branch number of 3. The 2×2 matrices with a branch number of 3 are not necessarily the same matrix. The InvMixColumn 2×2 matrix can be expressed as:
α=3: The InvShiftRow transformation remains the same as for the case of α=2. The InvMixColumn transformation is the same transformation used in the Rijndael AES Cipher, except that the inverse matrix is changed as shown below:
α=4: The InvShiftRow and InvMixColumn transformations, and hence the order of transformation, remain the same as is used in the Rijndael AES inverse Cipher (using the same inverse matrix as when α=3).
With reference to
Referring now to
With reference to
The present invention has several advantages over the prior art iterated block ciphers. For instance, using the SCOPE-modified DES/AES cipher improves image quality for video images compared to using the standard DES/AES cipher. With reference to
For both
Because of the reduction of BER, the present invention can improve Quality of Service (QOS) in secure communications. Fewer bit errors decrease retransmissions and thus conserve battery power for wireless communications such as in biological sensor networks. When a SCOPE-modified block cipher is used for encryption/decryption, no specialized hardware or complex software is required. The present invention is applicable to emerging IEEE 802.11i (WPA2) WiFi security using SCOPE-modified AES encryption. The present invention can be used for application-layer encryption such as secure MPEG-4 video streaming over wireless networks.
The present invention is susceptible to numerous modifications and variations. For DES-like encryption ciphers or AES ciphers with more than 128 bit blocks, the number of allowed values of α can be increased proportionately. The value of α is under user (program) control, so there are circumstances that would lend themselves to greater control over the level of robustness vs. security on a per-block basis. Examples include motion video, where portions of the video screen that have more motion will need higher security and thus greater values of α. Depending on the channel conditions and the priority of the data, data can be permuted to different extents. For example, if the channel is not very noisy, then α is increased and vice versa. In situations where is necessary to reduce α, then the SCOPE-modified ciphers of the present invention can be combined with error correction codes to improve robustness to errors while maintaining high security. With appropriate modifications to the operations and transformations that cause diffusion, SCOPE-modified is applicable to any iterated block cipher.
It will be understood that the embodiments described herein are merely exemplary and that a person skilled in the art may make many variations and modifications without departing from the spirit and scope of the invention. All such
This application claims the benefit of U.S. provisional patent application No. 60/633,666 filed Dec. 6, 2004, the disclosure of which is incorporated herein by reference in its entirety.
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/US2005/043576 | 12/1/2005 | WO | 00 | 11/30/2009 |
Number | Date | Country | |
---|---|---|---|
60633666 | Dec 2004 | US |