Patent ID: 8428252

Claim:
A method of providing security using elliptic curve cryptography (ECC), the method comprising: (A) receiving, from interface circuitry, an input signal which represents an input value; (B) performing, in a microprocessor coupled to the interface circuitry, a set of cryptographic operations to provide a cryptographically processed value (CPV) based on the input value, the set of cryptographic operations including: (i) calculating an intermediate ECC scalar multiplication result based on the input value using an enhanced acceleration table (EAT), the EAT including a plurality of sub-tables, the plurality of sub-tables being arranged in an order, each sub-table including a plurality of entries, wherein calculating the intermediate ECC scalar multiplication result includes: (a) generating a plurality of running totals including at least four running totals RT1, RT2, RT3, and RT4, each running total being associated with a respective positive integer multiplier, RT1 being associated with 1 as its associated positive integer multiplier, RT2 being associated with 2 as its associated positive integer multiplier, RT3 being associated with 3 as its associated positive integer multiplier, and RT4 being associated with 4 as its associated positive integer multiplier, wherein generating the plurality of running totals includes, for at least one sub-table of the plurality of sub-tables, (1) choosing an entry of the at least one sub-table based on the input value, and (2) adding a value associated with the chosen entry to one running total, the associated positive integer multiplier of that running total being greater than 2; and (b) calculating a sum of each running total multiplied by its respective associated positive integer multiplier, including: doubling RT4, thereby generating a first intermediate value; calculating a sum of RT2, RT3, and the first intermediate value, thereby generating a second intermediate value; doubling the second intermediate value, thereby generating a third intermediate value; and calculating a sum of RT1, RT3, and the third intermediate value, thereby generating the intermediate ECC scalar multiplication result; and (ii) applying an ECC based cryptographic processing algorithm to the input value to generate the CPV, the algorithm including a computation involving the intermediate ECC scalar multiplication result; and (C) outputting, from the interface circuitry, an output signal which represents the CPV, the input value and the CPV being related in a secure manner through use of the ECC based cryptographic processing algorithm.