IP Library Granted Patent US 8,233,615
Granted Patent B2
US 8,233,615 · App. 12/033,512 · Granted Jul 31, 2012

Modular reduction using a special form of the modulus

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,233,615
App. No.
12/033,512
Granted
Jul 31, 2012
Kind
B2
Abstract

A special form of a modulus and a modified Barrett reduction method are used to perform modular arithmetic in a cryptographic system. The modified Barrett reduction is a method of reducing a number modulo another number without the use of any division. By pre-computing static values used in the Barrett reduction method and by using a special form of the modulus, the calculation of reducing a number modulo another number can be reduced. This can result in a decrease in computation time, speeding up the overall cryptographic process.

Claims (157)

1. A modular reduction method performed by an elliptic curve cryptography system that includes a processor and memory, the method using a modified form of a Barrett reduction method based on elliptic curves on a prime field comprising:

obtaining input specifying a first value U to reduce;

obtaining input specifying a modulus N, wherein the modulus N is of a special form;

performing a modular reduction of the first value U modulo the special form of the modulus N, wherein the modular reduction comprises:

calculating an estimated form of a first quotient q^ using the modulus of the special form N;

calculating an estimated form of a second quotient q3^;

substituting the estimated form of the first quotient q^ with the estimated form of the second quotient q3^;

calculating an estimated form of a remainder r3^; and

calculating an estimated reduced form of the first value U based on the estimated form of the second quotient q3^ and the estimated form of the remainder r3^.

2. The method of claim 1 , wherein the special form of the modulus N is a modulus included in a Federal Information Processing Standards (FIPS) 186-2 standard.

3. The method of claim 1 , wherein a special form of a Barrett constant R is calculated using the special form of the modulus N.

4. The method of claim 3 , wherein the estimated form of the first quotient q^ contains a second value QU, wherein the second value QU is divided into a high term, QUHigh, and a low term, QULow.

5. The method of claim 4 , wherein the second value, QU, is determined by an equation: QU=2 u *QUHigh+QULow, wherein a third value, u, represents the size, in bits, of QULow.

6. The method of claim 5 , wherein QULow represents low order bits of QU, and QUHigh represents high order bits of QU.

7. The method of claim 6 , wherein the low term, QULow, is calculated based on the third value, u, wherein the third value, u, is selected such that an error associated with the low term QULow and the calculation of the estimated form of the first quotient q^ is minimized.

8. The method of claim 7 , wherein the estimated form of the first quotient q^ is calculated using the low term QULow and the high term QUHigh.

9. The method of claim 8 , wherein the estimated form of the first quotient q^ includes a first parameter, α, and a second parameter, β, wherein the a value for the first parameter, α, and a value for the second parameter, β, are selected such that α=n+t and β=−t, wherein:

t is equal to a machine word size, in number of bits; and

n is equal to a length of the special form of the modulus, in machine words.

10. The method of claim 9 , wherein the estimated form of the second quotient q3^ is expressed by an equation:

q

3

^=

(

QU

*

2

h

)

2

α

-

β

+

QUHigh

*

E

2

α

-

β

wherein:

α and β are multiples of a machine word;

h is based on the length of the special form of the modulus;

E<2 s ; and

s is a maximum power value based on the use of the special form of the modulus.

11. The method of claim 1 , wherein the estimated form of the remainder, r3^, is calculated using an equation:

r 3^ =U−q 3 ^*N.

12. A modular reduction method performed by an elliptic curve cryptography system that includes a processor and memory, the method using a modified form of a Barrett reduction method based on elliptic curves on a binary field comprising:

obtaining input specifying a first value U to reduce;

obtaining input specifying a modulus N, wherein the modulus N is of a special form;

performing a modular reduction of the first value U modulo the special form of the modulus N, wherein the modular reduction comprises:

calculating an estimated form of a first quotient q^ using the modulus of the special form N;

calculating an estimated form of a second quotient q3^;

substituting the estimated form of the first quotient q^ with the estimated form of the second quotient q3^;

calculating an estimated form of a remainder r3^; and

calculating an estimated reduced form of the first value U based on the estimated form of the second quotient q3^ and the estimated form of the remainder r3^.

13. The method of claim 12 , wherein the special form of the modulus N is a modulus included in a Federal Information Processing Standards (FIPS) 186-2 standard.

14. The method of claim 12 , wherein a special form of a Barrett constant R is calculated using the special form of the modulus N.

15. The method of claim 14 , wherein the estimated form of the first quotient q^ contains a second value QU, wherein the second value QU is divided into a high term, QUHigh, and a low term, QULow.

16. The method of claim 15 , wherein the second value, QU, is determined by an equation: QU=X u *QUHigh+QULow, wherein a third value, u, represents the size, in bits, of QULow and the value, X, represents a polynomial.

17. The method of claim 16 , wherein QULow represents low order bits of QU, and QUHigh represents high order bits of QU.

18. The method of claim 17 , wherein the low term, QULow, is calculated based on the third value, u, wherein the third value, u, is selected such that an error associated with the low term QULow and the calculation of the estimated form of the first quotient q^ is minimized.

19. The method of claim 18 , wherein the estimated form of the first quotient q^ is calculated using the low term QULow and the high term QUHigh.

20. The method of claim 19 , wherein the estimated form of the first quotient q^ includes a first parameter, α, and a second parameter, β, wherein a value for the first parameter, α, and a value for the second parameter, β, are selected such that α=n+t and β=−t, wherein:

t is equal to a machine word size, in number of bits; and

n is equal to a length of the special form of the modulus, in machine words.

21. The method of claim 20 , wherein the estimated form of the second quotient q3^ is determined by an equation:

q

3

^=

(

QU

*

X

h

)

X

(

α

-

β

)

+

(

QUHigh

*

E

)

X

(

α

-

β

)

wherein:

α and β are multiples of a machine word;

h is based on the length of the special form of the modulus;

X is a polynomial;

E<2 s ; and

s is a maximum power value based on the use of the special form of the modulus.

22. The method of claim 12 , wherein the estimated form of the remainder is calculated using an equation:

r 3^= U−q 3 ^*N.

23. An apparatus comprising:

an interface operable for obtaining an input value to reduce and a modulus; and

an encryption engine operatively coupled to the interface; and

one or more processors operatively coupled to the interface and the encryption engine, wherein the one or more processors generate a special form of the modulus using elliptic curves over a predetermined number of prime fields, and perform a modular reduction of the input value modulo the special form of the modulus, wherein performing the modulo reduction comprises:

calculating an estimated form of a first quotient using the modulus of the special form;

calculating an estimated form of a second quotient;

substituting the estimated form of the first quotient with the estimated form of the second quotient;

calculating an estimated form of a remainder; and

calculating an estimated reduced form of the input value based on the estimated form of the second quotient and the estimated form of the remainder.

24. The apparatus of claim 23 , wherein the modular reduction is performed using a modified form of a Barrett reduction method.

25. The apparatus of claim 24 , wherein the estimated reduced form of the input value consists of a high term and a low term, and wherein the high term and the low term are used to form the estimated reduced form of the input value.

26. The apparatus of claim 25 , wherein an output of the encryption engine is used to digitally sign a message.

27. An apparatus comprising:

an interface operable for obtaining an input value to reduce and a modulus;

an encryption engine operatively coupled to the interface; and

one or more processors operatively coupled to the interface and the encryption engine, wherein the one or more processors generate a special form of the modulus using elliptic curves over a predetermined number of binary fields, and perform a modular reduction of the input value modulo the special form of the modulus, wherein performing the modulo reduction comprises:

calculating an estimated form of a first quotient using the modulus of the special form;

calculating an estimated form of a second quotient;

substituting the estimated form of the first quotient with the estimated form of the second quotient;

calculating an estimated form of a remainder; and

calculating an estimated reduced form of the input value based on the estimated form of the second quotient and the estimated form of the remainder.

28. The apparatus of claim 27 , wherein the modular reduction is performed using a modified form of a Barrett reduction method.

29. The apparatus of claim 28 , wherein the estimated reduced form of the input value consists of a high term and a low term, and wherein the high term and the low term are used to form the estimated reduced form of the input value.

30. The apparatus of claim 29 , wherein an output of the encryption engine is used to digitally sign a message.

31. The method of claim 1 , wherein the special form of the modulus N is defined by a difference equation: N=2 m −F, wherein:

m is the number of bits in the modulus;

a value, p, is a number wherein p<=m 1; and

F<2 p .

32. The method of claim 1 , wherein the special form of the modulus N is defined by a difference equation: N=2 m +F, wherein:

m is the number of bits in the modulus;

a value, p, is a number wherein p<=m−1; and

F<2 p .

33. The method of claim 12 , wherein the special form of the modulus N is defined by a difference equation: N=X m −F, wherein:

X is a polynomial;

m is the number of bits in the modulus;

a value, p, is a number wherein p<=m−1; and

deg(F)<p.

34. The method of claim 12 , wherein the special form of the modulus N is defined by a difference equation: N=X m +F, wherein:

X is a polynomial;

m is the number of bits in the modulus;

a value, p, is a number wherein p<=m−1; and

deg(F)<p.

Assignments (7)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 3, 2020
From: RAMBUS INC.
To: CRYPTOGRAPHY RESEARCH, INC.
Reel/Frame 054539/0109 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 12, 2019
From: VERIMATRIX
To: RAMBUS INC.
Reel/Frame 051262/0413 →
CHANGE OF ADDRESS Recorded Oct 16, 2019
From: VERIMATRIX
To: VERIMATRIX
Reel/Frame 050733/0003 →
CHANGE OF NAME Recorded Oct 7, 2019
From: INSIDE SECURE
To: VERIMATRIX
Reel/Frame 050647/0428 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 20, 2012
From: ATMEL ROUSSET S.A.S.
To: INSIDE SECURE
Reel/Frame 028412/0510 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 17, 2010
From: ATMEL CORPORATION
To: ATMEL ROUSSET S.A.S.
Reel/Frame 024097/0324 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 15, 2008
From: DOUGUET, MICHEL; DUPAQUIS, VINCENT
To: ATMEL CORPORATION
Reel/Frame 020805/0402 →