INSTRUCTIONS AND LOGIC TO PROVIDE GENERAL PURPOSE GF(256) SIMD CRYPTOGRAPHIC ARITHMETIC FUNCTIONALITY
First Claim
1. A processor comprising:
- a decode stage to decode a first instruction for a Single Instruction Multiple Data (SIMD) binary finite field multiplicative inverse, the first instruction specifying a source data operand set, and a monic irreducible polynomial; and
one or more execution units, responsive to the decoded first instruction, to;
compute a SIMD binary finite-field multiplicative inverse modulo the irreducible polynomial for each element of the source data operand set; and
store a result of the first instruction in a SIMD destination register.
1 Assignment
0 Petitions
Accused Products
Abstract
Instructions and logic provide general purpose GF(28) SIMD cryptographic arithmetic functionality. Embodiments include a processor to decode an instruction for a SIMD binary finite field multiplicative inverse, the instruction specifying a source data operand, and an irreducible polynomial, to compute an inverse modulo the irreducible polynomial for each element of the source data operand. A result of the instruction is stored in a SIMD destination register. Some embodiments also decode an instruction for a SIMD affine transformation specifying a source data operand, a transformation matrix operand, and a translation vector. The transformation matrix and the translation vector are applied to each element of the source data operand. Some embodiments also decode an instruction for a SIMD binary finite field multiplication specifying first and second source data operands to multiply each corresponding pair of elements of the first and second source data operand modulo an irreducible polynomial.
-
Citations
22 Claims
-
1. A processor comprising:
-
a decode stage to decode a first instruction for a Single Instruction Multiple Data (SIMD) binary finite field multiplicative inverse, the first instruction specifying a source data operand set, and a monic irreducible polynomial; and one or more execution units, responsive to the decoded first instruction, to; compute a SIMD binary finite-field multiplicative inverse modulo the irreducible polynomial for each element of the source data operand set; and store a result of the first instruction in a SIMD destination register. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A machine-readable medium to record functional descriptive material including one or more executable instructions, which if executed on behalf of a thread of a machine causes the machine to:
-
access a source data operand set of elements, and a monic irreducible polynomial; computing a Single Instruction Multiple Data (SIMD) binary finite-field multiplicative inverse modulo the irreducible polynomial for each element of the source data operand set; and store a result of the SIMD binary finite-field multiplicative inverse modulo the irreducible polynomial in a SIMD destination register. - View Dependent Claims (11, 12)
-
-
13. A method comprising:
-
decoding a first instruction for a Single Instruction Multiple Data (SIMD) binary finite field multiplicative inverse, the first instruction specifying a source data operand set, and a monic irreducible polynomial; computing a SIMD binary finite-field multiplicative inverse modulo the irreducible polynomial for each element of the source data operand set responsive to the decoded first instruction; and storing a result of the first instruction in a SIMD destination register. - View Dependent Claims (14, 15)
-
-
16. A processing system comprising:
-
a memory to store a first instruction for a SIMD secure hashing algorithm round slice; and a processor comprising; an instruction fetch stage to fetch the first instruction; a decode stage to decode a first instruction for a Single Instruction Multiple Data (SIMD) binary finite field multiplicative inverse, the first instruction specifying a source data operand set, and a monic irreducible polynomial; and one or more execution units, responsive to the decoded first instruction, to; compute a SIMD binary finite-field multiplicative inverse modulo the irreducible polynomial for each element of the source data operand set; and store a result of the first instruction in a SIMD destination register. - View Dependent Claims (17, 18, 19, 20, 21, 22)
-
Specification