Hybrid mode cryptographic method and system with message authentication
OwnerEric Myron Smith, Daniel W. Engels +2inventors
InventorsEric Myron Smith, Daniel W. Engels, Peter Schweitzer, Troy A. Schultz
Life of this patent
Estimating the term…
Abstract
An encryption and authentication technique that achieves enhanced integrity verification through assured error-propagation using a multistage sequence of pseudorandom permutations. The method generates intermediate data-dependent cryptographic variables at each stage, which are systematically combined into feedback loops. The encryption technique also generates an authentication tag with minimal post processing that is the size of the state.
Claims44
An encryption engine for encrypting a plaintext message, comprising:
- a memory for storing at least one state variable;
- and
- control logic configured to:
- receive at least one plaintext message, wherein the plaintext message forms at least one plaintext block of a fixed block size;
- encrypt said at least one plaintext block by applying two or more pseudorandom permutations to each plaintext block;
- and
- modify an input to each of said pseudorandom permutations by the at least one state variable which is modified for each plaintext block by at least one of the following:
- previously generated permutation outputs, previously generated permutation inputs, a function of one or more of the previous state variables, ciphertext, and plaintext;
- and
- wherein the at least one plaintext message forms at least one plaintext sub-block less than the fixed block size, and wherein the control logic is further configured to:
- receive the at least one plaintext sub-block;
- encrypt said at least one plaintext sub-block by modifying the at least one plaintext sub-block by a keystream generated by applying said two or more pseudorandom permutations to the at least one state variable;
- generate a transformed plaintext sub-block by transforming the at least one plaintext sub-block to the fixed block size;
- and
- modify an input to each of said pseudorandom permutations by the at least one state variable which is modified by one of said previously generated permutation outputs, said previously generated permutation inputs, said ciphertext, and said transformed plaintext sub-block.
A decryption engine for decrypting a ciphertext message, comprising:
- a memory for storing at least one state variable;
- and
- control logic configured to:
- receive at least one ciphertext message, wherein the ciphertext message forms at least one ciphertext block of a fixed block size;
- decrypt said ciphertext block by applying two or more inverse pseudorandom permutations to each ciphertext block;
- and
- modify an input to each of said inverse pseudorandom permutations by the at least one state variable that is modified for each ciphertext block by at least one of previously generated permutation outputs, previously generated permutation inputs, a function of one or more of the previous state variables, ciphertext, and plaintext;
- and
- wherein the ciphertext message forms at least one ciphertext sub-block less than the fixed block size, and the control logic is further configured to:
- receive the ciphertext sub-block;
- decrypt said ciphertext sub-block by modifying the ciphertext sub-block by a keystream generated by applying two or more pseudorandom permutations to the at least one state variable;
- generate a transformed ciphertext sub-block by transforming the ciphertext sub-block to the fixed block size;
- and
- modify an input to each of said pseudorandom permutations by the at least one state variable which is modified by one of previously generated permutation outputs, previously generated permutation inputs, plaintext, and a transformed ciphertext sub-block.
Dependencies are inferred from the claim text.