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
JP4960894B2 - Elliptic curve point compression device, elliptic curve point expansion device, method and program thereof - Google Patents
[go: Go Back, main page]

JP4960894B2 - Elliptic curve point compression device, elliptic curve point expansion device, method and program thereof - Google Patents

Elliptic curve point compression device, elliptic curve point expansion device, method and program thereof Download PDF

Info

Publication number
JP4960894B2
JP4960894B2 JP2008008227A JP2008008227A JP4960894B2 JP 4960894 B2 JP4960894 B2 JP 4960894B2 JP 2008008227 A JP2008008227 A JP 2008008227A JP 2008008227 A JP2008008227 A JP 2008008227A JP 4960894 B2 JP4960894 B2 JP 4960894B2
Authority
JP
Japan
Prior art keywords
point
compression
elliptic curve
order
information
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.)
Active
Application number
JP2008008227A
Other languages
Japanese (ja)
Other versions
JP2009169171A (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.)
NTT Inc
NTT Inc USA
Original Assignee
Nippon Telegraph and Telephone Corp
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, NTT Inc USA filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2008008227A priority Critical patent/JP4960894B2/en
Publication of JP2009169171A publication Critical patent/JP2009169171A/en
Application granted granted Critical
Publication of JP4960894B2 publication Critical patent/JP4960894B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

この発明は、情報セキュリティ技術に関するものである。特に、楕円曲線暗号において、部分体曲線である楕円曲線E(Fq^m)の点を特定するデータサイズを小さくする楕円曲線の点圧縮装置、楕円曲線の点展開装置、それらの方法及びプログラムに関する。 The present invention relates to information security technology. In particular, in elliptic curve cryptography, an elliptic curve point compression device, an elliptic curve point expansion device, a method and a program thereof for reducing the data size for specifying a point of an elliptic curve E (F q ^ m ) that is a partial body curve About.

標数qを素数又はその冪、拡大次数mを2以上の整数、a,b∈F、Oを無限遠点として、部分体曲線である楕円曲線E(Fq^m)={(x,y)∈Fq^m |y=x+ax+b}∪O上の点P=(X,Y)∈Fq^m を示すデータのビット数(データサイズとする。)は、2×m×logqである。有限体Fq^mの位数(元の個数)はqであるため、有限体Fq^mのある1つの元を表すデータサイズはlog=m×logqとなる。そして、点Pのx座標の値であるXと、点Pのy座標の値であるYとがそれぞれ有限体Fq^mの元であるため、点Pを特定するデータサイズは2×m×logqとなるのである。 A characteristic curve q is a prime number or a power thereof, an expansion order m is an integer of 2 or more, a, bεF q , and O is an infinite point, and an elliptic curve E (F q ^ m ) = {(x , Y) ∈ F q ^ m 2 | y 2 = x 3 + ax + b} ∪O The number of bits of data indicating the point P = (X, Y) ∈F q ^ m 2 (referred to as the data size) is 2 × m × log 2 q. For finite F q ^ m of order (the original number) is q m, the data size representing one source with finite F q ^ m is the log 2 q m = m × log 2 q. And since X which is the value of the x coordinate of the point P and Y which is the value of the y coordinate of the point P are elements of the finite field F q ^ m , the data size for specifying the point P is 2 × m Xlog 2 q.

楕円曲線E(Fq^m)上の点Pを特定するデータサイズを小さくする方法として、以下に述べる方法が知られている(例えば、非特許文献1参照。)。楕円曲線E(Fq^m)は、Xを楕円曲線E(Fq^m)上の任意の点のx座標の値として、直線x=Xと二点でのみ交わる。そして、楕円曲線E(Fq^m)は、x軸に対して線対称となっているため、楕円曲線E(Fq^m)と直線x=Xとが交わる2つの交点のうち、一方の交点のy座標の値が正となり、他方の交点のy座標の値が負となる。したがって、楕円曲線E(Fq^m)上の点のx座標の値とその点のy座標の値の正負のみがわかれば、その点を特定することが可能である。このため、y座標の正負を1ビットで表現することにより、楕円曲線E(Fq^m)上の点Pを特定するデータサイズをm×logq+1とすることができる。
イアン・F・ブラケ,ガディエル・セロッシ,ナイジェル・P・スマート,鈴木治郎訳,「楕円曲線暗号」,初版第1刷発行,株式会社ピアソン・エデュケーション,2001年12月20日,P79
As a method for reducing the data size for specifying the point P on the elliptic curve E (F q ^ m ), the following method is known (for example, see Non-Patent Document 1). Elliptic curve E (F q ^ m) is the X a as a value of x-coordinate of an arbitrary point on the elliptic curve E (F q ^ m), intersect only at the straight line x = X a and two points. Since the elliptic curve E (F q ^ m ) is line symmetric with respect to the x-axis, among the two intersections where the elliptic curve E (F q ^ m ) and the straight line x = X a intersect, The value of the y coordinate of one intersection is positive, and the value of the y coordinate of the other intersection is negative. Accordingly, if only the x-coordinate value of the point on the elliptic curve E (F q ^ m ) and the y-coordinate value of the point are known, the point can be specified. For this reason, the data size for specifying the point P on the elliptic curve E (F q ^ m ) can be set to m × log 2 q + 1 by expressing the positive / negative of the y coordinate with 1 bit.
Ian F. Brake, Gadiel Serrossi, Nigel P. Smart, translated by Jiro Suzuki, "Elliptic Curve Cryptography", first edition, first edition, Pearson Education, December 20, 2001, P79

非特許文献1に記載された技術においては、楕円曲線(Fq^m)上の点Pを特定する圧縮されたデータサイズが十分に小さくないという問題があった。 In the technique described in Non-Patent Document 1, there is a problem that the compressed data size for specifying the point P on the elliptic curve (F q ^ m ) is not sufficiently small.

この発明は、背景技術に記載された楕円曲線の点圧縮方法よりもデータサイズを小さくする楕円曲線の点圧縮装置、楕円曲線の点展開装置、それらの方法及びプログラムを提供することを目的とする。   It is an object of the present invention to provide an elliptic curve point compression device, an elliptic curve point expansion device, and a method and program thereof that reduce the data size compared to the elliptic curve point compression method described in the background art. .

標数qを素数又はその冪、mを拡大次数、a,b∈F、Oを無限遠点として、部分体曲線である楕円曲線E(Fq^m)={(x,y)∈Fq^m |y=x+ax+b}∪O上の点P∈Fq^m を圧縮して、点Pの圧縮情報を生成するために、まず、φをq乗フロベニウス写像として、点Pから、点φP,φP,…,φ(m1)P∈E(Fq^m)をそれぞれ求める。点P,φP,φP,…,φ(m1)Pを通る曲線の多項式の各項の係数λ,λ,…,λm−1∈Fを求める。点P,φP,φP,…,φ(m1)Pを予め定められた順序で並べた点列を生成する。点列における点Pの順序に
関する位置(以下、順序位置とする。)の情報(以下、順序位置情報mとする。)を決定する。点Pの圧縮情報は、順序位置情報mと係数λ,λ,…,λm−1とを含む。
An elliptic curve E (F q ^ m ) = {(x, y) ∈, where the characteristic q is a prime number or its power, m is an expansion order, a, b∈F q , and O is an infinite point. In order to compress the point PεF q ^ m 2 on F q ^ m 2 | y 2 = x 3 + ax + b} ∪O and generate the compression information of the point P, first, let φ be a qth power Frobenius map From the point P, the points φP, φ 2 P,..., Φ (m 1) P∈E (F q ^ m ) are obtained. Point P, φP, φ 2 P, ..., φ (m - 1) coefficient of each term of the polynomial curve passing through P λ 0, λ 2, ... , determine the λ m-1 ∈F q. A point sequence in which the points P, φP, φ 2 P,..., Φ (m 1) P are arranged in a predetermined order is generated. Position regarding the order of the point P in the point sequence (hereinafter referred to as sequence position.) Information (hereinafter referred to as sequence position information m P.) Determined. Compression information of the point P, the order position information m P and coefficient lambda 0, lambda 2, ..., and a λ m-1.

点P,φP,φP,…,φ(m1)Pを通る曲線の多項式の各項の係数λ,λ,…,λm−1∈Fを求める。点P,φP,φP,…,φ(m1)Pを通る曲線の多項式の各項の係数λ,λ,…,λm−1∈Fと、順序位置情報m(例えば、順序位置情報mは、1からmまでの整数)とを少なくとも圧縮情報とすることにより、圧縮情報のデータサイズを、最小で(m−1)×logq+logmとすることができる。 Point P, φP, φ 2 P, ..., φ (m - 1) coefficient of each term of the polynomial curve passing through P λ 0, λ 2, ... , determine the λ m-1 ∈F q. Point P, φP, φ 2 P, ..., φ (m - 1) coefficient of each term of the polynomial curve passing through P λ 0, λ 2, ... , λ m-1 ∈F q and the order position information m P (For example, the order position information m P is an integer from 1 to m) and at least the compression information, the data size of the compression information is at least (m−1) × log 2 q + log 2 m Can do.

[点圧縮装置]
本発明の点圧縮、点展開と対象となるのは、部分体曲線である楕円曲線E(Fq^m)上の有理点である。すなわち、標数qを素数又はその冪、mを拡大次数、a,b∈F、Oを無限遠点として、部分体曲線である楕円曲線E(Fq^m)={(x,y)∈Fq^m |y=x+ax+b}∪O上の点P∈Fq^m が、点圧縮、点展開の対象となる。さらにいうと、後述するように、部分体曲線である楕円曲線E(Fq^m)上の有理点の中でも、集合(φ−1)E(Fq^m)に含まれる点が点圧縮、点展開の対象となる。
[Point compression device]
What is subject to point compression and point expansion of the present invention is a rational point on an elliptic curve E (F q ^ m ) that is a partial body curve. That is, an elliptic curve E (F q ^ m ) = {(x, y), which is a partial field curve, where the characteristic q is a prime number or its power, m is an expansion order, a, bεF q , and O is an infinite point. ) ∈F q ^ m 2 | y 2 = x 3 + ax + b} ∪O, the point P∈F q ^ m 2 on the point is the target of point compression and point expansion. Furthermore, as will be described later, among the rational points on the elliptic curve E (F q ^ m ) that is a partial body curve, the points included in the set (φ−1) E (F q ^ m ) are point-compressed. , Subject to point expansion.

標数qと拡大次数mはそれぞれ、必要とされる安全性を確保することができる程度に十分大きな数であることが望ましい。また、安全性の観点から、4a+27b≠0の関係を満たすように、a,bを選択することが望ましい。以下、部分体曲線である楕円曲線E(Fq^m)を、単に楕円曲線E(Fq^m)とも呼ぶ。 It is desirable that the characteristic q and the expansion order m are sufficiently large so that the required safety can be ensured. From the viewpoint of safety, it is desirable to select a and b so as to satisfy the relationship of 4a 3 + 27b 2 ≠ 0. Hereinafter, the elliptic curve E (F q ^ m ) that is a partial body curve is also simply referred to as an elliptic curve E (F q ^ m ).

点圧縮、すなわち点を圧縮するとは、楕円曲線E(Fq^m)上の点を特定するデータサイズが小さい圧縮情報を生成することを意味する。点展開、すなわち、点を展開するとは、楕円曲線E(Fq^m)上の点を特定する圧縮情報を圧縮前のデータに戻すことを意味する。 Point compression, that is, compression of a point, means that compression information having a small data size for specifying a point on the elliptic curve E (F q ^ m ) is generated. Point expansion, that is, expansion of a point, means that compression information for specifying a point on the elliptic curve E (F q ^ m ) is returned to the data before compression.

図1と図2を参照して、点圧縮装置10について説明する。図1は点圧縮装置10の機能構成を例示する図であり、図2は点圧縮装置10の処理の流れを例示するフローチャートである。   The point compression apparatus 10 will be described with reference to FIGS. 1 and 2. FIG. 1 is a diagram illustrating a functional configuration of the point compression device 10, and FIG. 2 is a flowchart illustrating a process flow of the point compression device 10.

<ステップS1e>
楕円曲線E(Fq^m)上の点P∈Fq^m が、圧縮例外判定部11に入力される。圧縮例外判定部11は、点P∈(φ−1)E(Fq^m)であるかどうか、すなわち点Pが集合(φ−1)E(Fq^m)に含まれるかどうかを判定する。点圧縮装置10は、点P∈(φ−1)E(Fq^m)と判定された場合にはステップS2e以降の処理を行い、点P∈(φ−1)E(Fq^m)と判定されなかった場合にはステップS2e以降の処理を行わない。点P∈(φ−1)E(Fq^m)でない場合には、点圧縮をすることができるとは限らないため、また点圧縮をすることができたとしても点展開をすることができるとは限らないためである。
<Step S1e>
A point PεF q ^ m 2 on the elliptic curve E (F q ^ m ) is input to the compression exception determination unit 11. The compression exception determination unit 11 determines whether or not the point Pε (φ−1) E (F q ^ m ), that is, whether or not the point P is included in the set (φ−1) E (F q ^ m ). judge. When it is determined that the point Pε (φ−1) E (F q ^ m ), the point compression apparatus 10 performs the processing after step S2e, and the point Pε (φ−1) E (F q ^ m). ) Is not determined, the process after step S2e is not performed. If the point is not P∈ (φ−1) E (F q ^ m ), point compression is not always possible, and point expansion is possible even if point compression is possible. This is because it is not always possible.

φは、q乗フロベニウス写像であり、φ:(x,y)→(x,y)と定義される。φは、E(Fq^m)乗の自己準同型写像である。また、集合(φ−1)E(Fq^m)は、E(Fq^m)上のすべての点を写像(φ−1)により写した点がなす集合のことである。すなわち、E(Fq^m)上の点を点aとして、(φ−1)a(=φa−a)がなす集合のことである。 φ is a qth power Frobenius map and is defined as φ: (x, y) → (x q , y q ). φ is a self-homogeneous mapping of the power of E (F q ^ m ). The set (φ-1) E (F q ^ m ) is a set formed by points obtained by mapping all points on E (F q ^ m ) by mapping (φ-1). That is, it is a set formed by (φ−1) a (= φa−a) with a point on E (F q ^ m ) as a point a.

E(Fq^m)/E(F)が位数Lの巡回群であり、♯E(F)とLが互いに素であれば、E(Fq^m)[L]=(φ−1)E(Fq^m)である(後述する補題1参照)。したがって、E(Fq^m)/E(F)が位数Lの巡回群であり、♯E(F)とLが互いに素であれば、圧縮例外判定部11は、点P∈(φ−1)E(Fq^m)であるかどうかの代わりに、点P∈E(Fq^m)[L]であるかどうかを判定してもよい。♯aはaの位数を表し、a[b]は、aに含まれる点のうちb倍したら無限遠点Oになる点の集合を表す。 If E (F q ^ m ) / E (F q ) is a cyclic group of order L and #E (F q ) and L are relatively prime, E (F q ^ m ) [L] = ( φ−1) E (F q ^ m ) (see Lemma 1 described later). Therefore, if E (F q ^ m ) / E (F q ) is a cyclic group of order L and #E (F q ) and L are relatively prime, the compression exception determination unit 11 determines that the point P∈ (Φ-1) Instead of whether or not E (F q ^ m ), it may be determined whether or not the point PεE (F q ^ m ) [L]. #A represents the order of a, and a [b] represents a set of points that become an infinite point O when multiplied by b among points included in a.

<ステップS2e>
圧縮交点生成部12は、入力された楕円曲線E(Fq^m)上の点P∈Fq^m を基にして、点φP,φP,…,φ(m−1)Pをそれぞれ求める。点Pと求まった点とは、係数生成部13、圧縮並替部14に送られる。
<Step S2e>
The compression intersection generation unit 12 generates points φP, φ 2 P,..., Φ (m−1) P based on the points P∈F q ^ m 2 on the input elliptic curve E (F q ^ m ). For each. The point P and the obtained point are sent to the coefficient generation unit 13 and the compression rearrangement unit 14.

なお、点P∈F であればφP=Pであり、その対偶を取って、φP=Pでなければ点P∈F ではない。ここで、(φ−1)E(Fq^m)は、φa=aとならないような点a∈E(Fq^m)の集合である。したがって、点P∈(φ−1)E(Fq^m)であれば、φP=Pではないため、点P∈F でない。したがって、体の基本的な性質を考慮すると、点P∈(φ−1)E(Fq^m)であれば、点P,φP,φP,…,φ(m−1)Pはすべて異なる。 Note that if the point PεF q 2 , φP = P, and taking the even number, if φP = P, it is not the point PεF q 2 . Here, (φ−1) E (F q ^ m ) is a set of points a∈E (F q ^ m ) that does not satisfy φa = a. Therefore, if the point Pε (φ−1) E (F q ^ m ), since it is not φP = P, it is not the point PεF q 2 . Therefore, considering the basic properties of the body, if the point Pε (φ−1) E (F q ^ m ), the points P, φP, φ 2 P,..., Φ (m−1) P are Everything is different.

<ステップS3e>
係数生成部13は、点P,φP,φP,…,φ(m−1)Pを通る曲線の多項式の各項の係数λ,λ,…,λm−1∈Fを求める。求まった係数λ,λ,…,λm−1は、後述する順序位置情報mと共に点Pの圧縮情報を構成する。
<Step S3e>
Coefficient generating unit 13, the point P, φP, φ 2 P, ..., φ (m-1) coefficient lambda 0 of each term of the polynomial curve passing through P, lambda 2, ..., a λ m-1 ∈F q Ask. The obtained coefficients λ 0 , λ 2 ,..., Λ m−1 constitute the compression information of the point P together with the order position information m P described later.

xの重みを2、yの重みを3とすると、重みc(cは任意の自然数)の多項式f(x,y)=0は、楕円曲線E(Fq^m)とc個の交点で交わることが知られている。また、楕円曲線E(Fq^m)とc個の交点で交わる多項式f(x,y)=0の重みはcであることが知られている。ここで、点P,φP,φP,…,φ(m−1)Pの数はm個であるため、係数生成部13は、重みmの多項式の係数λ,λ,…,λm−1を求めればよい。 When the weight of x is 2 and the weight of y is 3, the polynomial f (x, y) = 0 of the weight c (c is an arbitrary natural number) is the intersection of the elliptic curve E (F q ^ m ) and c. It is known to cross. Further, it is known that the weight of the polynomial f (x, y) = 0 that intersects the elliptic curve E (F q ^ m ) at c intersections is c. Here, since the number of points P, φP, φ 2 P,..., Φ (m−1) P is m, the coefficient generation unit 13 uses the coefficients λ 0 , λ 2 ,. What is necessary is just to obtain | require (lambda) m-1 .

重みi∈Nを持つO以外で正則な単項式をMは、i≠1のとき

Figure 0004960894
とできる。重みが1の単項式はないため、i=1の場合の単項式Mについては考慮する必要はない。このため、重みmのモニック多項式(重みがmであり、重みが最大の単項式の係数が1の多項式)の自由度はF m−1である。すなわち、m−1個の係数λ,λ,…,λm−1∈Fが与えられれば、重みmのモニック多項式f(x,y)=M(x,y)+λ(x,y)+Σi=2 m−1λ(x,y)=0は、一意に定まる。 A regular monomial other than O with weight i∈N, where M i is i ≠ 1
Figure 0004960894
And can. Since there is no monomial with a weight of 1, there is no need to consider the monomial M 1 when i = 1. For this reason, the degree of freedom of the monic polynomial of weight m (the weight is m and the polynomial with the largest monomial coefficient is 1) is F q m−1 . That is, if m−1 coefficients λ 0 , λ 2 ,..., Λ m−1 εF q are given, the monic polynomial f (x, y) = M m (x, y) + λ 0 M with weight m 0 (x, y) + Σ i = 2 m−1 λ i M i (x, y) = 0 is uniquely determined.

係数λ,λ,…,λm−1の求め方については、後述する[係数の第一の求め方]、[係数の第二の求め方]を参照のこと。例えば、係数生成部13は、これらの方法で係数λ,λ,…,λm−1を計算する。もちろん、他の方法を用いて、係数λ,λ,…,λm−1を計算してもよい。 For how to obtain the coefficients λ 0 , λ 2 ,..., Λ m−1 , refer to [First method for obtaining coefficients] and [Second method for obtaining coefficients] described later. For example, the coefficient generation unit 13 calculates the coefficients λ 0 , λ 2 ,..., Λ m−1 by these methods. Of course, the coefficients λ 0 , λ 2 ,..., Λ m−1 may be calculated using other methods.

<ステップS4e>
圧縮並替部14は、圧縮交点生成部12が求めた点P,φP,φP,…,φ(m−1)Pを予め定められた順序で並べた点列(P,φP,φP,…,φ(m−1)P)を生成する。アスタリスク*は、予め定められた順序で並び替えられた後の点列を意味する。生成された点列(P,φP,φP,…,φ(m−1)P)は、順序位置情報決定部15に送られる。
<Step S4e>
The compression rearrangement unit 14 is a point sequence (P, φP, φ ) in which the points P, φP, φ 2 P,..., Φ (m−1) P obtained by the compression intersection generation unit 12 are arranged in a predetermined order. 2 P, ..., φ (m-1) P) * is generated. An asterisk * means a point sequence after being rearranged in a predetermined order. The generated point sequence (P, φP, φ 2 P,..., Φ (m−1) P) * is sent to the order position information determination unit 15.

予め定められた順序とは、その順序に従って一意に点列を生成することができる並べ方のことである。例えば、各点のx座標の値が、降べき順序又昇べきの順になるようにする順序のことである。もちろん、x座標の値の代わりに、y座標の値を用いてもよい。   The predetermined order is an arrangement that can generate a point sequence uniquely according to the order. For example, the order in which the value of the x coordinate of each point is in descending order or ascending order. Of course, the value of the y coordinate may be used instead of the value of the x coordinate.

<ステップS5e>
順序位置情報決定部15は、点列(P,φP,φP,…,φ(m−1)P)における点Pの順序に関する位置の情報mPを決定する。点Pの順序に関する位置のことを、点Pの順序位置と略する。また、点Pの順序位置の情報を、点Pの順序位置情報mPと略する。
<Step S5e>
The order position information determination unit 15 determines position information m P regarding the order of the points P in the point sequence (P, φP, φ 2 P,..., Φ (m−1) P) * . The position related to the order of the points P is abbreviated as the order position of the points P. Further, the information on the order position of the point P is abbreviated as the order position information m P of the point P.

例えば、点列(P,φP,φP,…,φ(m−1)P)における点Pの位置が左からmleft(1≦mleft≦m)番目であった場合には、その左から数えた点Pの順序位置mleftが、点Pの順序位置情報となる。同様に、点列(P,φP,φP,…,φ(m−1)P)における右から数えた点Pの順序位置mrightを、点Pの順序位置情報mPとしてもよい。このように、点列(P,φP,φP,…,φ(m−1)P)における点Pの順序位置を示す任意の情報を順序位置情報mPとして用いてもよい。 For example, when the position of the point P in the point sequence (P, φP, φ 2 P,..., Φ (m−1) P) * is m left (1 ≦ m left ≦ m) from the left , The order position m left of the point P counted from the left becomes the order position information of the point P. Similarly, the order position m right of the point P counted from the right in the point sequence (P, φP, φ 2 P,..., Φ (m−1) P) * may be used as the order position information m P of the point P. . Thus, arbitrary information indicating the order position of the point P in the point sequence (P, φP, φ 2 P,..., Φ (m−1) P) * may be used as the order position information m P.

点Pの順序位置情報mPと、係数λ,λ,…,λm−1とを少なくとも含む情報が、点Pの圧縮情報となる。点Pの圧縮情報は、点展開装置20に送られる。 And sequence position information m P of the point P, the coefficient lambda 0, lambda 2, ..., information including at least a lambda m-1 becomes the compression information of the point P. The compression information of the point P is sent to the point expansion device 20.

この例では、係数λ,λ,…,λm−1のデータサイズは合計で(m−1)×logqであり、順序位置情報mのデータサイズはlogmであるため、圧縮情報のデータサイズは、少なくとも(m−1)×logq+logmとなる。したがって、m<<qである場合には(多くの場合この条件は満される。)、圧縮前のデータサイズである2×m×logqや、背景技術に記載された点圧縮方法により圧縮されたデータサイズであるm×logq+1よりも、点Pを特定するデータサイズを小さくすることができる。 In this example, the data sizes of the coefficients λ 0 , λ 2 ,..., Λ m−1 are (m−1) × log 2 q in total, and the data size of the order position information m p is log 2 m. The data size of the compression information is at least (m−1) × log 2 q + log 2 m. Therefore, when m << q (this condition is often satisfied), the data size before compression is 2 × m × log 2 q or the point compression method described in the background art. The data size for specifying the point P can be made smaller than m × log 2 q + 1 which is the compressed data size.

[点展開装置]
図3と図4を参照して、点展開装置20について説明する。図3は点展開装置20の機能構成を例示する図であり、図4は点展開装置20の処理の流れを例示するフローチャートである。
[Point deployment device]
The point expansion device 20 will be described with reference to FIGS. 3 and 4. FIG. 3 is a diagram illustrating a functional configuration of the point expansion device 20, and FIG. 4 is a flowchart illustrating a processing flow of the point expansion device 20.

<ステップS1d>
圧縮情報のうち係数λ,λ,…,λm−1が、展開交点生成部21に入力される。展開交点生成部21は、係数λ,λ,…,λm−1を持つ重みmの多項式f(x,y)と、楕円曲線E(fq^m)との交点をそれぞれ求める。
<Step S1d>
Of the compression information, coefficients λ 0 , λ 2 ,..., Λ m−1 are input to the expanded intersection generation unit 21. The developed intersection generation unit 21 obtains intersections between the polynomial f (x, y) having a weight m having coefficients λ 0 , λ 2 ,..., Λ m−1 and the elliptic curve E (f q ^ m ).

係数λ,λ,…,λm−1が点Pに基づいて点圧縮装置10により正統に生成されたものである場合には、展開交点生成部21により計算される交点は、点P,φP,φP,…,φ(m−1)Pとなる。計算された交点は、展開並替部22に送られる。 If the coefficients λ 0 , λ 2 ,..., Λ m−1 are legitimately generated by the point compression device 10 based on the point P, the intersection calculated by the expanded intersection generation unit 21 is the point P , ΦP, φ 2 P,..., Φ (m−1) P. The calculated intersection point is sent to the deployment rearrangement unit 22.

<ステップS2d>
展開並替部22は、計算された交点を、予め定められた順序で並び替えた点列を生成する。展開並替部22における予め定められた順序は、点圧縮装置10の圧縮並替部14における予め定められた順序と同じである。この例では、点圧縮装置10と点展開装置20とには、同じ、予め定められた順序が定められている。並び替えられた点列は、点決定部23に送られる。
<Step S2d>
The expansion rearrangement unit 22 generates a point sequence in which the calculated intersection points are rearranged in a predetermined order. The predetermined order in the expansion rearrangement unit 22 is the same as the predetermined order in the compression rearrangement unit 14 of the point compression device 10. In this example, the same predetermined order is determined for the point compression device 10 and the point expansion device 20. The rearranged point sequence is sent to the point determination unit 23.

展開交点生成部21が生成した交点が点P,φP,φP,…,φ(m−1)Pである場合には、展開並替部22により並び替えられた点列は(点P,φP,φP,…,φ(m−1)P)となる。 When the intersections generated by the expanded intersection generation unit 21 are points P, φP, φ 2 P,..., Φ (m−1) P, the sequence of points rearranged by the expanded rearrangement unit 22 is (point P , ΦP, φ 2 P,..., Φ (m−1) P) * .

<ステップS3d>
並び替えられた点列(点P,φP,φP,…,φ(m−1)P)と、圧縮情報のうち順序位置情報mが、点決定部23に入力される。点決定部23は、順序位置情報mにより定まる順序位置にある点を出力する。例えば、順序位置情報mが、点列の左から何番目であるにより点Pの順序位置を表すものである場合には、並び替えられた点列(点P,φP,φP,…,φ(m−1)P)の左からm番目の点を出力する。圧縮情報が点Pに基づいて点圧縮装置10により正統に圧縮されたものである場合には、この処理により、圧縮の対象となった点Pが出力される。
<Step S3d>
The rearranged point sequence (points P, φP, φ 2 P,..., Φ (m−1) P) * and the order position information m P among the compression information are input to the point determination unit 23. Point determination unit 23 outputs a certain point in order position determined by the order position information m p. For example, the sequence position information m p is the case in which an ordinal position of more point P to a number from the left of point sequence is rearranged sequence of points (points P, .phi.P, phi 2 P, ... , Φ (m−1) P) * Outputs the m p th point from the left. If the compression information is legitimately compressed by the point compression device 10 based on the point P, this process outputs the point P that is the object of compression.

<ステップS4d>
展開例外判定部24は、点決定部23が出力した点が、集合(φ−1)E(Fq^m)に含まれるかどうかを判定する。集合(φ−1)E(Fq^m)に含まれると判定された場合には、圧縮情報が点Pに基づいて点圧縮装置10により正統に圧縮され、また正しく展開されたと判断することができる(ステップS4dy)。集合(φ−1)E(Fq^m)に含まれないと判断された場合には、圧縮情報が点Pに基づいて点圧縮装置10により正統に圧縮されなかった、または、正しく展開されなかったと判断することができる(ステップS4dn)。この場合には、点展開装置20は、点決定部23が出力した点を受け入れない。
<Step S4d>
The expansion exception determination unit 24 determines whether or not the point output by the point determination unit 23 is included in the set (φ−1) E (F q ^ m ). When it is determined that it is included in the set (φ−1) E (F q ^ m ), it is determined that the compression information is legitimately compressed by the point compression device 10 based on the point P and correctly expanded. (Step S4dy). If it is determined that it is not included in the set (φ-1) E (F q ^ m ), the compression information has not been properly compressed by the point compression device 10 based on the point P, or has been correctly expanded. It can be determined that there was not (step S4dn). In this case, the point development device 20 does not accept the point output by the point determination unit 23.

このように、データサイズが(m−1)×logq+logmである圧縮情報を展開して、圧縮の対象となった点Pを復元することができる。 In this way, the compression information whose data size is (m−1) × log 2 q + log 2 m can be expanded to restore the point P that is the object of compression.

[補題1]
E(Fq^m)/E(F)が位数Lの巡回群であり、♯E(F)とLが互いに素であれば、
E(Fq^m)[L]=(φ−1)E(Fq^m
[Lemma 1]
If E (F q ^ m ) / E (F q ) is a cyclic group of order L, and #E (F q ) and L are relatively prime,
E (F q ^ m ) [L] = (φ-1) E (F q ^ m )

《補題1の証明》
φ−1は、E(Fq^m)上の自己準同型写像であるから、準同型定理によってE(Fq^m)を、
Ker(φ−1)(+)Im(φ−1)
に分解できる。Ker(φ−1)=E(F)であるから、
Im(φ−1)〜E(Fq^m)/E(F
E(Fq^m)/E(F)が位数Lの巡回群であり、♯E(F)とLが互いに素なので、
E(Fq^m)[L]=(φ−1)E(Fq^m
である。
<< Proof of Lemma 1 >>
phi-1, since a endomorphism on E (F q ^ m), the E (F q ^ m) by homomorphic theorem,
Ker (φ-1) (+) Im (φ-1)
Can be disassembled. Since Ker (φ−1) = E (F q ),
Im (φ-1) to E (F q ^ m ) / E (F q )
Since E (F q ^ m ) / E (F q ) is a cyclic group of order L, and #E (F q ) and L are relatively prime,
E (F q ^ m ) [L] = (φ-1) E (F q ^ m )
It is.

[補題2]
P∈(φ−1)E(Fq^m) ⇒ Σi=0 m−1φP=O
[Lemma 2]
Pε (φ−1) E (F q ^ m ) = > Σ i = 0 m−1 φ i P = O

《補題2の証明》
P∈(φ−1)E(Fq^m)より、
Σi=0 m−1φP∈(φ−1)E(Fq^m)={O}
したがって、Σi=0 m−1φP=Oである。
<< Proof of Lemma 2 >>
From P∈ (φ−1) E (F q ^ m ),
Σ i = 0 m−1 φ i P∈ (φ m −1) E (F q ^ m ) = {O}
Therefore, Σ i = 0 m−1 φ i P = O.

《補題2についての補足》
mと♯E(F)が互いに素ならば、補題2について逆が言える。すなわち、
Σi=0 m−1φP=O ⇒ P∈(φ−1)E(Fq^m
である。したがって、mと♯E(F)が互いに素である場合には、圧縮例外判定部11(図1)及び/又は展開例外判定部24(図3)は、P∈(φ−1)E(Fq^m)であるかどうかの代わりに、Σi=0 m−1φP=Oであるかどうかを判定してもよい。
《Supplement for Lemma 2》
If m and #E (F q ) are relatively prime, the converse is true for Lemma 2. That is,
Σ i = 0 m−1 φ i P = O => P∈ (φ−1) E (F q ^ m )
It is. Therefore, when m and #E (F q ) are relatively prime, the compression exception determination unit 11 (FIG. 1) and / or the deployment exception determination unit 24 (FIG. 3) determines that P∈ (φ−1) E Instead of whether or not (F q ^ m ), it may be determined whether or not Σ i = 0 m−1 φ i P = O.

[係数の第一の求め方]
係数生成部13(図1)における係数λ,λ,…,λm−1の求め方の例について説明する。
[First method of determining the coefficient]
An example of how to obtain the coefficients λ 0 , λ 2 ,..., Λ m−1 in the coefficient generator 13 (FIG. 1) will be described.

f(x,y)=M(x,y)+λ(x,y)+Σi=2 m−1λ(x,y)=0に点P,φP,φP,…,φ(m−1)Pをそれぞれ代入すると、λ,λ,…,λm−1についてのm個の式ができる。これらの式をλ,λ,…,λm−1について解けばよい。 f (x, y) = M m (x, y) + λ 0 M 0 (x, y) + Σ i = 2 m−1 λ i M i (x, y) = 0 at points P, φP, φ 2 P , ..., substituting φ a (m-1) P, respectively, lambda 0, lambda 2, ..., it is the m equations for lambda m-1. These equations may be solved for λ 0 , λ 2 ,..., Λ m−1 .

すなわち、点Pの座標の値を(xφ0,yφ0)、点φPの座標の値を(xφ1,yφ1)、…、点φ(m−1)Pの座標の値を(xφ(m−1),yφ(m−1))として、これらをそれぞれf(x,y=0に代入すると、
(xφ0,yφ0)+λ(xφ0,yφ0)+Σi=2 m−1λ(xφ0,yφ0)=0
(xφ1,yφ1)+λ(xφ1,yφ1)+Σi=2 m−1λ(xφ1,yφ1)=0

(xφ(m−1),yφ(m−1))+λ(xφ(m−1),yφ(m−1))+Σi=2 m−1λ(xφ(m−1),yφ(m−1))=0
というλ,λ,…,λm−1についてのm個の式ができる。これらの式において重みmの項Mを右辺にそれぞれ移動したものは、行列を用いて以下のように表現できる。
That is, the coordinate value of the point P is ( xφ0 , yφ0 ), the coordinate value of the point φP is ( xφ1 , yφ1 ),..., And the coordinate value of the point φ (m−1) P is ( xφ (M−1) , y φ (m−1) ) and substituting these into f (x, y = 0),
M m (x φ0 , y φ0 ) + λ 0 M 0 (x φ0 , y φ0 ) + Σ i = 2 m−1 λ i M i (x φ0 , y φ0 ) = 0
M m (x φ 1 , y φ 1 ) + λ 0 M 0 (x φ 1 , y φ 1 ) + Σ i = 2 m−1 λ i M i (x φ 1 , y φ 1 ) = 0
...
M m (x φ (m−1) , y φ (m−1) ) + λ 0 M 0 (x φ (m−1) , y φ (m−1) ) + Σ i = 2 m−1 λ i M i (x [ phi] (m-1) , y [ phi] (m-1) ) = 0
M equations for λ 0 , λ 2 ,..., Λ m−1 are obtained. In these formulas, the term M m of the weight m moved to the right side can be expressed as follows using a matrix.

Figure 0004960894
したがって、係数λ,λ,…,λm−1は、以下のように計算することができる。
Figure 0004960894
Figure 0004960894
Therefore, the coefficients λ 0 , λ 2 ,..., Λ m−1 can be calculated as follows.
Figure 0004960894

[係数の第二の求め方]
重みmのモニック多項式f(x,y)=M(x,y)+λ(x,y)+Σi=2 m−1λ(x,y)=0の因子div(f)は、
div(f)=Σi=0 m−1(φP)−m(O)
である。したがって、以下では、重みmのモニック多項式f(x,y)を求めるために、因子div(f)がdiv(f)=Σi=0 m−1(φP)−m(O)である多項式を作ることを考える。ここで、多項式gについての因子div(g)は、零点と極の形式和であり、+の括弧で囲まれたものは多項式gの零点、−の括弧で囲まれたものは多項式gの極を表す。
[The second way to find the coefficient]
Factor div () of weight m m polynomial f (x, y) = M m (x, y) + λ 0 M 0 (x, y) + Σ i = 2 m−1 λ i M i (x, y) = 0 f)
div (f) = Σ i = 0 m−1i P) −m (O)
It is. Therefore, in the following, in order to obtain the monic polynomial f (x, y) of the weight m, the factor div (f) is div (f) = Σ i = 0 m−1i P) −m (O). Consider creating a polynomial. Here, the factor div (g) for the polynomial g is a formal sum of zeros and poles, the parentheses enclosed in + are the zeros of the polynomial g, and those enclosed in parentheses-are the poles of the polynomial g. Represents.

計算の便宜のため以下の定義を行う。なお以下では、
=Σi=0 n−1φ
div(f)=Σi=0 n−1(φP)−(Q)−(n−1)(O)
=(x,y),φP=(x’,y’)とし、l、v
=(x’−x)(y−y)−(y’−y)(x−x
=(x−xn+1
とすると、
div(l)=(Q)+(φP)+(−Qn+1)−3(O)
div(v)=(−Qn+1)+(Qn+1)−2(O)
であるから、
n+1=f/v …(1)
である。また、div(f)=(P)−(P)−0(O)であるから、
=1 …(2)
と出来る。上記(1)と(2)の漸化式をyの2次以上の項を楕円の定義式で還元し、分母と分子を通分しながらm−1回繰り返すことにより、
=Σi=0 m−1(φP)−(Q)−(m−1)(O)
を作ることができる。ここで、点P∈(φ−1)E(Fq^m)であれば、Q=Σi=0 m−1φP=Oである(前述の補題2参照)。したがって、
=Σi=0 m−1(φP)−m(O)
となる。このfが、点P,φP,φP,…,φm−1Pを通る重みmのモニック多項式f(x,y)となる。この過程の計算量はFq^m上演算O(m)回である。
The following definitions are made for convenience of calculation. In the following,
Q n = Σ i = 0 n−1 φ i P
div (f n ) = Σ i = 0 n−1i P) − (Q n ) − (n−1) (O)
Q n = (x n, y n), φ n P = (x n ', y n') and, l n, v n a l n = (x n '-x n) (y-y n) - (Y n ′ −y n ) (x−x n )
v n = (x−x n + 1 )
Then,
div (l n ) = (Q n ) + (φ n P) + (− Q n + 1 ) −3 (O)
div (v n ) = (− Q n + 1 ) + (Q n + 1 ) −2 (O)
Because
f n + 1 = f n l n / v n (1)
It is. Since div (f 1 ) = (P) − (P) −0 (O),
f 1 = 1 (2)
And can. (1) and the recurrence formula (2) reducing the second and higher terms y p by defining equation of an ellipse, by repeating m-1 times while Tsubun the denominator and the numerator,
f m = Σ i = 0 m−1i P) − (Q m ) − (m−1) (O)
Can be made. Here, if the point Pε (φ−1) E (F q ^ m ), then Q m = Σ i = 0 m−1 φ i P = O (see Lemma 2 above). Therefore,
f m = Σ i = 0 m−1i P) −m (O)
It becomes. This f m becomes the monic polynomial f (x, y) of the weight m passing through the points P, φP, φ 2 P,..., Φ m−1 P. The amount of calculation in this process is O (m 2 ) operations over F q ^ m .

実際のf(x,y)の計算は必ずしも上記の式に基づいて行う必要はない。例えば、
div(f)=Σi=0 n−1(φP)−(Q)−(n−1)(O)
に対して、
div(f σ^n)=Σi=n 2n−1(φP)−(φ)−(n−1)(O)
であるから、
div(l’)=(Q)+(φ)+(−Q2n)−3(O)
div(v’)=(−Q2n)+(Q2n)−2(O)
なるl’,v’を使えば、
2n=f σ^n’/v
とすることができる。
The actual calculation of f (x, y) is not necessarily performed based on the above formula. For example,
div (f n ) = Σ i = 0 n−1i P) − (Q n ) − (n−1) (O)
Against
div (f n σ ^ n ) = Σ i = n 2n−1i P) − (φ n Q n ) − (n−1) (O)
Because
div (l n ′) = (Q n ) + (φ n Q n ) + (− Q 2n ) −3 (O)
div (v n ′) = (− Q 2n ) + (Q 2n ) −2 (O)
If you use l n ', v n '
f 2n = f n f n σ ^ n l n '/ v n '
It can be.

[変形例]
点展開装置20を用いて、平文を楕円曲線E(Fq^m)上の点に確率的に埋め込むことができる。係数λ,λ,…,λm−1∈Fと順序位置情報mの一部に平文を割り当てて、残りの部分をランダムに決定する。例えば、平文をq進数で表現したときの各桁の値を係数λ,λ,…,λm−1の何れかに対応させ、対応していない係数及び順序位置情報mの値はランダムに決定する。そして、これらの係数λ,λ,…,λm−1∈Fと順序位置情報mを基にして、点展開装置20が点展開を試み、点の展開に成功すれば、平文はその展開された点に埋め込まれたことになるのである。
[Modification]
The plain text can be stochastically embedded at a point on the elliptic curve E (F q ^ m ) using the point expansion device 20. Plaintext is assigned to the coefficients λ 0 , λ 2 ,..., Λ m−1 ∈F q and a part of the order position information m P , and the remaining part is determined at random. For example, the value of each digit when the plaintext is expressed in q-adic number is made to correspond to one of the coefficients λ 0 , λ 2 ,..., Λ m−1 , and the uncorresponding coefficient and the value of the order position information m P are Determine at random. Then, based on these coefficients λ 0 , λ 2 ,..., Λ m−1 ∈F q and the order position information m P , if the point expansion device 20 tries to expand the points and succeeds in expanding the points, the plain text Is embedded in the expanded point.

集合(φ−1)E(Fq^m)の位数がおよそqm−1であるのに対して、係数λ,λ,…,λm−1∈Fと順序位置情報mの取り得る値のバリエーションはmqm−1であるため、平文の楕円曲線E(Fq^m)上の点への埋め込みが成功する確率はおよそ、qm−1/mqm−1=1/mである。従来知られていた埋め込み方法の成功確率は1/qであるため、m<<qの場合は、この方法は効率がよいと言える。 The order of the set (φ−1) E (F q ^ m ) is approximately q m−1 , whereas the coefficients λ 0 , λ 2 ,..., Λ m−1 ∈F q and the order position information m Since the variation of the value that P can take is mq m−1 , the probability of successful embedding in a point on the plaintext elliptic curve E (F q ^ m ) is approximately q m−1 / mq m−1 = 1 / m. Since the success probability of the conventionally known embedding method is 1 / q, it can be said that this method is efficient when m << q.

点圧縮の対象となる点Pが集合(φ−1)E(Fq^m)に含まれることがわかっている等の場合には、点圧縮装置10(図1)の圧縮例外判定部11、及び、ステップS1e(図3)の処理は必ずしも必要ではない。同様に、係数λ,λ,…,λm−1が点Pに基づいて点圧縮装置10により正統に生成されたものであることがわかっている等の場合には、点展開装置20(図3)の展開例外判定部24、及び、ステップS4d(図4)の処理は必ずしも必要ではない。 When it is known that the point P to be subjected to point compression is included in the set (φ−1) E (F q ^ m ), the compression exception determination unit 11 of the point compression device 10 (FIG. 1). And the process of step S1e (FIG. 3) is not necessarily required. Similarly, when it is known that the coefficients λ 0 , λ 2 ,..., Λ m−1 are legitimately generated by the point compression device 10 based on the point P, the point expansion device 20 is used. The development exception determination unit 24 in FIG. 3 and the processing in step S4d (FIG. 4) are not necessarily required.

図1に例示した点圧縮装置10及び図3に例示した点展開装置20においては、各部間でデータが直接送られているが、図示していない記憶部を介して、間接的にデータが送られてもよい。   In the point compression device 10 illustrated in FIG. 1 and the point expansion device 20 illustrated in FIG. 3, data is directly transmitted between the respective units, but the data is indirectly transmitted through a storage unit (not illustrated). May be.

また、圧縮並替部14は、図示していない記憶部に格納された点P,φP,…,φ(m−1)Pを予め定めた順序で並び替えてもよい。すなわち、圧縮並替部14に、点P,φP,…,φ(m−1)Pが入力されなくてもよい。同様に、順序位置順序決定部15は、記憶部に格納された点P,φP,…,φ(m−1)Pにおける点Pの位置順序情報を決定し、(点P,φP,…,φ(m−1)P)が入力されなくてもよい。点展開装置20の順序位置情報決定部15、展開並替部22、点決定部23についても同様である。 Further, the compression rearrangement unit 14 may rearrange the points P, φP,..., Φ (m−1) P stored in a storage unit (not shown ) in a predetermined order. That is, the points P, φP,..., Φ (m−1) P may not be input to the compression rearrangement unit 14. Similarly, the order position order determination unit 15 determines the position order information of the point P at the points P, φP,..., Φ (m−1) P stored in the storage unit, and (points P, φP,. φ (m−1) P) * may not be input. The same applies to the order position information determination unit 15, the expansion rearrangement unit 22, and the point determination unit 23 of the point expansion device 20.

上述の構成をコンピュータによって実現する場合、点圧縮装置10、点展開装置20の各部はそれぞれプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記各部の機能がコンピュータ上で実現される。   When the above configuration is realized by a computer, each unit of the point compression device 10 and the point expansion device 20 is described by a program. By executing this program on a computer, the functions of the above-described units are realized on the computer.

すなわち、CPUが各プログラムを逐次読み込んで実行することにより、圧縮例外判定部11、圧縮交点生成部12、係数生成部13、圧縮並替部14、順序位置情報決定部15、展開交点生成部21、展開並替部22、点決定部23及び展開例外判定部24の機能が実現される。また、上記した図示していない記憶部等の記憶部は、メモリ、ハードディスク等記憶手段により実現される。   That is, the CPU sequentially reads and executes each program, whereby the compression exception determination unit 11, the compression intersection generation unit 12, the coefficient generation unit 13, the compression rearrangement unit 14, the order position information determination unit 15, and the expansion intersection generation unit 21. The functions of the deployment rearrangement unit 22, the point determination unit 23, and the deployment exception determination unit 24 are realized. The storage unit such as the storage unit (not shown) described above is realized by a storage unit such as a memory or a hard disk.

この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよいが、具体的には、例えば、磁気記録装置として、ハードディスク装置、フレキシブルディスク、磁気テープ等を、光ディスクとして、DVD(Digital Versatile Disc)、DVD−RAM(Random Access Memory)、CD−ROM(Compact Disc Read Only Memory)、CD
−R(Recordable)/RW(ReWritable)等を、光磁気記録媒体として、MO(Magneto-Optical disc)等を、半導体メモリとしてEEP−ROM(Electronically Erasable and Programmable-Read Only Memory)等を用いることができる。
The program describing the processing contents can be recorded on a computer-readable recording medium. The computer-readable recording medium may be any medium such as a magnetic recording device, an optical disk, a magneto-optical recording medium, or a semiconductor memory. Specifically, for example, the magnetic recording device may be a hard disk device or a flexible Discs, magnetic tapes, etc. as optical discs, DVD (Digital Versatile Disc), DVD-RAM (Random Access Memory), CD-ROM (Compact Disc Read Only Memory), CD
-R (Recordable) / RW (ReWritable), etc., MO (Magneto-Optical disc), etc. as a magneto-optical recording medium, EEP-ROM (Electronically Erasable and Programmable-Read Only Memory), etc. as a semiconductor memory it can.

また、このプログラムの流通は、例えば、そのプログラムを記録した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)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を基底する性質を有するデータ等)を含むものとする。   As an execution form different from the above-described embodiment, the computer may read the program directly from the portable recording medium and execute processing according to the program. Each time is transferred, 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 a computer but has a property that is based on computer processing).

また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。   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.

また、上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。例えば、点圧縮装置10のステップS3e(図2)の処理と、ステップS4e及びステップS5eの処理とを並列的に行ってもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。   In addition, the various processes described above are not only executed in time series according to the description, but may be executed in parallel or individually according to the processing capability of the apparatus that executes the processes or as necessary. For example, the process of step S3e (FIG. 2) of the point compression apparatus 10 and the processes of step S4e and step S5e may be performed in parallel. Needless to say, other modifications are possible without departing from the spirit of the present invention.

点圧縮装置の機能構成を例示する図。The figure which illustrates the function structure of a point compression apparatus. 点圧縮装置の処理の流れを例示するフローチャート。The flowchart which illustrates the flow of a process of a point compression apparatus. 点展開装置の機能構成を例示する図。The figure which illustrates the function structure of a point expansion | deployment apparatus. 点展開装置の処理の流れを例示するフローチャート。The flowchart which illustrates the flow of a process of a point expansion | deployment apparatus.

符号の説明Explanation of symbols

10 点圧縮装置
11 圧縮例外判定部
12 圧縮交点生成部
13 係数生成部
14 圧縮並替部
15 順序位置情報決定部
20 点展開装置
21 展開交点生成部
22 展開並替部
23 点決定部
24 展開例外判定部
DESCRIPTION OF SYMBOLS 10 point compression apparatus 11 Compression exception determination part 12 Compression intersection generation part 13 Coefficient generation part 14 Compression rearrangement part 15 Order position information determination part 20 Point expansion | deployment apparatus 21 Expansion intersection generation part 22 Expansion rearrangement part 23 Point determination part 24 Expansion exception Judgment part

Claims (10)

標数qを素数又はその冪、mを拡大次数、a,b∈F、Oを無限遠点として、部分体曲線である楕円曲線E(Fq^m)={(x,y)∈Fq^m |y=x+ax+b}∪O上の点P∈Fq^m を圧縮して、点Pの圧縮情報を生成する点圧縮装置において、
φをq乗フロベニウス写像として、上記点Pから、点φP,φP,…,φ(m1)P∈E(Fq^m)をそれぞれ求める圧縮交点生成手段と、
上記点P,φP,φP,…,φ(m1)Pを通る曲線の多項式の各項の係数λ,λ,…,λm−1∈Fを求める係数生成手段と、
上記点P,φP,φP,…,φ(m1)Pを予め定められた順序で並べた点列を生成する圧縮並替手段と、
上記点列における点Pの順序に関する位置(以下、順序位置とする。)の情報(以下、順序位置情報mとする。)を決定する順序位置情報決定手段と、
を備え、
上記点Pの圧縮情報は、上記順序位置情報mと上記係数λ,λ,…,λm−1とを含むことを特徴とする楕円曲線の点圧縮装置。
An elliptic curve E (F q ^ m ) = {(x, y) ∈, where the characteristic q is a prime number or its power, m is an expansion order, a, b∈F q , and O is an infinite point. In a point compression apparatus that compresses a point PεF q ^ m 2 on F q ^ m 2 | y 2 = x 3 + ax + b} ∪O to generate compression information of the point P,
compression intersection generation means for determining points φP, φ 2 P,..., φ (m 1) P∈E (F q ^ m ) from the above point P, where φ is a qth power Frobenius map;
The point P, φP, φ 2 P, ..., φ (m - 1) coefficient of each term of the polynomial curve passing through P λ 0, λ 2, ... , a coefficient generating means for obtaining the λ m-1 ∈F q ,
Compression rearrangement means for generating a point sequence in which the points P, φP, φ 2 P,..., Φ (m 1) P are arranged in a predetermined order;
Order position information determining means for determining information (hereinafter referred to as order position information m P ) of the position (hereinafter referred to as order position) relating to the order of the points P in the point sequence;
With
Compression information of the point P, the sequence position information m P and the coefficient lambda 0, lambda 2, ..., compressor point of the elliptic curve, characterized in that it comprises a λ m-1.
請求項1に記載の楕円曲線点圧縮装置において、
点P∈(φ−1)E(Fq^m)であるかを判定する圧縮例外判定手段をさらに備え、
上記圧縮交点生成手段は、点P∈(φ−1)E(Fq^m)であると判定された場合に、上記点Pから、点φP,φP,…,φ(m1)P∈E(Fq^m)をそれぞれ求める手段である、
ことを特徴とする楕円曲線の点圧縮装置。
In the elliptic curve point compression device according to claim 1,
A compression exception judging means for judging whether or not the point Pε (φ−1) E (F q ^ m );
The compression intersection generating means, when it is determined that the point P∈ (φ-1) E ( F q ^ m), from the point P, the point φP, φ 2 P, ..., φ (m - 1 ) PεE (F q ^ m ) is a means for obtaining each.
An elliptic curve point compression device characterized by the above.
標数qを素数又はその冪、mを拡大次数、a,b∈F、Oを無限遠点として、部分体曲線である楕円曲線E(Fq^m)={(x,y)∈Fq^m |y=x+ax+b}∪O上の点Pの圧縮情報を展開して、点Pを生成する点展開装置において、
上記点Pの圧縮情報は、点Pを含む複数の点を予め定められた順序で並べた場合の点Pの順序に関する位置(以下、順序位置とする。)の情報(以下、順序位置情報mとする。)と、係数λ,λ,…,λm−1∈Fとを含み、
上記係数λ,λ,…,λm−1で特定される多項式で表される曲線と上記楕円曲線E(F )との複数の交点をそれぞれ求める展開交点生成手段と、
上記求まった交点を上記予め定められた順序で並び替えた点列を生成する展開並替手段と、
上記点列のうちの、上記順序位置情報mにより定まる順序位置にある点を出力する点決定手段と、
を備える楕円曲線の点展開装置。
An elliptic curve E (F q ^ m ) = {(x, y) ∈, where the characteristic q is a prime number or its power, m is an expansion order, a, b∈F q , and O is an infinite point. F q ^ m 2 | y 2 = x 3 + ax + b} In the point expansion device that generates the point P by expanding the compression information of the point P on O,
The compression information of the point P is information (hereinafter referred to as order position information) of position (hereinafter referred to as order position) regarding the order of the point P when a plurality of points including the point P are arranged in a predetermined order. P ), and coefficients λ 0 , λ 2 ,..., Λ m−1 ∈F q ,
Expanded intersection generation means for respectively obtaining a plurality of intersections between a curve represented by a polynomial specified by the coefficients λ 0 , λ 2 ,..., Λ m−1 and the elliptic curve E (F q m );
A deployment rearrangement means for generating a point sequence in which the obtained intersections are rearranged in the predetermined order;
A point determination means for outputting a point in the order position determined by the order position information m P in the point sequence;
An elliptic curve point expansion device.
請求項3に記載の楕円曲線の点展開装置において、
φをq乗フロベニウス写像として、上記点出力手段によって出力された点が(φ−1)E(Fq^m)に含まれるかどうかを判定し、上記出力された点が(φ−1)E(Fq^m)に含まれないと判定された場合に正常に点が展開されなかったと判断する展開例外判定手段をさらに備える、
ことを特徴とする楕円曲線の点展開装置。
The elliptic curve point expansion device according to claim 3,
Using φ as the qth power Frobenius map, it is determined whether or not the point output by the point output means is included in (φ−1) E (F q ^ m ), and the output point is (φ−1) A deployment exception determining unit that determines that a point has not been normally expanded when it is determined that the point is not included in E (F q ^ m );
An elliptic curve point expansion device.
標数qを素数又はその冪、mを拡大次数、a,b∈F、Oを無限遠点として、部分体曲線である楕円曲線E(Fq^m)={(x,y)∈Fq^m |y=x+ax+b}∪O上の点P∈Fq^m を圧縮して、点Pの圧縮情報を生成する点圧縮方法において、
圧縮交点生成部が、φをq乗フロベニウス写像として、上記点Pから、点φP,φP,…,φ(m1)P∈E(Fq^m)をそれぞれ求める圧縮交点生成ステップと、
係数生成部が、上記点P,φP,φP,…,φ(m1)Pを通る曲線の多項式の各項の係数λ,λ,…,λm−1∈Fを求める係数生成ステップと、
圧縮並替部が、上記点P,φP,φP,…,φ(m1)Pを予め定められた順序で並べた点列を生成する圧縮並替ステップと、
順序位置情報決定部が、上記点列における点Pの順序に関する位置(以下、順序位置とする。)の情報(以下、順序位置情報mとする。)を決定する順序位置情報決定ステップと、
を有し、
上記点Pの圧縮情報は、上記順序位置情報mと上記係数λ,λ,…,λm−1とを含むことを特徴とする楕円曲線の点圧縮方法。
An elliptic curve E (F q ^ m ) = {(x, y) ∈, where the characteristic q is a prime number or its power, m is an expansion order, a, b∈F q , and O is an infinite point. In the point compression method for compressing the point PεF q ^ m 2 on F q ^ m 2 | y 2 = x 3 + ax + b} ∪O and generating the compression information of the point P,
The compression intersection generation unit obtains points φP, φ 2 P,..., Φ (m 1) P∈E (F q ^ m ) from the point P , using φ as the qth power Frobenius map. When,
Coefficient generation unit, the point P, φP, φ 2 P, ..., φ (m - 1) coefficient of each term of the polynomial curve passing through P λ 0, λ 2, ... , a λ m-1 ∈F q A coefficient generation step to be obtained;
Compression shuffle play section, the point P, φP, φ 2 P, ..., φ - a (m 1) compression rearrangement step of generating a sequence of points arrayed at a predetermined order P,
An order position information determination unit for determining information (hereinafter referred to as order position information m P ) of a position related to the order of the points P in the point sequence (hereinafter referred to as order position);
Have
Compression information of the point P, the sequence position information m P and the coefficient lambda 0, lambda 2, ..., point compression method of the elliptic curve, characterized in that it comprises a λ m-1.
請求項5に記載の楕円曲線点圧縮方法において、
圧縮例外判定部が、点P∈(φ−1)E(Fq^m)であるかを判定する圧縮例外判定ステップをさらに有し、
上記圧縮交点生成ステップは、点P∈(φ−1)E(Fq^m)であると判定された場合に、上記点Pから、点φP,φP,…,φ(m1)P∈E(Fq^m)をそれぞれ求めるステップである、
ことを特徴とする楕円曲線の点圧縮方法。
In the elliptic curve point compression method according to claim 5,
The compression exception determination unit further includes a compression exception determination step of determining whether or not the point Pε (φ−1) E (F q ^ m );
The compression intersection generation step, when it is determined that the point P∈ (φ-1) E ( F q ^ m), from the point P, the point φP, φ 2 P, ..., φ (m - 1 ) P∈E (F q ^ m ) respectively.
An elliptic curve point compression method characterized by the above.
標数qを素数又はその冪、mを拡大次数、a,b∈F、Oを無限遠点として、部分体曲線である楕円曲線E(Fq^m)={(x,y)∈Fq^m |y=x+ax+b}∪O上の点Pの圧縮情報を展開して、点Pを生成する点展開方法において、
上記点Pの圧縮情報は、点Pを含む複数の点を予め定められた順序で並べた場合の点Pの順序に関する位置(以下、順序位置とする。)の情報(以下、順序位置情報mとする。)と、係数λ,λ,…,λm−1∈Fとを含み、
展開交点生成部が、上記係数λ,λ,…,λm−1で特定される多項式で表される曲線と上記楕円曲線E(F )との複数の交点をそれぞれ求める展開交点生成ステップと、
展開並替部が、上記求まった交点を上記予め定められた順序で並び替えた点列を生成する展開並替ステップと、
点決定部が、上記点列のうちの、上記順序位置情報mにより定まる順序位置にある点を出力する点決定ステップと、
を有する楕円曲線の点展開方法。
An elliptic curve E (F q ^ m ) = {(x, y) ∈, where the characteristic q is a prime number or its power, m is an expansion order, a, b∈F q , and O is an infinite point. F q ^ m 2 | y 2 = x 3 + ax + b} ∪ In the point expansion method for generating the point P by expanding the compression information of the point P on ∪O,
The compression information of the point P is information (hereinafter referred to as order position information) of position (hereinafter referred to as order position) regarding the order of the point P when a plurality of points including the point P are arranged in a predetermined order. P ), and coefficients λ 0 , λ 2 ,..., Λ m−1 ∈F q ,
A developed intersection generating unit obtains a plurality of intersections between the curve represented by the polynomial specified by the coefficients λ 0 , λ 2 ,..., Λ m−1 and the elliptic curve E (F q m ). Generation step;
Expand shuffle play unit, the expansion rearrangement step of generating a sequence of points rearranged in the order of the intersections Motoma' above said predetermined,
Point determination unit, of the above point sequence, a decision step that outputs a certain point in order position determined by the sequence position information m P,
A point expansion method of an elliptic curve having
請求項7に記載の楕円曲線の点展開方法において、
展開例外判定部が、φをq乗フロベニウス写像として、上記点出力ステップによって出力された点が(φ−1)E(Fq^m)に含まれるかどうかを判定し、上記出力された点が(φ−1)E(Fq^m)に含まれないと判定された場合に正常に点が展開されなかったと判断する展開例外判定ステップをさらに有する、ことを特徴とする楕円曲線の点展開方法。
The elliptic curve point expansion method according to claim 7,
The expansion exception determination unit determines whether φ is a qth power Frobenius map and whether or not the point output by the point output step is included in (φ−1) E (F q ^ m ), and the output point Of the elliptic curve, further comprising a development exception judgment step for judging that the point has not been developed normally when it is determined that is not included in (φ−1) E (F q ^ m ) Deployment method.
請求項1又は請求項2に記載の楕円曲線の点圧縮装置としてコンピュータを機能させるための楕円曲線の点圧縮プログラム。   An elliptic curve point compression program for causing a computer to function as the elliptic curve point compression device according to claim 1. 請求項3又は請求項4に記載の楕円曲線の点展開装置としてコンピュータを機能させるための楕円曲線の点展開プログラム。   An elliptic curve point expansion program for causing a computer to function as the elliptic curve point expansion device according to claim 3.
JP2008008227A 2008-01-17 2008-01-17 Elliptic curve point compression device, elliptic curve point expansion device, method and program thereof Active JP4960894B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008008227A JP4960894B2 (en) 2008-01-17 2008-01-17 Elliptic curve point compression device, elliptic curve point expansion device, method and program thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008008227A JP4960894B2 (en) 2008-01-17 2008-01-17 Elliptic curve point compression device, elliptic curve point expansion device, method and program thereof

Publications (2)

Publication Number Publication Date
JP2009169171A JP2009169171A (en) 2009-07-30
JP4960894B2 true JP4960894B2 (en) 2012-06-27

Family

ID=40970396

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008008227A Active JP4960894B2 (en) 2008-01-17 2008-01-17 Elliptic curve point compression device, elliptic curve point expansion device, method and program thereof

Country Status (1)

Country Link
JP (1) JP4960894B2 (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5300374B2 (en) * 2008-08-25 2013-09-25 株式会社東芝 Expression conversion device, arithmetic device, expression conversion method, and program
JP5300373B2 (en) 2008-08-25 2013-09-25 株式会社東芝 Apparatus and program for performing data compression processing using algebraic torus
JP5354994B2 (en) * 2008-08-25 2013-11-27 株式会社東芝 Apparatus and program for performing data compression processing using algebraic torus
JP5514345B2 (en) * 2013-04-26 2014-06-04 株式会社東芝 Expression conversion device, arithmetic device, expression conversion method, and program
WO2020101567A1 (en) * 2018-11-16 2020-05-22 Microsec Pte Ltd Method and architecture for securing and managing networks of embedded systems with optimised public key infrastructure

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3787075B2 (en) * 2001-04-09 2006-06-21 日本電信電話株式会社 Subgroup origin determination device of rational point group on curve, program thereof, and recording medium thereof
JP4752176B2 (en) * 2003-09-11 2011-08-17 日本電信電話株式会社 Unidirectional function calculation method, apparatus and program

Also Published As

Publication number Publication date
JP2009169171A (en) 2009-07-30

Similar Documents

Publication Publication Date Title
Cheon et al. HAETAE: Shorter lattice-based fiat-shamir signatures
Bruin et al. The Mordell–Weil sieve: proving non-existence of rational points on curves
Göloğlu et al. On the Function Field Sieve and the Impact of Higher Splitting Probabilities: Application to Discrete Logarithms in and
Joux et al. The function field sieve is quite special
CN101300569B (en) System and method for hash function construction from expander graph
CN107430829B (en) Share recovery system, device, method, and storage medium
JP4960894B2 (en) Elliptic curve point compression device, elliptic curve point expansion device, method and program thereof
CN101061526B (en) Encryption computing device
JP2010204466A (en) Encryption device, decryption device, key generating device and program
US10163371B1 (en) Rotating bit values based on a data structure while generating a large, non-compressible data stream
JP2012154968A (en) Secure aggregate function system, secret aggregate function apparatus, secure aggregate function processing method and secure aggregate function program
Pereira et al. x-only point addition formula and faster compressed SIKE
Huang et al. Finding primitive elements in finite fields of small characteristic
CN113687773B (en) Data compression model training method and device and storage medium
US8233616B2 (en) Apparatus and computer program product for performing data compression processing using algebraic torus
JP6059159B2 (en) Share conversion system, share conversion method, program
CN112417478A (en) Data processing method, apparatus, equipment and storage medium
JP5300373B2 (en) Apparatus and program for performing data compression processing using algebraic torus
JP7016457B2 (en) Final power unit, pairing arithmetic unit, cryptographic processing unit, final power calculation method and final power calculation program
Gaudry Integer factorization and discrete logarithm problems
Heule et al. Clausal Proof Compression.
Joux A Tutorial on High Performance Computing Applied to Cryptanalysis: (Invited Talk Abstract)
JP3787075B2 (en) Subgroup origin determination device of rational point group on curve, program thereof, and recording medium thereof
Johansson et al. EUROCRYPT 2013
JP7634782B2 (en) Parameter generation device, parameter generation method, and parameter generation program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100114

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20110729

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111118

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111129

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120118

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: 20120313

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120323

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150330

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4960894

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350