White-box elliptic curve point multiplication
First Claim
Patent Images
1. A method of obscuring software code that implements an elliptic curve cryptography (ECC) point multiplication function, comprising:
- receiving ECC parameters including a multiplier d having N bits;
transforming multiplier d into an array d(i) with −
1, 0, and +1 values while maintaining the same value for d;
generating ECC point multiplication function operations using the transformed multiplier array d(i) and N, wherein the generated ECC point multiplication function operations are split variable operations; and
producing, by a processor, an obscured software code implementing the generated ECC point multiplication function operations using the transformed multiplier array d(i) and N, wherein the generated ECC point multiplication function operations are split variable operations.
1 Assignment
0 Petitions
Accused Products
Abstract
A method of obscuring software code implementing an elliptic curve cryptography (ECC) point multiplication function, including: receiving ECC parameters including a multiplier d having N bits; transforming multiplier d into an array d(i) with −1, 0, and +1 values while maintaining the same value for d; and generating ECC point multiplication function operations using the transformed multiplier array d(i) and N, wherein the generated ECC point multiplication function operations are split variable operations.
-
Citations
20 Claims
-
1. A method of obscuring software code that implements an elliptic curve cryptography (ECC) point multiplication function, comprising:
-
receiving ECC parameters including a multiplier d having N bits; transforming multiplier d into an array d(i) with −
1, 0, and +1 values while maintaining the same value for d;generating ECC point multiplication function operations using the transformed multiplier array d(i) and N, wherein the generated ECC point multiplication function operations are split variable operations; and producing, by a processor, an obscured software code implementing the generated ECC point multiplication function operations using the transformed multiplier array d(i) and N, wherein the generated ECC point multiplication function operations are split variable operations. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A non-transitory machine-readable storage medium encoded with instructions for obscuring software code that implements an elliptic curve cryptography (ECC) point multiplication function, the non-transitory machine-readable storage medium comprising:
-
instructions for receiving ECC parameters including a multiplier d having N bits; instructions for transforming multiplier d into an array d(i) with −
1, 0, and +1 values while maintaining the same value for d;instructions for generating ECC point multiplication function operations using the transformed multiplier array d(i) and N, wherein the generated ECC point multiplication function operations are split variable operations; and instructions for producing, by a processor, an obscured software code implementing the generated ECC point multiplication function operations using the transformed multiplier array d(i) and N, wherein the generated ECC point multiplication function operations are split variable operations. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
-
17. A method of controlling a server that provides an application that implements a white-box implementation of a cryptographic function that includes obscured software code implementing an elliptic curve cryptography (ECC) point multiplication function, comprising:
-
receiving a request from a user for the application that implements a white-box implementation of a cryptographic function that includes obscured software code implementing an elliptic curve cryptography (ECC) point multiplication function; and providing the user the application that implements a white-box implementation of a cryptographic function that includes obscured software code implementing an elliptic curve cryptography (ECC) point multiplication function, wherein the application was created by; receiving ECC parameters including a multiplier d having N bits; transforming multiplier d into an array d(i) with −
1, 0, and +1 values while maintaining the same value for d;generating ECC point multiplication function operations using the transformed multiplier array d(i) and N, wherein the generated ECC point multiplication function operations are split variable operations; and producing, by a processor, the obscured software code implementing the generated ECC point multiplication function operations using the transformed multiplier array d(i) and N, wherein the generated ECC point multiplication function operations are split variable operations. - View Dependent Claims (18, 19, 20)
-
Specification