Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP5268066B2 - Conversion operation device, method, program, and recording medium - Google Patents
[go: Go Back, main page]

JP5268066B2 - Conversion operation device, method, program, and recording medium - Google Patents

Conversion operation device, method, program, and recording medium Download PDF

Info

Publication number
JP5268066B2
JP5268066B2 JP2009007315A JP2009007315A JP5268066B2 JP 5268066 B2 JP5268066 B2 JP 5268066B2 JP 2009007315 A JP2009007315 A JP 2009007315A JP 2009007315 A JP2009007315 A JP 2009007315A JP 5268066 B2 JP5268066 B2 JP 5268066B2
Authority
JP
Japan
Prior art keywords
unit
finite field
conversion
calculation
bit string
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.)
Expired - Fee Related
Application number
JP2009007315A
Other languages
Japanese (ja)
Other versions
JP2010164796A (en
Inventor
高橋  元
鉄太郎 小林
和麻呂 青木
剛 高木
祐人 川原
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.)
Future University Hakodate
NTT Inc
NTT Inc USA
Original Assignee
Nippon Telegraph and Telephone Corp
Future University Hakodate
NTT Inc USA
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, Future University Hakodate, NTT Inc USA filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2009007315A priority Critical patent/JP5268066B2/en
Publication of JP2010164796A publication Critical patent/JP2010164796A/en
Application granted granted Critical
Publication of JP5268066B2 publication Critical patent/JP5268066B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

<P>PROBLEM TO BE SOLVED: To provide a device or the like for converting an optional binary digit string to points on an elliptical curve E(GF(3<SP>m</SP>)): y<SP>2</SP>=x<SP>3</SP>-x+b defined on a finite field of a reference number 3 at a high speed. <P>SOLUTION: A conversion part 105 converts the optional binary digit string ID belong to ä0, 1}<SP>*</SP>to an origin y belong to GF(3<SP>m</SP>) of the finite field GF(3<SP>m</SP>), and a finite field operation part 106 calculates t=y<SP>2</SP>-b belong to GF(3<SP>m</SP>). A 1/3 trace mapping operation part 108 calculates 1/3 trace mapping C(t) making input of t, a finite field operation part 109 calculates x=C(t)<SP>3</SP>-C(t) belong to GF(3<SP>m</SP>), and obtains an x coordinate (x belong to GF(3<SP>m</SP>)) of the elliptical curve E(GF(3<SP>m</SP>)): y<SP>2</SP>=x<SP>3</SP>-x+b. <P>COPYRIGHT: (C)2010,JPO&amp;INPIT

Description

本発明は、暗号技術に関し、特に、任意のビット列を標数3の有限体上で定義された楕円曲線上の点へ変換する技術に関する。   The present invention relates to a cryptographic technique, and more particularly to a technique for converting an arbitrary bit string into a point on an elliptic curve defined on a finite field of characteristic 3.

情報通信技術に不可欠な技術として公開鍵暗号技術が知られている。しかし、RSAなどの公開鍵暗号は、公開鍵の管理が煩雑で管理コストが高いといった問題がある。近年、このような問題を解決する技術として任意のビット列であるID∈{0,1}*を公開鍵として用いるIDベース暗号が提案された(例えば、非特許文献1参照)。 Public key cryptography is known as an indispensable technology for information communication technology. However, public key cryptography such as RSA has problems that management of public keys is complicated and management cost is high. In recent years, as a technique for solving such a problem, ID-based encryption using an arbitrary bit string IDε {0,1} * as a public key has been proposed (for example, see Non-Patent Document 1).

IDベース暗号では、任意のビット列であるID∈{0,1}*を楕円曲線上の点に変換し、この楕円曲線上でペアリング演算や楕円スカラー倍演算などを行って暗号化処理や秘密鍵生成処理を行う。近年、ペアリング演算を高速に行える楕円曲線として、標数3の有限体GF(3m)上で定義された超特異(Supersingular)楕円曲線が注目されている。 In ID-based cryptography, an arbitrary bit string ID∈ {0,1} * is converted to a point on an elliptic curve, and pairing or elliptic scalar multiplication is performed on this elliptic curve to perform encryption processing or secret Perform key generation processing. In recent years, attention has been focused on a supersingular elliptic curve defined on a finite field GF (3 m ) of characteristic 3 as an elliptic curve capable of performing pairing operations at high speed.

任意のビット列であるID∈{0,1}*を有限体GF(3m)上で定義された楕円曲線E(GF(3m)):y2=x3-x+b(b=±1)上の点に変換するための従来方法として、非特許文献2に示す方法がある。以下に非特許文献2に示す方法を説明する。 An arbitrary bit string ID∈ {0,1} * is an elliptic curve E (GF (3 m )) defined on the finite field GF (3 m ): y 2 = x 3 -x + b (b = ± 1) As a conventional method for converting to the upper point, there is a method shown in Non-Patent Document 2. The method shown in Non-Patent Document 2 will be described below.

<ステップS1> MFG(マスク生成関数)などのハッシュ関数を用い、任意のビット列であるID∈{0,1}*を有限体GF(3m)上の元に変換し、それを楕円曲線E(GF(3m)):y2=x3-x+bのx座標とする(x∈GF(3m))。
<ステップS2>ステップS1で得られたx∈GF(3m)を楕円曲線E(GF(3m)):y2=x3-x+bの右辺に代入してy2∈GF(3m)を求める。
<ステップS3>ステップS2で得られたy2∈GF(3m)の平方根を以下のように算出し([ステップS3a]〜[ステップS3d]、y∈GF(3m)を求める。ただし、k=(m-1)/2=(kν-1,...k0)2であり、kν-1,...k0は、kを2進表記した際の各桁のビット値{0,1}を示す。
[ステップS3a]s=c=x3-x+b∈GF(3m)とする。
[ステップS3b]i=ν-2から0までの各iについて、以下の《ステップS3ba》及び《ステップS3bb》の処理を実行する。
《ステップS3ba》t=sとする。
《ステップS3bb》
ki=1ならば、
<Step S1> Using a hash function such as MFG (mask generation function), an arbitrary bit string ID∈ {0,1} * is converted into an element on a finite field GF (3 m ), and the elliptic curve E (GF (3 m )): x coordinate of y 2 = x 3 −x + b (x∈GF (3 m )).
<Step S2> Substituting x∈GF (3 m ) obtained in Step S1 into the right side of the elliptic curve E (GF (3 m )): y 2 = x 3 −x + b, y 2 ∈GF (3 m ).
<Step S3> The square root of y 2 ∈GF (3 m ) obtained in Step S2 is calculated as follows ([Step S3a] to [Step S3d] to obtain y∈GF (3 m ), provided that k = (m-1) / 2 = (k v-1 , ... k 0 ) 2 and k v-1 , ... k 0 are bits in each digit when k is expressed in binary. Indicates the value {0,1}.
[Step S3a] s = c = x 3 −x + bεGF (3 m ).
[Step S3b] For each i from i = ν−2 to 0, the following << Step S3ba >> and << Step S3bb >> are executed.
<< Step S3ba >> It is assumed that t = s.
<< Step S3bb >>
If k i = 1,

s=c・t∈GF(3m) …(2)
の演算を行い、
ki=0ならば、
s=c・t∈GF(3m) …(4)
の演算を行う。
s = c ・ t∈GF (3 m )… (2)
The operation of
If k i = 0,
s = c ・ t∈GF (3 m )… (4)
Perform the operation.

[ステップS3c]
c=c・s6∈GF(3m) …(5)
の演算を行う。
[ステップS3d]cをy∈GF(3m)とする。
<ステップS4>(x,y)∈E(GF(3m))を出力する。
[Step S3c]
c = c ・ s 6 ∈GF (3 m )… (5)
Perform the operation.
[Step S3d] Let c be y∈GF (3 m ).
<Step S4> Output (x, y) εE (GF (3 m )).

D. Boneh and M. Franklin, "Identify-based encryption from the Weil pairing", CRYTPO 2001. LNCS, vol. 2139, pp. 213-229, Springer, 2001.D. Boneh and M. Franklin, "Identify-based encryption from the Weil pairing", CRYTPO 2001. LNCS, vol. 2139, pp. 213-229, Springer, 2001. Barreto,P.S.L.M., Kim,H.Y., Lynn,B., Scott,M. "Efficient algorithms for pairing-based cryptosystems", CRYPTO 2002. LNCS, vol.2442, pp.354-368, Springer, Heidelberg (2002).Barreto, P.S.L.M., Kim, H.Y., Lynn, B., Scott, M. "Efficient algorithms for pairing-based cryptosystems", CRYPTO 2002. LNCS, vol.2442, pp.354-368, Springer, Heidelberg (2002).

しかし、非特許文献2の方法では、《ステップS3ba》及び《ステップS3bb》からなる繰り返し処理において、演算コストが高い有限体GF(3m)上での乗算を複数回行う必要がある。よって、非特許文献2の方法では高速な演算が困難である。 However, in the method of Non-Patent Document 2, it is necessary to perform multiplication on the finite field GF (3 m ) having a high calculation cost a plurality of times in the iterative processing consisting of << Step S3ba >> and << Step S3bb >>. Therefore, high-speed calculation is difficult with the method of Non-Patent Document 2.

本発明はこのような点に鑑みてなされたものであり、任意のビット列を標数3の有限体上で定義された楕円曲線上の点へ高速に変換することが可能な技術を提供することを目的とする。   The present invention has been made in view of such a point, and provides a technique capable of converting an arbitrary bit string to a point on an elliptic curve defined on a characteristic 3 finite field at high speed. With the goal.

本発明では、任意のビット列を有限体GF(3m)の元y∈GF(3m)に変換し、トレース写像の変形演算を用い、元y∈GF(3m)に対応する標数3の有限体GF(3m)上で定義された楕円曲線E(GF(3m)):y2=x3-x+bのx座標(x∈GF(3m))を求める。このトレース写像の変形演算は、有限体GF(3m)上のフロベニウス写像と加算演算によって実現でき、高速な演算が可能である。 In the present invention, an arbitrary bit string is converted into an element y∈GF (3 m ) of a finite field GF (3 m ), and the transformation 3 of the trace mapping is used to obtain a characteristic 3 corresponding to the element y∈GF (3 m ). The x coordinate (x∈GF (3 m )) of the elliptic curve E (GF (3 m )): y 2 = x 3 −x + b defined on the finite field GF (3 m ) of is obtained. The deformation operation of the trace map can be realized by the Frobenius map on the finite field GF (3 m ) and the addition operation, and high-speed calculation is possible.

本発明の第1態様では、変換部が任意のビット列を有限体GF(3m)の元y∈GF(3m)に変換し、第1有限体演算部が変換部で得られた元y∈GF(3m)を用い、t=y2-b∈GF(3m)の演算を行い、1/3トレース写像演算部が、第1有限体演算部で得られたtを用い、 In the first aspect of the present invention, the conversion unit converts an arbitrary bit string into an element y∈GF (3 m ) of a finite field GF (3 m ), and the element y obtained by the first finite field operation unit is obtained by the conversion unit. ∈GF (3 m ) is used to calculate t = y 2 −b∈GF (3 m ), and the 1/3 trace mapping operation unit uses t obtained by the first finite field operation unit,

の演算を行い、第2有限体演算部が1/3トレース写像演算部で得られたC(t)を用い、x=C(t)3-C(t)∈GF(3m)の演算を行い、出力部が第2有限体演算部で得られたxと、変換部で得られた元y)とを出力する。なお、第1態様は、mが2≡m mod 3を満たす正の整数である場合に適用され、1/3トレース写像演算部で用いられるt∈GF(3m)は、 The second finite field computation unit computes x = C (t) 3 -C (t) ∈GF (3 m ) using C (t) obtained by the 1/3 trace mapping computation unit The output unit outputs x obtained by the second finite field computation unit and the element y) obtained by the conversion unit. The first mode is applied when m is a positive integer satisfying 2≡m mod 3, and t∈GF (3 m ) used in the 1/3 trace mapping operation unit is

を満たし、出力部で出力される元yは、Tr(y2-b)=0を満たす。 And the element y output from the output unit satisfies Tr (y 2 −b) = 0.

本発明の第2態様では、変換部が任意のビット列を有限体GF(3m)の元y∈GF(3m)に変換し、第1有限体演算部が変換部での変換で得られた元y∈GF(3m)を用い、t=y2-b∈GF(3m)の演算を行い、1/2トレース写像演算部が第1有限体演算部で得られたtを用い、 In the second aspect of the present invention, the conversion unit converts an arbitrary bit string into an element y∈GF (3 m ) of a finite field GF (3 m ), and the first finite field operation unit is obtained by conversion in the conversion unit. The element y∈GF (3 m ) is used, t = y 2 −b∈GF (3 m ) is calculated, and the 1/2 trace mapping calculation unit uses t obtained by the first finite field calculation unit. ,

の演算を行い、1/3トレース写像演算部が1/2トレース写像演算部で得られたH(t)を用い、 The 1/3 trace mapping calculation unit uses H (t) obtained by the 1/2 trace mapping calculation unit,

の演算を行い、第2有限体演算部が1/3トレース写像演算部で得られたC(H(t))を用い、x=C(H(t))3-C(H(t))∈GF(3m)の演算を行い、出力部が第2有限体演算部で得られたxと、変換部で得られた元yとを出力する。なお、第3態様は、mが1≡m mod 3を満たす正の整数である場合に適用され、1/2トレース写像演算部で用いられるtは、式(7)を満たし、出力部で出力される元yは、Tr(y2-b)=0を満たす。 The second finite field calculation unit uses C (H (t)) obtained by the 1/3 trace mapping calculation unit, and x = C (H (t)) 3 -C (H (t) ) ∈GF (3 m ), and the output unit outputs x obtained by the second finite field computation unit and the element y obtained by the conversion unit. The third mode is applied when m is a positive integer satisfying 1≡m mod 3, and t used in the ½ trace mapping operation unit satisfies Expression (7) and is output from the output unit. The element y to be satisfied satisfies Tr (y 2 −b) = 0.

本発明の第3態様では、変換部が任意のビット列を有限体GF(3m)の元y∈GF(3m)に変換し、第1有限体演算部が変換部で得られた元y∈GF(3m)を用い、t=y2-b∈GF(3m)の演算を行い、1/3トレース写像演算部が第1有限体演算部で得られたtを用い、式(6)の演算を行い、第2有限体演算部が第1有限体演算部で得られたtと、それに対応するC(t)とを用い、x=t-C(t)3+C(t)∈GF(3m)の演算を行い、出力部が第2有限体演算部で得られたxと、変換部で得られた元yとを出力する。なお、第2態様は、mが1≡m mod 3を満たす正の整数である場合に適用され、1/3トレース写像演算部で用いられるtは、式(7)を満たし、出力部で出力される元yは、Tr(y2-b)=0を満たす。 In the third aspect of the present invention, the conversion unit converts an arbitrary bit string into an element y∈GF (3 m ) of a finite field GF (3 m ), and the element y obtained by the first finite field calculation unit is obtained by the conversion unit. Using εGF (3 m ), t = y 2 −b∈GF (3 m ) is calculated, and the 1/3 trace mapping operation unit uses t obtained by the first finite field operation unit, and the expression ( 6), the second finite field calculation unit uses t obtained by the first finite field calculation unit and the corresponding C (t), and x = tC (t) 3 + C (t) ΕGF (3 m ) is calculated, and the output unit outputs x obtained by the second finite field computation unit and the element y obtained by the conversion unit. The second mode is applied when m is a positive integer satisfying 1≡m mod 3, and t used in the 1/3 trace mapping operation unit satisfies the expression (7) and is output at the output unit. The element y to be satisfied satisfies Tr (y 2 −b) = 0.

本発明では、任意のビット列を標数3の有限体上で定義された楕円曲線上の点へ高速に変換することができる。   In the present invention, an arbitrary bit string can be converted to a point on an elliptic curve defined on a characteristic 3 finite field at high speed.

第1実施形態の変換演算装置の機能構成を説明するためのブロック図である。It is a block diagram for demonstrating the function structure of the conversion calculating apparatus of 1st Embodiment. 第1実施形態の変換演算方法を説明するためのフローチャートである。It is a flowchart for demonstrating the conversion calculation method of 1st Embodiment. 第2実施形態の変換演算装置の機能構成を説明するためのブロック図である。It is a block diagram for demonstrating the function structure of the conversion calculating apparatus of 2nd Embodiment. 第2実施形態の変換演算方法を説明するためのフローチャートである。It is a flowchart for demonstrating the conversion calculation method of 2nd Embodiment. 第3実施形態の変換演算装置の機能構成を説明するためのブロック図である。It is a block diagram for demonstrating the function structure of the conversion calculating apparatus of 3rd Embodiment. 第3実施形態の変換演算方法を説明するためのフローチャートである。It is a flowchart for demonstrating the conversion calculation method of 3rd Embodiment. 第4実施形態の変換演算装置の機能構成を説明するためのブロック図である。It is a block diagram for demonstrating the function structure of the conversion calculating apparatus of 4th Embodiment. 第4実施形態の変換演算方法を説明するためのフローチャートである。It is a flowchart for demonstrating the conversion calculation method of 4th Embodiment.

以下、図面を参照して本発明の実施形態を説明する。
〔記号・用語の定義〕
まず、各実施形態で使用する記号・用語を定義する。
Hereinafter, embodiments of the present invention will be described with reference to the drawings.
[Definition of symbols and terms]
First, symbols and terms used in each embodiment are defined.

<有限体GF(q)の標数>
有限体GF(q)(位数qの有限体)の任意の元a∈GF(q)に対して0=z・aを満たす最小の正の整数zを有限体GF(q)の標数と呼ぶ。有限体GF(q)が有限体GF(p)(素体)のm次拡大である場合(GF(q)=GF(pm)、pは素数)、有限体GF(q)の標数はpとなる。すなわち、有限体GF(3m)の標数は3である。なお、本形態の場合、mは正の整数である。また、素体である有限体GF(p)の演算は、例えば、pを法とする剰余演算を用いることによって容易に構成できる。例えば、有限体GF(p)の加算をa+b mod pとし、有限体GF(p)の乗算をa・b mod pとすることで有限体GF(p)上の演算が実現できる。
<Characteristics of finite field GF (q)>
For any element a∈GF (q) of finite field GF (q) (finite field of order q), the smallest positive integer z satisfying 0 = z · a is the characteristic of finite field GF (q) Call it. If the finite field GF (q) is an mth-order extension of the finite field GF (p) (prime field) (GF (q) = GF (p m ), p is a prime number), the characteristic of the finite field GF (q) Becomes p. That is, the characteristic number of the finite field GF (3 m ) is 3. In the present embodiment, m is a positive integer. In addition, the calculation of the finite field GF (p) that is a prime field can be easily configured by using, for example, a remainder calculation modulo p. For example, an operation on the finite field GF (p) can be realized by setting the addition of the finite field GF (p) as a + b mod p and multiplying the finite field GF (p) as a · b mod p.

<有限体GF(3m)>
有限体GF(3m)は、有限体GF(3)を基礎体としたm次拡大である。有限体GF(3m)の元u∈GF(3m)を表現するために、有限体GF(3)の元の組ωi∈GF(3)(i=0,...,m-1)を用いることができる。そのための代表的な方法は、
<Finite field GF (3 m )>
The finite field GF (3 m ) is an m-th order expansion based on the finite field GF (3). To represent an element u∈GF (3 m ) of a finite field GF (3 m ), the original set ω i ∈GF (3) (i = 0, ..., m- 1) can be used. A typical way to do this is

と表現する方法である。ここで、δiは有限体GF(3m)の元δi∈GF(3m)であり、有限体GF(3)mと有限体GF(3m)とが1対1対応するような特別な組み合わせであるとする。このような性質を持つδi∈GF(3m)を基底と呼ぶ。基底δi∈GF(3m)の一例は、有限体GF(3)の元を係数とするm次の既約多項式f(x)の根x∈GF(3m)(f(x)=0を満たすx)に対するδi=xiである。 It is a method to express. Here, [delta] i is the original δ i ∈GF finite GF (3 m) (3 m ), finite GF (3) m and the finite GF (3 m) is such that one-to-one correspondence Suppose that it is a special combination. Δ i ∈GF (3 m ) having such properties is called a basis. An example of the basis δ i ∈GF (3 m ) is the root x∈GF (3 m ) (f (x) = f of the m- th irreducible polynomial f (x) whose coefficients are the elements of the finite field GF (3). Δ i = x i for x) satisfying 0.

また、
で定義される有限体GF(3m)の元u1,u2∈GF(3m)の加算u1+u2∈GF(3m)は以下のように計算できる。なお、(ω1,i,+ω2,i)は有限体GF(3)上の演算である。
Also,
The addition u 1 + u 2 ∈GF (3 m ) of the elements u 1 and u 2 ∈GF (3 m ) of the finite field GF (3 m ) defined by can be calculated as follows. Note that (ω 1, i , + ω 2, i ) is an operation on the finite field GF (3).

また、有限体GF(3m)の元u1,u2∈GF(3m)の乗算u1・u2∈GF(3m)は以下のように計算できる。なお、係数ω1,i, ω2,iについての演算は有限体GF(3)上の演算である。 Further, based on u 1, u 2 ∈GF multiplying u 1 · u 2 ∈GF (3 m) of (3 m) of a finite field GF (3 m) can be calculated as follows. Note that the calculations for the coefficients ω 1, i , ω 2, i are operations on the finite field GF (3).

<有限体GF(3m)上で定義された楕円曲線E(GF(3m))>
有限体GF(q)上で定義された楕円曲線E(GF(q))は、アフィン(affine)座標版のWeierstrass方程式
y2+a1・x・y+a3・y=x3+a2・x2+a4・x+a6(a1,a2,a3,a4,a6∈GF(q)) …(15)
を満たす点(x,y)(x,y∈GF(q))の集合に無限遠点と呼ばれる特別な点Oを付加したものである。楕円曲線E(q)上の任意の2点に対して楕円加算と呼ばれる二項演算及び楕円曲線E(q)上の任意の1点に対して楕円逆元と呼ばれる単項演算がそれぞれ定義できる。また、楕円加算を用いて楕円スカラー倍算と呼ばれる演算が定義できることはよく知られている。本形態では、有限体GF(3m)上で定義された
y2=x3-x+b …(16)
を満たす点(x,y)(x,y∈GF(3m))の集合に無限遠点Oを付加した楕円曲線E(GF(3m))を扱う。
<Elliptic curve E (GF (3 m )) defined on finite field GF (3 m )>
The elliptic curve E (GF (q)) defined on the finite field GF (q) is the affine coordinate version of the Weierstrass equation
y 2 + a 1・ x ・ y + a 3・ y = x 3 + a 2・ x 2 + a 4・ x + a 6 (a 1 , a 2 , a 3 , a 4 , a 6 ∈GF (q ))… (15)
A special point O called an infinite point is added to a set of points (x, y) (x, y∈GF (q)) that satisfy the above. A binary operation called elliptic addition can be defined for any two points on the elliptic curve E (q) and a unary operation called elliptic inverse can be defined for any one point on the elliptic curve E (q). It is well known that an operation called elliptic scalar multiplication can be defined using elliptic addition. In this form, it was defined on the finite field GF (3 m )
y 2 = x 3 -x + b (16)
An elliptic curve E (GF (3 m )) obtained by adding an infinite point O to a set of points (x, y) (x, y∈GF (3 m )) satisfying the above is handled.

<有限体のフロベニウス写像>
二項定理によれば、
が成立する。右辺の各項の係数は、二項係数と呼ばれる定数で、i≠0かつi≠3の場合、必ず3の倍数となる。δ,θ∈GF(3m)である場合、δ,θ∈GF(3m)に3の倍数(標数の倍数)を乗じた値は0と同値であるから、
(δ+θ)333 …(18)
が成立する。さらに、c∈GF(3)なるcに関して、c3=cが成立する。
<Frobenius map of finite field>
According to the binomial theorem,
Is established. The coefficient of each term on the right side is a constant called a binomial coefficient, and is always a multiple of 3 when i ≠ 0 and i ≠ 3. When δ, θ∈GF (3 m ), the value obtained by multiplying δ, θ∈GF (3 m ) by a multiple of 3 (multiple of characteristic) is equal to 0.
(δ + θ) 3 = δ 3 + θ 3 (18)
Is established. Furthermore, for c where c∈GF (3), c 3 = c holds.

一般に、δ12,...,δn∈GF(3m)を不定元とする任意のGF(3)係数有利式f(δ12,...,δn)に対して、
f(δ12,...,δn)3=f(δ1 32 3,...,δn 3) …(19)
が成立する。従って、式(10)は
In general, any GF (3) coefficient advantageous formula f (δ 1 , δ 2 , ..., δ n ) with δ 1 , δ 2 , ..., δ n ∈GF (3 m ) as an indefinite element for,
f (δ 1 , δ 2 , ..., δ n ) 3 = f (δ 1 3 , δ 2 3 , ..., δ n 3 ) (19)
Is established. Therefore, equation (10) becomes

のように変形できる。従って事前に
を満たす有限体GF(3)の元cij∈GF(3)が求められていれば、
Can be transformed. Therefore in advance
If the element c ij ∈GF (3) of the finite field GF (3) that satisfies

によって、元の基底δiを用いたu3∈GF(3m)の表現が得られる。即ち、m個の元の組ωi∈GF(3)(i=0,...,m-1)を要素とするベクトル(ωi)に、元cij∈GF(3)を要素とする行列(cij)を掛けるだけでu3∈GF(3m)を表現するベクトルが得られる。また、行列(cij)n(nは1以上の整数)を事前に求めておけば、ベクトル(ωi)に行列(cij)nを掛けるだけで、u∈GF(3m)(s=3n)を表現するベクトルを求めることができる。さらに、行列(cij)が簡単になるような特別な基底が存在し、そのような基底を採用した場合、u∈GF(3m)の演算コストはGF(3m)上の乗算と比較して無視できるほどに小さくなることが知られている。このようにu∈GF(3m)からus∈GF(3m)への写像を計算する関数を3乗フロベニウス写像と呼ぶ。 Gives a representation of u 3 ∈GF (3 m ) using the original basis δ i . That is, a vector (ω i ) having m element sets ω i ∈GF (3) (i = 0, ..., m-1) as elements and an element c ij ∈GF (3) as elements. A vector expressing u 3 ∈GF (3 m ) is obtained simply by multiplying the matrix (c ij ). If the matrix (c ij ) n (n is an integer greater than or equal to 1) is obtained in advance, the vector (ω i ) is simply multiplied by the matrix (c ij ) n and u s ∈GF (3 m ) ( A vector expressing s = 3 n ) can be obtained. Furthermore, there are special base such as matrix (c ij) is simplified, when adopting such a basis, calculating the cost of u s ∈GF (3 m) is the multiplication over GF (3 m) It is known that it is so small that it can be ignored. Thus we call a function to calculate the mapping to u s ∈GF (3 m) from u∈GF (3 m) and 3 n-th power Frobenius map.

<有限体GF(3m)でのトレース写像>
任意のt∈GF(3m)に対する有限体GF(3m)でのトレース写像を
と定義する。式(23)に示すように、トレース写像Tr(t)は、有限体GF(3m)の元u∈GF(3m)を元us∈GF(3m)(s=3n,nは1以上の整数)へ写像する3乗フロベニウス写像と、有限体GF(3m)上での加算のみによって計算できる。
<Trace mapping in finite field GF (3 m )>
For any t∈GF (3 m) tracing mapping in finite GF (3 m)
It is defined as As shown in Equation (23), the trace map Tr (t) is obtained by converting the element u∈GF (3 m ) of the finite field GF (3 m ) into the element u s ∈GF (3 m ) (s = 3 n , n Is a 3n power Frobenius map that maps to an integer greater than or equal to 1 and addition on the finite field GF (3 m ).

<1/2トレース写像>
任意のt∈GF(3m)に対する有限体GF(3m)での1/2トレース写像を
と定義する。式(24)に示すように、1/2トレース写像H(t)は、有限体GF(3m)の元u∈GF(3m)を元us∈GF(3m)(s=3n,nは1以上の整数)へ写像する3乗フロベニウス写像と、有限体GF(3m)上での加算のみによって計算できる。
<1/2 trace map>
For any t∈GF (3 m) 1/2 trace mapping in finite GF (3 m)
It is defined as As shown in the equation (24), the 1/2 trace map H (t) is obtained by converting the element u∈GF (3 m ) of the finite field GF (3 m ) into the element u s ∈GF (3 m ) (s = 3 n, n can be calculated only by addition of the above 3 and n-th power Frobenius map that maps to an integer of 1 or more), finite GF (3 m).

また、式(24)より
となる。また、任意のt∈GF(3m)は、
を満たすため、式(23)(26)を用い、式(25)は、
H(t)+H(t3)=Tr(t)+t …(27)
と変形できる。
From equation (24)
It becomes. An arbitrary t∈GF (3 m ) is
In order to satisfy Eq. (23) and (26), Eq. (25) is
H (t) + H (t 3 ) = Tr (t) + t… (27)
And can be transformed.

<有限体GF(3m)での1/3トレース写像>
任意のt∈GF(3m)に対する有限体GF(3m)での1/3トレース写像を
と定義する。式(28)に示すように、1/3トレース写像C(t)は、有限体GF(3m)の元u∈GF(3m)を元us∈GF(3m)(s=3n,nは1以上の整数)へ写像する3乗フロベニウス写像と、有限体GF(3m)上での加算のみによって計算できる。
<1/3 trace mapping in finite field GF (3 m )>
For any t∈GF (3 m) 1/3 trace mapping in finite GF (3 m)
It is defined as As shown in Expression (28), the 1/3 trace map C (t) is obtained by converting the element u∈GF (3 m ) of the finite field GF (3 m ) into the element u s ∈GF (3 m ) (s = 3 n, n can be calculated only by addition of the above 3 and n-th power Frobenius map that maps to an integer of 1 or more), finite GF (3 m).

また、r=m mod 3=1のとき、式(28)より、
となる。さらに、式(23)(26)を用い、式(29)は
C(t)+C(t3)+C(t9)=Tr(t)+t+t3 …(30)
と変形できる。
Also, when r = m mod 3 = 1, from equation (28),
It becomes. Furthermore, using equations (23) and (26), equation (29) is
C (t) + C (t 3 ) + C (t 9 ) = Tr (t) + t + t 3 … (30)
And can be transformed.

同様に、r=m mod 3=2のとき、式(28)より、
となる。さらに、式(23)(26)を用い、式(31)は
C(t)+C(t3)+C(t9)=Tr(t)+t …(32)
と変形できる。
Similarly, when r = m mod 3 = 2, from equation (28),
It becomes. Furthermore, using equations (23) and (26), equation (31) is
C (t) + C (t 3 ) + C (t 9 ) = Tr (t) + t… (32)
And can be transformed.

〔原理〕
次に、本形態の原理を説明する。
本形態では、任意のビット列ID∈{0,1}*を、標数3の有限体GF(3m)上で定義された楕円曲線y2=x3-x+b上の点(x,y)に変換する(式(16))。
〔principle〕
Next, the principle of this embodiment will be described.
In this embodiment, an arbitrary bit string ID∈ {0,1} * is assigned to a point (x, x) on an elliptic curve y 2 = x 3 −x + b defined on a finite field GF (3 m ) of characteristic 3 y) (formula (16)).

そのために、まず、任意のビット列ID∈{0,1}*を有限体GF(3m)の元y∈GF(3m)に変換し、得られた元y∈GF(3m)を用い、
t=y2-b ∈GF(3m) …(33)
の演算を行う。この場合、式(16)より、
t=x3-x ∈GF(3m) …(34)
となる。
For this purpose, first, an arbitrary bit string ID∈ {0,1} * is converted into an element y∈GF (3 m ) of a finite field GF (3 m ), and the obtained element y∈GF (3 m ) is used. ,
t = y 2 -b ∈GF (3 m )… (33)
Perform the operation. In this case, from equation (16),
t = x 3 -x ∈GF (3 m )… (34)
It becomes.

ここで、r=m mod 3=2であってTr(t)=0である場合、式(32)より
C(t)+C(t3)+C(t9)=t ∈GF(3m) …(35)
であり、有限体GF(3m)上の演算(式(13)(14)参照)であることを考慮すると、式(35)は、
(C(t)3-C(t))3-(C(t)3-C(t))=t ∈GF(3m) …(36)
と変形できる。式(34)(36)より、
x=C(t)3-C(t) ∈GF(3m) …(37)
であることが分かる。従って、r=m mod 3=2であってTr(t)=0である場合に式(37)を計算することで、曲線y2=x3-x+b上のx座標が求まり、楕円曲線y2=x3-x+b上の点(x,y)が定まることが分かる。
Here, when r = m mod 3 = 2 and Tr (t) = 0, from equation (32)
C (t) + C (t 3 ) + C (t 9 ) = t ∈GF (3 m )… (35)
Considering that this is an operation on the finite field GF (3 m ) (see equations (13) and (14)), equation (35) becomes
(C (t) 3 -C (t)) 3- (C (t) 3 -C (t)) = t ∈GF (3 m )… (36)
And can be transformed. From equations (34) and (36),
x = C (t) 3 -C (t) ∈GF (3 m )… (37)
It turns out that it is. Therefore, by calculating equation (37) when r = m mod 3 = 2 and Tr (t) = 0, the x coordinate on the curve y 2 = x 3 -x + b is obtained, and the ellipse It can be seen that the point (x, y) on the curve y 2 = x 3 -x + b is determined.

一方、r=m mod 3=1であってTr(t)=0である場合、式(30)より
C(t)+C(t3)+C(t9)=t+t3∈GF(3m) …(38)
であり、t=H(t)とすると、
C(H(t))+C(H(t)3)+C(H(t)9)=H(t)+H(t)3∈GF(3m) …(39)
である。また、式(19)(27)より、式(39)は、
C(H(t))+C(H(t)3)+C(H(t)9)=t ∈GF(3m) …(40)
と変形でき、有限体GF(3m)上の演算(式(13)(14)参照)であることを考慮すると、式(40)は、
(C(H(t))3-C(H(t)))3-(C(H(t))3-C(H(t)))=t∈GF(3m) …(41)
と変形できる。式(34)(41)より、
x=C(H(t))3-C(H(t)) ∈GF(3m) …(42)
であることが分かる。従って、r=m mod 3=1であってTr(t)=0である場合に式(42)を計算することで、曲線y2=x3-x+b上のx座標が求まり、楕円曲線y2=x3-x+b上の点(x,y)が定まることが分かる。
On the other hand, when r = m mod 3 = 1 and Tr (t) = 0, from equation (30)
C (t) + C (t 3 ) + C (t 9 ) = t + t 3 ∈GF (3 m )… (38)
And t = H (t),
C (H (t)) + C (H (t) 3 ) + C (H (t) 9 ) = H (t) + H (t) 3 ∈GF (3 m )… (39)
It is. From Equations (19) and (27), Equation (39) is
C (H (t)) + C (H (t) 3 ) + C (H (t) 9 ) = t ∈GF (3 m )… (40)
In consideration of the calculation on the finite field GF (3 m ) (see equations (13) and (14)), equation (40) becomes
(C (H (t)) 3 -C (H (t))) 3- (C (H (t)) 3 -C (H (t))) = t∈GF (3 m )… (41)
And can be transformed. From equations (34) and (41),
x = C (H (t)) 3 -C (H (t)) ∈GF (3 m )… (42)
It turns out that it is. Therefore, by calculating equation (42) when r = m mod 3 = 1 and Tr (t) = 0, the x coordinate on the curve y 2 = x 3 -x + b is obtained, and the ellipse It can be seen that the point (x, y) on the curve y 2 = x 3 -x + b is determined.

また、r=m mod 3=1であってTr(t)=0である場合、式(27)においてt=C(t)とし、式(19)を考慮すると、
H(C(t))+H(C(t))3=C(t) ∈GF(3m) …(43)
を満たすことが分かる。また、式(24)(28)より、
Further, when r = m mod 3 = 1 and Tr (t) = 0, t = C (t) in equation (27) and considering equation (19),
H (C (t)) + H (C (t)) 3 = C (t) ∈GF (3 m )… (43)
It can be seen that Also, from formulas (24) and (28),

を満たす。式(44)を用いると、式(43)は、
C(H(t))+C(H(t))3=C(t) ∈GF(3m) …(45)
と変形でき、さらに
-C(H(t))-C(H(t))3=-C(t) ∈GF(3m) …(46)
と変形できる。式(45)の両辺からC(H(t))3を引くと、
-C(H(t))-C(H(t))3-C(H(t))3=-C(t)-C(H(t))3∈GF(3m) …(47)
となる。有限体GF(3m)上の演算(式(13)(14)参照)では、-C(H(t))3∈GF(3m)は2・C(H(t))3∈GF(3m)と等価であるため、式(47)は、
4・C(H(t))3-C(H(t))=-C(H(t))3-C(t) ∈GF(3m) …(48)
と変形でき、4・C(H(t))3∈GF(3m)はC(H(t))3∈GF(3m)と等価であるため、さらに
C(H(t))3-C(H(t))=-C(H(t))3-C(t) ∈GF(3m) …(49)
と変形できる。
Meet. Using equation (44), equation (43) is
C (H (t)) + C (H (t)) 3 = C (t) ∈GF (3 m )… (45)
And can be transformed
-C (H (t))-C (H (t)) 3 = -C (t) ∈GF (3 m )… (46)
And can be transformed. Subtracting C (H (t)) 3 from both sides of equation (45),
-C (H (t))-C (H (t)) 3 -C (H (t)) 3 = -C (t) -C (H (t)) 3 ∈GF (3 m )… (47 )
It becomes. For operations on the finite field GF (3 m ) (see equations (13) and (14)), -C (H (t)) 3 ∈GF (3 m ) is 2 · C (H (t)) 3 ∈GF Since (3 m ) is equivalent, equation (47) becomes
4 ・ C (H (t)) 3 -C (H (t)) =-C (H (t)) 3 -C (t) ∈GF (3 m )… (48)
4 ・ C (H (t)) 3 ∈GF (3 m ) is equivalent to C (H (t)) 3 ∈GF (3 m ).
C (H (t)) 3 -C (H (t)) =-C (H (t)) 3 -C (t) ∈GF (3 m )… (49)
And can be transformed.

また、式(19)を考慮すると式(40)は、
C(H(t))9+C(H(t))3=t-C(H(t)) ∈GF(3m) …(50)
と変形でき、式(44)を用いると式(50)は、
H(C(t))9+H(C(t))3=t-C(H(t)) ∈GF(3m) …(51)
と変形できる。また、式(43)より、
C(t3)=H(C(t3))+H(C(t3))3∈GF(3m) …(52)
となり、式(19)を考慮すると式(52)は、
C(t)3=H(C(t))3+H(C(t))9∈GF(3m) …(53)
と変形でき、さらに式(50)よって式(53)は、
C(t)3=C(H(t))9+C(H(t))3=t-C(H(t)) ∈GF(3m) …(54)
と変形できる。ここで、式(54)を用いると、
C(t)3+C(t)-t=t-C(H(t))+C(t)-t=-C(H(t))+C(t) ∈GF(3m) …(55)
となり、式(45)を用いると式(55)は、
C(t)3+C(t)-t=-C(H(t))+C(H(t))+C(H(t))3=C(H(t))3∈GF(3m) …(56)
と変形できる。この式(56)を用いると式(49)は、
C(H(t))3-C(H(t))=-(C(t)3+C(t)-t)-C(t) ∈GF(3m) …(57)
と変形できる。
Also, considering equation (19), equation (40) is
C (H (t)) 9 + C (H (t)) 3 = tC (H (t)) ∈GF (3 m )… (50)
And using equation (44), equation (50) becomes
H (C (t)) 9 + H (C (t)) 3 = tC (H (t)) ∈GF (3 m )… (51)
And can be transformed. From equation (43),
C (t 3 ) = H (C (t 3 )) + H (C (t 3 )) 3 ∈GF (3 m )… (52)
When considering equation (19), equation (52) becomes
C (t) 3 = H (C (t)) 3 + H (C (t)) 9 ∈GF (3 m )… (53)
Furthermore, equation (53) can be transformed into equation (50)
C (t) 3 = C (H (t)) 9 + C (H (t)) 3 = tC (H (t)) ∈GF (3 m )… (54)
And can be transformed. Here, using equation (54),
C (t) 3 + C (t) -t = tC (H (t)) + C (t) -t = -C (H (t)) + C (t) ∈GF (3 m )… (55 )
Using equation (45), equation (55) becomes
C (t) 3 + C (t) -t = -C (H (t)) + C (H (t)) + C (H (t)) 3 = C (H (t)) 3 ∈GF ( 3 m )… (56)
And can be transformed. Using this equation (56), equation (49) becomes
C (H (t)) 3 -C (H (t)) =-(C (t) 3 + C (t) -t) -C (t) ∈GF (3 m )… (57)
And can be transformed.

さらに、有限体GF(3m)上の演算(式(13)(14)参照)では、-2・C(H(t))3∈GF(3m)はC(H(t))3∈GF(3m)と等価であることを考慮すると、式(57)は、
C(H(t))3-C(H(t))=-(C(t)3+C(t)-t)-C(t)=t-C(t)3+C(t) ∈GF(3m) …(58)
と変形できる。従って、式(42)を参照すると、r=m mod 3=1であってTr(t)=0である場合に式(58)を計算することでも、曲線y2=x3-x+b上のx座標が求まり、楕円曲線y2=x3-x+b上の点(x,y)が定まることが分かる。
〔第1実施形態〕
次に、本発明の第1実施形態を説明する。
Furthermore, in the operation on the finite field GF (3 m ) (see equations (13) and (14)), -2 · C (H (t)) 3 ∈GF (3 m ) is C (H (t)) 3 Considering that it is equivalent to ∈GF (3 m ), Equation (57) becomes
C (H (t)) 3 -C (H (t)) =-(C (t) 3 + C (t) -t) -C (t) = tC (t) 3 + C (t) ∈GF (3 m )… (58)
And can be transformed. Therefore, referring to equation (42), calculating r (m) when r = m mod 3 = 1 and Tr (t) = 0, the curve y 2 = x 3 −x + b It can be seen that the upper x coordinate is obtained, and the point (x, y) on the elliptic curve y 2 = x 3 -x + b is determined.
[First Embodiment]
Next, a first embodiment of the present invention will be described.

本形態は、mが2≡m mod 3を満たす正の整数である場合に、式(37)を用い、任意のビット列ID∈{0,1}*を、標数3の有限体GF(3m)上で定義された楕円曲線y2=x3-x+b上の点(x,y)に変換する形態である。 In the present embodiment, when m is a positive integer satisfying 2≡m mod 3, an arbitrary bit string ID∈ {0,1} * is converted into a finite field GF (3 m ) is a form of conversion to a point (x, y) on the elliptic curve y 2 = x 3 −x + b defined on the above.

<構成>
図1は、第1実施形態の変換演算装置1の機能構成を説明するためのブロック図である。
図1に示すように、本形態の変換演算装置1は、制御部101、一時メモリ102、入力部103、記憶部104、変換部105、有限体演算部106,109(「第1,2有限体演算部」に相当)、演算制御部107、1/3トレース写像演算部108、及び出力部110を有する。
<Configuration>
FIG. 1 is a block diagram for explaining a functional configuration of the conversion operation device 1 according to the first embodiment.
As shown in FIG. 1, the conversion calculation device 1 of this embodiment includes a control unit 101, a temporary memory 102, an input unit 103, a storage unit 104, a conversion unit 105, finite field calculation units 106 and 109 (“first and second finite numbers”). Equivalent to a “body calculation unit”), a calculation control unit 107, a 1/3 trace mapping calculation unit 108, and an output unit 110.

変換演算装置1は、CPU(central processing unit),RAM(random-access memory),ROM(read-only memory)等を有する公知のコンピュータに所定のプログラムが読み込まれ、CPUがこれを実行することによって構成される。すなわち、一時メモリ102や記憶部104は、例えば、RAM、磁気記録装置、光磁気記録媒体やそれらの少なくとも一部の結合によって構成される記憶領域である。変換部105、有限体演算部106,109、演算制御部107及び1/3トレース写像演算部108は、例えば、CPUに所定のプログラムが読み込まれて構成される処理部である。また、入力部103は、例えば、キーボードなどのユーザインタフェースや、データの入力を受け付ける入力ポートや、他の処理部から出力されたデータの入力処理を行う処理部(CPUに所定のプログラムが読み込まれて構成される処理部)などである。また、出力部110は、データを出力する出力ポートや、データを他の処理部に転送するための処理部(CPUに所定のプログラムが読み込まれて構成される処理部)などである。なお、変換演算装置1は、制御部101の制御のもと各処理を実行する。また、各演算処理で生成されたデータは、逐一、一時メモリ102に格納され、その他の演算処理の際に読み出されて利用される。   The conversion operation device 1 is configured such that a predetermined program is read into a known computer having a CPU (central processing unit), a RAM (random-access memory), a ROM (read-only memory), and the like, and the CPU executes the program. Composed. That is, the temporary memory 102 and the storage unit 104 are storage areas configured by, for example, a RAM, a magnetic recording device, a magneto-optical recording medium, or a combination of at least a part thereof. The conversion unit 105, the finite field calculation units 106 and 109, the calculation control unit 107, and the 1/3 trace mapping calculation unit 108 are, for example, processing units configured by reading a predetermined program into the CPU. The input unit 103 is, for example, a user interface such as a keyboard, an input port that receives data input, and a processing unit that performs input processing of data output from other processing units (a predetermined program is read into the CPU). A processing unit configured as described above. The output unit 110 is an output port for outputting data, a processing unit for transferring data to another processing unit (a processing unit configured by reading a predetermined program into the CPU), or the like. Note that the conversion arithmetic device 1 executes each process under the control of the control unit 101. In addition, data generated in each arithmetic process is stored in the temporary memory 102 one by one, and read and used in other arithmetic processes.

<変換演算方法>
次に、本形態の変換演算方法を説明する。
図2は、第1実施形態の変換演算方法を説明するためのフローチャートである。以下、この図を用いて本形態の変換演算方法を説明する。本形態では、mが2≡m mod 3を満たす正の整数であることを前提にする。
<Conversion operation method>
Next, the conversion calculation method of this embodiment will be described.
FIG. 2 is a flowchart for explaining the conversion calculation method of the first embodiment. Hereinafter, the conversion calculation method of this embodiment will be described with reference to FIG. In this embodiment, it is assumed that m is a positive integer that satisfies 2≡m mod 3.

まず、入力部103に任意のビット列ID∈{0,1}*が入力され、記憶部104に格納される(ステップS101)。次に、制御部101がw=0とし、wを一時メモリ102に格納する(ステップS102)。次に、変換部105が、記憶部104からビット列ID∈{0,1}*を読み出し、一時メモリ102からwを読み出し、記憶部104から読み出したビット列ID∈{0,1}*を有限体GF(3m)の元y=G(ID)+w ∈GF(3m)に変換する(ステップS103)。本形態では、ここで、関数G(ID)は、任意のビット列ID∈{0,1}*を有限体GF(3m)の元に変換する関数である。このような関数G(ID)は、ハッシュ関数などを用いて容易に構成できる。以下に関数G(ID)の一例を示す。 First, an arbitrary bit string IDε {0, 1} * is input to the input unit 103 and stored in the storage unit 104 (step S101). Next, the control unit 101 sets w = 0 and stores w in the temporary memory 102 (step S102). Next, the conversion unit 105 reads the bit string IDε {0,1} * from the storage unit 104, reads w from the temporary memory 102, and converts the bit string IDε {0,1} * read from the storage unit 104 into a finite field. converting the original y = G of GF (3 m) (ID) + w ∈GF (3 m) ( step S103). In this embodiment, the function G (ID) is a function that converts an arbitrary bit string IDε {0, 1} * into an element of a finite field GF (3 m ). Such a function G (ID) can be easily configured using a hash function or the like. An example of the function G (ID) is shown below.

[関数G(ID)の一例]
(1)入力されたビット列ID∈{0,1}*に対してstr=MGF(ID,L)(ただし、L=2・floor(log23m))を求める。なお、MGF(ID,L)は、マスク生成関数であり、ハッシュ関数演算を繰り返し行うことで、任意のビット列ID∈{0,1}*からビット長Lのビット値strを生成する関数である(例えば、「RSA Laboratories, “PKCS #1 v2.1: RSA Encryption Standard,” draft 2, January 5, 2001.」など参照)。また、floor(・)はフロア関数であり、・以下の最大の整数を出力する。すなわち、この例では、log23m以下の最大の整数を2倍したものをLとする。
[Example of function G (ID)]
(1) Find str = MGF (ID, L) (where L = 2 · floor (log 2 3 m )) for the input bit string ID∈ {0,1} * . MGF (ID, L) is a mask generation function that generates a bit value str having a bit length L from an arbitrary bit string IDε {0,1} * by repeatedly performing a hash function operation. (For example, see “RSA Laboratories,“ PKCS # 1 v2.1: RSA Encryption Standard, ”draft 2, January 5, 2001.”). Floor (·) is a floor function. • Outputs the maximum integer below. That is, in this example, L is obtained by doubling the maximum integer of log 2 3 m or less.

(2)d=BitStringtoInteger(str)を求める。なお、BitStringtoInteger(・)は、ビット列・を整数に変換する関数である。
(3)dを3進展開し、各項の係数が{0,1,2}の多項式d3を生成する。
(4)d3 mod f(x)を求め、その演算値を出力する。なお、f(x)は、有限体GF(3)の元を係数とするm次の既約多項式である([関数G(ID)の一例]の説明終わり)。
(2) Calculate d = BitStringtoInteger (str). BitStringtoInteger (·) is a function that converts a bit string · to an integer.
(3) ternary expansion of d generates a polynomial d 3 with coefficients of each term {0,1,2}.
(4) Obtain d 3 mod f (x) and output the calculated value. Note that f (x) is an m-th irreducible polynomial whose coefficient is the element of the finite field GF (3) (end of description of [example of function G (ID)]).

次に、有限体演算部106にステップS103で得られた元y∈GF(3m)が入力され、有限体演算部106は、この元y∈GF(3m)を用い、t=y2-b∈GF(3m)の演算を行う(ステップS104)。次に、演算制御部107に、ステップS104で生成されたt∈GF(3m)入力され、式(23)に示したトレース写像Tr(t)を計算し、Tr(t)=0を満たすか否かを判定する(ステップS105)。 Next, the element yεGF (3 m ) obtained in step S103 is input to the finite field calculation unit 106, and the finite field calculation unit 106 uses the element yεGF (3 m ), and t = y 2 An operation of -bεGF (3 m ) is performed (step S104). Next, tεGF (3 m ) generated in step S104 is input to the arithmetic control unit 107, the trace mapping Tr (t) shown in Expression (23) is calculated, and Tr (t) = 0 is satisfied. Whether or not (step S105).

ここで、Tr(t)=0を満たさないと判定された場合、演算制御部107は、ステップS103における変換方法を変更してステップS103〜S105の各処理を再び実行させる。本形態の例では、演算制御部107が一時メモリ102から読み出したwからw+1を求め、求めたw+1を新たなwとして一時メモリ102に格納し、処理をステップS103に戻す(ステップS106)。   Here, when it is determined that Tr (t) = 0 is not satisfied, the arithmetic control unit 107 changes the conversion method in step S103 and causes the processes in steps S103 to S105 to be executed again. In the example of this embodiment, the arithmetic control unit 107 obtains w + 1 from w read from the temporary memory 102, stores the obtained w + 1 as new w in the temporary memory 102, and returns the process to step S103 (step S103). S106).

一方、ステップS105においてTr(t)=0を満たすと判定された場合、Tr(t)=0を満たすと判定されたtが1/3トレース写像演算部108に入力される。1/3トレース写像演算部108は、ステップS105でTr(t)=0を満たすと判定されたtを用い、式(28)に示した1/3トレース写像の演算を行ってC(t)∈GF(3m)を求める(ステップS107)。1/3トレース写像演算部108は、有限体GF(3m)の元u∈GF(3m)を元us∈GF(3m)(s=3n,nは1以上の整数)へ写像する3乗フロベニウス写像と、有限体GF(3m)上での加算のみによってC(t)∈GF(3m)を計算できる。次に、有限体演算部109にステップS107で得られたC(t)が入力され、有限体演算部109は、ステップS107で得られたC(t)を用い、x=C(t)3-C(t)∈GF(3m)の演算を行う(ステップS108/式(37)参照)。なお、C(t)3∈GF(3m)は、有限体GF(3m)の元u∈GF(3m)を元u3∈GF(3m)へ写像する3乗フロベニウス写像によって計算できる。 On the other hand, if it is determined in step S105 that Tr (t) = 0 is satisfied, t determined to satisfy Tr (t) = 0 is input to the 1/3 trace mapping operation unit 108. The 1/3 trace map calculation unit 108 uses the t determined to satisfy Tr (t) = 0 in step S105, performs the 1/3 trace map calculation shown in Expression (28), and performs C (t) ΕGF (3 m ) is obtained (step S107). The 1/3 trace mapping operation unit 108 converts the element u∈GF (3 m ) of the finite field GF (3 m ) into the element u s ∈GF (3 m ) (s = 3 n , where n is an integer of 1 or more). 3 and n-th power Frobenius map to map, only by addition of the above finite GF (3 m) can be calculated C (t) ∈GF (3 m ). Next, C (t) obtained in step S107 is input to the finite field computation unit 109, and the finite field computation unit 109 uses C (t) obtained in step S107, and x = C (t) 3 -C (t) εGF (3 m ) is calculated (see step S108 / equation (37)). Incidentally, C (t) 3 ∈GF ( 3 m) is calculated by the third power Frobenius map that maps original u∈GF of a finite field GF (3 m) and (3 m) to the original u 3 ∈GF (3 m) it can.

次に、出力部110が、ステップS108で得られたx∈GF(3m)と、ステップS105でTr(t)=0を満たすと判定されたtを算出するためにステップS104で用いられた元y∈GF(3m)とを出力する(ステップS109)。 Next, the output unit 110 was used in step S104 to calculate xεGF (3 m ) obtained in step S108 and t determined to satisfy Tr (t) = 0 in step S105. The element yεGF (3 m ) is output (step S109).

<本形態の特徴>
mが2≡m mod 3を満たす正の整数である場合に、本形態の処理を行うことにより、任意のビット列ID∈{0,1}*を、標数3の有限体GF(3m)上で定義された楕円曲線y2=x3-x+b上の点(x,y)に変換することができ、その演算コストは非特許文献2の方法よりも低い。
<Features of this embodiment>
When m is a positive integer satisfying 2≡m mod 3, by performing the processing of this embodiment, an arbitrary bit string ID∈ {0,1} * is converted into a finite field GF (3 m ) of characteristic 3 It can be converted into a point (x, y) on the elliptic curve y 2 = x 3 −x + b defined above, and its calculation cost is lower than the method of Non-Patent Document 2.

具体的には、k=(m-1)/2=(kν-1,...k0)2のハミングウエイト(0以外の要素数)をhw(k)とすると、非特許文献2の方法で必要な有限体GF(3m)上の乗算回数はν+hw(k)回であり、3乗算回数はm-1回である。これに対し、本形態の方法で必要な有限体GF(3m)上の乗算回数は1回であり、3乗算回数はm-1回である。このように、本形態の方法では、演算コストが大きい乗算の回数を非特許文献2の方法に比べて大幅に削減できる。また、非特許文献2の方法ではmの値が大きくなるほど乗算回数が増加するが、本形態の方法はmの値に拘わらず1回である。そのため、従来の非特許文献2の方法では、楕円曲線y2=x3-x+b上で構成される楕円曲線暗号の安全性を向上させるためにmの値(通常、m≧97、具体的にはm=97,167,193,239,353,509などが用いられる)を大きくするほど乗算回数が増加するのに対し、本形態の方法では乗算回数が増加しない。 Specifically, if the Hamming weight (number of elements other than 0 ) of k = (m−1) / 2 = (k ν−1 ,... K 0 ) 2 is hw (k), Non-Patent Document 2 The number of multiplications on the finite field GF (3 m ) required by the above method is ν + hw (k) times, and the number of 3 multiplications is m−1. On the other hand, the number of multiplications on the finite field GF (3 m ) required by the method of this embodiment is 1 and the number of 3 multiplications is m−1. As described above, in the method according to the present embodiment, the number of multiplications with a high calculation cost can be significantly reduced as compared with the method of Non-Patent Document 2. In the method of Non-Patent Document 2, the number of multiplications increases as the value of m increases, but the method of this embodiment is one time regardless of the value of m. Therefore, in the conventional method of Non-Patent Document 2, the value of m (usually, m ≧ 97, specifically, in order to improve the security of the elliptic curve cryptosystem configured on the elliptic curve y 2 = x 3 −x + b, In practice, m = 97, 167, 193, 239, 353, 509, etc. are used). As the number of multiplications increases, the method of this embodiment does not increase the number of multiplications.

また、本形態では、yから楕円曲線y2=x3-x+b上のx座標を求めるステップS107、S108の演算は、有限体GF(3m)の元u∈GF(3m)を元us∈GF(3m)(s=3n,nは1以上の整数)へ写像する3乗フロベニウス写像と、有限体GF(3m)上での加算のみによって実現できる。このように演算コストが小さい3乗フロベニウス写像を用いることで、全体の演算コストを大幅に削減できる。なお、ステップS107、S108の演算の少なくとも一方の3乗算に3乗フロベニウス写像を用いない構成であってもよい。 Further, in this embodiment, the operations of steps S107 and S108 for obtaining the x coordinate on the elliptic curve y 2 = x 3 −x + b from y are performed by using the element u∈GF (3 m ) of the finite field GF (3 m ). original u s ∈GF (3 m) ( s = 3 n, n is an integer of 1 or more) can be achieved only by the addition of over 3 and n-th power Frobenius map that maps to, finite GF (3 m). By using the 3n- th power Frobenius map with a low calculation cost in this way, the overall calculation cost can be greatly reduced. Note that a configuration in which a 3n- th power Frobenius map is not used for at least one of the three multiplications of the operations in steps S107 and S108 may be employed.

〔第2実施形態〕
次に、本発明の第2実施形態を説明する。
本形態は、mが1≡m mod 3を満たす正の整数である場合に、式(42)を用い、任意のビット列ID∈{0,1}*を、標数3の有限体GF(3m)上で定義された楕円曲線y2=x3-x+b上の点(x,y)に変換する形態である。なお、以下では、第1実施形態との相違点を中心に説明し、第1実施形態と共通する事項については説明を省略する。
[Second Embodiment]
Next, a second embodiment of the present invention will be described.
In this embodiment, when m is a positive integer satisfying 1≡m mod 3, an equation (42) is used, and an arbitrary bit string ID∈ {0,1} * is converted into a finite field GF (3 m ) is a form of conversion to a point (x, y) on the elliptic curve y 2 = x 3 −x + b defined on the above. In the following description, differences from the first embodiment will be mainly described, and description of matters common to the first embodiment will be omitted.

<構成>
図3は、第2実施形態の変換演算装置2の機能構成を説明するためのブロック図である。
図3に示すように、本形態の変換演算装置2は、制御部101、一時メモリ102、入力部103、記憶部104、変換部105、有限体演算部106,209(「第1,2有限体演算部」に相当)、演算制御部107、1/3トレース写像演算部208、1/2トレース写像演算部211、及び出力部110を有する。
<Configuration>
FIG. 3 is a block diagram for explaining a functional configuration of the conversion operation device 2 according to the second embodiment.
As shown in FIG. 3, the conversion calculation device 2 of this embodiment includes a control unit 101, a temporary memory 102, an input unit 103, a storage unit 104, a conversion unit 105, finite field calculation units 106 and 209 (“first and second finite numbers”). Equivalent to a "body calculation unit"), a calculation control unit 107, a 1/3 trace mapping calculation unit 208, a 1/2 trace mapping calculation unit 211, and an output unit 110.

変換演算装置2は、CPU,RAM,ROM等を有する公知のコンピュータに所定のプログラムが読み込まれ、CPUがこれを実行することによって構成される。例えば、有限体演算部209、1/2トレース写像演算部211、及び1/3トレース写像演算部208は、CPUに所定のプログラムが読み込まれて構成される処理部である。なお、変換演算装置2は、制御部101の制御のもと各処理を実行する。また、各演算処理で生成されたデータは、逐一、一時メモリ102に格納され、その他の演算処理の際に読み出されて利用される。   The conversion operation device 2 is configured by a predetermined program being read into a known computer having a CPU, a RAM, a ROM, and the like, and executed by the CPU. For example, the finite field calculation unit 209, the 1/2 trace mapping calculation unit 211, and the 1/3 trace mapping calculation unit 208 are processing units configured by reading a predetermined program into the CPU. Note that the conversion calculation device 2 executes each process under the control of the control unit 101. In addition, data generated in each arithmetic process is stored in the temporary memory 102 one by one, and read and used in other arithmetic processes.

<変換演算方法>
次に、本形態の変換演算方法を説明する。
図4は、第2実施形態の変換演算方法を説明するためのフローチャートである。以下、この図を用いて本形態の変換演算方法を説明する。本形態では、mが1≡m mod 3を満たす正の整数であることを前提にする。
<Conversion operation method>
Next, the conversion calculation method of this embodiment will be described.
FIG. 4 is a flowchart for explaining the conversion calculation method of the second embodiment. Hereinafter, the conversion calculation method of this embodiment will be described with reference to FIG. In this embodiment, it is assumed that m is a positive integer satisfying 1≡m mod 3.

まず、第1実施形態で説明したステップS101〜S106の処理が実行される。ここで、ステップS105においてTr(t)=0を満たすと判定された場合、Tr(t)=0を満たすと判定されたtが1/2トレース写像演算部211に入力される。1/2トレース写像演算部211は、ステップS105でTr(t)=0を満たすと判定されたtを用い、式(24)に示した1/2トレース写像の演算を行ってH(t)∈GF(3m)を求める(ステップS206)。次に、ステップS206で得られたH(t)が1/3トレース写像演算部208に入力される。1/3トレース写像演算部208は、ステップS206で得られたH(t)を用い、式(28)に示した1/3トレース写像の演算を行ってC(H(t))∈GF(3m)を求める(ステップS207)。1/3トレース写像演算部208は、有限体GF(3m)の元u∈GF(3m)を元us∈GF(3m)(s=3n,nは1以上の整数)へ写像する3乗フロベニウス写像と、有限体GF(3m)上での加算のみによってC(H(t))∈GF(3m)を計算できる。 First, the processing of steps S101 to S106 described in the first embodiment is executed. Here, if it is determined in step S105 that Tr (t) = 0 is satisfied, t determined to satisfy Tr (t) = 0 is input to the ½ trace mapping operation unit 211. The ½ trace mapping calculation unit 211 uses the t determined to satisfy Tr (t) = 0 in step S105, performs the ½ trace mapping calculation shown in Expression (24), and performs H (t) ΕGF (3 m ) is obtained (step S206). Next, H (t) obtained in step S206 is input to the 1/3 trace mapping calculation unit 208. The 1/3 trace map calculation unit 208 uses the H (t) obtained in step S206 to perform the 1/3 trace map calculation shown in Expression (28) to obtain C (H (t)) ∈GF ( 3 m ) is obtained (step S207). The 1/3 trace mapping operation unit 208 converts the element u∈GF (3 m ) of the finite field GF (3 m ) into the element u s ∈GF (3 m ) (s = 3 n , where n is an integer of 1 or more). 3 and n-th power Frobenius map to map, a C (H (t)) ∈GF (3 m) only by the addition of over finite GF (3 m) can be calculated.

次に、有限体演算部209にステップS207で得られたC(H(t))が入力され、有限体演算部209は、ステップS207で得られたC(H(t))を用い、x=C(H(t))3-C(H(t))∈GF(3m)の演算を行う(ステップS208/式(42)参照)。なお、C(H(t))3∈GF(3m)は、有限体GF(3m)の元u∈GF(3m)を元u3∈GF(3m)へ写像する3乗フロベニウス写像によって計算できる。 Next, C (H (t)) obtained in step S207 is input to the finite field computation unit 209, and the finite field computation unit 209 uses C (H (t)) obtained in step S207 to generate x = C (H (t)) 3 −C (H (t)) ∈GF (3 m ) is calculated (see step S208 / expression (42)). Incidentally, C (H (t)) 3 ∈GF (3 m) is cube Frobenius mapping to the original u∈GF (3 m) of the original u 3 ∈GF (3 m) of a finite field GF (3 m) It can be calculated by mapping.

次に、出力部110が、ステップS208で得られたx∈GF(3m)と、ステップS105でTr(t)=0を満たすと判定されたtを算出するためにステップS104で用いられた元y∈GF(3m)とを出力する(ステップS109)。 Next, the output unit 110 was used in step S104 to calculate xεGF (3 m ) obtained in step S208 and t determined to satisfy Tr (t) = 0 in step S105. The element yεGF (3 m ) is output (step S109).

<本形態の特徴>
mが1≡m mod 3を満たす正の整数である場合に、本形態の処理を行うことにより、任意のビット列ID∈{0,1}*を、標数3の有限体GF(3m)上で定義された楕円曲線y2=x3-x+b上の点(x,y)に変換することができ、その演算コストは非特許文献2の方法よりも低い。
<Features of this embodiment>
When m is a positive integer satisfying 1≡m mod 3, by performing the processing of this embodiment, an arbitrary bit string ID∈ {0,1} * is converted into a finite field GF (3 m ) of characteristic 3 It can be converted into a point (x, y) on the elliptic curve y 2 = x 3 −x + b defined above, and its calculation cost is lower than the method of Non-Patent Document 2.

具体的には、非特許文献2の方法で必要な有限体GF(3m)上の乗算回数はν+hw(k)回であり、3乗算回数はm-1回である。これに対し、本形態の方法で必要な有限体GF(3m)上の乗算回数は1回であり、3乗算回数は2m-1回である。このように、本形態の方法では、演算コストが大きい乗算の回数を非特許文献2の方法に比べて大幅に削減できる。なお、前述のように、3乗算は3乗フロベニウス写像を用いることで小さな演算コストで計算できる。また、非特許文献2の方法ではmの値が大きくなるほど演算コストが大きな乗算の回数が増加するが、本形態の方法での乗算回数はmの値に拘わらず1回である。そのため、従来の非特許文献2の方法では、楕円曲線y2=x3-x+b上で構成される楕円曲線暗号の安全性を向上させるためにmの値を大きくするほど乗算回数が増加するのに対し、本形態の方法では乗算回数が増加しない。 Specifically, the number of multiplications on the finite field GF (3 m ) required by the method of Non-Patent Document 2 is ν + hw (k) times, and the number of 3 multiplications is m−1. On the other hand, the number of multiplications on the finite field GF (3 m ) required by the method of this embodiment is 1 and the number of multiplications of 3 is 2m−1. As described above, in the method according to the present embodiment, the number of multiplications with a high calculation cost can be significantly reduced as compared with the method of Non-Patent Document 2. As described previously, 3 multiplications can be calculated with a small calculation cost by using 3 n-th power Frobenius map. Further, in the method of Non-Patent Document 2, the number of multiplications with a large calculation cost increases as the value of m increases, but the number of multiplications in the method of this embodiment is one regardless of the value of m. Therefore, in the conventional method of Non-Patent Document 2, the number of multiplications increases as the value of m is increased in order to improve the security of the elliptic curve cryptosystem configured on the elliptic curve y 2 = x 3 -x + b. On the other hand, the number of multiplications does not increase in the method of this embodiment.

〔第3実施形態〕
次に、本発明の第3実施形態を説明する。
本形態は、mが1≡m mod 3を満たす正の整数である場合に、式(58)を用い、任意のビット列ID∈{0,1}*を、標数3の有限体GF(3m)上で定義された楕円曲線y2=x3-x+b上の点(x,y)に変換する形態である。なお、以下では、第1実施形態との相違点を中心に説明し、第1実施形態と共通する事項については説明を省略する。
[Third Embodiment]
Next, a third embodiment of the present invention will be described.
In the present embodiment, when m is a positive integer satisfying 1≡m mod 3, using Equation (58), an arbitrary bit string ID∈ {0,1} * is converted into a finite field GF (3 m ) is a form of conversion to a point (x, y) on the elliptic curve y 2 = x 3 −x + b defined on the above. In the following description, differences from the first embodiment will be mainly described, and description of matters common to the first embodiment will be omitted.

<構成>
図5は、第3実施形態の変換演算装置3の機能構成を説明するためのブロック図である。
図5に示すように、本形態の変換演算装置3は、制御部101、一時メモリ102、入力部103、記憶部104、変換部105、有限体演算部106,309(「第1,2有限体演算部」に相当)、演算制御部107、1/3トレース写像演算部108、及び出力部110を有する。
<Configuration>
FIG. 5 is a block diagram for explaining a functional configuration of the conversion operation device 3 according to the third embodiment.
As shown in FIG. 5, the conversion calculation device 3 of this embodiment includes a control unit 101, a temporary memory 102, an input unit 103, a storage unit 104, a conversion unit 105, finite field calculation units 106 and 309 (“first and second finite numbers”). Equivalent to a “body calculation unit”), a calculation control unit 107, a 1/3 trace mapping calculation unit 108, and an output unit 110.

変換演算装置3は、CPU,RAM,ROM等を有する公知のコンピュータに所定のプログラムが読み込まれ、CPUがこれを実行することによって構成される。例えば、有限体演算部309は、CPUに所定のプログラムが読み込まれて構成される処理部である。なお、変換演算装置3は、制御部101の制御のもと各処理を実行する。また、各演算処理で生成されたデータは、逐一、一時メモリ102に格納され、その他の演算処理の際に読み出されて利用される。   The conversion operation device 3 is configured by a predetermined program being read into a known computer having a CPU, a RAM, a ROM, and the like, and executed by the CPU. For example, the finite field operation unit 309 is a processing unit configured by reading a predetermined program into the CPU. Note that the conversion arithmetic device 3 executes each process under the control of the control unit 101. In addition, data generated in each arithmetic process is stored in the temporary memory 102 one by one, and read and used in other arithmetic processes.

<変換演算方法>
次に、本形態の変換演算方法を説明する。
図6は、第3実施形態の変換演算方法を説明するためのフローチャートである。以下、この図を用いて本形態の変換演算方法を説明する。本形態では、mが1≡m mod 3を満たす正の整数であることを前提にする。
<Conversion operation method>
Next, the conversion calculation method of this embodiment will be described.
FIG. 6 is a flowchart for explaining the conversion calculation method of the third embodiment. Hereinafter, the conversion calculation method of this embodiment will be described with reference to FIG. In this embodiment, it is assumed that m is a positive integer satisfying 1≡m mod 3.

まず、第1実施形態で説明したステップS101〜S107の処理が実行される。次に、有限体演算部309に、ステップS105でTr(t)=0を満たすと判定されたtと、それに対応するステップS107で得られたC(t)とが入力され、有限体演算部309は、これらを用い、x=t-C(t)3+C(t)∈GF(3m)の演算を行う(ステップS308/式(58)参照)。なお、C(t)3∈GF(3m)は、有限体GF(3m)の元u∈GF(3m)を元u3∈GF(3m)へ写像する3乗フロベニウス写像によって計算できる。 First, the processes of steps S101 to S107 described in the first embodiment are executed. Next, t determined to satisfy Tr (t) = 0 in step S105 and C (t) obtained in step S107 corresponding thereto are input to the finite field calculation unit 309, and the finite field calculation unit In step 309, these are used to calculate x = tC (t) 3 + C (t) εGF (3 m ) (see step S308 / formula (58)). Incidentally, C (t) 3 ∈GF ( 3 m) is calculated by the third power Frobenius map that maps original u∈GF of a finite field GF (3 m) and (3 m) to the original u 3 ∈GF (3 m) it can.

次に、出力部110が、ステップS308で得られたx∈GF(3m)と、ステップS105でTr(t)=0を満たすと判定されたtを算出するためにステップS104で用いられた元y∈GF(3m)とを出力する(ステップS109)。 Next, the output unit 110 was used in step S104 to calculate xεGF (3 m ) obtained in step S308 and t determined to satisfy Tr (t) = 0 in step S105. The element yεGF (3 m ) is output (step S109).

<本形態の特徴>
mが1≡m mod 3を満たす正の整数である場合に、本形態の処理を行うことにより、任意のビット列ID∈{0,1}*を、標数3の有限体GF(3m)上で定義された楕円曲線y2=x3-x+b上の点(x,y)に変換することができ、その演算コストは非特許文献2の方法よりも低い。
<Features of this embodiment>
When m is a positive integer satisfying 1≡m mod 3, by performing the processing of this embodiment, an arbitrary bit string ID∈ {0,1} * is converted into a finite field GF (3 m ) of characteristic 3 It can be converted into a point (x, y) on the elliptic curve y 2 = x 3 −x + b defined above, and its calculation cost is lower than the method of Non-Patent Document 2.

具体的には、非特許文献2の方法で必要な有限体GF(3m)上の乗算回数はν+hw(k)回であり、3乗算回数はm-1回である。これに対し、本形態の方法で必要な有限体GF(3m)上の乗算回数は1回であり、3乗算回数はm回である。このように、本形態の方法では、演算コストが大きい乗算の回数を非特許文献2の方法に比べて大幅に削減できる。なお、前述のように、3乗算は3乗フロベニウス写像を用いることで小さな演算コストで計算できる。また、非特許文献2の方法ではmの値が大きくなるほど乗算回数が増加するが、本形態の方法はmの値に拘わらず1回である。そのため、従来の非特許文献2の方法では、楕円曲線y2=x3-x+b上で構成される楕円曲線暗号の安全性を向上させるためにmの値を大きくするほど乗算回数が増加するのに対し、本形態の方法では乗算回数が増加しない。 Specifically, the number of multiplications on the finite field GF (3 m ) required by the method of Non-Patent Document 2 is ν + hw (k) times, and the number of 3 multiplications is m−1. On the other hand, the number of multiplications on the finite field GF (3 m ) required by the method of this embodiment is 1, and the number of multiplications is 3 times. As described above, in the method according to the present embodiment, the number of multiplications with a high calculation cost can be significantly reduced as compared with the method of Non-Patent Document 2. As described previously, 3 multiplications can be calculated with a small calculation cost by using 3 n-th power Frobenius map. In the method of Non-Patent Document 2, the number of multiplications increases as the value of m increases, but the method of this embodiment is one time regardless of the value of m. Therefore, in the conventional method of Non-Patent Document 2, the number of multiplications increases as the value of m is increased in order to improve the security of the elliptic curve cryptosystem configured on the elliptic curve y 2 = x 3 -x + b. On the other hand, the number of multiplications does not increase in the method of this embodiment.

〔第4実施形態〕
次に、本発明の第4実施形態を説明する。
本形態は、第1,3実施形態の組み合わせであり、mが正の整数である場合に、式(58)又は式(37)を用い、任意のビット列ID∈{0,1}*を、標数3の有限体GF(3m)上で定義された楕円曲線y2=x3-x+b上の点(x,y)に変換する形態である。なお、以下では、第1実施形態との相違点を中心に説明し、第1実施形態と共通する事項については説明を省略する。
[Fourth Embodiment]
Next, a fourth embodiment of the present invention will be described.
This embodiment is a combination of the first and third embodiments, and when m is a positive integer, using Equation (58) or Equation (37), an arbitrary bit string IDε {0,1} * is This is a form of conversion to a point (x, y) on an elliptic curve y 2 = x 3 −x + b defined on a finite field GF (3 m ) of characteristic 3. In the following description, differences from the first embodiment will be mainly described, and description of matters common to the first embodiment will be omitted.

<構成>
図7は、第4実施形態の変換演算装置4の機能構成を説明するためのブロック図である。
図7に示すように、本形態の変換演算装置4は、制御部101、一時メモリ102、入力部103、記憶部104、変換部105、有限体演算部106(「第1有限体演算部」に相当)、演算制御部107、1/3トレース写像演算部108、有限体演算部109,409(「第2有限体演算部」に相当)、条件分岐部411、及び出力部110を有する。
<Configuration>
FIG. 7 is a block diagram for explaining a functional configuration of the conversion operation device 4 according to the fourth embodiment.
As shown in FIG. 7, the conversion calculation device 4 of this embodiment includes a control unit 101, a temporary memory 102, an input unit 103, a storage unit 104, a conversion unit 105, a finite field calculation unit 106 (“first finite field calculation unit”). ), A control unit 107, a 1/3 trace mapping calculation unit 108, a finite field calculation unit 109, 409 (corresponding to a “second finite field calculation unit”), a conditional branching unit 411, and an output unit 110.

変換演算装置4は、CPU,RAM,ROM等を有する公知のコンピュータに所定のプログラムが読み込まれ、CPUがこれを実行することによって構成される。例えば、有限体演算部409及び条件分岐部411は、CPUに所定のプログラムが読み込まれて構成される処理部である。なお、変換演算装置4は、制御部101の制御のもと各処理を実行する。また、各演算処理で生成されたデータは、逐一、一時メモリ102に格納され、その他の演算処理の際に読み出されて利用される。   The conversion operation device 4 is configured by reading a predetermined program into a known computer having a CPU, a RAM, a ROM, and the like, and executing it by the CPU. For example, the finite field operation unit 409 and the conditional branching unit 411 are processing units configured by reading a predetermined program into the CPU. Note that the conversion arithmetic device 4 executes each process under the control of the control unit 101. In addition, data generated in each arithmetic process is stored in the temporary memory 102 one by one, and read and used in other arithmetic processes.

<変換演算方法>
次に、本形態の変換演算方法を説明する。
図8は、第4実施形態の変換演算方法を説明するためのフローチャートである。以下、この図を用いて本形態の変換演算方法を説明する。本形態では、mが正の整数であることを前提にする。
<Conversion operation method>
Next, the conversion calculation method of this embodiment will be described.
FIG. 8 is a flowchart for explaining the conversion calculation method of the fourth embodiment. Hereinafter, the conversion calculation method of this embodiment will be described with reference to FIG. In this embodiment, it is assumed that m is a positive integer.

まず、入力部103に任意のビット列ID∈{0,1}*とmと入力され、記憶部104に格納される(ステップS401)。次に、制御部101がw=0とし、wを一時メモリ102に格納する(ステップS102)。次に、変換部105が、記憶部104からビット列ID∈{0,1}*とmを読み出し、一時メモリ102からwを読み出し、記憶部104から読み出したビット列ID∈{0,1}*を有限体GF(3m)の元y=G(ID)+w ∈GF(3m)に変換する(ステップS403)。 First, an arbitrary bit string IDε {0,1} * and m are input to the input unit 103 and stored in the storage unit 104 (step S401). Next, the control unit 101 sets w = 0 and stores w in the temporary memory 102 (step S102). Next, the conversion unit 105 reads the bit string IDε {0,1} * and m from the storage unit 104, reads w from the temporary memory 102, and sets the read bit string IDε {0,1} * from the storage unit 104. converting the original y = G of finite GF (3 m) (ID) + w ∈GF (3 m) ( step S403).

次に、有限体演算部106にステップS403で得られた元y∈GF(3m)とmが入力され、有限体演算部106は、この元y∈GF(3m)を用い、t=y2-b∈GF(3m)の演算を行う(ステップS404)。次に、演算制御部107に、ステップS404で生成されたt∈GF(3m)とmが入力され、式(23)に示したトレース写像Tr(t)を計算し、Tr(t)=0を満たすか否かを判定する(ステップS405)。 Next, the element yεGF (3 m ) and m obtained in step S403 are input to the finite field calculation unit 106, and the finite field calculation unit 106 uses the element yεGF (3 m ) and t = Calculation of y 2 -bεGF (3 m ) is performed (step S404). Next, tεGF (3 m ) and m generated in step S404 are input to the arithmetic control unit 107, the trace mapping Tr (t) shown in the equation (23) is calculated, and Tr (t) = It is determined whether or not 0 is satisfied (step S405).

ここで、Tr(t)=0を満たさないと判定された場合、演算制御部107は、ステップS403における変換方法を変更してステップS403〜S405の各処理を再び実行させる。本形態の例では、演算制御部107が一時メモリ102から読み出したwからw+1を求め、求めたw+1を新たなwとして一時メモリ102に格納し、処理をステップS403に戻す(ステップS106)。   Here, when it is determined that Tr (t) = 0 is not satisfied, the arithmetic control unit 107 changes the conversion method in step S403 and causes the processes in steps S403 to S405 to be executed again. In the example of this embodiment, the arithmetic control unit 107 obtains w + 1 from w read from the temporary memory 102, stores the obtained w + 1 as new w in the temporary memory 102, and returns the process to step S403 (step S403). S106).

一方、ステップS405においてTr(t)=0を満たすと判定された場合、Tr(t)=0を満たすと判定されたtとmが1/3トレース写像演算部108に入力される。1/3トレース写像演算部108は、ステップS405でTr(t)=0を満たすと判定されたtとmを用い、式(28)に示した1/3トレース写像の演算を行ってC(t)∈GF(3m)を求める(ステップS407)。1/3トレース写像演算部108は、有限体GF(3m)の元u∈GF(3m)を元us∈GF(3m)(s=3n,nは1以上の整数)へ写像する3乗フロベニウス写像と、有限体GF(3m)上での加算のみによってC(t)∈GF(3m)を計算できる。次に、有限体演算部109にステップS107で得られたC(t)とmが入力され、有限体演算部109は、これらを用い、x=C(t)3-C(t)∈GF(3m)の演算を行う(ステップS408/式(37)参照)。なお、C(t)3∈GF(3m)は、有限体GF(3m)の元u∈GF(3m)を元u3∈GF(3m)へ写像する3乗フロベニウス写像によって計算できる。 On the other hand, if it is determined in step S405 that Tr (t) = 0 is satisfied, t and m determined to satisfy Tr (t) = 0 are input to the 1/3 trace mapping operation unit 108. The 1/3 trace map calculation unit 108 performs the calculation of the 1/3 trace map shown in Expression (28) using t and m determined to satisfy Tr (t) = 0 in step S405 to obtain C ( t) ∈ GF (3 m ) is obtained (step S407). The 1/3 trace mapping operation unit 108 converts the element u∈GF (3 m ) of the finite field GF (3 m ) into the element u s ∈GF (3 m ) (s = 3 n , where n is an integer of 1 or more). 3 and n-th power Frobenius map to map, only by addition of the above finite GF (3 m) can be calculated C (t) ∈GF (3 m ). Next, C (t) and m obtained in step S107 are input to the finite field calculation unit 109, and the finite field calculation unit 109 uses them to obtain x = C (t) 3 −C (t) ∈GF. (3 m ) is calculated (see step S408 / formula (37)). Incidentally, C (t) 3 ∈GF ( 3 m) is calculated by the third power Frobenius map that maps original u∈GF of a finite field GF (3 m) and (3 m) to the original u 3 ∈GF (3 m) it can.

次に、条件分岐部411に、ステップS408で得られたxとmとが入力され、条件分岐部411が1≡m mod 3を満たすか否かを判定する(ステップS409)。ここで、1≡m mod 3を満たさないと判定された場合、次に、出力部110が、ステップS408で得られたx∈GF(3m)と、ステップS405でTr(t)=0を満たすと判定されたtを算出するためにステップS404で用いられた元y∈GF(3m)とを出力する(ステップS109)。 Next, x and m obtained in step S408 are input to the conditional branching unit 411, and it is determined whether or not the conditional branching unit 411 satisfies 1≡m mod 3 (step S409). If it is determined that 1≡m mod 3 is not satisfied, the output unit 110 then sets x∈GF (3 m ) obtained in step S408 and Tr (t) = 0 in step S405. The element yεGF (3 m ) used in step S404 for calculating t determined to satisfy is output (step S109).

一方、1≡m mod 3を満たすと判定された場合、有限体演算部409にステップS408で得られたxとmとが入力され、有限体演算部409がt-x∈GF(3m)の演算を行い、その演算結果を新たなx∈GF(3m)とする(ステップS410)。そして、出力部110が、ステップS410で得られたx∈GF(3m)と、ステップS405でTr(t)=0を満たすと判定されたtを算出するためにステップS404で用いられた元y∈GF(3m)とを出力する(ステップS109)。 On the other hand, if it is determined that 1≡m mod 3 is satisfied, x and m obtained in step S408 are input to the finite field calculation unit 409, and the finite field calculation unit 409 calculates tx∈GF (3 m ). And the operation result is set as a new xεGF (3 m ) (step S410). Then, the output unit 110 uses x∈GF (3 m ) obtained in step S410 and the element used in step S404 to calculate t determined to satisfy Tr (t) = 0 in step S405. yεGF (3 m ) is output (step S109).

<本形態の特徴>
mが1≡m mod 3又は2≡m mod 3を満たす正の整数である場合に、本形態の処理を行うことにより、任意のビット列ID∈{0,1}*を、標数3の有限体GF(3m)上で定義された楕円曲線y2=x3-x+b上の点(x,y)に変換することができ、その演算コストは非特許文献2の方法よりも低い。
<Features of this embodiment>
When m is a positive integer satisfying 1≡m mod 3 or 2≡m mod 3, by performing the processing of this embodiment, an arbitrary bit string ID∈ {0,1} * is converted into a finite characteristic 3 It can be converted to a point (x, y) on an elliptic curve y 2 = x 3 −x + b defined on the field GF (3 m ), and its calculation cost is lower than the method of Non-Patent Document 2. .

なお、本形態では、第1,3実施形態を組み合わせ、1≡m mod 3を満たすか否かによって、第3実施形態の方法(1≡m mod 3の場合)又は第1実施形態の方法(2≡m mod 3の場合)をとることとした。しかし、第1,2実施形態を組み合わせ、1≡m mod 3を満たすか否かによって、第2実施形態の方法(1≡m mod 3の場合)又は第1実施形態の方法(2≡m mod 3の場合)をとることにしてもよい。   In this embodiment, the method of the third embodiment (in the case of 1≡m mod 3) or the method of the first embodiment (in the case of 1≡m mod 3) depending on whether 1≡m mod 3 is satisfied by combining the first and third embodiments. 2≡m mod 3). However, depending on whether 1≡m mod 3 is satisfied by combining the first and second embodiments, the method of the second embodiment (in the case of 1≡m mod 3) or the method of the first embodiment (2≡m mod (Case 3) may be taken.

〔シミュレーション結果〕
次に、シミュレーション結果を示す。以下では、第4実施形態で説明した方法の演算時間を例示する。
〔simulation result〕
Next, simulation results are shown. Below, the calculation time of the method demonstrated in 4th Embodiment is illustrated.

表1は、各m=97,167,193,239,353,509の有限体GF(3m)上での各演算時間(μsec)を示している。ここで、加算,乗算,3乗算に対応する各演算時間は、それぞれ、有限体GF(3m)上での加算,乗算,3乗算の各1回分の演算時間を示す。なお、3乗算は3乗フロベニウス写像を用いた演算である。また、従来法に対応する各演算時間は、非特許文献2の方法で任意のビット列を有限体GF(3m)上で定義された楕円曲線y2=x3-x+b上の点(x,y)に変換するための演算時間を示す。また、提案法に対応する各演算時間は、第4実施形態で説明した方法で任意のビット列を有限体GF(3m)上で定義された楕円曲線y2=x3-x+b上の点(x,y)に変換するための演算時間を示す。また、用いた次数mと既約多項式f(x)=xm+xτ+2は、(m,τ)={(97,12),(167,96),(193,12),(239,24),(353,142),(509,358)}であり、それらの根x∈GF(3m)を用いて前述のように各基底(δi=xi)を定めた。また、本実装には、C言語,GCC4.2.2-03オプションを用い、計算時間の測定には、AMD Opteron processor(2.2 GHz)をLinux/x86_64上で動作させた。また、表1の各演算時間は、各演算を1,000,000回以上行ってその平均を求めたものである。実装にはSSEなどの拡張命令は使用していない。表1に示すように、提案法は、どの次数においても従来法よりも1.5倍程度高速に変換演算ができることが分かる。 Table 1 shows each calculation time (μsec) on the finite field GF (3 m ) of m = 97,167,193,239,353,509. Here, each operation time corresponding to addition, multiplication, and 3 multiplication indicates an operation time for each of addition, multiplication, and 3 multiplication on the finite field GF (3 m ). The three multiplication is a calculation using the 3 n-th power Frobenius map. In addition, each computation time corresponding to the conventional method is obtained by calculating a point on an elliptic curve y 2 = x 3 −x + b defined on a finite field GF (3 m ) by the method of Non-Patent Document 2 ( The calculation time for converting to x, y) is shown. In addition, each computation time corresponding to the proposed method is calculated on an elliptic curve y 2 = x 3 -x + b in which an arbitrary bit string is defined on the finite field GF (3 m ) by the method described in the fourth embodiment. The calculation time for converting to the point (x, y) is shown. The order m and the irreducible polynomial f (x) = x m + x τ +2 are (m, τ) = {(97,12), (167,96), (193,12), ( 239, 24), (353, 142), (509, 358)}, and the respective bases (δ i = x i ) are determined as described above using their roots x∈GF (3 m ). In addition, C language and GCC4.2.2-03 option were used for this implementation, and AMD Opteron processor (2.2 GHz) was operated on Linux / x86_64 to measure the calculation time. Each calculation time in Table 1 is the average of each calculation performed 1,000,000 times or more. Implementation does not use extension instructions such as SSE. As shown in Table 1, it can be seen that the proposed method can perform a conversion operation about 1.5 times faster than the conventional method in any order.

〔その他の変形例等〕
なお、本発明は上述の実施の形態に限定されるものではない。例えば、上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
[Other variations, etc.]
The present invention is not limited to the embodiment described above. For example, the various processes described above are not only executed in time series according to the description, but may also be executed in parallel or individually as required by the processing capability of the apparatus that executes the processes. Needless to say, other modifications are possible without departing from the spirit of the present invention.

また、上述の構成をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。
Further, when the above-described configuration is realized by a computer, processing contents of functions that each device should have are described by a program. The processing functions are realized on the computer by executing the program on the computer.
The program describing the processing contents can be recorded on a computer-readable recording medium. As the computer-readable recording medium, for example, any recording medium such as a magnetic recording device, an optical disk, a magneto-optical recording medium, and a semiconductor memory may be used.

また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD−ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。   The program is distributed by selling, transferring, or lending a portable recording medium such as a DVD or CD-ROM in which the program is recorded. Furthermore, the program may be distributed by storing the program in a storage device of the server computer and transferring the program from the server computer to another computer via a network.

このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。   A computer that executes such a program first stores, for example, a program recorded on a portable recording medium or a program transferred from a server computer in its own storage device. When executing the process, the computer reads a program stored in its own recording medium and executes a process according to the read program. As another execution form of the program, the computer may directly read the program from a portable recording medium and execute processing according to the program, and the program is transferred from the server computer to the computer. Each time, the processing according to the received program may be executed sequentially. Also, the program is not transferred from the server computer to the computer, and the above-described processing is executed by a so-called ASP (Application Service Provider) type service that realizes the processing function only by the execution instruction and result acquisition. It is good. Note that the program in this embodiment includes information that is used for processing by an electronic computer and that conforms to the program (data that is not a direct command to the computer but has a property that defines the processing of the computer).

また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。   In this embodiment, the present apparatus is configured by executing a predetermined program on a computer. However, at least a part of these processing contents may be realized by hardware.

本発明の利用分野としては、例えば、楕円曲線上のペアリング演算を利用するIDベース暗号分野やその他の楕円曲線分野も例示できる。   As an application field of the present invention, for example, an ID-based encryption field using a pairing operation on an elliptic curve and other elliptic curve fields can be exemplified.

1〜4 変換演算装置   1-4 conversion operation device

Claims (10)

任意のビット列を、標数3の有限体GF(3m)上で定義された楕円曲線y2=x3-x+b上の点(x,y)に変換する変換演算装置であって、前記mが2≡m mod 3を満たす正の整数であり、
任意のビット列を格納する記憶部と、
前記記憶部から読み出した前記ビット列を有限体GF(3m)の元y∈GF(3m)に変換する変換部と、
前記変換部で得られた元y∈GF(3m)を用い、t=y2-b∈GF(3m)の演算を行う第1有限体演算部と、
前記第1有限体演算部で得られたtを用い、

の演算を行う1/3トレース写像演算部と、
前記1/3トレース写像演算部で得られたC(t)を用い、x=C(t)3-C(t)∈GF(3m)の演算を行う第2有限体演算部と、
前記第2有限体演算部で得られたxと、前記変換部で得られた元yとを出力する出力部と、を有し、
前記1/3トレース写像演算部で用いられるtは、
を満たし、
前記出力部で出力される元yは、Tr(y2-b)=0を満たす、
ことを特徴とする変換演算装置。
A conversion arithmetic device that converts an arbitrary bit string to a point (x, y) on an elliptic curve y 2 = x 3 -x + b defined on a finite field GF (3 m ) of characteristic 3, M is a positive integer satisfying 2≡m mod 3,
A storage unit for storing an arbitrary bit string;
A conversion unit that converts the bit string read from the storage unit into an element y∈GF (3 m ) of a finite field GF (3 m );
Using the original y∈GF (3 m) obtained by the conversion unit, and a first finite field arithmetic unit for performing calculation of t = y 2 -b∈GF (3 m ),
Using t obtained by the first finite field calculation unit,

A 1/3 trace mapping operation unit that performs the operation of
A second finite field operation unit that performs an operation of x = C (t) 3 −C (t) ∈GF (3 m ) using C (t) obtained by the 1/3 trace mapping operation unit;
An output unit that outputs x obtained by the second finite field computation unit and an element y obtained by the conversion unit;
T used in the 1/3 trace mapping operation unit is
The filling,
The element y output at the output unit satisfies Tr (y 2 -b) = 0.
A conversion operation device characterized by that.
任意のビット列を、標数3の有限体GF(3m)上で定義された楕円曲線y2=x3-x+b上の点(x,y)に変換する変換演算装置であって、前記mが1≡m mod 3を満たす正の整数であり、
任意のビット列を格納する記憶部と、
前記記憶部から読み出した前記ビット列を有限体GF(3m)の元y∈GF(3m)に変換する変換部と、
前記変換部で得られた元yを用い、t=y2-b∈GF(3m)の演算を行う第1有限体演算部と、
前記第1有限体演算部で得られたtを用い、
の演算を行う1/3トレース写像演算部と、
前記第1有限体演算部で得られたtと、それに対応するC(t)とを用い、x=t-C(t)3+C(t)∈GF(3m)の演算を行う第2有限体演算部と、
前記第2有限体演算部で得られたxと、前記変換部で得られた元yとを出力する出力部と、を有し、
前記1/3トレース写像演算部で用いられるtは、
を満たし、
前記出力部で出力される元yは、Tr(y2-b)=0を満たす、
ことを特徴とする変換演算装置。
A conversion arithmetic device that converts an arbitrary bit string to a point (x, y) on an elliptic curve y 2 = x 3 -x + b defined on a finite field GF (3 m ) of characteristic 3, M is a positive integer satisfying 1≡m mod 3;
A storage unit for storing an arbitrary bit string;
A conversion unit that converts the bit string read from the storage unit into an element y∈GF (3 m ) of a finite field GF (3 m );
A first finite field operation unit that performs an operation of t = y 2 −b∈GF (3 m ) using the element y obtained by the conversion unit;
Using t obtained by the first finite field calculation unit,
A 1/3 trace mapping operation unit that performs the operation of
A second finite element that calculates x = tC (t) 3 + C (t) ∈GF (3 m ) using t obtained by the first finite field arithmetic unit and C (t) corresponding thereto. A field calculator,
An output unit that outputs x obtained by the second finite field computation unit and an element y obtained by the conversion unit;
T used in the 1/3 trace mapping operation unit is
The filling,
The element y output at the output unit satisfies Tr (y 2 -b) = 0.
A conversion operation device characterized by that.
請求項1又は2の変換演算装置であって、
前記1/3トレース写像演算部、及び前記第2有限体演算部の少なくとも一方は、
有限体GF(3m)の元u∈GF(3m)を元us∈GF(3m)(s=3n,nは1以上の整数)へ写像する3乗フロベニウス写像と、有限体GF(3m)上での加算とを行う演算部である、
ことを特徴とする変換演算装置。
The conversion arithmetic device according to claim 1 or 2,
At least one of the 1/3 trace mapping operation unit and the second finite field operation unit is:
A 3n- th power Frobenius map that maps an element u∈GF (3 m ) of a finite field GF (3 m ) to an element u s ∈GF (3 m ) (s = 3 n , where n is an integer greater than or equal to 1); An arithmetic unit that performs addition on the field GF (3 m ),
A conversion operation device characterized by that.
任意のビット列を、標数3の有限体GF(3m)上で定義された楕円曲線y2=x3-x+b上の点(x,y)に変換する変換演算装置であって、前記mが1≡m mod 3を満たす正の整数であり、
任意のビット列を格納する記憶部と、
前記記憶部から読み出した前記ビット列を有限体GF(3m)の元y∈GF(3m)に変換する変換部と、
前記変換部での変換で得られた元y∈GF(3m)を用い、t=y2-b∈GF(3m)の演算を行う第1有限体演算部と、
前記第1有限体演算部で得られたtを用い、
の演算を行う1/2トレース写像演算部と、
前記1/2トレース写像演算部で得られたH(t)を用い、
の演算を行う1/3トレース写像演算部と、
前記1/3トレース写像演算部で得られたC(H(t))を用い、x=C(H(t))3-C(H(t))∈GF(3m)の演算を行う第2有限体演算部と、
前記第2有限体演算部で得られたxと、前記変換部で得られた元yとを出力する出力部と、を有し、
前記1/2トレース写像演算部で用いられるtは、
を満たし、
前記出力部で出力される元yは、Tr(y2-b)=0を満たす、
ことを特徴とする変換演算装置。
A conversion arithmetic device that converts an arbitrary bit string to a point (x, y) on an elliptic curve y 2 = x 3 -x + b defined on a finite field GF (3 m ) of characteristic 3, M is a positive integer satisfying 1≡m mod 3;
A storage unit for storing an arbitrary bit string;
A conversion unit that converts the bit string read from the storage unit into an element y∈GF (3 m ) of a finite field GF (3 m );
Using the original y∈GF obtained by conversion by the conversion unit (3 m), a first finite field arithmetic unit for performing calculation of t = y 2 -b∈GF (3 m ),
Using t obtained by the first finite field calculation unit,
A 1/2 trace mapping calculation unit for performing the calculation of
Using H (t) obtained by the 1/2 trace mapping operation unit,
A 1/3 trace mapping operation unit that performs the operation of
Using C (H (t)) obtained by the 1/3 trace mapping operation unit, calculation of x = C (H (t)) 3 -C (H (t)) ∈GF (3 m ) is performed. A second finite field arithmetic unit;
An output unit that outputs x obtained by the second finite field computation unit and an element y obtained by the conversion unit;
T used in the 1/2 trace mapping operation unit is:
The filling,
The element y output at the output unit satisfies Tr (y 2 -b) = 0.
A conversion operation device characterized by that.
請求項4の変換演算装置であって、
前記1/2トレース写像演算部、前記1/3トレース写像演算部、及び前記第2有限体演算部の少なくとも一部は、
有限体GF(3m)の元u∈GF(3m)を元us∈GF(3m)(s=3n,nは1以上の整数)へ写像する3乗フロベニウス写像と、有限体GF(3m)上での加算とを行う演算部である、
ことを特徴とする変換演算装置。
The conversion arithmetic device according to claim 4,
At least a part of the 1/2 trace mapping operation unit, the 1/3 trace mapping operation unit, and the second finite field operation unit are:
A 3n- th power Frobenius map that maps an element u∈GF (3 m ) of a finite field GF (3 m ) to an element u s ∈GF (3 m ) (s = 3 n , where n is an integer greater than or equal to 1); An arithmetic unit that performs addition on the field GF (3 m ),
A conversion operation device characterized by that.
任意のビット列を、標数3の有限体GF(3m)上で定義された楕円曲線y2=x3-x+b上の点(x,y)に変換する変換演算方法であって、前記mが2≡m mod 3を満たす正の整数であり、
(a) 変換部が、記憶部から読み出したビット列を有限体GF(3m)の元y∈GF(3m)に変換するステップと、
(b) 第1有限体演算部が、前記ステップ(a)で得られた元y∈GF(3m)を用い、t=y2-b∈GF(3m)の演算を行うステップと、
(c) 演算制御部が、ステップ(b)で得られたtが
を満たすか否かを判定し、満たさない場合に前記ステップ(a)における変換方法を変更して前記ステップ(a)(b)を再び実行させるステップと、
(d) 1/3トレース写像演算部が、前記ステップ(c)でTr(t)=0を満たすと判定されたtを用い、
の演算を行うステップと、
(e) 第2有限体演算部が、前記ステップ(d)で得られたC(t)を用い、x=C(t)3-C(t)∈GF(3m)の演算を行うステップと、
(f) 出力部が、前記ステップ(e)で得られたxと、前記ステップ(c)でTr(t)=0を満たすと判定されたtを算出するために前記ステップ(b)で用いられた元yとを出力するステップと、
を有する変換演算方法。
A conversion operation method for converting an arbitrary bit string to a point (x, y) on an elliptic curve y 2 = x 3 -x + b defined on a finite field GF (3 m ) of characteristic 3, M is a positive integer satisfying 2≡m mod 3,
(a) the conversion unit converts the bit string read from the storage unit into an element y∈GF (3 m ) of a finite field GF (3 m );
(b) first finite field calculation unit, using the original y∈GF obtained in step (a) (3 m), and performing the calculation of t = y 2 -b∈GF (3 m ),
(c) The calculation control unit determines that t obtained in step (b)
Determining whether or not, if not, changing the conversion method in the step (a) to re-execute the steps (a) and (b),
(d) The 1/3 trace mapping operation unit uses t determined to satisfy Tr (t) = 0 in step (c),
A step of performing the operation of
(e) A step in which the second finite field calculation unit calculates x = C (t) 3 −C (t) ∈GF (3 m ) using C (t) obtained in step (d). When,
(f) The output unit is used in step (b) to calculate x obtained in step (e) and t determined to satisfy Tr (t) = 0 in step (c). Outputting the generated element y, and
A conversion calculation method.
任意のビット列を、標数3の有限体GF(3m)上で定義された楕円曲線y2=x3-x+b上の点(x,y)に変換する変換演算方法であって、前記mが1≡m mod 3を満たす正の整数であり、
(a) 変換部が、記憶部から読み出したビット列を有限体GF(3m)の元y∈GF(3m)に変換するステップと、
(b) 第1有限体演算部が、前記ステップ(a)で得られた元y∈GF(3m)を用い、t=y2-b∈GF(3m)の演算を行うステップと、
(c) 演算制御部が、ステップ(b)で得られたtが
を満たすか否かを判定し、満たさない場合に前記ステップ(a)における変換方法を変更して前記ステップ(a)(b)を再び実行させるステップと、
(d) 1/3トレース写像演算部が、前記ステップ(c)でTr(t)=0を満たすと判定されたtを用い、
の演算を行うステップと、
(e) 第2有限体演算部が、前記ステップ(c)でTr(t)=0を満たすと判定されたtと、それに対応する前記ステップ(d)で得られたC(t)とを用い、x=t-C(t)3+C(t)∈GF(3m)の演算を行うステップと、
(f) 出力部が、前記ステップ(e)で得られたxと、前記ステップ(c)でTr(t)=0を満たすと判定されたtを算出するために前記ステップ(b)で用いられた元yとを出力するステップと、
を有する変換演算方法。
A conversion operation method for converting an arbitrary bit string to a point (x, y) on an elliptic curve y 2 = x 3 -x + b defined on a finite field GF (3 m ) of characteristic 3, M is a positive integer satisfying 1≡m mod 3;
(a) the conversion unit converts the bit string read from the storage unit into an element y∈GF (3 m ) of a finite field GF (3 m );
(b) first finite field calculation unit, using the original y∈GF obtained in step (a) (3 m), and performing the calculation of t = y 2 -b∈GF (3 m ),
(c) The calculation control unit determines that t obtained in step (b)
Determining whether or not, if not, changing the conversion method in the step (a) to re-execute the steps (a) and (b),
(d) The 1/3 trace mapping operation unit uses t determined to satisfy Tr (t) = 0 in step (c),
A step of performing the operation of
(e) The second finite field calculation unit calculates t determined to satisfy Tr (t) = 0 in step (c) and C (t) obtained in step (d) corresponding thereto. Using x = tC (t) 3 + C (t) ∈GF (3 m ), and
(f) The output unit is used in step (b) to calculate x obtained in step (e) and t determined to satisfy Tr (t) = 0 in step (c). Outputting the generated element y, and
A conversion calculation method.
任意のビット列を、標数3の有限体GF(3m)上で定義された楕円曲線y2=x3-x+b上の点(x,y)に変換する変換演算方法であって、前記mが1≡m mod 3を満たす正の整数であり、
(a) 変換部が、記憶部から読み出したビット列を有限体GF(3m)の元y∈GF(3m)に変換するステップと、
(b) 第1有限体演算部が、前記ステップ(a)で得られた元y∈GF(3m)を用い、t=y2-b∈GF(3m)の演算を行うステップと、
(c) 演算制御部が、ステップ(b)で得られたtが
を満たすか否かを判定し、満たさない場合に前記ステップ(a)における変換方法を変更して前記ステップ(a)(b)を再び実行させるステップと、
(d) 1/2トレース写像演算部が、前記ステップ(c)でTr(t)=0を満たすと判定されたtを用い、
の演算を行うステップと、
(e) 1/3トレース写像演算部が、前記ステップ(d)で得られたH(t)を用い、
の演算を行うステップと、
(f) 第2有限体演算部が、前記ステップ(e)で得られたC(H(t))を用い、x=C(H(t))3-C(H(t))∈GF(3m)の演算を行うステップと、
(g) 出力部が、前記ステップ(f)で得られたxと、前記ステップ(c)でTr(t)=0を満たすと判定されたtを算出するために前記ステップ(b)で用いられた元yとを出力するステップと、
を有する変換演算方法。
A conversion operation method for converting an arbitrary bit string to a point (x, y) on an elliptic curve y 2 = x 3 -x + b defined on a finite field GF (3 m ) of characteristic 3, M is a positive integer satisfying 1≡m mod 3;
(a) the conversion unit converts the bit string read from the storage unit into an element y∈GF (3 m ) of a finite field GF (3 m );
(b) first finite field calculation unit, using the original y∈GF obtained in step (a) (3 m), and performing the calculation of t = y 2 -b∈GF (3 m ),
(c) The calculation control unit determines that t obtained in step (b)
Determining whether or not, if not, changing the conversion method in the step (a) to re-execute the steps (a) and (b),
(d) The 1/2 trace mapping calculation unit uses t determined to satisfy Tr (t) = 0 in the step (c),
A step of performing the operation of
(e) The 1/3 trace map calculation unit uses H (t) obtained in step (d),
A step of performing the operation of
(f) The second finite field arithmetic unit uses C (H (t)) obtained in step (e), and x = C (H (t)) 3 −C (H (t)) ∈GF (3 m ) calculation step,
(g) The output unit is used in step (b) to calculate x obtained in step (f) and t determined to satisfy Tr (t) = 0 in step (c). Outputting the generated element y, and
A conversion calculation method.
請求項1から5の何れかの変換演算装置としてコンピュータを機能させるためのプログラム。   A program for causing a computer to function as the conversion operation device according to claim 1. 請求項9のプログラムを格納したコンピュータ読み取り可能な記録媒体。   A computer-readable recording medium storing the program according to claim 9.
JP2009007315A 2009-01-16 2009-01-16 Conversion operation device, method, program, and recording medium Expired - Fee Related JP5268066B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009007315A JP5268066B2 (en) 2009-01-16 2009-01-16 Conversion operation device, method, program, and recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009007315A JP5268066B2 (en) 2009-01-16 2009-01-16 Conversion operation device, method, program, and recording medium

Publications (2)

Publication Number Publication Date
JP2010164796A JP2010164796A (en) 2010-07-29
JP5268066B2 true JP5268066B2 (en) 2013-08-21

Family

ID=42581007

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009007315A Expired - Fee Related JP5268066B2 (en) 2009-01-16 2009-01-16 Conversion operation device, method, program, and recording medium

Country Status (1)

Country Link
JP (1) JP5268066B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2947404B1 (en) * 2009-06-30 2011-12-16 Sagem Securite CRYPTOGRAPHY BY PARAMETRISATION ON AN ELLIPTICAL CURVE
JP6040052B2 (en) * 2013-02-26 2016-12-07 日本電信電話株式会社 Pairing calculation device, pairing calculation method, and program

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7113594B2 (en) * 2001-08-13 2006-09-26 The Board Of Trustees Of The Leland Stanford University Systems and methods for identity-based encryption and related cryptographic techniques
US7499544B2 (en) * 2003-11-03 2009-03-03 Microsoft Corporation Use of isogenies for design of cryptosystems
JP2006178125A (en) * 2004-12-22 2006-07-06 Hitachi Ltd Elliptic curve tate pairing calculation method and apparatus
FR2941115B1 (en) * 2009-01-14 2011-02-25 Sagem Securite CODING POINTS OF AN ELLIPTICAL CURVE

Also Published As

Publication number Publication date
JP2010164796A (en) 2010-07-29

Similar Documents

Publication Publication Date Title
JP5337238B2 (en) Secret sharing system, distributed device, distributed management device, acquisition device, processing method thereof, secret sharing method, program, and recording medium
US8515060B2 (en) Encryption apparatus, decryption apparatus, encryption method, decryption method, security method, program, and recording medium
Moldovyan et al. A new hard problem over non-commutative finite groups for cryptographic protocols
Alsaidi et al. BITRU: binary version of the NTRU public key cryptosystem via binary algebra
WO2007080633A1 (en) Elliptical curve encryption parameter generation device, elliptical curve encryption calculation device, elliptical curve encryption parameter generation program, and elliptical curve encryption calculation program
JP5562284B2 (en) Re-encryption system, re-encryption device, capability providing device, re-encryption method, capability provision method, and program
Peng et al. An improved analysis on three variants of the RSA cryptosystem
Yassein et al. A comparative performance analysis of NTRU and its variant cryptosystems
Lee et al. Anonymous HIBE with short ciphertexts: full security in prime order groups
Mittal et al. A quantum secure ID-based cryptographic encryption based on group rings
JP2010160235A (en) Retrieval system, terminal device, database device, retrieval method, and program
JP5268066B2 (en) Conversion operation device, method, program, and recording medium
JP5596616B2 (en) Information providing system, mediating apparatus, mediating method, information providing method, and program
Xiong et al. TinyPairing: computing tate pairing on sensor nodes with higher speed and less memory
JP4836208B2 (en) Encryption / decryption program, encryption / decryption device, and multiplication device for expansion field
JP4752176B2 (en) Unidirectional function calculation method, apparatus and program
Shende et al. Fast cryptanalysis of RSA encrypted data using a combination of mathematical and brute force attack in distributed computing environment
JP5506633B2 (en) Proxy calculation system, terminal device, proxy calculation device, proxy calculation method, and program
JP2006178125A (en) Elliptic curve tate pairing calculation method and apparatus
JP2010002662A (en) Recovery signature system, signature creating device, signature verification device, method for them and program
JP5038364B2 (en) Subgroup element determination method, apparatus and program
JP6777569B2 (en) Pairing arithmetic unit, pairing arithmetic method, and program
US8750499B2 (en) Cryptographic method using a non-supersingular elliptic curve E in characteristic 3
Oussama et al. Software implementation of pairing based cryptography on FPGA
Weerarathna et al. A novel cryptosystem using multipartite graphs

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110426

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20110426

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20111121

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20111121

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130423

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130430

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees