Scheme for computing Montgomery division and Montgomery inverse realizing fast implementation
First Claim
1. A Montgomery division device for computing a Montgomery division Y=B·
- A-1 ·
2n mod N for a positive integer N, a positive integer A which is relatively prime with respect to N and satisfying 0≦
A<
N, a positive integer B, and an integer n which is satisfying n≧
L where L is a bit length of N in binary expression, the device comprising;
a Montgomery inverse calculation unit for obtaining a Montgomery inverse X=A-1 ·
22n mod N from inputs A and N; and
a Montgomery multiplication unit for obtaining the Montgomery division Y=B·
X·
2-n mod N from the Montgomery inverse X obtained by the Montgomery inverse calculation unit and inputs B and N.
1 Assignment
0 Petitions
Accused Products
Abstract
A scheme for performing high speed Montgomery division within the Montgomery space. Montgomery division Y=B·A-1 ·2n mod N for a positive integer N, a positive integer A which is relatively prime with respect to N and satisfying 0≦A≦N, a positive integer B, and an integer n which is satisfying n≧L where L is a bit length of N in binary expression, is performed by obtaining a Montgomery inverse X=A-1 ·22n mod N from inputs A and N, and obtaining the Montgomery division Y=B·X·2-n mod N from the Montgomery inverse X and inputs B and N. Montgomery inverse X=A-1 ·22n mod N for a positive integer N, a positive integer A which is relatively prime with respect to N and satisfying 0≦A<N, and an integer n which satisfies n≧L where L is a bit length of N in binary expression, is determined by obtaining an intermediate result C=A-1 ·2k mod N and a parameter k satisfying L≦k≦2L from inputs A and N, and obtaining the Montgomery inverse X=C·22n-k mod N from the intermediate result C and the parameter k and input N.
-
Citations
43 Claims
-
1. A Montgomery division device for computing a Montgomery division Y=B·
- A-1 ·
2n mod N for a positive integer N, a positive integer A which is relatively prime with respect to N and satisfying 0≦
A<
N, a positive integer B, and an integer n which is satisfying n≧
L where L is a bit length of N in binary expression, the device comprising;a Montgomery inverse calculation unit for obtaining a Montgomery inverse X=A-1 ·
22n mod N from inputs A and N; anda Montgomery multiplication unit for obtaining the Montgomery division Y=B·
X·
2-n mod N from the Montgomery inverse X obtained by the Montgomery inverse calculation unit and inputs B and N. - View Dependent Claims (2)
- A-1 ·
-
3. A Montgomery division device for computing a Montgomery division Y=B·
- A-1 ·
2n mod N for a positive integer N, a positive integer A which is relatively prime with respect to N and satisfying 0≦
A<
N, a positive integer B, and an integer n which is satisfying n≧
L where L is a bit length of N in binary expression, the device comprising;an inverse calculation unit for obtaining a first intermediate result C=A-1 ·
2k mod N and a parameter k satisfying L≦
k≦
2L from inputs A and N;a Montgomery multiplication unit for obtaining a second intermediate result D=B·
C·
2-n mod N from the first intermediate result C obtained by the inverse calculation unit and input B and N; andan inverse correction unit for obtaining the Montgomery division Y=D·
22n-k mod N from the second intermediate result D obtained by the Montgomery multiplication unit, the parameter k obtained by the inverse calculation unit and input N.
- A-1 ·
-
4. A Montgomery inverse calculation device for computing a Montgomery inverse X=A-1 ·
- 22n mod N for a positive integer N, a positive integer A which is relatively prime with respect to N and satisfying 0≦
A<
N, and an integer n which is satisfying n≧
L where L is a bit length of N in binary expression, the device comprising;an inverse calculation unit for obtaining an intermediate result C=A-1 ·
2k mod N and a parameter k satisfying L≦
k≦
2L from inputs A and N; andan inverse correction unit for obtaining the Montgomery inverse X=C·
22n-k mod N from the intermediate result C and the parameter k obtained by the inverse calculation unit and input N. - View Dependent Claims (5, 6, 7, 8, 9, 10, 11)
- 22n mod N for a positive integer N, a positive integer A which is relatively prime with respect to N and satisfying 0≦
-
12. A method for computing a Montgomery division Y=B·
- A-1 ·
2n mod N for a positive integer N, a positive integer A which is relatively prime with respect to N and satisfying 0≦
A<
N, a positive integer B, and an integer n which is satisfying n≧
L where L is a bit length of N in binary expression, the method comprising the steps of;(a) obtaining a Montgomery inverse X=A-1 ·
22n mod N from inputs A and N; and(b) obtaining the Montgomery division Y=B·
X·
2-n mod N from the Montgomery inverse X obtained by the step (a) and inputs B and N. - View Dependent Claims (13)
- A-1 ·
-
14. A method for computing a Montgomery division Y=B·
- A-1 ·
2n mod N for a positive integer N, a positive integer A which is relatively prime with respect to N and satisfying 0≦
A≦
N, a positive integer B, and an integer n which is satisfying n≧
L where L is a bit length of N in binary expression, the method comprising the steps of;(a) obtaining a first intermediate result C=A-1 ·
2k mod N and a parameter k satisfying L≦
k≦
2L from inputs A and N;(b) obtaining a second intermediate result D=B·
C·
2-n mod N from the first intermediate result C obtained by the step (a) and input B and N; and(c) obtaining the Montgomery division Y=D·
22n-k mod N from the second intermediate result D obtained by the step (b), the parameter k obtained by the step (a) and input N.
- A-1 ·
-
15. A method for computing a Montgomery inverse X=A-1 ·
- 22n mod N for a positive integer N, a positive integer A which is relatively prime with respect to N and satisfying 0≦
A<
N, and an integer n which is satisfying n≧
L where L is a bit length of N in binary expression, the method comprising the steps of;(a) obtaining an intermediate result C=A-1 ·
2k mod N and a parameter k satisfying L≦
k≦
2L from inputs A and N; and(b) obtaining the Montgomery inverse X=C·
22n-k mod N from the intermediate result C and the parameter k obtained by the step (a) and input N. - View Dependent Claims (16, 17, 18, 19, 20)
- 22n mod N for a positive integer N, a positive integer A which is relatively prime with respect to N and satisfying 0≦
-
21. An article of manufacture, comprising:
a computer usable medium having computer readable program code means embodied therein for causing a computer to function as a system for computing a Montgomery division Y=B·
A-1 ·
2n mod N for a positive integer N, a positive integer A which is relatively prime with respect to N and satisfying 0≦
A<
N, a positive integer B, and an integer n which is satisfying n≧
L where L is a bit length of N in binary expression, the computer readable program code means includes;first computer readable program code means for causing said computer to obtain a Montgomery inverse X=A-1 ·
22n mod N from inputs A and N; andsecond computer readable program code means for causing said computer to obtain the Montgomery division Y=B·
X·
2-n mod N from the Montgomery inverse X obtained by the first computer readable program code means and inputs B and N.- View Dependent Claims (22)
-
23. An article of manufacture, comprising:
a computer usable medium having computer readable program code means embodied therein for causing a computer to function as a system for computing a Montgomery division Y=B·
A-1 ·
2n mod N for a positive integer N, a positive integer A which is relatively prime with respect to N and satisfying 0≦
A<
N, a positive integer B, and an integer n which is satisfying n≧
L where L is a bit length of N in binary expression, the computer readable program code means includes;first computer readable program code means for causing said computer to obtain a first intermediate result C=A-1 ·
2k mod N and a parameter k satisfying L≦
k≦
2L from inputs A and N;second computer readable program code means for causing said computer to obtain a second intermediate result D=B·
C·
2-n mod N from the first intermediate result C obtained by the first computer readable program code means and input B and N; andthird computer readable program code means for causing said computer to obtain the Montgomery division Y=D·
22n-k mod N from the second intermediate result D obtained by the second computer readable program code means, the parameter k obtained by the first computer readable program code means and input N.
-
24. An article of manufacture, comprising:
a computer usable medium having computer readable program code means embodied therein for causing a computer to function as a system for computing a Montgomery inverse X=A-1 ·
22n mod N for a positive integer N, a positive integer A which is relatively prime with respect to N and satisfying 0≦
A<
N, and an integer n which is satisfying n≧
L where L is a bit length of N in binary expression, the computer readable program code means includes;first computer readable program code means for causing said computer to obtain an intermediate result C=A-1 ·
2k mod N and a parameter k satisfying L≦
k≦
2L from inputs A and N; andsecond computer readable program code means for causing said computer to obtain the Montgomery inverse X=C·
22n-k mod N from the intermediate result C and the parameter k obtained by the first computer readable program code means and input N.- View Dependent Claims (25, 26, 27, 28, 29)
-
30. A method for implementing basic operations of an elliptic curve cryptosystem, comprising the steps of:
-
converting parameters of the basic operations of the elliptic curve cryptosystem from Zp, integers modulo p, over which elliptic curves are defined, into a Montgomery space; executing the basic operations of the elliptic curve cryptosystem on input data of the elliptic curve cryptosystem in terms of Montgomery arithmetic system operations defined on the Montgomery space using the parameters converted by the converting step; and inversely converting operation results of the basic operations of the elliptic curve cryptosystem obtained by the executing step from the Montgomery space into Zp so as to obtain output data of the elliptic curve cryptosystem. - View Dependent Claims (31, 32, 33, 34, 35, 36)
-
-
37. A method for implementing basic operations of an elliptic curve cryptosystem, comprising the steps of:
-
defining parameters of the basic operations of the elliptic curve cryptosystem in a Montgomery space over which elliptic curves are defined; and executing the basic operations of the elliptic curve cryptosystem on input data of the elliptic curve cryptosystem in terms of Montgomery arithmetic system operations defined on the Montgomery space using the parameters defined by the defining step so as to obtain output data of the elliptic curve cryptosystem given by operation results for the basic operations of the elliptic curve cryptosystem in the Montgomery space. - View Dependent Claims (38, 39, 40, 41, 42, 43)
-
Specification