On-the-fly key generation for encryption and decryption
First Claim
Patent Images
1. An apparatus for generating new encrypt or decrypt round keys per machine cycle, the apparatus comprising:
- a first logic circuit to generate a second cipher key, in a second cycle, based on a first cipher key, wherein the first cipher key is to be generated by the same first logic circuit in a first cycle that immediately precedes the second cycle, and wherein the first logic circuit is to comprise a plurality of substitution boxes to perform substitute byte operations on portions of the first cipher key to generate corresponding portions of the second cipher key;
a second logic circuit to encrypt or decrypt content data based on the second cipher key, wherein the first logic circuit is to generate the second cipher key without storing data in a shared memory and wherein the shared memory is accessible by more than a producer and a consumer;
logic circuitry to rotate a portion of the first cipher key, wherein a substitution box is to perform a substitute byte operation on the rotated portion of the first cipher key to generate a corresponding portion of the second cipher key; and
a logic block to conditionally perform an inverse mix columns operation to generate the second cipher key during a decrypt mode if the second cipher key is not a first round decrypt key or a last round decrypt key.
1 Assignment
0 Petitions
Accused Products
Abstract
Methods and apparatus to provide on-the-fly key computation for Galois Field (also referred to Finite Field) encryption and/or decryption are described. In one embodiment, logic generates a cipher key, in a second cycle, based on a previous cipher key, generated in a first cycle that immediately precedes the second cycle. Other embodiments are also described.
43 Citations
10 Claims
-
1. An apparatus for generating new encrypt or decrypt round keys per machine cycle, the apparatus comprising:
-
a first logic circuit to generate a second cipher key, in a second cycle, based on a first cipher key, wherein the first cipher key is to be generated by the same first logic circuit in a first cycle that immediately precedes the second cycle, and wherein the first logic circuit is to comprise a plurality of substitution boxes to perform substitute byte operations on portions of the first cipher key to generate corresponding portions of the second cipher key; a second logic circuit to encrypt or decrypt content data based on the second cipher key, wherein the first logic circuit is to generate the second cipher key without storing data in a shared memory and wherein the shared memory is accessible by more than a producer and a consumer; logic circuitry to rotate a portion of the first cipher key, wherein a substitution box is to perform a substitute byte operation on the rotated portion of the first cipher key to generate a corresponding portion of the second cipher key; and a logic block to conditionally perform an inverse mix columns operation to generate the second cipher key during a decrypt mode if the second cipher key is not a first round decrypt key or a last round decrypt key. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A system for generating new encrypt or decrypt round keys per machine cycle, the system comprising:
-
a memory to store content data; a first logic circuit to generate a second cipher key, in a second cycle, based on a first cipher key, wherein the first cipher key is to be generated by the same first logic circuit in a first cycle that immediately follows the second cycle; and
wherein the first logic circuit is to comprise a plurality of substitution boxes to perform substitute byte operations on portions of the first cipher key to generate corresponding portions of the second cipher key;a second logic circuit to encrypt or decrypt the content data based on the second cipher key, wherein the first logic circuit is to generate the second cipher key without storing data in a shared memory accessible by more than a producer and a consumer; logic circuitry to rotate a portion of the first cipher key, wherein a substitution box is to perform a substitute byte operation on the rotated portion of the first cipher key to generate a corresponding portion of the second cipher key; and a logic block to conditionally perform an inverse mix columns operation to generate the second cipher key during a decrypt mode if the second cipher key is not a first round decrypt key or a last round decrypt key. - View Dependent Claims (10)
-
Specification