IP Library Granted Patent US 9,634,830
Granted Patent B2
US 9,634,830 · App. 14/572,620 · Granted Apr 25, 2017

Flexible architecture and instruction for advanced encryption standard (AES)

Inventors: Shay Gueron (Haifa, IL); Wajdi K. Feghali (Boston, MA); Vinodh Gopal (Westborough, MA); Raghunandan Makaram (Northborough, MA); Martin G. Dixon (Portland, OR); Srinivas Chennupaty (Portland, OR); Michael E. Kounavis (Portland, OR)
Assignee: Intel Corporation
H04L9/0631G06F3/0623G06F3/0665G06F3/0689G06F9/30047G06F9/30145G06F9/30178G06F9/3802G06F9/3818G06F9/3887G06F12/0862G06F12/0875G06F12/1408G06F21/602G11C7/1072H04L9/0816H04L9/0861G06F2212/1052G06F2212/402G06F2212/452G06F2212/454G06F2212/602H04L2209/12H04L2209/24
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 9,634,830
App. No.
14/572,620
Granted
Apr 25, 2017
Kind
B2
Abstract

A flexible aes instruction set for a general purpose processor is provided. The instruction set includes instructions to perform a “one round” pass for aes encryption or decryption and also includes instructions to perform key generation. An immediate may be used to indicate round number and key size for key generation for 128/192/256 bit keys. The flexible aes instruction set enables full use of pipelining capabilities because it does not require tracking of implicit registers.

Claims (20)

1. A mobile computer comprising:

a random access memory (RAM);

a network interface controller; and

a processor coupled to the RAM, the processor comprising:

a plurality of cores;

a level 1 instruction cache to cache instructions;

a level 1 data cache;

a bus interface unit;

a plurality of 128-bit registers;

a decode unit to decode the instructions from the level 1 instruction cache including to decode four Advanced Encryption Standard (AES) instructions of an instruction set of the processor, wherein each of the four AES instructions has a unique opcode, the four AES instructions including:

a first AES decryption instruction that is to use a 128-bit source and destination register of the plurality of 128-bit registers and a 128-bit source register of the plurality of 128-bit registers, and

a second AES decryption instruction that is to use a 128-bit source register of the plurality of 128-bit registers and a 128-bit destination register of the plurality of 128-bit registers; and

an execution unit coupled to the decode unit, wherein:

the first AES decryption instruction is to cause the execution unit to receive data from the 128-bit source and destination register and the 128-bit source register that is to be used by the first AES decryption instruction, perform operations for an AES single decryption round including an inverse byte substitution, an inverse shift rows, and an exclusive OR, but omitting an inverse mix columns, and store a first result in the 128-bit source and destination register; and

the second AES decryption instruction is to cause the execution unit to receive data from the 128-bit source register that is to be used by the second AES decryption instruction, perform operations including an inverse mix columns, and store a second result in the 128-bit destination register that is to be used by the second AES decryption instruction.

2. The mobile computer of claim 1 , wherein the first AES decryption instruction is capable of using any one of a 128-bit round key, a 192-bit round key, and a 256-bit round key.

3. The mobile computer of claim 1 , wherein the processor further comprises a microcode Read Only Memory (ROM) to store micro-operations to implement the first AES decryption instruction.

4. The mobile computer of claim 1 , further comprising an input/output controller.

5. The mobile computer of claim 4 , further comprising a storage device coupled to the input/output controller.

6. The mobile computer of claim 4 , further comprising a key scheduler of a microcode ROM.

Continuity (3)
Continuation 14014091 · Aug 29, 2013
Continuation 11729199 · Mar 28, 2007
Related Publication 20150100798A1 · Apr 9, 2015