IP Library › Granted Patent US 10,985,903
Granted Patent B2
US 10,985,903 · App. 16/158,659 · Granted Apr 20, 2021

Power side-channel attack resistant advanced encryption standard accelerator processor

Inventors: Raghavan Kumar (Hillsboro, OR); Sanu K. Mathew (Hillsboro, OR); Sudhir K. Satpathy (Hillsboro, OR); Vikram B. Suresh (Hillsboro, OR)
Assignee: Intel Corporation
H04L9/003H04L9/0631H04L9/0637H04L9/0662H04L2209/046H04L2209/125H04L2209/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 10,985,903
App. No.
16/158,659
Granted
Apr 20, 2021
Kind
B2
Abstract

A processing system includes a processing core and a hardware accelerator communicatively coupled to the processing core. The hardware accelerator includes a random number generator to generate a byte order indicator. The hardware accelerator also includes a first switching module communicatively coupled to the random value indicator generator. The switching module receives an byte sequence in an encryption round of the cryptographic operation and feeds a portion of the input byte sequence to one of a first substitute box (S-box) module or a second S-box module in view of a byte order indicator value generated by the random number generator.

Claims (52)

1. A processing system comprising:

a processing core; and

a hardware accelerator for performing a cryptographic operation, the hardware accelerator communicatively coupled to the processing core, the hardware accelerator comprising:

a random number generator to generate a byte order indicator value, and

a first switching module communicatively coupled to the random number generator, the first switching module to:

receive an input byte sequence in an encryption round of the cryptographic operation,

feed a portion of the input byte sequence to one of a first substitute box (S-box) module or a second S-box module based on the byte order indicator value generated by the random number generator, and

feed a remaining portion of the input byte sequence to one of the first S-box module or the second S-box module based on the byte order indicator value generated by the random number generator, wherein the first S-box module has a different power consumption profile than the second S-box module for a same input data.

2. The processing system of claim 1 , wherein the first S-box module is associated with a GF(2 4 ) 2 composite Galois-field defined by characteristic polynomials calculated to minimize implementation area of the hardware accelerator and one of minimize or maximize a power consumption profile of the hardware accelerator.

3. The processing system of claim 1 , wherein the second S-box module is associated with a GF(2 4 ) 2 composite Galois-field defined by characteristic polynomials calculated to minimize implementation area of the hardware accelerator and one of minimize or maximize a power consumption profile of the hardware accelerator.

4. The processing system of claim 1 , further comprising:

a second switching module coupled to the first S-box module to restore an original order of data bytes in a output byte sequence of the first S-box module; and

a mapping module coupled to the second switching module to restore data in the output byte sequence to a common composite field representation.

5. The processing system of claim 1 , further comprising:

a second switching module coupled to the second S-box module to restore original order of data bytes in a output byte sequence of the second S-box module; and

a mapping module coupled to the second switching module to restore data in the output byte sequence to a common composite field representation.

6. The processing system of claim 1 , wherein in a last round of encryption rounds of the cryptographic operation, the random number generator is to feed random data to a mix columns module and at least one of the first S-box module or the second S-box module.

7. A system comprising:

a memory; and

a processor, communicatively coupled to the memory, comprising:

a processing core, and

a hardware accelerator for performing a cryptographic operation, the hardware accelerator communicatively coupled to the processing core, the hardware accelerator comprising:

a random number generator to generate a byte order indicator value, and

a first switching module communicatively coupled to the random number generator, the first switching module to:

receive an input byte sequence in an encryption round of the cryptographic operation,

feed a portion of the input byte sequence to one of a first substitute box (S-box) module or a second S-box module based on the byte order indicator value generated by the random number generator, and

feed a remaining portion of the input byte sequence to one of the first S-box module or the second S-box module based on the byte order indicator value generated by the random number generator, wherein the first S-box module has a different power consumption profile than the second S-box module for a same input data.

8. The system of claim 7 , wherein the one of the first S-box module or the second S-box module is associated with a GF(2 4 ) 2 composite Galois-field defined by characteristic polynomials calculated to minimize implementation area of the hardware accelerator and one of minimize or maximize a power consumption profile of the hardware accelerator.

9. The system of claim 7 , further comprising:

a second switching module coupled to the first S-box module to restore an original order of data bytes in an output byte sequence of the first S-box module; and

a mapping module coupled to the second switching module to restore data in the output byte sequence to a common composite field representation.

10. The system of claim 7 , further comprising:

a second switching module coupled to the second S-box module to restore original order of data bytes in an output byte sequence of the second S-box module; and

a mapping module coupled to the second switching module to restore data in the output byte sequence to a common composite field representation.

11. The system of claim 7 , wherein in a last round of encryption rounds of the cryptographic operation, the random number generator is to feed random data to a mix columns module and at least one of the first S-box module or the second S-box module.

12. A method comprising:

generating, by a random number generator of a processor, a byte order indicator value associated with a cryptographic operation;

receiving, by a hardware accelerator of the processor, an input byte sequence in an encryption round of the cryptographic operation;

feeding, by a switching module of the hardware accelerator, a first portion of the input byte sequence to one of a first substitute box (S-box) module or a second S-box module based on the byte order indicator value generated by the random number generator, to execute the encryption round of the cryptographic operation, wherein the first S-box module has a different power consumption profile than the second S-box module for a same input data; and

feeding a remaining portion of the input byte sequence to one of the first S-box module or the second S-box module based on the byte order indicator value generated by the random number generator.

13. The method of claim 12 , further comprising associating the first S-box module with a GF(2 4 ) 2 composite Galois-field defined by characteristic polynomials calculated to minimize implementation area of the hardware accelerator.

14. The method of claim 12 , further comprising associating the second S-box module with a GF(2 4 ) 2 composite Galois-field defined by characteristic polynomials calculated to minimize implementation area of the hardware accelerator.

15. The method of claim 12 , further comprising:

restoring, using a second switching module, an original order of data bytes in an output byte sequence of the first S-box module; and

restoring, using a mapping module, the output byte sequence to a common composite field representation.

16. The method of claim 12 , further comprising:

restoring, using a second switching module, an original order of data bytes in an output byte sequence of the second S-box module; and

restoring, using a mapping module, the output byte sequence to a common composite field representation.

17. The method of claim 12 , further comprising feeding random data to a mix columns module and at least one of the first S-box module or the second S-box module in a last round of encryption rounds of the cryptographic operation.

18. The processing system of claim 1 , wherein the first S-box module uses different Galois-field arithmetic than the second S-box module to cause the first S-box module to have the different power consumption profile than the second S-box module for the same input data.

19. The system of claim 7 , wherein the first S-box module uses different Galois-field arithmetic than the second S-box module to cause the first S-box module to have the different power consumption profile than the second S-box module for the same input data.

20. The method of claim 12 , wherein the first S-box module uses different Galois-field arithmetic than the second S-box module to cause the first S-box module to have the different power consumption profile than the second S-box module for the same input data.

Continuity (2)
Continuation 15088823 · Apr 1, 2016
Related Publication 20190116023A1 · Apr 18, 2019
Cited By (1)
US 12,368,574