Patent ID: 8345864
Filing Date: 2013-01-01
Classification: G06F,H04L

Abstract:
1. A method for generating a cryptographically processed value comprising: receiving, in cryptographic processing circuitry from a user interface, an input value to be cryptographically processed; applying, in the cryptographic processing circuitry, elliptic curve cryptography (ECC) based cryptographic processing to the input value to generate the cryptographically processed value, wherein applying ECC-based cryptographic processing includes: outputting, from the cryptographic processing circuitry, the generated cryptographically processed value via the user interface; wherein performing ECC scalar multiplication includes calculating a product of a scalar value and a given point on an elliptic curve, the given point being represented by an ordered pair of coordinate values, a bit-length of each coordinate value of the pair of coordinate values being equal to a field size of an elliptic curve group based on the given point and the elliptic curve, the scalar value also having the same bit-length; wherein the number of sub-tables in the EAT is defined by the bit-length divided by a window-size; wherein a binary representation of the scalar value is divided into an ordered set of subsets, each subset being a binary value having a length equal to the window-size, each subset corresponding to a particular sub-table in order; wherein generating the plurality of running totals further includes selecting the positive integer multiplier based on the binary value of the subset associated with that sub-table; wherein generating the plurality of running totals includes generating an amount of running totals equal to two (2) raised to the power of (^) the window size minus one (w−1), each running total (RT1, . . . , and RTi, wherein i=2^(w−1)), being exclusively associated with one value chosen from the set {1, . . . , i} as its associated positive integer multiplier; and wherein calculating the sum of each running total multiplied by its associated positive integer multiplier consists of performing a series of nested add, double, and negation operations on the running totals.