[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP2003271055A - Window processor, window processing program, and recording medium therefor - Google Patents

Window processor, window processing program, and recording medium therefor

Info

Publication number
JP2003271055A
JP2003271055A JP2002070359A JP2002070359A JP2003271055A JP 2003271055 A JP2003271055 A JP 2003271055A JP 2002070359 A JP2002070359 A JP 2002070359A JP 2002070359 A JP2002070359 A JP 2002070359A JP 2003271055 A JP2003271055 A JP 2003271055A
Authority
JP
Japan
Prior art keywords
processing
points
rational point
obtaining
integer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2002070359A
Other languages
Japanese (ja)
Inventor
Hiroaki Oguro
博昭 小黒
Tetsutaro Kobayashi
鉄太郎 小林
Fumisato Hoshino
文学 星野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2002070359A priority Critical patent/JP2003271055A/en
Publication of JP2003271055A publication Critical patent/JP2003271055A/en
Pending legal-status Critical Current

Links

Abstract

<P>PROBLEM TO BE SOLVED: To accelerate the previous operation speed of a ϕ-ary sliding window method. <P>SOLUTION: An previous operation part comprises a means which inputs a window size 'w' and a point P on an elliptic curve and calculates T<SB>i</SB>=ϕ<SP>i</SP>P (i=2, 3,..., w-1) by 'ϕ-multiplying (ϕ: Frobenius mapping) operation', a means which calculates T<SB>i</SB>±P (i=2, 3,..., w-1) by using Montgomery simultaneous inverse elements, a means which calculates T<SB>i</SB>±(ϕ<SP>2</SP>+1)P (i=4, 5,..., w-1), T<SB>i</SB>±(ϕ<SP>2</SP>-1)P (i=4, 5,..., w-1), T<SB>i</SB>±(ϕ<SP>3</SP>+1)P (i=5, 6,..., w-1), and T<SB>i</SB>±(ϕ<SP>3</SP>-1)P (i=5, 6,..., w-1) by the use of the Montgomery simultaneous inverse elements by using (ϕ<SP>2</SP>±1)P and (ϕ<SP>3</SP>±1)P as the calculation results, a means which adds and subtracts points already found similary and T<SB>i</SB>by using the Montgomery simultaneous inverse elements, and a means which generates a previous operation table by using the results obtained by the respective means. <P>COPYRIGHT: (C)2003,JPO

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【発明の属する技術分野】本発明は、情報セキュリティ
技術で用いられる楕円曲線暗号の演算に関し、特に楕円
曲線上の点のk倍演算を行う際に適用されるウインドウ
処理装置、およびウインドウ処理プログラム、その記録
媒体に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an operation of elliptic curve cryptography used in information security technology, and more particularly to a window processing device and a window processing program applied when performing k times multiplication of a point on an elliptic curve. It relates to the recording medium.

【0002】[0002]

【従来の技術】楕円曲線暗号は、現在主流の暗号方式と
比べて遙かに短い鍵長で同等の安全性強度を実現するこ
とから、電子商取引の時代を担う次世代暗号として注目
を浴びている。しかし、従来の楕円曲線暗号は暗号化・
復号化の処理速度や安全性の面で課題があり、高速化・
安全性の研究が世界中で展開されてきた。楕円曲線上で
公開鍵暗号やデジタル署名を実現する場合、その処理時
間のほどんどは楕円曲線上の点のk倍演算(kは2以上
の整数:例えば、鍵、乱数)に費やされる。一般に、暗
号や署名には有限体GF(q)上で定義される楕円曲線
を使う。これをE/GF(q)と表記する。qは素数ま
たは素数のべき乗である。従来の実装法ではqに素数ま
たは2m(mは1以上の整数)を用いることが多かっ
た。
2. Description of the Related Art Elliptic curve cryptography has gained attention as a next-generation cryptography that will play an important role in the era of electronic commerce because it realizes the same level of security strength with a key length much shorter than that of the mainstream cryptosystems. There is. However, conventional elliptic curve cryptography
There is a problem in terms of decryption processing speed and security.
Safety research has been developed around the world. When public key cryptography or digital signature is realized on an elliptic curve, most of the processing time is spent for k times multiplication of points on the elliptic curve (k is an integer of 2 or more: for example, key, random number). Generally, an elliptic curve defined on a finite field GF (q) is used for encryption and signature. This is referred to as E / GF (q). q is a prime number or a power of a prime number. In the conventional mounting method, a prime number or 2 m (m is an integer of 1 or more) was often used for q.

【0003】楕円曲線上の点Pに対する加算や2倍を定
義することができる。通常の加算と区別するためにこれ
を「楕円加算」、「楕円2倍演算」と呼ぶ。また、楕円
曲線上の点のうち、加算の単位元をOと表記する。k倍
演算を構成するために、kを2進展開した結果に応じて
「楕円加算」と「楕円2倍演算」を組み合わせて行う方
法が知られており、「バイナリ法」と呼ばれている。バ
イナリ法による楕円k倍演算の手順について図4を参照
して説明する。k=7=(1,0,0,−1)の場合、.
最上位ビットが1であるのでO(加算の単位元)とP加
算(+P)を行う(楕円加算)。.次のビットが0で
あるのでの結果を2倍する(楕円2倍演算)。.
と同様である。.の結果を2倍して、最下位ビット
が−1であるのでP減算(−P)を行い7Pを得る。
It is possible to define addition or doubling for the point P on the elliptic curve. This is called “elliptic addition” or “ellipse doubling operation” to distinguish it from ordinary addition. Further, among the points on the elliptic curve, the unit element of addition is represented by O. A method is known in which "ellipse addition" and "ellipse doubling operation" are combined according to the result of binary expansion of k in order to configure k-fold operation, and it is called "binary method". . The procedure of the elliptic k times multiplication by the binary method will be described with reference to FIG. If k = 7 = (1,0,0, -1) ,.
Since the most significant bit is 1, O (unit element of addition) and P addition (+ P) are performed (elliptic addition). Since the next bit is 0, the result is doubled (elliptic double operation). .
Is the same as. .. is doubled, and since the least significant bit is -1, P subtraction (-P) is performed to obtain 7P.

【0004】「バイナリ法」よりも高速な手法として
「スライディング・ウインドウ法」が知られている(文
献:”Handbook of Applied Cryptography”、CRC Pres
s, pp.616(1996))。これは、事前に点Pの奇数倍点
(3P,5P,7P,9P,・・・)をいくつか求めてお
き、kを2進展開した結果に応じて「演算途中の点と事
前演算した点との楕円加算」と「楕円2倍演算」を組み
合わせて行う方法である。ウインドウサイズを大きくす
ることにより事前演算量を多くすれば、k倍演算におけ
る主要演算部分の計算量を削減できるが、事前演算自身
の演算量が増加するため、ここにはトレードオフが存在
し、最適なウインドウサイズはkのビット数(≒鍵のビ
ット数)に依存する。現在、一般に事前演算する点の数
はそれほど多くないため、従来、この部分は一つずつ素
朴な方法で計算することが多かった。しかし、将来、計
算機の性能向上により、安全性確保のため鍵のビット数
が増加したとき、k倍演算における最適ウインドウサイ
ズも増加し、それゆえ事前演算量も増加する。この増加
は指数関数的であり、事前演算量を削減できれば、k倍
演算全体の演算量を削減することができる。この事前演
算を高速に行う方法として、モンゴメリ同時逆元を利用
し、アフィン座標で表現された点を(2P),(3P,4
P),(5P,7P,8P),・・・の順に求めていく方法
(Henri Cohen,Atsuko Miyaji,Takatoshi Ono,"Efficien
t elliptic curve exponentiation using mixed coordi
nates"Asiacrypt'98(1998)",:以下「文献1」と呼ぶ)
がある。
The "sliding window method" is known as a method faster than the "binary method" (reference: "Handbook of Applied Cryptography", CRC Pres
s, pp.616 (1996)). This is because some odd multiples (3P, 5P, 7P, 9P, ...) Of point P are obtained in advance, and “a point in the middle of calculation is pre-computed according to the result of binary expansion of k. This is a method in which “ellipse addition with points” and “ellipse doubling operation” are combined. If the amount of pre-computation is increased by increasing the window size, the amount of computation of the main computation part in k-fold computation can be reduced, but since the amount of computation of the pre-computation itself increases, there is a trade-off here. The optimal window size depends on the number of bits of k (≈the number of bits of the key). Currently, the number of points to be pre-computed is not so large in the past, so in the past, this part was often calculated one by one using a simple method. However, in the future, when the number of bits of the key increases in order to ensure security due to the performance improvement of the computer, the optimum window size in the k-fold operation also increases, and therefore the amount of pre-calculation also increases. This increase is exponential, and if the amount of pre-computation can be reduced, the amount of computation for the entire k-fold computation can be reduced. As a method for performing this pre-calculation at high speed, the points expressed in affine coordinates are (2P), (3P, 4) using the Montgomery simultaneous inverse element.
P), (5P, 7P, 8P), ...
(Henri Cohen, Atsuko Miyaji, Takatoshi Ono, "Efficien
t elliptic curve exponentiation using mixed coordi
nates "Asiacrypt'98 (1998)" ,: hereinafter referred to as "Reference 1")
There is.

【0005】スライディング・ウインドウ法による楕円
k倍演算の手順について図5を参照して説明する。k=
3395=(110101000011)、ウインドウ
サイズw=3の場合、.事前演算として、Pi=iP
(i=1,3,5,7)を求める。.最上位ビットから長
さがウインドウサイズw以下で最大となるように0でな
いビットまでをくくる。図5では、(11)(すなわち
3加算)の場合、w=2となる。O(加算の単位元)
にP3を加算する。.次のビットは0であるのでスライ
ドして(101)(すなわちP5加算)をくくる。2
4(4ビットスライド)×3P(の結果)にP5を加算
する。.次のビットは0であるのでスライドして(1
1)(すなわちP3加算)をくくる。26(6ビットスラ
イド)×53P(の結果)にP3を加算して3395
Pを得る
A procedure for calculating the elliptic k times by the sliding window method will be described with reference to FIG. k =
When 3395 = (110101000011) and window size w = 3, P i = iP as a pre-calculation
(I = 1, 3, 5, 7) is calculated. . From the most significant bit to the non-zero bit so that the length becomes maximum at the window size w or less. In FIG. 5, in the case of (11) (that is, P 3 addition), w = 2. O (Unit of addition)
Add P 3 to. Since the next bit is 0, slide (101) (that is, add P 5 ) and loop. Two
Add P 5 to 4 (4 bit slide) x 3 P (result of). Since the next bit is 0, slide (1
1) (that is, P 3 addition) is included. Add P 3 to 2 6 (6 bit slide) × 53P (result) and 3395
Get P

【0006】一方、ある楕円曲線においては、「フロベ
ニウス写像」を用いてk倍演算を行えることがある。こ
の手法は「φ進展開によるk倍演算」と呼ばれている。
例えばGF(2)上で定義された楕円曲線E/GF
(2)上のGF(2m)有理点(mは2以上の整数)を
k倍する方法についてはKoblitz(コブリッツ)らが提
案している。次に楕円曲線とフロベニウス写像について
説明する。E/GF(2)上のGF(2m)有理点のな
す群E(GF(pm))に対して、以下のようなフロベ
ニウス写像φを用いた演算を定義できる。 定義1(フロベニウス写像) 楕円曲線上の点P=(x,y)、ただしx,y∈GF
(p)’に対する自己準同型写像φ:(x,y)→
(xp,yp)をフロベニウス写像と呼ぶ。GF(p)’
はGF(p)の代数閉体を表す。
On the other hand, for a certain elliptic curve, k times multiplication may be possible using the "Frobenius map". This method is called “k-fold arithmetic by φ-adic expansion”.
For example, elliptic curve E / GF defined on GF (2)
(2) A method of multiplying the GF (2 m ) rational point (m is an integer of 2 or more) by k is proposed by Koblitz et al. Next, the elliptic curve and Frobenius map will be described. Against E / GF (2) on the GF (2 m) forms a group of rational points E (GF (p m)) , can be defined calculation using the Frobenius map φ as follows. Definition 1 (Frobenius map) Point P = (x, y) on an elliptic curve, where x, yεGF
Automorphism map φ for (p) ': (x, y) →
(X p , y p ) is called a Frobenius map. GF (p) '
Represents an algebraic closed field of GF (p).

【0007】フロベニウス写像φは、楕円曲線上の自己
準同型写像であり、k倍写像P→kPを[k]と表すと、
式(1)を満たす。 φ2−[t]φ+[p]=[0], −2√p<t<2√p (1) 式(1)は虚根を持ち、φによって、kが整数の場合の
[k]とは異なる演算を行うことができる。φは与えられ
た楕円曲線に固有に定まる値であり、その求め方は知ら
れている。フロベニウス写像の演算は、一般に楕円加算
などと比べて高速に行うことができる。例えば、正規基
底を用いてGF(pm)の元を表している場合、フロベ
ニウス写像を要素の置き換えのみによって行うことがで
き、演算時間を無視できる。以後、フロベニウス写像の
演算を「φ倍演算」と呼ぶ。「φ進展開によるk倍演
算」では、まずkPをφを用いて次式(2)の形に変換
する。 k=Σi=0 ri φi (2) ただし、−p<ci <p, r≒|k|(|k|はkの
ビット数を表す。)である。
The Frobenius map φ is an automorphism on an elliptic curve, and if the k-fold map P → kP is represented as [k], then
Formula (1) is satisfied. φ 2 − [t] φ + [p] = [0], −2√p <t <2√p (1) Equation (1) has an imaginary root, and depending on φ, when k is an integer
An operation different from [k] can be performed. φ is a value uniquely determined for a given elliptic curve, and its method of obtaining is known. The operation of Frobenius map can be generally performed at a higher speed than the elliptic curve addition. For example, when the element of GF (p m ) is represented by using the normal basis, the Frobenius map can be performed only by replacing the elements, and the calculation time can be ignored. Hereinafter, the operation of the Frobenius map will be referred to as “φ multiplication operation”. In the “k-fold operation by φ-advanced expansion”, kP is first converted into the form of the following expression (2) using φ. k = Σ i = 0 r c i φ i (2) where −p <c i <p, r≈ | k | (| k | represents the number of bits of k).

【0008】Koblitzにより、E/GF(2)上のGF
(2m)有理点を、「φ進展開によるk倍演算」を用い
て求める方法(N.Koblitz,“CM-Curves with Good Crypt
graphic Properties,” CRYPTO'91,pp.279-287(1991) )
が提案された。これを「φ進バイナリ法」と呼ぶ。これ
は、(2)式のようにkをφ進展開した結果に応じて
「楕円加算」と「φ倍演算」を組み合わせて行う。φ進
展開法による楕円k倍演算の手順について図6を参照し
て説明する。あるkが与えられた楕円曲線により
GF on E / GF (2) by Koblitz
(2 m ) A method for finding a rational point using "k-fold arithmetic by φ-adic expansion" (N. Koblitz, "CM-Curves with Good Crypt
graphic Properties, ”CRYPTO'91, pp.279-287 (1991))
Was proposed. This is called the "φ-adic binary method". This is performed by combining “elliptic addition” and “φ multiplication operation” in accordance with the result of φ-adic expansion of k as in the equation (2). A procedure for calculating the elliptic k times by the φ-advance expansion method will be described with reference to FIG. By an elliptic curve given a certain k

【数1】 とφ進展開された場合において、 .最上位ビットが1であるのでO(加算の単位元)に
P加算(1)する。.次のビットが0であるのでの
結果をφ倍する。.の結果をφ倍してP減算(−
1)を行う。.の結果をφ倍して(φ3−φ)Pを得
る。また、Solinasによってその改良版(J.A.Solinas,
“An improved Algorithm for Arithmetic on a Family
of Elliptic Curves,”CRYPTO’97,pp357-371(1997))
が提案された。これを「φ進スライディング・ウインド
ウ法」と呼ぶ。これは、事前に(φ2−1)P,(φ2
1)P,(φ3−1)P,(φ3+1)P,・・・といった
点をいくつか求めておき、kをφ進NAF(non-adjacen
t form)展開(非ゼロ要素が隣接しないような展開)し
た結果に応じて「演算途中の点と事前演算した点との楕
円加算」と「φ倍演算」を組み合わせて行う方法があ
る。「φ進スライディング・ウインドウ法」において
も、現在、一般に事前演算する点の数はそれほど多くな
いため、従来、この部分は一つずつ素朴な方法で計算す
ることが多かった。
[Equation 1] In the case of φ-advanced expansion, since the most significant bit is 1, P is added (1) to O (unit element of addition). Since the next bit is 0, the result is multiplied by φ. The result of is multiplied by φ and P subtracted (-
Perform 1). The result of is multiplied by φ to obtain (φ 3 −φ) P. In addition, its improved version (JASolinas,
“An improved Algorithm for Arithmetic on a Family
of Elliptic Curves, ”CRYPTO'97, pp357-371 (1997))
Was proposed. This is called "φ-advance sliding window method". This is (φ 2 −1) P, (φ 2 +
1) P, (φ 3 -1) P, (φ 3 +1) P, ...
t form) expansion (expansion such that non-zero elements are not adjacent to each other), there is a method of performing a combination of “elliptic addition of a point in the middle of calculation and a pre-calculated point” and “φ multiplication”. Also in the "φ-advance sliding window method", since the number of points to be pre-calculated is not so large at present, conventionally, this part is often calculated one by one by a simple method.

【0009】φ進スライディング・ウインドウ法による
楕円k倍演算の手順について図7を参照して説明する。
w=4、あるkをφ進NAF展開した結果が
The procedure for calculating the elliptic k times by the φ-advance sliding window method will be described with reference to FIG.
w = 4, the result of φ-adic NAF expansion of a certain k is

【数2】 である場合において、.事前演算として、ウインドウ
サイズwが4であるので、β3P=(φ2−1)P,β5P=
2+1)P,β7P=(φ3−1)P,β9P=(φ3+1)P
を計算し、保持する。.最上位ビットから(1,0,1)
をくくり、O(加算の単位元)と加算する。.の結
果をφ6倍(6ビットスライド)してβ9Pを減算((−
1,0,0,−1)=−β9)する。.の結果をφ3倍(3
ビットスライド)してP加算(1)してβ1465Pを得
る。
[Equation 2] , The window size w is 4, so that β 3 P = (φ 2 −1) P, β 5 P =
2 +1) P, β 7 P = (φ 3 -1) P, β 9 P = (φ 3 +1) P
Calculate and hold. . From the most significant bit (1,0,1)
And add with O (unit of addition). The result of is multiplied by φ 6 (slide 6 bits) and β 9 P is subtracted ((-
1,0,0, −1) = − β 9 ). The result of is φ 3 times (3
Bit-slide) and add P (1) to obtain β 1465 P.

【0010】[0010]

【発明が解決しようとする課題】「φ進スライディング
・ウインドウ法」においても、「スライディング・ウイ
ンドウ法」と同様の課題が存在する。すなわち、ウイン
ドウサイズwを大きくすることにより事前演算量を多く
すれば、k倍演算における主要演算部分の演算量を削減
できるが、事前演算自身の演算量が増加するため、ここ
にはトレードオフが存在し、最適なウインドウサイズは
kのビット数(≒鍵のビット数)に依存する。将来、計
算機性能の向上により、安全性確保のため鍵のビット数
が増加したとき、k倍演算における最適ウインドウサイ
ズも増加し、それゆえ事前演算量も増加する。この増加
は指数関数的であり、事前演算量を削減できれば、k倍
演算全体の演算量を削減することができる。
The "φ-sliding sliding window method" has the same problems as the "sliding window method". That is, if the pre-computation amount is increased by increasing the window size w, the computation amount of the main calculation part in the k-fold calculation can be reduced, but since the calculation amount of the pre-calculation itself increases, there is a trade-off here. There exists, and the optimal window size depends on the number of bits of k (≈number of bits of key). In the future, when the number of bits of the key increases to ensure security due to the improvement of computer performance, the optimum window size in k-fold arithmetic also increases, and therefore the amount of pre-computation also increases. This increase is exponential, and if the amount of pre-computation can be reduced, the amount of computation for the entire k-fold computation can be reduced.

【0011】ここで、第1の問題点は、「φ進スライデ
ィング・ウインドウ法」においては、事前演算を高速に
完了するために文献1の事前演算法を適用することがで
きない点である。その理由は、文献1の事前演算法で
は、例えば(011)2P+(010)2P=(101)
2Pのような計算が成立することを利用しているが、φ
進展開された多項式を係数に持つ点同士の演算では、
Here, the first problem is that in the "φ-advance sliding window method", the pre-calculation method of Reference 1 cannot be applied in order to complete the pre-calculation at high speed. The reason is that in the pre-calculation method of Document 1, for example, (011) 2 P + (010) 2 P = (101)
It takes advantage of the fact that a calculation like 2 P holds, but φ
In the operation between points that have a polynomial that has been expanded into a coefficient,

【数3】 本発明の目的は「φ進スライディング・ウインドウ法」
における事前演算の高速化である。
[Equation 3] The object of the present invention is "φ-advancing sliding window method".
Is the speedup of pre-calculation in.

【0012】[0012]

【課題を解決するための手段】上記課題を解決するため
に、本発明におけるウインドウ処理装置は、φ進スライ
ディング・ウインドウ法」における事前演算部の事前演
算を以下のように行うことを特徴とする。ウインドウサ
イズをwとする。 (1)「φ倍演算」を繰り返し適用し、Ti=φiP(i
=2,3,・・・,w−1)を計算し、メモリに保存す
る。 (2)(1)で求めたTiを用いて、Ti±P(i=2,
3,・・・,w−1)をモンゴメリ同時逆元を用いて計算
し、事前演算テーブルに追加する。 (3)(2)で求めた(φ2±1)P,(φ3±1)Pを
用いて、Ti±(φ2+1)P(i=4,・・・,w−
1)、Ti±(φ2−1)P(i=4,・・・,w−1)、
i±(φ3+1)P(i=5,・・・,w−1)、Ti±
(φ3−1)P(i=5,・・・,w−1)をモンゴメリ
同時逆元を用いて計算し、事前演算テーブルに追加す
る。 (4)以下、同様にして既に求めた事前演算テーブル上
の点とTiとの加算・減算を、モンゴメリ同次逆元を用
いて計算し、事前演算テーブルに追加し、全て求めたら
処理を終了する。
In order to solve the above-mentioned problems, the window processing apparatus according to the present invention is characterized in that the pre-calculation of the pre-calculation unit in the φ-adic sliding window method is performed as follows. . Let the window size be w. (1) By repeatedly applying the "φ multiplication operation", T i = φ i P (i
= 2,3, ..., w-1) is calculated and stored in the memory. (2) Using T i obtained in (1), T i ± P (i = 2,
3, ..., W-1) is calculated using the Montgomery simultaneous inverse element and added to the pre-computation table. (3) Using (φ 2 ± 1) P and (φ 3 ± 1) P obtained in (2), T i ± (φ 2 +1) P (i = 4, ..., w−
1), T i ± (φ 2 −1) P (i = 4, ..., w−1),
T i ± (φ 3 +1) P (i = 5, ..., w-1), T i ±
3 −1) P (i = 5, ..., W−1) is calculated using the Montgomery simultaneous inverse element and added to the pre-computation table. (4) In the following, similarly, addition / subtraction of points on the pre-computation table and T i that have already been calculated are calculated using the Montgomery homogeneous inverse element, added to the pre-computation table, and if all have been calculated finish.

【0013】[0013]

【発明の実施の形態】次に、本発明の実施の形態につい
て図1〜3を参照して詳細に説明する。 (構成)図1に本発明のφ進スライディング・ウインド
ウ法による楕円k倍演算装置の構成を示す。φ進スライ
ディング・ウインドウ法による楕円k倍演算装置は、ウ
インドウサイズ値w(wは3以上の整数)、楕円曲線上
の点P、整数kを入力とし、kPを出力する。図1の装
置は主に入力されたPとwに対していくつかの事前演算
点を出力する事前演算部401、入力されたkのφ進N
AF展開を出力するφ進NAF展開部402、事前演算
結果や演算途中の値などを記憶するメモリ403、φ進
スライデイング・ウインドウ法における主要部分の処理
を行うφ進スライデイング・ウインドウ法主要演算部4
04で構成される。
DESCRIPTION OF THE PREFERRED EMBODIMENTS Next, embodiments of the present invention will be described in detail with reference to FIGS. (Structure) FIG. 1 shows the structure of an elliptic k-times arithmetic unit according to the φ-advance sliding window method of the present invention. An elliptic k-times arithmetic unit based on the φ-advance sliding window method inputs a window size value w (w is an integer of 3 or more), a point P on an elliptic curve, and an integer k, and outputs kP. The apparatus of FIG. 1 mainly outputs some pre-computation points for input P and w, and a pre-calculation φ-adic N of input k.
Φ-adic NAF expansion unit 402 for outputting AF expansion, memory 403 for storing a pre-calculation result and a value in the middle of operation, φ-adic sliding window method main operation for processing the main part of φ-adic sliding window method Part 4
It is composed of 04.

【0014】本発明は高速化を実現するため事前演算部
401の構成と動作に特徴があり、図2のように構成さ
れる。図1の事前演算部401は、入力された点Pにφ
倍演算を行ったφ倍演算部101、入力された点Pに対
して−Pを出力する符号反転部102、φ倍演算部10
1と楕円加算部104の出力を符号反転する符号反転部
103、入力された複数の点同士で複数の楕円加算を行
う際、逆元を求める処理を一括して行う機能を持った楕
円加算部104、入力された複数のGF(2m)上の元
に対してその全ての逆元をモンゴメリ同時逆元を用いて
同時に求めるモンゴメリ同時逆元演算部105、および
これらを制御する制御部106から構成される。モンゴ
メリ同時逆元演算においては、a1,a2,・・・,anから
1 -1,a2 -1,・・・,an -1 を求める際に、Iを逆元コ
スト、Mを乗算コストとすると、n個の逆元をI+3
(n−1)Mのコストで計算できる。すなわち、逆元を
一つずつ求める場合より高速に逆元を求めることができ
る。
The present invention is characterized by the configuration and operation of the pre-calculation unit 401 for realizing high speed, and is configured as shown in FIG. The pre-calculation unit 401 in FIG.
Φ multiplication unit 101 that has performed multiplication, sign inversion unit 102 that outputs −P for input point P, φ multiplication unit 10
1 and a sign inversion unit 103 that inverts the outputs of the ellipse addition unit 104, and an ellipse addition unit having a function of collectively performing the process of obtaining an inverse element when performing a plurality of ellipse additions for a plurality of input points 104, a Montgomery simultaneous inverse element calculation unit 105 for simultaneously obtaining all inverse elements of a plurality of input elements on GF (2 m ) using the Montgomery simultaneous inverse element, and a control unit 106 for controlling them Composed. In Montgomery simultaneous inverse operation, a 1, a 2, ··· , a 1 -1 from a n, a 2 -1, ··· , when obtaining a n -1, the inverse cost I, If M is the multiplication cost, n inverse elements are I + 3
It can be calculated at a cost of (n-1) M. That is, the inverse element can be obtained faster than the case where the inverse element is obtained one by one.

【0015】(動作)図1のφ進スライディング・ウイ
ンドウ法による楕円k倍演算装置の動作を説明する。図
1のφ進スライディング・ウインドウ法による楕円k倍
演算装置は、ウインドウサイズ値w(wは3以上の整
数)、有限体上の楕円曲線上の有理点P、整数kを入力
後、kPを出力する。事前演算部の詳細は図2のようで
あり、例えばw=7と、点Pを入力したときの図2の動
作は図3のようになる。整数iをNAF展開したときの
ベクトルをφの多項式のベクトル表現と同一視しβi
表す。例えば、NAF(19)=<1,0,1,0,−1>
であるので、β1 9=φ4+φ2−1である。
(Operation) The operation of the elliptic k-times arithmetic unit according to the φ-advance sliding window method of FIG. 1 will be described. An elliptic k-times arithmetic unit using the φ-advance sliding window method of FIG. 1 inputs a window size value w (w is an integer of 3 or more), a rational point P on an elliptic curve on a finite field, and an integer k, and then kP Output. The details of the pre-calculation unit are as shown in FIG. 2. For example, when w = 7 and the point P is input, the operation of FIG. 2 is as shown in FIG. The vector when the integer i is expanded by NAF is identified as β i by equating it with the vector expression of the polynomial of φ. For example, NAF (19) = <1,0,1,0, -1>
Since it is a β 1 9 = φ 4 + φ 2 -1.

【0016】図3を参照して事前演算部を説明する。事
前演算部は、有理点kPを求めるための主要な処理に先
立って事前にいくつかの点を求める際、すでに求めた点
を再利用しながら楕円加算・減算演算時に必要な逆元を
求める処理をモンゴメリ同時逆元により最大限同時処理
しながら有理点kPを求めるための主要な処理に必要な
楕円曲線上の点を求めて事前演算テーブルを作成する。
まずφ倍演算部101にPを入力し、φ倍演算によりβ
iP(i=2,4,8,16,32,64)を求め、メモリ4
03に記憶する(図3:参照)。次に上記で求めたβi
P(i=2,4,8,16,32,64)とPとの
The pre-calculation section will be described with reference to FIG. The pre-calculation unit is a process for obtaining some points in advance prior to the main process for obtaining the rational point kP, and a process for obtaining an inverse element required for elliptic addition / subtraction calculation while reusing the already obtained points. The maximum pre-calculation table is created by obtaining points on the elliptic curve necessary for the main processing for obtaining the rational point kP while simultaneously performing the maximum simultaneous processing by the Montgomery simultaneous inverse element.
First, P is input to the φ multiplication unit 101, and β is calculated by φ multiplication.
i P (i = 2,4,8,16,32,64) is calculated, and the memory 4
03 (see FIG. 3 :). Next, β i obtained above
Between P (i = 2,4,8,16,32,64) and P

【数4】 をモンゴメリ同時逆元を用いて逆元を求める処理部分を
同時に行いながら求め、メモリ403に記憶する(図
3:)。次に上記で求めたβiP(i=16,32,6
4)と上記で求めたβ3P,β5P,β7P,β9Pとの
[Equation 4] Is obtained while simultaneously performing the processing part for obtaining the inverse element using the Montgomery simultaneous inverse element, and stored in the memory 403 (FIG. 3:). Next, β i P (i = 16,32,6) obtained above
4) and β 3 P, β 5 P, β 7 P, β 9 P obtained above

【数5】 をモンゴメリ同時逆元を用いて逆元を求める処理部分を
同時に行いながら求め、メモリに記憶する(図3:
)。次に上記で求めたβ64Pと上記で求めたβ11P,
β13P,β15P,β17P,β19P,β21Pとの
[Equation 5] Is obtained while simultaneously performing the processing part for obtaining the inverse element using the Montgomery simultaneous inverse element, and stored in the memory (FIG. 3:
). Next, β 64 P obtained above and β 11 P obtained above
β 13 P, β 15 P, β 17 P, β 19 P, β 21 P

【数6】 をモンゴメリ同時逆元を用いて逆元を求める処理部分を
同時に行いながら求め、メモリに記憶する(図3:
)。以上で事前演算に必要な全ての点が求まる。な
お、図3:における網掛け部は高速にモンゴメリ同時
逆元を演算できる個所である。(図3:,の網掛け
部は省略してある。)また、制御部106は各構成要素
の制御を行う。
[Equation 6] Is obtained while simultaneously performing the processing part for obtaining the inverse element using the Montgomery simultaneous inverse element, and stored in the memory (FIG. 3:
). With the above, all the points necessary for the pre-calculation are obtained. The shaded portion in FIG. 3: is a place where the Montgomery simultaneous inverse element can be calculated at high speed. (The shaded portion of FIG. 3: is omitted.) The control unit 106 controls each component.

【0017】図1のφ進スライディング・ウインドウ法
による楕円k倍演算装置について説明する。φ進NAF
展開部402においてkをφ進NAF展開し、展開結果
をφ進スライディング・ウインドウ法主要演算部404
に送る。φ進スライディング・ウインドウ法主要演算部
404は、メモリ403上の事前演算結果、上記kのφ
進NAF展開結果、w、Pを入力とし、φ倍演算(φ倍
演算部)と楕円加算(楕円加算部)を組み合わせてkP
を求め、出力する。また、制御部は主要演算部404の
主要処理のウインドウサイズを制御する。なお、φ進ス
ライディング・ウインドウ法による主要演算部の動作は
前述した図7で説明した主要演算と同様である。
An elliptic k-times arithmetic unit based on the φ-advance sliding window method of FIG. 1 will be described. φ-advance NAF
The expansion unit 402 expands k by φ-adic NAF, and the expansion result is an φ-adic sliding window method main operation unit 404.
Send to. The φ-advancing sliding window method main operation unit 404 determines the result of the prior operation on the memory 403,
As a result of advancing NAF expansion, w and P are input, kP is calculated by combining φ multiplication operation (φ multiplication operation unit) and elliptic addition (elliptic addition unit).
And output. Further, the control unit controls the window size of the main processing of the main calculation unit 404. The operation of the main arithmetic unit according to the φ-advancing sliding window method is the same as the main arithmetic operation described with reference to FIG.

【0018】本発明のφ進スライディング・ウインドウ
法による楕円k倍演算装置は、CPUやメモリ等を有す
るコンピュータと、利用者端末と、記録媒体とから構成
することができる。記録媒体は、CD−ROM、磁気デ
ィスク装置、半導体メモリ等の機械読み取り可能な記録
媒体であり、ここに記録されたウインドウ処理プログラ
ムはコンピュータの動作を制御しコンピュータ上に前述
した実施の形態における各構成要素を実現する。
The elliptic k-times arithmetic unit according to the φ-advance sliding window method of the present invention can be composed of a computer having a CPU and a memory, a user terminal, and a recording medium. The recording medium is a machine-readable recording medium such as a CD-ROM, a magnetic disk device, a semiconductor memory, etc., and the window processing program recorded here controls the operation of the computer and controls the operation of the computer in each of the embodiments described above. Realize the components.

【0019】[0019]

【発明の効果】本発明の効果を説明する。GF(2m
上の楕円曲線暗号におけるk倍演算をφ進スライディン
グ・ウインドウ法で求めるとき、その演算は事前演算部
分と主要演算部分からなる。全体の演算量に占める事前
演算量の割合は、m=163、w=4のとき、約10
%、m=163、w=5のとき、約25%を占めてい
る。本発明はこの事前演算の演算量を約半分に削減する
ことができ、結果としてk倍演算全体の演算量を削減す
ることができる。例えば、m=163のときの本発明に
よる最適なウインドウサイズ値wは6であり、このとき
事前演算にかかる時間を約65%削減でき、結果として
k倍演算全体にかかる時間を約15%短縮することがで
きる。
The effects of the present invention will be described. GF (2 m )
When the k-fold operation in the above elliptic curve cryptography is obtained by the φ-advance sliding window method, the operation consists of a pre-operation part and a main operation part. The ratio of the pre-calculation amount to the total calculation amount is about 10 when m = 163 and w = 4.
%, When m = 163 and w = 5, they occupy about 25%. The present invention can reduce the calculation amount of this pre-calculation to about half, and as a result, it is possible to reduce the calculation amount of the entire k-fold calculation. For example, when m = 163, the optimum window size value w according to the present invention is 6, and at this time, the time required for the pre-calculation can be reduced by about 65%, and as a result, the time required for the entire k-fold calculation can be reduced by about 15%. can do.

【図面の簡単な説明】[Brief description of drawings]

【図1】φ進スライディング・ウインドウ法による楕円
k倍演算装置の構成図。
FIG. 1 is a configuration diagram of an elliptic k-times arithmetic unit based on a φ-advance sliding window method.

【図2】事前演算部の構成図。FIG. 2 is a block diagram of a pre-calculation unit.

【図3】事前演算部の動作説明図。FIG. 3 is an operation explanatory diagram of a pre-calculation unit.

【図4】従来のバイナリ法による楕円k倍演算の手順を
示す図。
FIG. 4 is a diagram showing a procedure of an elliptic k-fold calculation by a conventional binary method.

【図5】従来のスライディング・ウインドウ法による楕
円k倍演算の手順を示す図。
FIG. 5 is a diagram showing a procedure of an elliptic k-fold calculation by a conventional sliding window method.

【図6】従来のφ進展開法による楕円k倍演算の手順を
示す図。
FIG. 6 is a diagram showing a procedure of an elliptic k times multiplication operation according to a conventional φ-adic expansion method.

【図7】従来のφ進スライディング・ウインドウ法によ
る楕円k倍演算の手順を示す図。
FIG. 7 is a diagram showing a procedure for calculating an elliptic k times by a conventional φ-adic sliding window method.

【符号の説明】[Explanation of symbols]

101・・・φ倍演算部、102,103・・・符号反
転部、104・・・楕円加算部、105・・・モンゴメ
リ同時逆元演算部、106・・・制御部 401・・・事前演算部、402・・・φ進NAF展開
部、403・・・メモリ、404・・・φ進スライディ
ング・ウインドウ法主要演算部
101 ... φ multiplication unit, 102, 103 ... Sign inversion unit, 104 ... Ellipse addition unit, 105 ... Montgomery simultaneous inverse element calculation unit, 106 ... Control unit 401 ... Pre-computation Part, 402 ... φ-adic NAF expansion part, 403 ... Memory, 404 ... φ-adic sliding window method main operation part

───────────────────────────────────────────────────── フロントページの続き (72)発明者 星野 文学 東京都千代田区大手町二丁目3番1号 日 本電信電話株式会社内 Fターム(参考) 5J104 AA18 AA25 EA30 JA25 NA16   ─────────────────────────────────────────────────── ─── Continued front page    (72) Inventor Hoshino Literature             2-3-1, Otemachi, Chiyoda-ku, Tokyo             Inside Telegraph and Telephone Corporation F term (reference) 5J104 AA18 AA25 EA30 JA25 NA16

Claims (6)

【特許請求の範囲】[Claims] 【請求項1】有限体GF(pm)(pは素数、mは1以
上の整数)上の楕円曲線上の有理点Pおよび整数kが入
力され、有限体GF(pm)の楕円曲線上の有理点kP
を演算して出力するウインドウ処理装置において、 整数kを次数の連続が起こらないようなφ(φはフロベ
ニウス写像を表す。)の多項式に展開するφ進NAF展
開手段と、 有理点kPを求めるための主要な処理に先立って事前に
いくつかの点を求める際、すでに求めた点を再利用しな
がら、楕円加算・減算演算時に必要な逆元を求める処理
をモンゴメリ同時逆元により同時に処理しながら有理点
kPを求めるための主要な処理に必要な楕円曲線上の点
を求めて記録した事前演算テーブルをメモリに保持する
事前演算部と、 φ進NAF展開した整数kと事前演算テーブルから引き
出した有理点kPを求めるための主要な処理に必要な楕
円曲線上の点をもとに有理点kPを求める主要演算部
と、を備えたウインドウ処理装置。
1. A rational point P and an integer k on an elliptic curve on a finite field GF (p m ) (p is a prime number and m is an integer of 1 or more) are input, and an elliptic curve of the finite field GF (p m ) is input. Upper rational point kP
In a window processing device for computing and outputting, for obtaining a rational point kP, a φ-adic NAF expansion means for expanding an integer k into a polynomial of φ (φ represents a Frobenius map) such that the continuity of orders does not occur. When retrieving some points in advance prior to the main processing of, while reusing the points that have already been obtained, while simultaneously processing the inverse element required for the elliptic addition / subtraction operation by the Montgomery simultaneous inverse element A pre-computation unit that retains in memory the pre-computation table in which the points on the elliptic curve necessary for the main processing for obtaining the rational point kP are stored, and the integer k that was expanded by the φ-adic NAF and the pre-computation table were derived. A window processing device, comprising: a main calculation unit that obtains a rational point kP based on points on an elliptic curve necessary for a main process for obtaining a rational point kP.
【請求項2】請求項1に記載のウインドウ処理装置にお
いて、 事前演算部は、 「φ倍演算」により、まずTi=φiP(i=2,3,・・
・,w−1)(ここで、wはウインドウサイズを表
す。)を計算する手段と、 次にTi±P(i=2,3,・・・,w−1)をモンゴメリ
同時逆元を用いて計算する手段と、 その結果である(φ2±1)P,(φ3±1)Pを用い
て、Ti±(φ2+1)P(i=4,5,・・・,w−1),
i±(φ2−1)P(i=4,5,・・・,w−1),Ti
±(φ3+1)P(i=5,6,・・・,w−1),Ti±
(φ3−1)P(i=5,6,・・・,w−1)をモンゴメ
リ同時逆元を用いて計算する手段と、 以下同様に既に求めた点とTiとの加算・減算をモンゴ
メリ同時逆元を用いて計算する手段と、 前記各手段で求めた結果により事前演算テーブルを作成
する手段と、を備えたことを特徴とするウインドウ処理
装置。
2. The window processing device according to claim 1, wherein the pre-computation unit first performs T i = φ i P (i = 2, 3, ...
, W-1) (where w represents a window size), and then T i ± P (i = 2, 3, ..., w-1) is the Montgomery simultaneous inverse element. , And the resulting (φ 2 ± 1) P, (φ 3 ± 1) P, T i ± (φ 2 +1) P (i = 4,5, ... , w-1),
T i ± (φ 2 −1) P (i = 4,5, ..., w−1), T i
± (φ 3 +1) P (i = 5,6, ..., w-1), T i ±
Means for calculating (φ 3 -1) P (i = 5,6, ..., w-1) using the Montgomery simultaneous inverse element, and the addition / subtraction of the points already obtained and T i in the same manner 1. A window processing device comprising: a means for calculating Montgomery simultaneous inverse elements; and means for creating a pre-computation table based on the results obtained by the respective means.
【請求項3】有限体GF(pm)(pは素数、mは1以
上の整数)上の楕円曲線上の有理点Pおよび整数kが入
力され、有限体GF(pm)の楕円曲線上の有理点kP
を演算して出力するウインドウ処理方法をコンピュータ
に実行させるウインドウ処理プログラムにおいて、 整数kを次数の連続が起こらないようなφ(φはフロベ
ニウス写像を表す。)の多項式に展開するφ進NAF展
開処理と、 有理点kPを求めるための主要な処理に先立って事前に
いくつかの点を求める際、すでに求めた点を再利用しな
がら、楕円加算・減算演算時に必要な逆元を求める処理
をモンゴメリ同時逆元により同時に処理しながら有理点
kPを求めるための主要な処理に必要な楕円曲線上の点
を求めて記録した事前演算テーブルをメモリに保持する
事前処理と、 φ進NAF展開した整数kと事前演算テーブルから引き
出した有理点kPを求めるための主要な処理に必要な楕
円曲線上の点をもとに有理点kPを求める主要演算処理
と、コンピュータに実行させるウインドウ処理プログラ
ム。
3. A rational point P and an integer k on an elliptic curve on a finite field GF (p m ) (p is a prime number and m is an integer of 1 or more) are input, and an elliptic curve of the finite field GF (p m ) is input. Upper rational point kP
In a window processing program that causes a computer to execute a window processing method for calculating and outputting, a φ-adic NAF expansion processing for expanding an integer k into a polynomial of φ (φ represents a Frobenius map) such that the continuity of orders does not occur. In addition, when several points are obtained in advance before the main processing for obtaining the rational point kP, the points already obtained are reused and the inverse element required for the elliptic addition / subtraction calculation is obtained. Pre-processing that stores the pre-calculation table in which the points on the elliptic curve necessary for the main processing for obtaining the rational point kP while simultaneously processing by the simultaneous inverse element are stored in memory, and the integer k expanded by the φ-adic NAF. And a main calculation process for obtaining the rational point kP based on the points on the elliptic curve necessary for the main processing for obtaining the rational point kP derived from the pre-computation table When the window processing program for causing a computer to execute.
【請求項4】請求項3に記載のウインドウ処理プログラ
ムにおいて、 事前演算処理は、 「φ倍演算」により、まずTi=φiP(i=2,3,・・
・,w−1)(ここで、wはウインドウサイズを表
す。)を計算する処理と、 次にTi±P(i=2,3,・・・,w−1)をモンゴメリ
同時逆元を用いて計算する処理と、 その結果である(φ2±1)P,(φ3±1)Pを用い
て、Ti±(φ2+1)P(i=4,5,・・・,w−1),
i±(φ2−1)P(i=4,5,・・・,w−1),Ti
±(φ3+1)P(i=5,6,・・・,w−1),Ti±
(φ3−1)P(i=5,6,・・・,w−1)をモンゴメ
リ同時逆元を用いて計算する処理と、 以下同様に既に求めた点とTiとの加算・減算をモンゴ
メリ同時逆元を用いて計算する処理と、 前記各処理で求めた結果により事前演算テーブルを作成
する処理と、コンピュータに実行させるウインドウ処理
プログラム。
4. The window processing program according to claim 3, wherein the pre-computation processing is performed by "φ multiplication", first T i = φ i P (i = 2,3, ...
, W-1) (where w represents the window size), and then T i ± P (i = 2, 3, ..., W-1) , And the resulting (φ 2 ± 1) P, (φ 3 ± 1) P, T i ± (φ 2 +1) P (i = 4,5, ... , w-1),
T i ± (φ 2 −1) P (i = 4,5, ..., w−1), T i
± (φ 3 +1) P (i = 5,6, ..., w-1), T i ±
3 −1) P (i = 5,6, ..., w−1) is calculated by using the Montgomery simultaneous inverse element, and similarly, addition / subtraction of points already obtained and T i is performed in the same manner. And a window processing program to be executed by a computer.
【請求項5】有限体GF(pm)(pは素数、mは1以
上の整数)上の楕円曲線上の有理点Pおよび整数kが入
力され、有限体GF(pm)の楕円曲線上の有理点kP
を演算して出力するウインドウ処理方法をコンピュータ
に実行させるウインドウ処理プログラムを記録した記録
媒体において、 整数kを次数の連続が起こらないようなφ(φはフロベ
ニウス写像を表す。)の多項式に展開するφ進NAF展
開処理と、 有理点kPを求めるための主要な処理に先立って事前に
いくつかの点を求める際、すでに求めた点を再利用しな
がら、楕円加算・減算演算時に必要な逆元を求める処理
をモンゴメリ同時逆元により同時に処理しながら有理点
kPを求めるための主要な処理に必要な楕円曲線上の点
を求めて記録した事前演算テーブルをメモリに保持する
事前処理と、 φ進NAF展開した整数kと事前演算テーブルから引き
出した有理点kPを求めるための主要な処理に必要な楕
円曲線上の点をもとに有理点kPを求める主要演算処理
と、コンピュータに実行させるウインドウ処理プログラ
ムを記録した記録媒体。
5. An elliptic curve of a finite field GF (p m ) is input by inputting a rational point P and an integer k on the elliptic curve on a finite field GF (p m ) (p is a prime number and m is an integer of 1 or more). Upper rational point kP
In a recording medium in which a window processing program for causing a computer to execute a window processing method for calculating and outputting is recorded, an integer k is expanded into a polynomial of φ (φ represents a Frobenius map) so that the continuity of orders does not occur. When obtaining some points in advance before the φ-adic NAF expansion processing and the main processing for obtaining the rational point kP, the inverse elements necessary for elliptic addition / subtraction calculation are reused while reusing the already obtained points. The pre-processing for storing points in the elliptic curve necessary for the main processing for obtaining the rational point kP while simultaneously performing the processing for obtaining The rational point kP is based on the integer k expanded by NAF and the points on the elliptic curve necessary for the main processing for obtaining the rational point kP derived from the pre-computation table. Major processing and recording medium recording a window processing program to be executed by a computer to determine.
【請求項6】請求項5に記載のウインドウ処理プログラ
ムを記録した記録媒体において、 事前演算処理は、 「φ倍演算」により、まずTi=φiP(i=2,3,・・
・,w−1)(ここで、wはウインドウサイズを表
す。)を計算する処理と、 次にTi±P(i=2,3,・・・,w−1)をモンゴメリ
同時逆元を用いて計算する処理と、 その結果である(φ2±1)P,(φ3±1)Pを用い
て、Ti±(φ2+1)P(i=4,5,・・・,w−1),
i±(φ2−1)P(i=4,5,・・・,w−1),Ti
±(φ3+1)P(i=5,6,・・・,w−1),Ti±
(φ3−1)P(i=5,6,・・・,w−1)をモンゴメ
リ同時逆元を用いて計算する処理と、 以下同様に既に求めた点とTiとの加算・減算をモンゴ
メリ同時逆元を用いて計算する処理と、 前記各処理で求めた結果により事前演算テーブルを作成
する処理と、コンピュータに実行させるウインドウ処理
プログラムを記録した記録媒体。
6. A recording medium on which the window processing program according to claim 5 is recorded, wherein the pre-computation processing is first performed by "φ multiplication operation", so that T i = φ i P (i = 2, 3, ...
, W-1) (where w represents the window size), and then T i ± P (i = 2, 3, ..., W-1) , And the resulting (φ 2 ± 1) P, (φ 3 ± 1) P, T i ± (φ 2 +1) P (i = 4,5, ... , w-1),
T i ± (φ 2 −1) P (i = 4,5, ..., w−1), T i
± (φ 3 +1) P (i = 5,6, ..., w-1), T i ±
3 −1) P (i = 5,6, ..., w−1) is calculated by using the Montgomery simultaneous inverse element, and similarly, addition / subtraction of points already obtained and T i is performed in the same manner. A recording medium which records a calculation process using the Montgomery simultaneous inverse element, a process of creating a pre-calculation table based on the results obtained in each process, and a window processing program to be executed by a computer.
JP2002070359A 2002-03-14 2002-03-14 Window processor, window processing program, and recording medium therefor Pending JP2003271055A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002070359A JP2003271055A (en) 2002-03-14 2002-03-14 Window processor, window processing program, and recording medium therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002070359A JP2003271055A (en) 2002-03-14 2002-03-14 Window processor, window processing program, and recording medium therefor

Publications (1)

Publication Number Publication Date
JP2003271055A true JP2003271055A (en) 2003-09-25

Family

ID=29200953

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002070359A Pending JP2003271055A (en) 2002-03-14 2002-03-14 Window processor, window processing program, and recording medium therefor

Country Status (1)

Country Link
JP (1) JP2003271055A (en)

Similar Documents

Publication Publication Date Title
US7904498B2 (en) Modular multiplication processing apparatus
Öztürk et al. Low-power elliptic curve cryptography using scaled modular arithmetic
JP3785044B2 (en) Power residue calculation device, power residue calculation method, and recording medium
Großschädl A bit-serial unified multiplier architecture for finite fields GF (p) and GF (2m)
JP4351987B2 (en) Montgomery conversion device, arithmetic device, IC card, encryption device, decryption device, and program
CN101971138B (en) An apparatus and a method for calculating a multiple of a point on an elliptic curve
JP2000010479A (en) Montgomery reduction apparatus and recording medium
CN113467752B (en) Division operation device, data processing system and method for private calculation
KR101154845B1 (en) Scalar multiplier and scalar multiplication program
TWI630545B (en) Non-modular multiplier, method for non-modular multiplication and computational device
JP4616169B2 (en) Apparatus, method and program for calculating conversion parameter in Montgomery modular multiplication
JP3434220B2 (en) Inverse element computing device and its program recording medium
JP2003271055A (en) Window processor, window processing program, and recording medium therefor
Liu et al. Multiprecision multiplication on armv8
US9900154B2 (en) Optimized hardward architecture and method for ECC point addition using mixed affine-jacobian coordinates over short weierstrass curves
JP3638493B2 (en) Elliptic curve square computing device and program recording medium
JP4193176B2 (en) Elliptic curve integer multiple arithmetic device, and key generation device, encryption device, and decryption device that can use the device
JP4629972B2 (en) Vector computing device, divided value computing device, elliptic curve scalar multiplication device, elliptic cryptography computing device, vector computing method, program, and computer-readable recording medium recording the program
JP2004226516A (en) Power remainder computing method and program for the same
JP3390966B2 (en) Remainder arithmetic device modulo square number and program recording medium therefor
JP3966714B2 (en) Cryptographic processing method, program thereof, and recording medium thereof
JP2004205870A (en) Method and device for hyperelliptic curve scalar multiple operation
JP2005316038A (en) Scalar multiple computing method, device, and program in elliptic curve cryptosystem
US9929862B2 (en) Optimized hardware architecture and method for ECC point doubling using Jacobian coordinates over short Weierstrass curves
JP3863021B2 (en) Ellipse addition / subtraction device and program thereof

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Effective date: 20060627

Free format text: JAPANESE INTERMEDIATE CODE: A131

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20061031