IP Library Granted Patent US 8,879,725
Granted Patent B2
US 8,879,725 · App. 12/040,214 · Granted Nov 4, 2014

Combining instructions including an instruction that performs a sequence of transformations to isolate one transformation

Inventors: Shay Gueron (Haifa, IL); Zeev Sperber (Zichron Yackov, IL)
Assignee: Intel Corporation
H04L9/0681G06F21/75G06F2221/2107
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,879,725
App. No.
12/040,214
Granted
Nov 4, 2014
Kind
B2
Abstract

The Advanced Encryption Standard (AES) is a symmetric block cipher that can encrypt and decrypt information. Encryption (cipher) performs a series of transformations (Shift Rows, Substitute Bytes, Mix Columns) using the secret key (cipher key) to transforms intelligible data referred to as “plaintext” into an unintelligible form referred to as “cipher text”. The transformations (Inverse Shift Rows, Inverse Substitute Bytes, Inverse Mix Columns) in the inverse cipher (decryption) are the inverse of the transformations in the cipher. Encryption and decryption is performed efficiently through the use of instructions that perform the series of transformations. Combinations of these instructions allow the isolation of the transformations (Shift Rows, Substitute Bytes, Mix Columns, Inverse Shift Rows, Inverse Substitute Bytes, Inverse Mix Columns) to be obtained.

Claims (18)

1. A method of performing encryption algorithm, the method comprising:

combining instructions operable on one or more processors, at least one of the instructions to perform a sequence of transformations, the instructions combined in an order such that when executed the combination of instructions isolates a sub-step transformation in the sequence of transformations, wherein the instructions includes an Advanced Encryption Standard Decription Last (AESDECLAST) round instruction and an Advanced Encryption Standard Encription (AESENC) round instruction, the combination of the AESDECLAST round and the AESENC round instructions isolates a MixColumns sub-step transformation.

2. The method of claim 1 , wherein the sequence of transformations performed by the AESDECLAST round instruction includes an Inverse Shift Rows transformation and an Inverse Substitute Bytes transformation and a series of transformations performed by the AESENC round instruction includes a Shift Rows transformation, a Substitute Bytes transformation and the MixColumns sub-step transformation.

3. The method of claim 1 , wherein the sequence of transformations performed by the AESENCLAST round instruction includes a Shift Rows transformation and a Substitute Bytes transformation and a series of transformations performed by the AESDEC round instruction includes an inverse Shift Rows transformation, an Inverse Substitute Bytes transformation and the Inverse MixColumns sub-step transformation.

4. The method of claim 1 , wherein the combination of instructions include a Packed Shuffle Bytes (PSHUFB) instruction and an Advanced Encryption Standard Encryption Last (AESENCLAST) round instruction, the combination of the PSHUFB and the AESENCLAST round instructions isolates a Substitute Bytes sub-step transformation.

5. The method of claim 4 , wherein the sequence of transformations performed by the AESENCLAST round instruction includes a Shift Rows transformation and the Substitute Bytes sub-step transformation and the PSHUFB instruction a performs an inverse Shift Rows transformation.

6. The method of claim 1 wherein the combination of instructions include a Packed Shuffle Bytes (PSHUFB) instruction and an Advanced Encryption Standard Decryption Last (AESDECLAST) round instruction, the combination of the PSHUFB and the AESDECLAST round instructions isolates an Inverse Substitute Bytes sub-step transformation.

7. The method of claim 6 , wherein the sequence of transformations performed by the AESDECLAST round instruction includes an Inverse Shift Rows transformation and the Inverse Substitute Bytes sub-step transformation and the sequence of transformation performed by the PSHUFB instruction includes a Shift Rows transformation.

8. The method of claim 1 , wherein the sub-step transformation includes transformations from a group of Shift Rows, Inverse Shift Rows, Substitute Bytes, Inverse Substitute Bytes, MixColumns and Inverse Mix Columns that are defined by Federal Information Processing Standard (FIPS) 197.

9. An apparatus comprising:

memory to store instructions, at least one of the instructions to perform a sequence of transformations, and

a processor including an execution unit, the instructions stored in an order in the memory such that when a combination of instructions is executed by the execution unit, the execution unit provides a result of a sub-step transformation in the sequence of transformations, wherein the instructions includes an Advanced Encryption Standard Decription Last (AESDECLAST) round instruction and an Advanced Encryption Standard Encription (AESENC) round instruction, the combination of the AESDECLAST round and the AESENC round instructions provides a MixColumns sub-step transformation.

10. The apparatus of claim 9 , wherein the combination of the AESENCLAST round and the AESDEC round instructions provides an Inverse MixColumns sub-step transformation.

11. The apparatus of claim 9 , wherein the instructions include a Packed Shuffle Bytes (PSHUFB) instruction and an Advanced Encryption Standard Encryption Last (AESENCLAST) round instruction, the combination of the PSHUFB and the AESENCLAST instructions provides a Substitute Bytes sub-step transformation.

12. The apparatus of claim 9 , wherein the instructions include a Packed Shuffle Bytes (PSHUFB) instruction and an Advanced Encryption Standard Decryption Last (AESDECLAST) round instruction, the combination of the PSHUFB and the AESDECLAST instructions provides an Inverse Substitute Bytes sub-step transformation.

13. The apparatus of claim 9 , wherein the sub-step transformations includes transformations from a group of Shift Rows, Inverse Shift Rows, Substitute Bytes, Inverse Substitute Bytes, MixColumns and Inverse Mix Columns that are defined by Federal information Processing Standard (FIPS) 197.

14. A non-transitory machine-accessible medium having associated information, wherein the information, when accessed, results in a machine performing:

combining a plurality of instructions, at least one of the instructions to perform a sequence of transformations, the instructions combined in an order such that when executed the combination of instructions isolates a sub-step transformations in the sequence of transformations, wherein the sub-step transformations includes transformations from a group of Shift Rows, Inverse Shift Rows, Substitute Bytes, Inverse Substitute Bytes, MixColumns and Inverse Mix Columns defined by Federal Information Processing Standard (FIPS) 197.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 15, 2009
From: GUERON, SHAY; SPERBER, ZEEV
To: INTEL CORPORATION
Reel/Frame 022827/0353 →
Continuity (1)
Related Publication 20090220071A1 · Sep 3, 2009