JP2005284111A - Method and device for high speed arithmetic processing of elliptic curve cryptosystem - Google Patents
Method and device for high speed arithmetic processing of elliptic curve cryptosystem Download PDFInfo
- Publication number
- JP2005284111A JP2005284111A JP2004099962A JP2004099962A JP2005284111A JP 2005284111 A JP2005284111 A JP 2005284111A JP 2004099962 A JP2004099962 A JP 2004099962A JP 2004099962 A JP2004099962 A JP 2004099962A JP 2005284111 A JP2005284111 A JP 2005284111A
- Authority
- JP
- Japan
- Prior art keywords
- elliptic curve
- multiplication
- curve cryptography
- polynomial
- arithmetic processing
- 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
Links
Images
Abstract
Description
本発明は、情報通信の秘匿や認証などの守秘機能に広く利用される公開鍵暗号に有用な楕円曲線暗号の高速演算処理方法および装置に関し、特にガロア拡大体を用いる楕円曲線暗号処理における二元の乗算を高速化するアルゴリズムに関する。 The present invention relates to a high-speed arithmetic processing method and apparatus for elliptic curve cryptography useful for public key cryptography widely used for confidential functions such as information communication secrecy and authentication, and in particular, binary in elliptic curve cryptography using a Galois extension field The present invention relates to an algorithm for speeding up the multiplication of.
近年のインターネットの普及に伴い、オープンネットワークセキュリティの必要性が高まり、それを実現するための暗号技術は不可欠の基盤技術である。楕円曲線暗号は次世代の公開鍵暗号として、標準化・実装化研究が進められている。暗号処理では、四則演算の内、乗算及び除算に過半の時間を要する。特に除算における逆元の算出が課題である。本発明は、そのための1つの有効な解決手段を提供する。 With the spread of the Internet in recent years, the need for open network security has increased, and encryption technology to achieve this is an indispensable basic technology. Elliptic curve cryptography is being standardized and implemented as a next generation public key cryptosystem. In the cryptographic processing, a majority of the time is required for multiplication and division among the four arithmetic operations. In particular, calculation of the inverse element in division is a problem. The present invention provides one effective solution for that purpose.
公開された通信網を用いて、重要な情報や有料の情報、プライベートな情報を秘匿したり、署名・認証により本人であることを確認する場合には、暗号が用いられる。特に多数の相手と通信を行なうのに暗号技術は不可欠となる。暗号化方式には、共通鍵暗号と公開鍵暗号の2方式がある。一般には、この2方式が組み合わせて用いられる。公開鍵暗号系の中でも、最近注目されている楕円曲線暗号は、従来の暗号(RSA方式)に比べて、不法な解読に対する強度が格段に高く、RSA方式の暗号では現実に解読を回避するのに1024ビットもの鍵長が必要とされているのに対して、楕円曲線暗号では、同等の暗号強度を確保するのに160 ビットで済むことから、楕円曲線暗号は国際標準になろうとしており、実装化の研究がさかんに進められている。 Encryption is used when important information, pay information, and private information are concealed using a public communication network, or when the identity is confirmed by signature / authentication. In particular, encryption technology is indispensable for communicating with many other parties. There are two encryption methods: common key encryption and public key encryption. In general, these two methods are used in combination. Among public-key cryptosystems, the elliptic curve cryptography that has recently attracted attention is much stronger than the conventional cryptography (RSA system), and the RSA system cipher actually avoids the decryption. In contrast, elliptic curve cryptography requires 160 bits to secure the equivalent encryption strength, so elliptic curve cryptography is about to become an international standard. Research into implementation is underway.
一般に暗号に用いられる楕円曲線は、y2 =x3 +ax+b で表され、曲線上の有限個の点(x,y)を用いて暗号処理がなされる。これまで曲線上の有限個の点の定義体には、標数が奇素数pの有限体GF(p)や、2の拡大体GF(2m )が用いられてきた。標数が2の拡大体GF(2m )とは、GF(2)のm次元ベクトル空間をいい、各元は(0,1,0,0,・・・)のようにm個の0と1で表される。拡大体GF(2m )は、コンピュータが基本的にデータを 2進法で表わすことと、従来からの誤り符号訂正技術の流れとから、これまで研究開発の主流となっていた。たとえばm=160 とした拡大体GF(2160 )においては、鍵長が160 ビットとなる。しかし、GF(pm )の場合は32ビットワードを6ヶで構成できるので、ソフトウエアのマイコン実装容易性から、GF(pm )の採用が有利である。
An elliptic curve generally used for encryption is represented by y 2 = x 3 + ax + b, and encryption processing is performed using a finite number of points (x, y) on the curve. Up to now, a finite field GF (p) having an odd prime p and an extension field GF (2 m ) having a characteristic number p have been used as the definition field of a finite number of points on the curve. An extension field GF (2 m ) with
また最近、Baileyらによりソフトウエア実装可能な有力な拡大体としてOEF( Optimal Extension Field) が提案された(非特許文献1参照)。OEFでは、法多項式を既約2項式とした多項式基底を用いることにより多項式剰余演算を容易にしており、その結果、高速な乗算を可能にする。また、OEFにおいて逆元演算を行う場合に、正規基底及びFrobenius 写像を用いる高速な方法が提案されている(非特許文献2,3参照)。
Recently, Bailey et al. Proposed OEF (Optimal Extension Field) as a powerful extension that can be implemented by software (see Non-Patent Document 1). In OEF, a polynomial remainder operation is facilitated by using a polynomial basis in which a modulo polynomial is an irreducible binary expression, and as a result, high-speed multiplication is possible. In addition, a high-speed method using normal bases and Frobenius mapping has been proposed when performing inverse element operations in OEF (see Non-Patent
OEFでは、標数を擬メルセンヌ素数、法多項式を既約2項式として多項式剰余演算を行うことにより、まず任意元同士の高速な乗/算を可能とした。この高速乗算をもとに、伊東−辻井アルゴリズムを応用した高速な逆元算出法を導入することで、除算の高速化を実現している。 In OEF, a polynomial remainder operation is performed by using a pseudo Mersenne prime number as a characteristic and an irreducible binary as a modulus polynomial, thereby enabling high-speed multiplication / calculation between arbitrary elements. Based on this high-speed multiplication, high-speed division is realized by introducing a high-speed inverse element calculation method applying the Ito-Sakurai algorithm.
このようなことから、現在では、楕円曲線暗号が標準になろうとしており、上記OEFのほか本発明者等によるAOPF( 非特許文献4参照) や、Lenstra 等によるXTR(非特許文献5参照)などのソフトウェア実装に関する研究が行われている。 For this reason, elliptic curve cryptography is now becoming the standard. In addition to the above OEF, AOPF by the present inventors (see Non-Patent Document 4) and XTR by Lenstra et al. (See Non-Patent Document 5) Research on software implementation such as
次に、OEFの定義と乗算の仕組みについて説明する。
OEFの定義
OEFは、次の〔数1〕中の(i),(ii),(iii) の3条件を満たす拡大体である。
Next, the definition of OEF and the mechanism of multiplication will be described.
Definition of OEF OEF is an extension field that satisfies the following three conditions (i), (ii), and (iii) in the following [Equation 1].
(i)及び(ii)は、素体GF(p)上の乗算を高速に行うための標数pの選定条件であ
り、(iii) は拡大体GF(pm )上の乗算を高速に行うための条件である。
(I) and (ii) are the selection conditions for the characteristic p for performing multiplication on the prime field GF (p) at high speed, and (iii) is for high speed multiplication on the extension field GF (p m ). It is a condition to do.
OEFにおける乗算法
まず、OEFの任意元A,B∈GF(p m )が法多項式f(x)=xm −sの零点αによる多項式基底:{1,α,α2 ,・・・αm-1 }の線形結合の形で、次のように表現されているとする。
Multiplication method in OEF First, an arbitrary element A, BεGF (p m ) of OEF is a polynomial basis by a zero α of a modulus polynomial f (x) = x m −s: {1, α, α 2 ,. It is expressed as follows in the form of a linear combination of m−1 }.
A=a0 +a1 α+・・・am-1 αm-1 ,ai ∈GF(p) (1)
B=b0 +b1 α+・・・bm-1 αm-1 ,bi ∈GF(p)
A,Bの積は以下2つのStepにより求められる。
A = a 0 + a 1 α +... A m−1 α m−1 , a i ∈GF (p) (1)
B = b 0 + b 1 α +... B m−1 α m−1 , b i εGF (p)
The product of A and B is obtained by the following two steps.
〔Step1:多項式積〕
元A,Bを、αを不定元とする多項式と考え、次のような多項式積を求める。
A(α)×B(α)=a0 b0 +(a0 b1 +a1 b0 )α+・・・
+am-1 bm-1 α2m-2
=c0 +c1 α+・・・+c2m-2α2m-2 (2)
上式(2)の係数ci (0≦i≦2m−2)を教科書法により計算した場合、GF(p)上の乗算m2 回と加算(m−12 )回が必要である。Karatsuba 法を用いれば、加算回数は増加するものの、乗算回数については減らすことが可能である。
[Step 1: Polynomial product]
The elements A and B are considered as polynomials having α as an indefinite element, and the following polynomial product is obtained.
A (α) × B (α) = a 0 b 0 + (a 0 b 1 + a 1 b 0 ) α +.
+ A m-1 b m-1 α 2m-2
= C 0 + c 1 α + ... + c 2m-2 α 2m-2 (2)
When the coefficient c i (0 ≦ i ≦ 2m−2) of the above equation (2) is calculated by the textbook method, it is necessary to perform multiplication m 2 times and addition (m−1 2 ) times on GF (p). Using the Karatsuba method, the number of additions can be increased, but the number of multiplications can be reduced.
〔Step2:多項式剰余演算〕
f( α )=αm −s=0を式(2)に代入し、次の〔数2〕の式(3)を得る。
[Step 2: Polynomial remainder calculation]
Substituting f (α) = α m −s = 0 into the equation (2), the following equation (3) of [Equation 2] is obtained.
すなわち、式(3)から、多項式剰余演算は、素体GF(p)における乗算m−1回と加算m−1回で実行される。 That is, from equation (3), the polynomial remainder operation is executed by m-1 multiplications and m-1 additions in the prime field GF (p).
その他、本発明者らは、先に、楕円曲線暗号処理に、素体GF(p)上のm次既約多項式 f(x)=(xm+1 −1)/(x−1)の零点ωによるm個の元の集合: {ω,ω2 ,・・・ωm } を基底とする拡大体GF(pm )を用いることにより、2元の乗算および逆元演算の高速処理を可能にする方法および装置について特許出願を行っている(特許文献1参照)。
上述したように、従来、楕円曲線暗号の演算処理の高速化には、Baileyらにより提案された拡大体のOEFが有効であることが知られている。暗号処理では、四則演算の内、乗算及び除算が過半の時間を要する。乗算では次数が増えるため、最速と言われるOFF方式では、多項式積を取り、法多項式で余りを取るという2段階の演算を行っており、高速化の壁になっている。本発明は、その改善を図ることを目的としている。 As described above, it has been known that the OEF of the extension field proposed by Bailey et al. Is effective for speeding up the calculation processing of elliptic curve cryptography. In cryptographic processing, multiplication and division take a majority of time among the four arithmetic operations. Since the order increases in multiplication, the OFF method, which is said to be the fastest, performs a two-stage operation of taking a polynomial product and taking a remainder with a modulus polynomial, which is a barrier to speeding up. The present invention aims to improve this.
拡大体GF(pm )を用いる楕円曲線暗号の演算処理では、既約多項式f( x)と基底の選び方によって処理速度が大きく変わってくる。本発明では、楕円曲線暗号処理に、既約多項式
f( x )=(x2m+1−1)/(x −1)=x2m+x2m-1+…x+1 (4)
を用い、その零点であるf (ω)=0となるωにより、ω2m+1=1および ω+ω2 +・・・・+ω2m=−1 が成立するので、これを利用して基底
{ω+ω-1,ω2 +ω-2,…,ωm +ω-m}
が構成される。
In the processing of elliptic curve cryptography using the extension field GF (p m ), the processing speed varies greatly depending on how the irreducible polynomial f (x) and the base are selected. In the present invention, the irreducible polynomial f (x) = ( x2m + 1-1) / (x-1) = x2m + x2m-1 + ... x + 1 (4)
, And ω 2m + 1 = 1 and ω + ω 2 +... + Ω 2m = −1 are established by ω where f (ω) = 0, which is the zero point, and the basis {ω + ω using this -1 , ω 2 + ω -2 , ..., ω m + ω -m }
Is configured.
なお、2m+1は素数であり、標数pは、
p=2n ±c(log2c≦n/2 )
の形となる素数である。また計算機への実装上、log2pは、ワード長の16,32,64,128などの値の付近にあることが望ましい。
2m + 1 is a prime number, and the characteristic p is
p = 2 n ± c (log 2 c ≦ n / 2)
Is a prime number of the form In terms of implementation in a computer, log 2 p is preferably in the vicinity of values such as word lengths of 16, 32, 64, and 128.
本発明で使用される上記の基底は、次のように導出される。まず既約多項式(4)には、次の関係式(5)が示すような性質がある。 The above base used in the present invention is derived as follows. First, the irreducible polynomial (4) has a property as shown by the following relational expression (5).
f (ω)≡ω2m+1≡1≡ω+ω2 +・・・ +ω2m (5)
ここで、既約多項式の零点を用いた次のような基底を考える。
(ω,・・・ ,ωm ,ωm+1 ,・・・ ,ω2m)
この基底は、上記の関係式(5)を用いると、次のような基底と等価になる。
(ω,・・・ ,ωm ,ωm+1 ,・・・ ,ω2m)≡(ω,・・・ ,ωm ,ω-m ,・・・ ,ω-1)
ここで、βi =ωi +ω-i なる元βi を用いて上記等価な基底を次のような基底として考えるものである。
f (ω) ≡ω 2m + 1 ≡1≡ω + ω 2 + ... + ω 2m (5)
Here, consider the following basis using zeros of irreducible polynomials.
(Ω, ···, ω m, ω m + 1, ···, ω 2m)
This base is equivalent to the following base using the above relational expression (5).
(Ω, ..., ω m , ω m + 1 , ..., ω 2m ) ≡ (ω, ..., ω m , ω -m , ..., ω -1 )
Here, the above equivalent base is considered as the following base using the element β i such that β i = ω i + ω −i .
(β1 ,β2 ,・・・ ,βm )
本発明の暗号処理では、このような基底を用いる結果、任意の二つの元の積を求める際にCVMA(Cyclic Vector Multi-plication Algorithm)と呼ばれる乗算方法が適用できるようになり、従来方法に比べて乗算と加算の回数が削減され、高速演算が可能となる。
(Β 1 , β 2 ,..., Β m )
In the cryptographic processing of the present invention, as a result of using such a base, a multiplication method called CVMA (Cyclic Vector Multi-plication Algorithm) can be applied when obtaining the product of any two elements, which is compared with the conventional method. Thus, the number of multiplications and additions is reduced, and high-speed computation is possible.
CVMA法は、本発明方法においても成り立つ関係式
ωm+1 =1
ωm +ωm-1 +…+ω+1=1
を効果的に用いた巡回畳み込み(Cyclic Convolution) により構成する乗算法である。CVMA法は、とくに自己相反元同士の乗算に対して、その演算量が従来のOEFなどと比べて少なくなる特性をもっている(詳しくは前掲の〔非特許文献4〕を参照)。本発明方法では、任意の元が自己相反元で与えられるため、CVMA法を用いて乗算を定義することで演算量が少なくできる。
In the CVMA method, the relational expression ω m + 1 = 1 that holds also in the method of the present invention.
ω m + ω m-1 + ... + ω + 1 = 1
This is a multiplication method constructed by cyclic convolution using effectively. The CVMA method has a characteristic that the amount of calculation is smaller than that of a conventional OEF or the like, particularly for multiplication of self-reciprocal elements (for details, see [Non-Patent Document 4] above). In the method of the present invention, since an arbitrary element is given as a self-reciprocal element, the amount of calculation can be reduced by defining multiplication using the CVMA method.
ここで、自己相反元について説明すると、次の拡大体の元Aに対し、以下で与えられる元A* をAの相反元と呼ぶ。
A=(a1 ,a2 ,・・・am )
A* =(am ,am-1 ,・・・a1 )
また、A=A* のとき、その元Aを自己相反元と呼ぶ。
Here, the self-reciprocal element will be described. The element A * given below is called a reciprocal element of A with respect to the element A of the next extension field.
A = (a 1 , a 2 ,... A m )
A * = (a m , a m−1 ,... A 1 )
When A = A *, the element A is called a self-reciprocal element.
次にCVMA法を用いた乗算について説明する。拡大体の任意の二つの元A,Bを次のように表わしたとき、
A=a1 (ω+ω-1)+a2 (ω2 +ω-2),…,+am (ωm +ω-m),
ai ∈GF(p)
B=b1 (ω+ω-1)+b2 (ω2 +ω-2),…,+bm (ωm +ω-m),
bi ∈GF(p)
その積C=c1 (ω+ω-1)+c2 (ω2 +ω-2),…,+cm (ωm +ω-m)
は、CVMA法に基づき、次の〔数3〕に示す計算式を用いて求められる。
Next, multiplication using the CVMA method will be described. When any two elements A and B of the extension field are expressed as follows,
A = a 1 (ω + ω −1 ) + a 2 (ω 2 + ω −2 ),..., + A m (ω m + ω −m ),
a i ∈GF (p)
B = b 1 (ω + ω −1 ) + b 2 (ω 2 + ω −2 ),..., + B m (ω m + ω −m ),
b i ∈GF (p)
The product C = c 1 (ω + ω −1 ) + c 2 (ω 2 + ω −2 ),..., + C m (ω m + ω −m )
Is obtained based on the CVMA method using the calculation formula shown in the following [Equation 3].
本発明は、以下のように構成できる。
(1) 標数p、拡大次数mであるガロア拡大体GF(pm )を定義体にもつ楕円曲線暗号の高速演算処理方法であって、
楕円曲線暗号処理に用いるガロア拡大体GF(pm )は、その標数pが、nをワード長未満の値として
p=2n ±c(log2c≦n/2 )の形式の素数であること、
また既約法多項式
f( x )=(x2m+1−1)/(x −1)=x2m+x2m-1+…x+1
を用い、その零点であるf(ω)=0となるωにより、
{ω+ω-1,ω2 +ω-2,…,ωm +ω-m}
を基底とすること、および2m+1は素数であること、
により定義されるものであることを特徴とする楕円曲線暗号の高速演算処理方法の構成。
The present invention can be configured as follows.
(1) A high-speed arithmetic processing method for elliptic curve cryptography having Galois extension field GF (p m ) having characteristic p and extension degree m as a definition field,
The Galois extension field GF (p m ) used for elliptic curve cryptography is a prime number in the form of p = 2 n ± c (log 2 c ≦ n / 2) where the characteristic p is n less than the word length. There is,
Also, the irreducible polynomial f (x) = ( x2m + 1-1) / (x-1) = x2m + x2m-1 + ... x + 1
, And the zero that is f (ω) = 0,
{Ω + ω −1 , ω 2 + ω −2 ,..., Ω m + ω −m }
And 2m + 1 is a prime number,
A configuration of a high-speed arithmetic processing method for elliptic curve cryptography characterized by the above.
(2) 上記拡大次数mは、2、3、5、6等の次数であることを特徴とする前項(1)に記載の楕円曲線暗号の高速演算処理方法の構成。 (2) The configuration of the high-speed arithmetic processing method for elliptic curve cryptography as described in (1) above, wherein the expansion order m is an order of 2, 3, 5, 6, etc.
(3) 上記標数pの対数値log2pが、計算機のワード長16,32,64、128等の近傍の素数であることを特徴とする前項(1)に記載の楕円曲線暗号の高速演算処理方法の構成。 (3) The logarithmic value log 2 p of the characteristic p is a prime number in the vicinity of a computer word length of 16, 32, 64, 128, etc. Arithmetic processing method configuration.
(4) ガロア拡大体GF(pm )の任意の2元
A=a1 ω+a2 ω2 +・・・am ωm ,ai ∈GF(p)
B=b1 ω+b2 ω2 +・・・bm ωm ,bi ∈GF(p)
について、その多項式積
A×B=a1 b1 ω2 +(a1 b2 +a2 b1 )ω3 +・・・ +am bm ω2m
=c2 ω2 +c3 ω3 +・・・+c2mω2m
の演算を、CVMA法により行うことを特徴とする前項(1)に記載の楕円曲線暗号の高速演算処理方法の構成。
(4) Arbitrary binary of Galois extension field GF (p m ) A = a 1 ω + a 2 ω 2 +... A m ω m , a i ∈GF (p)
B = b 1 ω + b 2 ω 2 +... B m ω m , b i ∈GF (p)
The polynomial product A × B = a 1 b 1 ω 2 + (a 1 b 2 + a 2 b 1 ) ω 3 +... + A m b m ω 2m
= C 2 ω 2 + c 3 ω 3 +... + C 2m ω 2m
The configuration of the high-speed arithmetic processing method for elliptic curve cryptography according to the preceding item (1), wherein the calculation is performed by the CVMA method.
(5) 標数p、拡大次数mであるガロア拡大体GF(pm )を定義体にもつ楕円曲線暗号の高速演算処理装置であって、
楕円曲線暗号処理に用いるガロア拡大体GF(pm )は、その標数pが、
p=2n ±c(log2c≦n/2 )の形式の素数であること、
また既約法多項式
f( x )=(x2m+1−1)/(x −1)=x2m+x2m-1+…x+1
を用い、その零点であるf(ω)=0となるωにより、
{ω+ω-1,ω2 +ω-2,…,ωm +ω-m}
を基底とすること、および2m+1は素数であること、
により定義される楕円曲線により暗号処理する手段を備えていることを特徴とする楕円曲線暗号の高速演算処理装置の構成。
(5) A high-speed arithmetic processing apparatus for elliptic curve cryptography having a characteristic field p and a Galois expansion field GF (p m ) having an expansion degree m as a definition field,
The Galois extension field GF (p m ) used for elliptic curve encryption processing has its characteristic p
a prime number of the form p = 2 n ± c (log 2 c ≦ n / 2),
Also, the irreducible polynomial f (x) = ( x2m + 1-1) / (x-1) = x2m + x2m-1 + ... x + 1
, And the zero that is f (ω) = 0,
{Ω + ω −1 , ω 2 + ω −2 ,..., Ω m + ω −m }
And 2m + 1 is a prime number,
A configuration of a high-speed arithmetic processing apparatus for elliptic curve cryptography comprising means for performing cryptographic processing using an elliptic curve defined by:
(6) 上記拡大次数mは、2、3、5、6等の次数であることを特徴とする前項(5)に記載の楕円曲線暗号の高速演算処理装置の構成。 (6) The configuration of the high-speed arithmetic processing apparatus for elliptic curve cryptography as described in (5) above, wherein the expansion order m is an order of 2, 3, 5, 6 or the like.
(7) 暗号処理する手段は、ガロア拡大体GF(pm )の任意の2元
A=a1 ω+a2 ω2 +・・・+am ωm ,ai ∈GF(p)
B=b1 ω+b2 ω2 +・・・+bm ωm ,bi ∈GF(p)
について、その多項式積
A×B=a1 b1 ω2 +(a1 b2 +a2 b1 )ω3 +・・・ +am bm ω2m
=c2 ω2 +c3 ω3 +・・・+c2mω2m
の演算を、CVMA法により行う乗算装置を備えていることを特徴とする前項(5)または(6)に記載の楕円曲線暗号の高速演算処理装置の構成。
(7) The means for cryptographic processing is arbitrary binary of Galois extension field GF (p m ) A = a 1 ω + a 2 ω 2 +... + A m ω m , a i ∈GF (p)
B = b 1 ω + b 2 ω 2 +... + B m ω m , b i εGF (p)
The polynomial product A × B = a 1 b 1 ω 2 + (a 1 b 2 + a 2 b 1 ) ω 3 +... + A m b m ω 2m
= C 2 ω 2 + c 3 ω 3 +... + C 2m ω 2m
A configuration of a high-speed arithmetic processing apparatus for elliptic curve cryptography as described in the above item (5) or (6), comprising a multiplication device that performs the above calculation by the CVMA method.
本発明方法の採用により、楕円曲線暗号の演算処理における素体上での乗算や逆元演算において、乗算の演算速度が向上するため、暗号処理時間を短縮することが可能となる。たとえば、CPUとしてPentium(登録商標)(800MHz) を用い、マイコンを考慮し32ビット以下の素数を採用し、一例として、p=230+3、m=5やp=228+3、m=6で演算処理速度を比較したところ、最も時間を要する逆元算出において、OEFでは各々6.15μs、6.59μsであったが、本発明方法では4.84μs、5.47μsとなり、演算速度が約2割向上した。 By adopting the method of the present invention, the multiplication operation speed is improved in multiplication and inverse element calculation on the prime field in the calculation processing of elliptic curve cryptography, so that the encryption processing time can be shortened. For example, Pentium (registered trademark) (800 MHz) is used as a CPU, and a prime number of 32 bits or less is adopted in consideration of a microcomputer. As an example, p = 2 30 +3, m = 5, p = 2 28 +3, m = 6 In the inverse element calculation requiring the most time, the OEF was 6.15 μs and 6.59 μs, respectively, but the method of the present invention was 4.84 μs and 5.47 μs. Improved by 20%.
図1は、本発明を適用した暗号通信システムの概要図であり、ネットワーク1を介して結合された任意の通信装置2〜5の間で、暗号処理された通信が行われる。通信装置2〜5は、専用の通信装置である必要はなく、通信機能をもったパソコンなどの計算機であることができる。通信装置5にのみ示されている楕円曲線暗号処理装置6は、他の各通信装置2〜4にも同様に備えられており、公開鍵暗号によるメッセージの暗号化、復号化の暗号処理を行う。楕円曲線暗号処理装置6は、暗号処理に伴う乗算、除算の高速処理のために乗算装置7を持っている。乗算装置7は、本発明により定義される拡大体に基づくアルゴリズムにしたがって、CVMA法により2元乗算を実行する。乗算装置7は、プログラムにより、あるいは専用ハードウエア回路により構成することができる。
FIG. 1 is a schematic diagram of a cryptographic communication system to which the present invention is applied. Cryptographically processed communication is performed between any
次に、CVMA法による2元の乗算A・B=Cを演算する乗算装置について説明する。CVMA法における乗算アルゴリズムは次のようなものである。 Next, a description will be given of a multiplication apparatus that calculates a binary multiplication A · B = C by the CVMA method. The multiplication algorithm in the CVMA method is as follows.
A=(a1 ,a2 ,…,am )
B=(b1 ,b2 ,…,bm )
C=(c1 ,c2 ,…,cm )
として、
ck =q0 −qk m≧k≧1
であり、一般にqk は次の〔数4〕の式で与えられる。
A = (a 1 , a 2 ,..., A m )
B = (b 1 , b 2 ,..., B m )
C = (c 1 , c 2 ,..., C m )
As
c k = q 0 −q k m ≧ k ≧ 1
In general, q k is given by the following equation (4).
m=4の場合は、
A=(a1 ,a2 ,a3 ,a4 )
B=(b1 ,b2 ,b3 ,b4 )
C=A・B=(c1 ,c2 ,c3 ,c4 )
であり、乗算アルゴリズムは次式で与えられる。
If m = 4,
A = (a 1 , a 2 , a 3 , a 4 )
B = (b 1 , b 2 , b 3 , b 4 )
C = A · B = (c 1 , c 2 , c 3 , c 4 )
And the multiplication algorithm is given by
q0 =(a1 −a4 )(b1 −b4 )+(a2 −a3 )(b2 −b3 )
c1 =q0 −(a2 −a4 )(b2 −b4 )−a1 b1
c2 =q0 −(a3 −b4 )(b3 −b4 )−a2 b2
c3 =q0 −(a1 −a2 )(b1 −b2 )−a3 b3
c4 =q0 −(a1 −a3 )(b1 −b3 )−a4 b4
一方、本発明では、次のような基底が用いられる。
q 0 = (a 1 −a 4 ) (b 1 −b 4 ) + (a 2 −a 3 ) (b 2 −b 3 )
c 1 = q 0 − (a 2 −a 4 ) (b 2 −b 4 ) −a 1 b 1
c 2 = q 0 − (a 3 −b 4 ) (b 3 −b 4 ) −a 2 b 2
c 3 = q 0 - (a 1 -a 2) (b 1 -b 2) -a 3
c 4 = q 0 - (a 1 -a 3) (b 1 -b 3) -a 4 b 4
On the other hand, in the present invention, the following base is used.
(β1 ,β2 )≡(ω1 ,ω2 ,ω-2,ω-1)=(ω1 ,ω2 ,ω3 ,ω4 )
2m=4のとき、任意元は、ωの基底を用いて次のように表わされる。
A=(a1 ,a2 ,a2 ,a1 )
B=(b1 ,b2 ,b2 ,b1 )
C=A・B=(c1 ,c2 ,c2 ,c1 )
これにより、乗算アルゴリズムは、
q0 =(a1 −a1 )(b1 −b1 )+(a2 −a2 )(b2 −b2 )=0
c1 =−(a2 −a1 )(b2 −b1 )−a1 b1
c2 =− (a2 −a1 )(b2 −b1 )−a2 b2
c2 =−(a1 −a2 )(b1 −b2 )−a2 b2
c1 =−(a1 −a2 )(b1 −b2 )−a1 b1
となり、q0 =0 になるとともに、c1 ,c2 ,c3 ,c4 を求める各式間に、〔(a2 −a1 )(b2 −b1 )〕や〔a1 b1 〕、〔a2 b2 〕などの多数の共通演算項が生まれるので、演算を簡単化できる。
(Β 1 , β 2 ) ≡ (ω 1 , ω 2 , ω -2 , ω -1 ) = (ω 1 , ω 2 , ω 3 , ω 4 )
When 2m = 4, the arbitrary element is expressed as follows using the basis of ω.
A = (a 1 , a 2 , a 2 , a 1 )
B = (b 1 , b 2 , b 2 , b 1 )
C = A · B = (c 1 , c 2 , c 2 , c 1 )
This gives the multiplication algorithm
q 0 = (a 1 −a 1 ) (b 1 −b 1 ) + (a 2 −a 2 ) (b 2 −b 2 ) = 0
c 1 = - (a 2 -a 1) (b 2 -b 1) -a 1
c 2 = - (a 2 -a 1) (b 2 -b 1) -a 2
c 2 = − (a 1 −a 2 ) (b 1 −b 2 ) −a 2 b 2
c 1 = − (a 1 −a 2 ) (b 1 −b 2 ) −a 1 b 1
And q 0 = 0, and [(a 2 −a 1 ) (b 2 −b 1 )] and [a 1 b 1 between the equations for obtaining c 1 , c 2 , c 3 , and c 4. ], [A 2 b 2 ] and so on, a large number of common operation terms are born, so that the operation can be simplified.
図2は、本発明の基底を用いてCVMA法による2元の乗算A・B=Cを演算する場合の、簡単化された乗算装置の実施例構成を示す。また、2元の入力データA,Bと乗算結果の出力データCは、それぞれ11,12,13で示される。
A=(a1 ,a2 ,a2 ,a1 )
B=(b1 ,b2 ,b2 ,b1 )
C=A・B=(c1 ,c2 ,c2 ,c1 )
FIG. 2 shows a configuration example of a simplified multiplication apparatus when a binary multiplication A · B = C by the CVMA method is calculated using the basis of the present invention. The binary input data A and B and the output data C of the multiplication result are indicated by 11, 12, and 13, respectively.
A = (a 1 , a 2 , a 2 , a 1 )
B = (b 1 , b 2 , b 2 , b 1 )
C = A · B = (c 1 , c 2 , c 2 , c 1 )
乗算装置14は、上記の簡単化された乗算アルゴリズムに基づいて構成されており、c1 〜c4 の各要素を演算するc1 演算部15、c2 演算部16、c3 演算部17、c4 演算部18と、演算結果の合成出力部19が設けられている。また、c1 〜c4 の各演算部15〜18間には、共通の演算項目についての他の演算部による演算結果を共有するためのパスが設けられている。たとえば乗算装置14がソフトウエアで構成されている場合には、たとえば、c1 ,c2 ,c3 ,c4 の順に演算の優先順序が定められてるものとすると、まずc1 演算部15が(a2 −a1 )(b2 −b1 )と−a1 b1 の演算項目を計算すると、それぞれの演算結果はメモリに保存され、他の演算部によって読み取り可能にする。同様に他の演算部においても、下位の演算に用いられる共通の演算項目について演算したときは、その演算結果をメモリに保存して他の演算部による読み取りを可能にする。また乗算装置14がハードウエア回路で構成されている場合には、演算項目を共有する演算部同士間に、レジスタを介してのデータ転送バスが設けられる。
The
表1に、従来法と本発明方法の演算量の比較を示す。特に加算の演算回数の削減が行われていることが分かる。 Table 1 shows a comparison of the calculation amount between the conventional method and the method of the present invention. In particular, it can be seen that the number of addition operations is reduced.
11:入力データA
12:入力データB
13:出力データC
14:乗算装置
15:c1 演算部
16:c2 演算部
17:c3 演算部
18:c4 演算部
19:合成出力部
11: Input data A
12: Input data B
13: Output data C
14: multiplier 15: c 1 arithmetic unit 16: c 2 calculating unit 17: c 3 calculation unit 18: c 4 calculating unit 19: Synthesis Output unit
Claims (7)
楕円曲線暗号処理に用いるガロア拡大体GF(pm )は、その標数pが、nをワード長未満の値として
p=2n ±c(log2c≦n/2 )の形式の素数であること、
また既約法多項式
f( x )=(x2m+1−1)/(x −1)=x2m+x2m-1+…x+1
を用い、その零点であるf(ω)=0となるωにより、
{ω+ω-1,ω2 +ω-2,…,ωm +ω-m}
を基底とすること、および2m+1は素数であること、
により定義されるものであることを特徴とする楕円曲線暗号の高速演算処理方法。 A method for high-speed computation of elliptic curve cryptography having a characteristic p and a Galois extension GF (p m ) having an expansion degree m as a definition field,
The Galois extension field GF (p m ) used for elliptic curve cryptography is a prime number in the form of p = 2 n ± c (log 2 c ≦ n / 2) where the characteristic p is n less than the word length. There is,
Also, the irreducible polynomial f (x) = ( x2m + 1-1) / (x-1) = x2m + x2m-1 + ... x + 1
, And the zero that is f (ω) = 0,
{Ω + ω −1 , ω 2 + ω −2 ,..., Ω m + ω −m }
And 2m + 1 is a prime number,
A high-speed arithmetic processing method for elliptic curve cryptography characterized by the above.
A=a1 ω+a2 ω2 +・・・am ωm ,ai ∈GF(p)
B=b1 ω+b2 ω2 +・・・bm ωm ,bi ∈GF(p)
について、その多項式積
A×B=a1 b1 ω2 +(a1 b2 +a2 b1 )ω3 +・・・ +am bm ω2m
=c2 ω2 +c3 ω3 +・・・+c2mω2m
の演算を、CVMA法により行うことを特徴とする請求項1に記載の楕円曲線暗号の高速演算処理方法。 Arbitrary binary of Galois extension field GF (p m ) A = a 1 ω + a 2 ω 2 +... A m ω m , a i ∈GF (p)
B = b 1 ω + b 2 ω 2 +... B m ω m , b i ∈GF (p)
The polynomial product A × B = a 1 b 1 ω 2 + (a 1 b 2 + a 2 b 1 ) ω 3 +... + A m b m ω 2m
= C 2 ω 2 + c 3 ω 3 +... + C 2m ω 2m
The high-speed arithmetic processing method for elliptic curve cryptography according to claim 1, wherein the calculation is performed by a CVMA method.
楕円曲線暗号処理に用いるガロア拡大体GF(pm )は、その標数pが、
p=2n ±c(log2c≦n/2 )の形式の素数であること、
また既約法多項式
f( x )=(x2m+1−1)/(x −1)=x2m+x2m-1+…x+1
を用い、その零点であるf(ω)=0となるωにより、
{ω+ω-1,ω2 +ω-2,…,ωm +ω-m}
を基底とすること、および2m+1は素数であること、
により定義される楕円曲線により暗号処理する手段を備えていることを特徴とする楕円曲線暗号の高速演算処理装置。 A high-speed arithmetic processing device for elliptic curve cryptography having a characteristic p and a Galois extension field GF (p m ) having an expansion degree m as a definition field,
The Galois extension field GF (p m ) used for elliptic curve encryption processing has its characteristic p
a prime number of the form p = 2 n ± c (log 2 c ≦ n / 2),
Also, the irreducible polynomial f (x) = ( x2m + 1-1) / (x-1) = x2m + x2m-1 + ... x + 1
, And the zero that is f (ω) = 0,
{Ω + ω −1 , ω 2 + ω −2 ,..., Ω m + ω −m }
And 2m + 1 is a prime number,
A high-speed arithmetic processing apparatus for elliptic curve cryptography, comprising means for cryptographic processing using an elliptic curve defined by:
A=a1 ω+a2 ω2 +・・・+am ωm ,ai ∈GF(p)
B=b1 ω+b2 ω2 +・・・+bm ωm ,bi ∈GF(p)
について、その多項式積
A×B=a1 b1 ω2 +(a1 b2 +a2 b1 )ω3 +・・・ +am bm ω2m
=c2 ω2 +c3 ω3 +・・・+c2mω2m
の演算を、CVMA法により行う乗算装置を備えていることを特徴とする請求項5または請求項6に記載の楕円曲線暗号の高速演算処理装置。 The means for cryptographic processing is arbitrary binary of Galois extension field GF (p m ) A = a 1 ω + a 2 ω 2 +... + A m ω m , a i ∈GF (p)
B = b 1 ω + b 2 ω 2 +... + B m ω m , b i εGF (p)
The polynomial product A × B = a 1 b 1 ω 2 + (a 1 b 2 + a 2 b 1 ) ω 3 +... + A m b m ω 2m
= C 2 ω 2 + c 3 ω 3 +... + C 2m ω 2m
7. A high-speed arithmetic processing apparatus for elliptic curve cryptography according to claim 5 or 6, further comprising: a multiplication device that performs the above calculation by a CVMA method.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004099962A JP2005284111A (en) | 2004-03-30 | 2004-03-30 | Method and device for high speed arithmetic processing of elliptic curve cryptosystem |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004099962A JP2005284111A (en) | 2004-03-30 | 2004-03-30 | Method and device for high speed arithmetic processing of elliptic curve cryptosystem |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005284111A true JP2005284111A (en) | 2005-10-13 |
Family
ID=35182531
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004099962A Pending JP2005284111A (en) | 2004-03-30 | 2004-03-30 | Method and device for high speed arithmetic processing of elliptic curve cryptosystem |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2005284111A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008013154A1 (en) * | 2006-07-24 | 2008-01-31 | National University Corporation Okayama University | Extension filed multiplication program and extension filed multiplication device |
WO2009026771A1 (en) * | 2007-08-24 | 2009-03-05 | Guan, Haiying | The method for negotiating the key, encrypting and decrypting the information, signing and authenticating the information |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0798563A (en) * | 1993-06-18 | 1995-04-11 | Matsushita Electric Ind Co Ltd | Signature, authentication and secret communication system using elliptic curve |
JP2001209315A (en) * | 2000-01-25 | 2001-08-03 | Nippon Telegr & Teleph Corp <Ntt> | Elliptic curve square computing device, generating polynomial generator and program recording medium therefor |
JP2003263111A (en) * | 2003-02-10 | 2003-09-19 | Nippon Telegr & Teleph Corp <Ntt> | Method and device for multiplication |
-
2004
- 2004-03-30 JP JP2004099962A patent/JP2005284111A/en active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0798563A (en) * | 1993-06-18 | 1995-04-11 | Matsushita Electric Ind Co Ltd | Signature, authentication and secret communication system using elliptic curve |
JP2001209315A (en) * | 2000-01-25 | 2001-08-03 | Nippon Telegr & Teleph Corp <Ntt> | Elliptic curve square computing device, generating polynomial generator and program recording medium therefor |
JP2003263111A (en) * | 2003-02-10 | 2003-09-19 | Nippon Telegr & Teleph Corp <Ntt> | Method and device for multiplication |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008013154A1 (en) * | 2006-07-24 | 2008-01-31 | National University Corporation Okayama University | Extension filed multiplication program and extension filed multiplication device |
JP4836208B2 (en) * | 2006-07-24 | 2011-12-14 | 国立大学法人 岡山大学 | Encryption / decryption program, encryption / decryption device, and multiplication device for expansion field |
US8090099B2 (en) | 2006-07-24 | 2012-01-03 | National University Corporation Okayama University | Computer-readable recording medium recording program and apparatus for encryption/decryption, apparatus for multiplication in extension field |
WO2009026771A1 (en) * | 2007-08-24 | 2009-03-05 | Guan, Haiying | The method for negotiating the key, encrypting and decrypting the information, signing and authenticating the information |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110363030B (en) | Method and processing device for performing a trellis-based cryptographic operation | |
Costello et al. | Efficient algorithms for supersingular isogeny Diffie-Hellman | |
Liu et al. | Efficient and privacy-preserving outsourced calculation of rational numbers | |
Khalique et al. | Implementation of elliptic curve digital signature algorithm | |
Chou | McBits revisited | |
Ambrose et al. | Differential attacks on deterministic signatures | |
US10680810B2 (en) | Method of generating an elliptic curve cryptographic key pair | |
JP7328969B2 (en) | Cryptographic system and method | |
US11824986B2 (en) | Device and method for protecting execution of a cryptographic operation | |
Jalali et al. | ARMv8 SIKE: Optimized supersingular isogeny key encapsulation on ARMv8 processors | |
RU2279766C2 (en) | Method and device for storage and reproduction of cryptographic secret key | |
JP6610277B2 (en) | Shared key generation program, shared key generation method, and information processing terminal | |
EP1600852A2 (en) | Method and apparatus for calculating a modular inverse | |
Tahat et al. | Hybrid publicly verifiable authenticated encryption scheme based on chaotic maps and factoring problems | |
JP2003255831A (en) | Method and device for calculating elliptic curve scalar multiple | |
JP4836208B2 (en) | Encryption / decryption program, encryption / decryption device, and multiplication device for expansion field | |
Sundararajan et al. | A comprehensive survey on lightweight asymmetric key cryptographic algorithm for resource constrained devices | |
JP2005284111A (en) | Method and device for high speed arithmetic processing of elliptic curve cryptosystem | |
Benselama et al. | Low cost reconfigurable Elliptic Crypto-hardware | |
CN111614465A (en) | Public key generation method and device based on super-singular homologous secret key encapsulation protocol | |
Jalali et al. | Optimized supersingular isogeny key encapsulation on armv8 processors | |
KR100341507B1 (en) | Elliptic Curve Cryptography and Digital Signature Method using fast finite field operations | |
Karageorgopoulou et al. | Porting the Paillier Algorithm for Homomorphic Encryption on Portable Devices | |
JPH1152854A (en) | Arithmetic unit device on finite field and group computing device on elliptic curve | |
Wang et al. | Diversity AES in MixColomns step with 8x8 circulant matrix |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Effective date: 20061227 Free format text: JAPANESE INTERMEDIATE CODE: A621 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20090302 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20090303 |
|
A521 | Written amendment |
Effective date: 20090302 Free format text: JAPANESE INTERMEDIATE CODE: A821 |
|
A521 | Written amendment |
Effective date: 20090303 Free format text: JAPANESE INTERMEDIATE CODE: A821 |
|
A521 | Written amendment |
Effective date: 20090602 Free format text: JAPANESE INTERMEDIATE CODE: A523 |
|
A521 | Written amendment |
Effective date: 20090602 Free format text: JAPANESE INTERMEDIATE CODE: A821 |
|
A131 | Notification of reasons for refusal |
Effective date: 20100511 Free format text: JAPANESE INTERMEDIATE CODE: A131 |
|
A521 | Written amendment |
Effective date: 20100712 Free format text: JAPANESE INTERMEDIATE CODE: A523 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20100810 |