Methods and systems for improved authenticated encryption in counter-based cipher systems
AssigneeTrellisWare Technologies, Inc.
InventorsMark Johnson, Peter Ly
Life of this patent
Estimating the term…
Abstract
Methods and systems for improving authenticated encryption in counter-based cipher systems are presented. Embodiments of the present invention provide secure and efficient means to achieve both the authenticity and privacy goals of authenticated encryption, and are compatible with most block cipher modes of operation, e.g. CBC, CFB and CTR, and most symmetric-key cryptographic functions, e.g. AES, DES and RC5. In particular, using block cipher encryption with data-dependent initialization vectors achieve the privacy goal and enable over-the-air transmissions to remain uncompromised, especially in scenarios that may result in the counter being reset in counter-based cipher systems.
Claims20
A system for improved authenticated encryption, comprising:
- an encryption and authentication code generation module configured to:
- generate one or more blocks of cryptographic output using a first cryptographic function, a plurality of blocks of plaintext and a key;
- generate a first tag based on the one or more blocks of cryptographic output;
- generate a first initialization vector based on a counter and the first tag;
- and
- generate a plurality of blocks of ciphertext using a second cryptographic function, the plurality of blocks of plaintext, the first initialization vector and the key, wherein the second cryptographic function is a block cipher, and wherein the first initialization vector and the key are inputs to the second cryptographic function;
- a transmitter configured to:
- transmit the plurality of blocks of ciphertext and the first tag;
- a receiver configured to:
- receive the plurality of blocks of ciphertext and the first tag;
- and
- a decryption and authentication code verification module configured to:
- generate the plurality of blocks of plaintext using the second cryptographic function, the plurality of blocks of ciphertext, the first initialization vector and the key;
- generate the one or more blocks of cryptographic output using the first cryptographic function, the plurality of blocks of plaintext and the key;
- generate a second tag based on the one or more blocks of cryptographic output;
- and
- compare the first tag and the second tag.
A method for encryption and authentication code generation for improved authenticated encryption, comprising:
- generating one or more blocks of cryptographic output using a first cryptographic function, a plurality of blocks of plaintext and a key;
- generating a tag based on the one or more blocks of cryptographic output;
- generating an initialization vector based on a counter and the tag;
- generating a plurality of blocks of ciphertext using a second cryptographic function, the plurality of blocks of plaintext, the initialization vector and the key, wherein the second cryptographic function is a block cipher, and wherein the initialization vector and the key are inputs to the second cryptographic function;
- and
- transmitting the plurality of blocks of ciphertext and the tag.
A method for decryption and authentication code verification for improved authenticated encryption, comprising:
- receiving a plurality of blocks of ciphertext and a first tag;
- generating a plurality of blocks of plaintext using a first cryptographic function, the plurality of blocks of ciphertext, an initialization vector and a key, wherein the initialization vector and the key are inputs to the first cryptographic function, wherein the first cryptographic function is a block cipher, and wherein the initialization vector is based on a counter and the first tag;
- generating one or more blocks of cryptographic output using a second cryptographic function, the plurality of blocks of plaintext and the key;
- generate a second tag based on the one or more blocks of cryptographic output;
- and
- compare the first tag and the second tag.
Dependencies are inferred from the claim text.