Accelerating elliptic curve point multiplication through batched inversions
First Claim
Patent Images
1. A method, comprising:
- computing a batched inversion to produce a batched inversion result for use in elliptic curve cryptography (ECC) point multiplication; and
sharing the batched inversion result among multiple independent elliptic curve cryptography (ECC) point multiplications belonging to different secure transactions;
wherein said computing and said sharing are performed by a device configured to support a public-key cryptography application.
2 Assignments
0 Petitions
Accused Products
Abstract
Executing multiple elliptic curve cryptography (ECC) point multiplications in parallel and using batched inversions allows shared computations between independent ECC operations. The point multiplications may be computed over prime integer fields or over binary polynomial fields. The batched inversion may be shared between point additions and point doublings, between point additions, or between point doublings. The batched inversions are applicable to point multiplications using projective or using affine coordinate systems.
30 Citations
21 Claims
-
1. A method, comprising:
-
computing a batched inversion to produce a batched inversion result for use in elliptic curve cryptography (ECC) point multiplication; and sharing the batched inversion result among multiple independent elliptic curve cryptography (ECC) point multiplications belonging to different secure transactions; wherein said computing and said sharing are performed by a device configured to support a public-key cryptography application. - View Dependent Claims (2, 3, 5, 6, 7, 8, 9, 10)
-
-
4. The method as recited in 1, further comprising executing multiple independent point multiplications in parallel.
-
11. A computer-implemented method, comprising:
-
receiving multiple independent elliptic curve cryptography (ECC) point multiplications; combining inversions from the multiple independent ECC point multiplications into one inversion and multiple multiplications; and performing the one inversion and the multiple multiplications to produce a respective result for each of the independent ECC point multiplications.
-
-
12. A computer readable storage medium storing program instructions computer-executable to implement:
-
processing a plurality of independent elliptic curve cryptography (ECC) point multiplications; and returning results of said processing; wherein said processing comprises using a same batched inversion result in each of the plurality of independent ECC point multiplications. - View Dependent Claims (13)
-
-
14. A computer system, comprising;
-
means to receive multiple independent elliptic curve cryptography (ECC) point multiplications; means to combine inversions from the independent ECC point multiplications into one inversion and multiple multiplications; and means to perform the one inversion and the multiplications to reduce a respective result for each of the independent ECC point multiplications.
-
-
15. A computer system, comprising at least one inversion circuit, wherein the computer system is configured to perform:
-
computing a batched inversion to produce a batched inversion result for use in elliptic curve cryptography (ECC) point multiplication; and sharing the batched inversion result among multiple independent elliptic curve cryptography (ECC) point multiplications belong to different secure transactions; and
wherein the computer system is configured to support a public-key cryptography application. - View Dependent Claims (17, 18, 19, 20)
-
-
16. The computer system as recited in 15, further comprising a cryptographic hardware accelerator configured to perform the batched inversion.
-
21. An apparatus, comprising:
-
means for processing a plurality of independent elliptic curve cryptography (ECC) point multiplication, wherein said processing comprises using a same batched inversion result in each of the plurality of independent ECC point multiplications; and means for returning results of said processing.
-
Specification