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
JP6228940B2 - SAMPLE DEVICE, SAMPLE METHOD, AND PROGRAM - Google Patents
[go: Go Back, main page]

JP6228940B2 - SAMPLE DEVICE, SAMPLE METHOD, AND PROGRAM - Google Patents

SAMPLE DEVICE, SAMPLE METHOD, AND PROGRAM Download PDF

Info

Publication number
JP6228940B2
JP6228940B2 JP2015001453A JP2015001453A JP6228940B2 JP 6228940 B2 JP6228940 B2 JP 6228940B2 JP 2015001453 A JP2015001453 A JP 2015001453A JP 2015001453 A JP2015001453 A JP 2015001453A JP 6228940 B2 JP6228940 B2 JP 6228940B2
Authority
JP
Japan
Prior art keywords
elliptic curve
point
elliptic
ellipse
multiplication
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
JP2015001453A
Other languages
Japanese (ja)
Other versions
JP2016126227A (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 JP2015001453A priority Critical patent/JP6228940B2/en
Publication of JP2016126227A publication Critical patent/JP2016126227A/en
Application granted granted Critical
Publication of JP6228940B2 publication Critical patent/JP6228940B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、楕円曲線上の点からなる特定の群上の元を標本する技術に関する。   The present invention relates to a technique for sampling elements on a specific group of points on an elliptic curve.

楕円曲線暗号において、平文やハッシュ値といった任意の文字列をどのように楕円曲線上の点へ写すかという問題について長い間関心が注がれてきた。重要なpairing-friendly楕円曲線の一つにBarreto-Naehrig曲線(BN曲線)がある(例えば、非特許文献1等参照)。代数閉体上では、同型となる次の2つの楕円曲線によってBN曲線が定義される。
E/F:y=x+b
E’/Fρ:y=x+b’
ただし、E/Fは位数p(ただしpは素数)の有限体F上で定義された楕円曲線であり、E’/Fρは位数ρ=pの有限体Fρ(Fを基礎体とした拡大体)上で定義された楕円曲線である。E/Fの位数を#E/Fと表記し、E’/Fρの位数を#E’/Fρと表記する。また、E/Fのn等分点の集合をE/F[n]と表記し、E’/Fρのn等分点の有限集合をE’/Fρ[n]と表記する。これらの有限集合E/F[n]およびE’/Fρ[n]はそれぞれ郡をなし、それぞれを以下のように表記する。
=E/F[n]
=E’/Fρ[n]
In elliptic curve cryptography, there has long been an interest in the problem of how to copy an arbitrary character string such as plain text or hash value to a point on the elliptic curve. One important pairing-friendly elliptic curve is a Barreto-Naehrig curve (BN curve) (see, for example, Non-Patent Document 1). On an algebraic closed field, a BN curve is defined by the following two elliptic curves of the same type.
E / F p: y 2 = x 3 + b
E ′ / F ρ : y 2 = x 3 + b ′
However, E / F p is an elliptic curve defined on a finite field F p of order p (where p is a prime number), and E ′ / F ρ is a finite field F ρ (F of order ρ = p 2 It is an elliptic curve defined on the enlarged body based on p ). The order of the E / F p is denoted as # E / F p, referred to 'the order of the / F ρ # E' E / F ρ and. Also, a set of n equally divided points of the E / F p is denoted as E / F p [n], denoted 'a finite set of n equally divided points of the / F ρ E' E / F ρ [n] and . These finite sets E / F p [n] and E ′ / F ρ [n] each form a county, and are expressed as follows.
G 1 = E / F p [n]
G 2 = E ′ / F ρ [n]

非特許文献2には、有限体上の任意の元をBN曲線上に写すアルゴリズムF’が開示されている。E/F全体がG=E/F[n]となるように楕円曲線E/Fを設定しておけば、アルゴリズムF’を用いて任意の元に対応する群G上の元を標本できる。 Non-Patent Document 2 discloses an algorithm F ′ for copying an arbitrary element on a finite field onto a BN curve. If the elliptic curve E / F p is set so that the entire E / F p is G 1 = E / F p [n], the algorithm F ′ is used to set an arbitrary element on the group G 1 . You can sample the original.

ここで強識別不可能性と許容符号化の概念を説明する。
<強識別不可能性>
暗号学的理想原始関数hへの神託照会が許されるチューリング機械Cに関し、Cの理想原始関数Hへの神託照会が許される実行時間tのhの模倣器Sが存在し、どのような最大実行時間t,最大照会回数qの識別器Dに対しても以下を満たすならば、CはHと(t,t,q,ε)−強識別不可能であるという。

Figure 0006228940

ただし、|β|はβの絶対値を表し、Pr[γ]は事象γの確率を表し、Dβ,γは識別器Dがβ,γを照会して1と判別する事象を表し、CおよびSはhを照会するCおよびHを照会するSをそれぞれ表し、εは安全変数kの関数値を表す。多項式限度のt,t,qに対してεが無視可能関数であるならば、CはHと強識別不可能であるという。 Here, the concept of strong indistinguishability and allowable coding will be described.
<Inability to distinguish strongly>
Up relates Turing machine C to oracle query the cryptographic ideal primitive function h is allowed, there are mimics device S of h running time t s the oracle query the ideal primitive function H C is allowed, what running time t D, if also satisfies the following for classifier D for the maximum query number q D, C h is H and (t D, t s, q D, ε) - that is a strong indistinguishable.
Figure 0006228940

Where | β | represents the absolute value of β, Pr [γ] represents the probability of event γ, D β, γ represents the event that classifier D inquires β, γ and discriminates it as 1, and C h and S H represent C for inquiring h and S for inquiring H, respectively, and ε represents a function value of the safety variable k. T D polynomial limit, t s, if ε relative q D is negligible function, C h is that it is H and strength unidentifiable.

<許容符号化>
W,Uを有限集合とする。次の3つの性質を満たす関数F:W→Uをε−許容符号化という。
[計算可能性]Fは確定多項式時間で計算可能である。
[正規性]W上で一様に分布する確率変数wに対するF(w)がU上の一様分布とε−統計的識別不可能である。
[標本可能性]あらゆるu∈Uに対して効率的な乱択アルゴリズムIが存在し、入力uに対してアルゴリズムIが出力するI(u)の分布がF−1(u)とε−統計的識別不可能である。
なお、βがγとε−統計的識別不可能とは、無視可能関数εについてβとγとの間の統計的距離がε未満であることを意味する。また「β→γ」はβをγに写す(写像する)ことを意味する。
<Allowable encoding>
Let W and U be a finite set. A function F: W → U that satisfies the following three properties is called ε-allowable coding.
[Computability] F can be calculated in a deterministic polynomial time.
[Normality] F (w) for a random variable w uniformly distributed on W cannot be ε-statistically distinguished from a uniform distribution on U.
[Sampleability] An efficient random selection algorithm I exists for every u∈U, and the distribution of I (u) output by the algorithm I for an input u is F −1 (u) and ε-statistics. Cannot be identified.
Note that “β is γ and ε—statistically indistinguishable” means that the statistical distance between β and γ is less than ε for the negligible function ε. “Β → γ” means that β is mapped to γ.

<定理>
次のような定理が成り立つ。h:{0,1}→Wがランダムオラクル(暗号学的理想原始関数)であり、F:W→Uがε−許容符号化であるとする。tをアルゴリズムIの最大実行時間とし、t=2q・tとし、ε’=4q・εとする。このときF(h(・)):{0,1}→Uはランダムオラクル(理想原始関数)H:{0,1}→Uと(t,t,q,ε’)−強識別不可能である。
<Theorem>
The following theorem holds. h: {0,1} * → W is a random oracle (cryptographic ideal primitive function), and F: W → U is an ε-allowable encoding. Let t I be the maximum execution time of algorithm I, t s = 2q D · t I, and ε ′ = 4q D · ε. At this time, F (h (·)): {0, 1} * → U is a random oracle (ideal primitive function) H: {0, 1} * → U and (t D , t s , q D , ε ′) -Strong identification is impossible.

<アルゴリズムF’の安全性>
しかし、前述したアルゴリズムF’の出力には明らかな分布の偏りがあるため、上記のランダムオラクルhを使ってF’(h(・))を構成しても、εを無視可能関数とすることができない。すなわち、アルゴリズムF’は正規性および標本可能性を持たず、ε−許容符号化とはならない。そのため、アルゴリズムF’は上述の定理に基づく安全性を持たない。
<Safety of algorithm F '>
However, since the output of the algorithm F ′ described above has a clear distribution bias, even if F ′ (h (•)) is configured using the random oracle h, ε should be a negligible function. I can't. That is, algorithm F ′ does not have normality and sampleability and is not an ε-acceptable encoding. Therefore, the algorithm F ′ has no security based on the above theorem.

この問題を解決するため、非特許文献2では、h,hをランダムオラクルとした次のようなアルゴリズムF”:{0,1}→E(F)が提案されている。
F”:x→F’(h(x))+F’(h(x))
In order to solve this problem, Non-Patent Document 2 proposes the following algorithm F ″: {0, 1} * → E (F q ) in which h 1 and h 2 are random oracles.
F ″: x → F ′ (h 1 (x)) + F ′ (h 2 (x))

Paulo S. L. M. Barreto1 and Michael. Naehrig, “Pairing-Friendly Elliptic Curves of Prime Order,” In B. Preneel and S. E. Tavares, editors, Selected Areas in Cryptography, 12th International Workshop, SAC 2005, Kingston, ON, Canada, August 11-12, 2005, Revised Selected Papers, Volume 3897 of Lecture Notes in Computer Science, pages 319-331, Springer, 2005.Paulo SLM Barreto1 and Michael. Naehrig, “Pairing-Friendly Elliptic Curves of Prime Order,” In B. Preneel and SE Tavares, editors, Selected Areas in Cryptography, 12th International Workshop, SAC 2005, Kingston, ON, Canada, August 11- 12, 2005, Revised Selected Papers, Volume 3897 of Lecture Notes in Computer Science, pages 319-331, Springer, 2005. P. Fouque and M. Tibouchi, “Indifferentiable hashing to barreto-naehrig curves,” In A. Hevia and G. Neven, editors, Progress in Cryptography, LATINCRYPT 2012 - 2nd International Conference on Cryptography and Information Security in Latin America, Santiago, Chile, October 7-10, 2012, Proceedings, Volume 7533 of Lecture Notes in Computer Science, pages 1-17, Springer, 2012.P. Fouque and M. Tibouchi, “Indifferentiable hashing to barreto-naehrig curves,” In A. Hevia and G. Neven, editors, Progress in Cryptography, LATINCRYPT 2012-2nd International Conference on Cryptography and Information Security in Latin America, Santiago, Chile, October 7-10, 2012, Proceedings, Volume 7533 of Lecture Notes in Computer Science, pages 1-17, Springer, 2012.

しかしながら、上述のアルゴリズムF”ではF’を2回計算する必要があり、計算量が多い。   However, in the above-described algorithm F ″, F ′ needs to be calculated twice, and the amount of calculation is large.

本発明の課題は、安全かつ少ない演算量で楕円曲線上の等分点からなる群上の元を標本する技術を提供することである。   The subject of this invention is providing the technique which samples the element on the group which consists of an equidistant point on an elliptic curve with safe and small calculation amount.

有限体上で定義された第1楕円曲線の位数がnであり、当該有限体の拡大体上で定義された第2楕円曲線の位数がm×n>nであり、αがmと互いに素な整数であり、入力された拡大体の元を第2楕円曲線上の対応点へ写し、当該対応点の楕円α×m倍点を第2楕円曲線上のn等分点として得る。   The order of the first elliptic curve defined on the finite field is n, the order of the second elliptic curve defined on the extension field of the finite field is m × n> n, and α is m. It is a disjoint integer, and the input element of the extension field is copied to the corresponding point on the second elliptic curve, and the ellipse α × m multiple point of the corresponding point is obtained as the n equally dividing point on the second elliptic curve.

本発明では、安全かつ少ない演算量で楕円曲線上の等分点からなる群上の元を標本できる。   In the present invention, it is possible to sample elements on a group of equal points on an elliptic curve with a safe and small amount of calculation.

図1Aは実施形態の標本装置の機能構成を例示したブロック図である。図1Bは写像部の機能構成を例示したブロック図である。FIG. 1A is a block diagram illustrating a functional configuration of the sample apparatus of the embodiment. FIG. 1B is a block diagram illustrating a functional configuration of the mapping unit. 図2は実施形態の楕円倍算部を例示したブロック図である。FIG. 2 is a block diagram illustrating the elliptic multiplication unit of the embodiment. 図3Aは実施形態の標本方法を例示したフロー図である。図3Bは実施形態の写像部の処理を例示したフロー図である。FIG. 3A is a flowchart illustrating the sample method according to the embodiment. FIG. 3B is a flowchart illustrating the process of the mapping unit according to the embodiment. 図4は実施形態の楕円倍算部の処理を例示したブロック図である。FIG. 4 is a block diagram illustrating the processing of the elliptic multiplication unit of the embodiment.

以下、本発明の実施形態を説明する。
[概要]
まず実施形態の概要を説明する。
有限体上で定義された第1楕円曲線の位数がnであり、有限体の拡大体上で定義された第2楕円曲線の位数がm×n>nであり、αがmと互いに素な整数であるとする。n,m,αは正の整数である。各実施形態では、入力された当該拡大体の元を当該第2楕円曲線上の対応点へ写し、当該対応点の楕円α×m倍点を第2楕円曲線上のn等分点として得る。このように得られる第2楕円曲線上のn等分点は、それぞれ第2楕円曲線上のm個の互いに異なる対応点に対応する。すなわち、上述の楕円α×m倍算は、第2楕円曲線上の互いに異なるm個の対応点を同一のn等分点に写す。そのため、拡大体の元を第2楕円曲線上の対応点へ写すアルゴリズムに分布の偏りがあったとしても、最終的に得られるn等分点の偏りは小さくなり、安全性が向上する。特に大数の法則に従う場合には、正規性および標本可能性を満たし、良く知られた効率的な楕円倍算の手法を用いれば計算可能性も満たす。そのため、ε−許容符号化の要件を満たし、本形態の方式は全体としてランダムオラクルと(t,t,q,ε’)−強識別不可能となる。また、拡大体の元を第2楕円曲線上の対応点へ写すための計算は1回だけでよく、非特許文献2に開示された方式よりも計算量が少ない。以上より、安全かつ少ない演算量で楕円曲線上の等分点からなる群上の元を標本できる。
Embodiments of the present invention will be described below.
[Overview]
First, an outline of the embodiment will be described.
The order of the first elliptic curve defined on the finite field is n, the order of the second elliptic curve defined on the extension field of the finite field is m × n> n, and α is mutually equal to m. Suppose that it is a prime integer. n, m, and α are positive integers. In each embodiment, the input element of the enlarged body is copied to a corresponding point on the second elliptic curve, and an ellipse α × m multiple of the corresponding point is obtained as an n-divided point on the second elliptic curve. The n equally divided points on the second elliptic curve thus obtained correspond to m different corresponding points on the second elliptic curve, respectively. That is, in the above-described elliptic α × m multiplication, m different points on the second elliptic curve are copied to the same n equally divided points. Therefore, even if there is a distribution bias in the algorithm for mapping the element of the expansion body to the corresponding point on the second elliptic curve, the bias of the n equally divided points finally obtained is reduced, and the safety is improved. In particular, when following the law of large numbers, normality and sampleability are satisfied, and calculation efficiency is also satisfied by using a well-known efficient method of elliptic multiplication. Therefore, the requirement of ε-acceptable coding is satisfied, and the system of this embodiment cannot be distinguished from a random oracle as a whole (t D , t s , q D , ε ′)-strong. In addition, the calculation for copying the element of the expansion body to the corresponding point on the second elliptic curve may be performed only once, and the amount of calculation is less than the method disclosed in Non-Patent Document 2. From the above, it is possible to sample elements on a group consisting of equal points on an elliptic curve with a safe and small calculation amount.

αはmと互いに素であるため、第2楕円曲線上での対応点の楕円α×m倍算は、当該対応点の楕円m倍算を行い、さらに第2楕円曲線のn等分点からなる群上でα倍算することと等しい。そのため、α≠1であったとしても、対応点の楕円α×m倍点は第2楕円曲線のn等分点からなる群の何れかの元となる。そのため、α=1であってもよいし、α≠1であってもよい。通常の楕円倍算ではα=1の場合の方がα≠1の場合よりも演算量が小さい。一方、α≠1とした場合でも、第2楕円曲線上のフロベニウス写像を用いて楕円α×m倍点を得ることで、通常の第2楕円曲線上の楕円m倍算よりも演算量を小さくできる場合もある。例えば、第1および第2楕円曲線がBN曲線であり、n=36u+36u+18u+6u+1であり、m=36u+36u+30u+6u+1であり、uが整数の媒介変数である場合、第2楕円曲線上のフロベニウス写像ψを用いた演算6u−ψ+3ψ−ψによって第2楕円曲線上の楕円α×m倍点を得てもよい。この演算量は、通常の楕円倍算を行って楕円m倍点を得るよりも少ない。また、フロベニウス写像ψはψ−ψ+1=0の関係を満たす。そのため、この関係を用いて6u−ψ+3ψ−ψに変更可能な他の演算によって、第2楕円曲線上の楕円α×m倍点を得てもよい。その他、α=1とし、第2楕円曲線上のフロベニウス写像を用いて楕円α×m倍点を得てもよい。 Since α is relatively prime to m, the elliptical α × m multiplication of the corresponding point on the second elliptic curve is performed by multiplying the corresponding point by the ellipse m, and further from the n equally dividing point of the second elliptic curve. Equivalent to multiplying by α over the group Therefore, even if α ≠ 1, the ellipse α × m times the corresponding point is a source of any of the groups of n equally divided points of the second elliptic curve. Therefore, α = 1 may be satisfied, or α ≠ 1 may be satisfied. In normal elliptic multiplication, the amount of calculation is smaller when α = 1 than when α ≠ 1. On the other hand, even when α ≠ 1, the amount of calculation is smaller than the normal elliptic m multiplication on the second elliptic curve by obtaining the elliptic α × m multiplication point using the Frobenius map on the second elliptic curve. Sometimes you can. For example, if the first and second elliptic curves are BN curves, n = 36u 4 + 36u 3 + 18u 2 + 6u + 1, m = 36u 4 + 36u 3 + 30u 2 + 6u + 1, and u is an integer parameter, An ellipse α × m times point on the second elliptic curve may be obtained by the calculation 6u−ψ 3 + 3ψ 2 −ψ using the Frobenius map ψ on the two elliptic curve. The amount of calculation is less than that obtained by performing the normal elliptic multiplication to obtain an elliptic m-fold point. The Frobenius map ψ satisfies the relationship ψ 4 −ψ 2 + 1 = 0. Therefore, an ellipse α × m multiple point on the second elliptic curve may be obtained by another calculation that can be changed to 6u−ψ 3 + 3ψ 2 −ψ using this relationship. In addition, α = 1 may be used to obtain an ellipse α × m multiple point using the Frobenius map on the second elliptic curve.

[第1実施形態]
次に第1実施形態を説明する。
本形態では、第1および第2楕円曲線が以下のBN曲線である場合を例示する。
E/F:y=x+b
E’/Fρ:y=x+b’
ただし、E/Fは位数pの有限体F上で定義された楕円曲線(第1楕円曲線)であり、E’/Fρは位数ρ=pの有限体Fρ(Fを基礎体とした拡大体)上で定義された楕円曲線(第2楕円曲線)である。xおよびyは変数(座標値)であり、b∈Fおよびb’∈Fρは定数である。E/Fの位数を#E/Fと表記し、E’/Fρの位数を#E’/Fρと表記する。n=#E/Fとし、m=(#E’/Fρ)/(#E/F)とし、uを整数の媒介変数とすると、p,n,mは以下の関係を満たす。
p=36u+36u+24u+6u+1
n=36u+36u+18u+6u+1
m=36u+36u+30u+6u+1
このようなmは位数の余因数と呼ばれ、#E’/Fρ=m×n>nとなる。pは素数であり、nおよびmは素数であってもよいし、素数以外の正整数であってもよい。
[First Embodiment]
Next, a first embodiment will be described.
In this embodiment, the case where the first and second elliptic curves are the following BN curves is illustrated.
E / F p: y 2 = x 3 + b
E ′ / F ρ : y 2 = x 3 + b ′
However, E / F p is an elliptic curve (first elliptic curve) defined on a finite field F p of order p , and E ′ / F ρ is a finite field F ρ (F of order ρ = p 2 An elliptic curve (second elliptic curve) defined on the enlarged body based on p ). x and y are variable (coordinate values), the B∈F p and B'∈F [rho constants. The order of the E / F p is denoted as # E / F p, referred to 'the order of the / F ρ # E' E / F ρ and. and n = # E / F p, m = a (# E '/ F ρ) / (# E / F p), when the u is an integer of parametric, p, n, m satisfy the following relationship.
p = 36u 4 + 36u 3 + 24u 2 + 6u + 1
n = 36u 4 + 36u 3 + 18u 2 + 6u + 1
m = 36u 4 + 36u 3 + 30u 2 + 6u + 1
Such m is called the cofactor of the order, and # E ′ / F ρ = m × n> n. p is a prime number, and n and m may be a prime number or a positive integer other than a prime number.

<構成>
図1Aに例示するように、本形態の標本装置1は、入力部11と写像部12と楕円倍算部13と出力部14とメモリ15を有する。図1Bに例示するように、本形態の写像部12は、第1判定部121と第2判定部122と第3判定部123と出力部124を有する。標本装置1は、例えば、CPU(central processing unit)等のプロセッサ(ハードウェア・プロセッサ)やRAM(random-access memory)・ROM(read-only memory)等のメモリ等を備える汎用または専用のコンピュータが所定のプログラムを実行することで構成される装置である。このコンピュータは1個のプロセッサやメモリを備えていてもよいし、複数個のプロセッサやメモリを備えていてもよい。このプログラムはコンピュータにインストールされてもよいし、予めROM等に記録されていてもよい。また、CPUのようにプログラムが読み込まれることで機能構成を実現する電子回路(circuitry)ではなく、プログラムを用いることなく処理機能を実現する電子回路を用いて一部またはすべての処理部が構成されてもよい。また、1個の装置を構成する電子回路が複数のCPUを含んでいてもよい。以降では説明を省略するが、標本装置1の各部に入出力される情報は、メモリ15に格納され、必要に応じて読み出される。
<Configuration>
As illustrated in FIG. 1A, the sample device 1 of this embodiment includes an input unit 11, a mapping unit 12, an ellipse multiplication unit 13, an output unit 14, and a memory 15. As illustrated in FIG. 1B, the mapping unit 12 of this embodiment includes a first determination unit 121, a second determination unit 122, a third determination unit 123, and an output unit 124. The sample apparatus 1 is, for example, a general-purpose or dedicated computer including a processor (hardware processor) such as a CPU (central processing unit), a memory such as a random-access memory (RAM), a read-only memory (ROM), or the like. An apparatus configured by executing a predetermined program. The computer may include a single processor and memory, or may include a plurality of processors and memory. This program may be installed in a computer, or may be recorded in a ROM or the like in advance. In addition, some or all of the processing units are configured using an electronic circuit that realizes a processing function without using a program, instead of an electronic circuit (circuitry) that realizes a functional configuration by reading a program like a CPU. May be. In addition, an electronic circuit constituting one device may include a plurality of CPUs. Hereinafter, although explanation is omitted, information inputted to and outputted from each part of the sample device 1 is stored in the memory 15 and read out as necessary.

<処理>
図3Aを用いて本形態の処理を説明する。
まず、有限体Fρ(拡大体)の任意の元t∈Fρが入力部11に入力され、写像部12に送られる(ステップS11)。写像部12は、送られた元tに対して後述するアルゴリズムfを適用し、元tを楕円曲線E’/Fρ上の対応点f(t)=(t,t)∈E’/Fρへ写す。得られた対応点f(t)は楕円倍算部13に送られる(ステップS12)。楕円倍算部13は、送られた対応点f(t)に対し、楕円曲線E’/Fρ上の楕円m倍算(v,v)=[m]f(t)∈E’/Fρを行う。楕円曲線E’/Fρの位数#E’/Fρはn×mであるため、対応点f(t)の楕円m倍点(v,v)は#E’/Fρ上のn等分点となる。#E’/Fρ上のn等分点からなる有限集合#E’/Fρ[n]は群(本形態では巡回群)をなし、(v,v)はその群の元(v,v)∈#E’/Fρ[n]となる(ステップS13)。元(v,v)は出力部14に送られ、出力部14は元(v,v)を出力する(ステップS14)。
<Processing>
The processing of this embodiment will be described using FIG. 3A.
First, an arbitrary element tεF ρ of a finite field F ρ (expanded field) is input to the input unit 11 and sent to the mapping unit 12 (step S11). The mapping unit 12 applies an algorithm f to be described later to the transmitted element t, and uses the element t as a corresponding point f (t) = (t x , t y ) ∈E ′ on the elliptic curve E ′ / F ρ. / F Copy to ρ . The corresponding point f (t) obtained is sent to the ellipse multiplication unit 13 (step S12). The elliptic multiplication unit 13 performs the elliptic m multiplication (v x , v y ) = [m] f (t) ∈E ′ on the elliptic curve E ′ / F ρ with respect to the sent corresponding point f (t). / F ρ is performed. Since the order # E ′ / F ρ of the elliptic curve E ′ / F ρ is n × m, the elliptic point m times (v x , v y ) of the corresponding point f (t) is on # E ′ / F ρ N equal dividing points. # E '/ F finite set consisting of n equally divided points on ρ # E' / F ρ [ n] forms a group (the cyclic group in the present embodiment), (v x, v y ) is the group of the original ( v x , v y ) ε # E ′ / F ρ [n] (step S13). The element (v x , v y ) is sent to the output unit 14, and the output unit 14 outputs the element (v x , v y ) (step S14).

≪アルゴリズムfの詳細の例示≫
アルゴリズムfの詳細を例示する。無限遠点Oを除く楕円曲線E’/Fρ上のx≠0なる任意の点を(x,y)∈(E’/Fρ)\Oとし、1の原始3乗根をξとする。この場合、元t∈Fρに対して以下のx(t),x(t),x(t)∈Fρのうち、最低1つは楕円曲線E’/Fρ上のx座標となる。

Figure 0006228940
≪Example of details of algorithm f≫
The details of the algorithm f are illustrated. Let (x 0 , y 0 ) ∈ (E ′ / F ρ ) \ O be an arbitrary point on the elliptic curve E ′ / F ρ excluding the infinity point O, where x 0 y 0 ≠ 0. Let the root be ξ. In this case, the original T∈F [rho following x 1 with respect to (t), x 2 (t ), x 3 (t) of the ∈F [rho, at least one is an elliptic curve E '/ F ρ on the x Coordinates.
Figure 0006228940

写像部12は、元tに次のアルゴリズムfを適用することで楕円曲線E’/Fρ上の対応点f(t)を得る(図3B)。まず、写像部12の第1判定部121(図1B)に元tが入力され、第1判定部121がt=0∈Fρであるかを判定する(ステップS121)。t=0であれば、第1判定部121はi:=1に設定し(ステップS122)、処理をステップS126に進める。ただし、「β:=γ」は「βをγとする(γをβに代入する)こと」を意味する。t≠0であれば、元tが第2判定部122に入力され、第2判定部122が1+t=0∈Fρであるかを判定する(ステップS123)。1+t=0であれば、第2判定部122はi:=3に設定し(ステップS124)、処理をステップS126に進める。1+t≠0であれば、元tが第3判定部123に入力され、第3判定部123はg(x(t))1/2が有限体Fρの元となるようなj∈{1,2,3}のうち最小のjをiに設定し、処理をステップS126に進める。ただし、g(x)=x+b’である(ステップS125)。ステップS126では、出力部124が

Figure 0006228940

を楕円曲線E’/Fρ上の対応点f(t)として出力する。ただし、χ:Fρ→{−1,1}は、任意の元t∈Fρに対してχ(−t)=−χ(t)となり、χ(0)=1となる関数である(ステップS126)。 The mapping unit 12 obtains a corresponding point f (t) on the elliptic curve E ′ / by applying the following algorithm f to the element t (FIG. 3B). First, first determination unit 121 of the mapping unit 12 (FIG. 1B) based on t is input, the first determination unit 121 determines whether the t = 0∈F ρ (step S121). If t = 0, the first determination unit 121 sets i: = 1 (step S122), and the process proceeds to step S126. However, “β: = γ” means “being β as γ (substituting γ into β)”. If t ≠ 0, based on t is input to the second judging unit 122, the second determination unit 122 determines whether the 1 + t 2 = 0∈F ρ (step S123). If 1 + t 2 = 0, the second determination unit 122 sets i: = 3 (step S124), and the process proceeds to step S126. If 1 + t 2 ≠ 0, the element t is input to the third determining unit 123, and the third determining unit 123 performs jε such that g (x j (t)) 1/2 is an element of the finite field F ρ. The smallest j of {1, 2, 3} is set to i, and the process proceeds to step S126. However, g (x) = x 3 + b ′ (step S125). In step S126, the output unit 124
Figure 0006228940

Is output as a corresponding point f (t) on the elliptic curve E ′ / . However, χ: F ρ → {−1, 1} is a function for which χ (−t) = − χ (t) and χ (0) = 1 for an arbitrary element t∈F ρ ( Step S126).

<本形態の特徴>
本形態の方式では、有限体Fρの元tを楕円曲線E’/Fρ上の対応点f(t)へ写すアルゴリズムfの計算回数は1回だけでよく、演算速度が非特許文献2に開示された方式のおよそ2倍となる。また、BN曲線上での効率的な楕円倍算方式が存在するため、本形態の方式は計算可能性を満たす。さらに以下の理由により、正規性および標本可能性も満たす。従って、本形態の方式はランダムオラクルと(t,t,q,ε’)−強識別不可能である。
<Features of this embodiment>
In the method of the present embodiment, the algorithm f for copying the element t of the finite field F ρ to the corresponding point f (t) on the elliptic curve E ′ / F ρ need only be calculated once, and the calculation speed is non-patent document 2. About twice as much as the method disclosed in. In addition, since there is an efficient elliptic multiplication method on the BN curve, the method of this embodiment satisfies the computability. It also satisfies normality and sampleability for the following reasons: Therefore, the system of this embodiment cannot be distinguished from a random oracle by (t D , t s , q D , ε ′)-strong.

≪正規性≫
ステップS13の楕円m倍算は、楕円曲線E’/Fρ上のm個の互いに異なる対応点f(t)=(t,t)を同一のn等分点に写す。mは十分に大きく、この演算によって得られるn等分点からなる有限集合E’/Fρ[n]は大数の法則に従う。そのため、アルゴリズムfの個々の出力f(t)の分布に偏りがあったとしても、この楕円m倍算によって得られるn等分点の分布の偏りはほとんど無視でき、一様分布とε−統計的識別不可能となる。そのため、本形態の方式は正規性を満たす。
≪Normality≫
In the elliptic m multiplication in step S13, m different corresponding points f (t) = (t x , t y ) on the elliptic curve E ′ / F ρ are copied to the same n equally divided points. m is sufficiently large, and a finite set E ′ / F ρ [n] consisting of n equal points obtained by this calculation follows the law of large numbers. Therefore, even if there is a bias in the distribution of the individual outputs f (t) of the algorithm f, the bias in the distribution of the n equally divided points obtained by this elliptic m multiplication is almost negligible, and the uniform distribution and the ε-statistic Cannot be identified. Therefore, the method of this embodiment satisfies normality.

≪標本可能性≫
以下のアルゴリズムにより、有限集合E’/Fρ[n]の任意の元Λ∈E’/Fρ[n]を、それに対応する有限体Fρの元t∈Fρに写すことができる。
入力:Λ∈E’/Fρ[n]
出力:t∈Fρ
手続:
1−1)楕円曲線E’/Fρ上のm等分点からなる有限集合E’/Fρ[m]の任意の元Γ∈E’/Fρ[m]を選択する。
1−2)Ω=Λ+Γ∈E’/Fρを計算する。
1−3)有限体Fρの元を要素とする集合L=I’(Ω)を計算する。
1−4)集合{1,・・・,d}(dは正の整数)から任意の元μ∈{1,・・・,d}を選択する。
1−5)μ≦#Lなら集合Lの任意の元t∈Lを出力して終了する。ただし、#Lは集合Lの位数である。
1−6)μ≦#Lでないなら「1−1」に戻る。
<< Possibility of specimen >>
An arbitrary element Λ∈E ′ / F ρ [n] of the finite set E ′ / F ρ [n] can be copied to the element t∈F ρ of the corresponding finite field F ρ by the following algorithm.
Input: Λ∈E ′ / F ρ [n]
Output: t∈F ρ
procedure:
1-1) Select an arbitrary element Γ∈E ′ / F ρ [m] of a finite set E ′ / F ρ [m] composed of m equally divided points on the elliptic curve E ′ / F ρ .
1-2) to calculate the Ω = Λ + Γ∈E '/ F ρ.
1-3) A set L = I ′ (Ω) whose elements are elements of the finite field F ρ is calculated.
1-4) Select an arbitrary element μ∈ {1,..., D} from the set {1,..., D} (d is a positive integer).
1-5) If μ ≦ # L, output an arbitrary element t∈L of the set L and end. However, #L is the order of the set L.
1-6) If μ ≦ # L, return to “1-1”.

I’(Ω)としては、例えば、以下のようなアルゴリズムを用いることができる。
入力:Ω=(x,y)∈E’/Fρ
出力:L⊂Fρ
手続:
2−1)Lを空集合にする。
2−2)tに関する方程式(x−ξ)t+(x−ξx)=0が有限体Fρ上に根を持つなら、y=χ(t)g(t)1/2を満たす方の根をtとし、L:=L∪{t}とする。
2−3)tに関する方程式(x−ξx)t+(x−ξ)=0が有限体Fρ上に根を持つなら、y=χ(t)g(t)1/2を満たす方の根をtとし、g(x(t))1/2∈Fρでないならば、L:=L∪{t}とする。
2−4)tに関する方程式

Figure 0006228940

が有限体Fρ上に4つの根を持つなら、y=χ(t)g(t)1/2を満たす2つの根をt,tとし、有限体Fρ上に2つの根を持つなら、y=χ(t)g(t)1/2を満たす方の根をtとする。tが存在し、g(x(t))1/2∈Fρでなく、かつ、g(x(t))1/2∈Fρでないならば、L:=L∪{t}とする。tが存在し、g(x(t))1/2∈Fρでなく、かつ、g(x(t))1/2∈Fρでないならば、L:=L∪{t}とする。
2−5)Lを出力する。 As I ′ (Ω), for example, the following algorithm can be used.
Input: Ω = (x, y) ∈E ′ / F ρ
Output: L⊂F ρ
procedure:
2-1) Let L be an empty set.
2-2) If the equation (x−ξ 2 x 0 ) t 2 + (x−ξx 0 ) = 0 for t has a root on the finite field F ρ , y = χ (t) g (t) 1 / The root satisfying 2 is t 1 and L: = L∪ {t 1 }.
2-3) If the equation (x−ξx 0 ) t 2 + (x−ξ 2 x 0 ) = 0 for t has a root on the finite field F ρ , y = χ (t) g (t) 1 / If the root satisfying 2 is t 2 and g (x 1 (t 2 )) 1/2 εF ρ is not satisfied, L: = L∪ {t 2 }.
2-4) Equation for t
Figure 0006228940

Has four roots on the finite field F ρ , let t 3 and t 4 be the two roots that satisfy y = χ (t) g (t) 1/2, and two roots on the finite field F ρ. If so, let t 3 be the root that satisfies y = χ (t) g (t) 1/2 . If t 3 is present and not g (x 1 (t 3 )) 1/2 ∈ F ρ and not g (x 2 (t 3 )) 1/2 ∈ F ρ , then L: = L∪ Let {t 3 }. If t 4 is present and not g (x 1 (t 4 )) 1/2 ∈ F ρ and not g (x 2 (t 4 )) 1/2 ∈ F ρ , then L: = L∪ Let {t 4 }.
2-5) Output L.

上述のアルゴリズムI’(Ω)は、入力値Ωによっては出力されるLが空集合となる場合がある。そのため、アルゴリズムI’(Ω)自身は乱択アルゴリズムIとε−統計的識別不可能ではない。しかしながら、各Λ∈E’/Fρはm個のE’/Fρの元Ωの何れかとされ、mは十分に大きい。そのため、大数の法則に従い、1−1)〜1−6)のアルゴリズムは乱択アルゴリズムIとε−統計的識別不可能となり、本形態の方式は標本可能性を満たす。 In the algorithm I ′ (Ω) described above, the output L may be an empty set depending on the input value Ω. Therefore, the algorithm I ′ (Ω) itself is not ε-statistically indistinguishable from the random selection algorithm I. However, each Λ∈E ′ / F ρ is one of m elements E ′ / F ρ , and m is sufficiently large. Therefore, according to the law of large numbers, the algorithm of 1-1) to 1-6) cannot be discriminated statistically from the random selection algorithm I, and the method of this embodiment satisfies the sampleability.

なお、本形態のステップS13では楕円m倍算(v,v)=[m]f(t)∈E’/Fρを行ったが、これに代えて楕円α×m倍算(v,v)=[α×m]f(t)∈E’/Fρを行ってもよい。 In step S13 of this embodiment, ellipse m multiplication (v x , v y ) = [m] f (t) ∈E ′ / F ρ is performed. Instead, ellipse α × m multiplication (v x , v y ) = [α × m] f (t) ∈E ′ / F ρ may be performed.

[第2実施形態]
楕円曲線E’/Fρには、楕円曲線E’/Fρ上の演算を高速に行うことができるフロベニウス写像と呼ばれる線形演算ψ:E’/Fρ→E’/Fρが存在する。BN曲線の設定ではあるf,f∈Fρが存在し、
ψ:(X,Y)→(fX*,fY*)
と計算できる。ただし、(X,Y)は楕円曲線E’/Fρ上の点であり、X*,Y*はそれぞれX,YのFρ上共役である。ψ−ψ+1=0の関係を満たす。本形態では、このフロベニウス写像ψを用いて楕円曲線E’/Fρ上の楕円α×m倍点(v,v)を得る。以下では第1実施形態との相違点を中心に説明し、既述の事項については同じ参照番号を流用して説明を省略する。
[Second Embodiment]
In the elliptic curve E ′ / F ρ, there is a linear operation ψ: E ′ / F ρ → E ′ / F ρ called a Frobenius map that can perform an operation on the elliptic curve E ′ / F ρ at high speed. There are f 1 and f 2 εF ρ which are BN curve settings,
ψ: (X, Y) → (f 1 X *, f 2 Y *)
Can be calculated. However, (X, Y) is a point on the elliptic curve E ′ / F ρ , and X * and Y * are conjugates of X and Y on F ρ , respectively. The relation of ψ 4 −ψ 2 + 1 = 0 is satisfied. In this embodiment, an ellipse α × m multiple point (v x , v y ) on the elliptic curve E ′ / F ρ is obtained using this Frobenius map ψ. In the following description, differences from the first embodiment will be mainly described, and the same reference numerals will be used for the matters already described, and description thereof will be omitted.

<構成>
図1Aに例示するように、本形態の標本装置2は、入力部11と写像部12と楕円倍算部23と出力部14とメモリ15を有する。標本装置2は、前述のコンピュータが所定のプログラムを実行することで構成される装置であってもよいし、電子回路を用いて一部またはすべての処理部が構成される装置であってもよい。
<Configuration>
As illustrated in FIG. 1A, the sample device 2 of this embodiment includes an input unit 11, a mapping unit 12, an ellipse multiplication unit 23, an output unit 14, and a memory 15. The sample apparatus 2 may be an apparatus configured by the above-described computer executing a predetermined program, or may be an apparatus in which a part or all of the processing units are configured using an electronic circuit. .

<処理>
図3Aを用いて本形態の処理を説明する。本形態では、第1実施形態で説明したステップS11,S12の処理が実行され、ステップS13に代えて以下のステップS23の処理が実行され、その後、第1実施形態で説明したステップS14の処理が実行される。ステップS23の処理を説明する。
<Processing>
The processing of this embodiment will be described using FIG. 3A. In this embodiment, the processes of steps S11 and S12 described in the first embodiment are executed, the following process of step S23 is executed instead of step S13, and then the process of step S14 described in the first embodiment is performed. Executed. The process of step S23 will be described.

≪ステップS23≫
楕円倍算部23は、送られた対応点f(t)に対し、フロベニウス写像ψを用いて楕円曲線E’/Fρ上の楕円α×m倍点[α×m]f(t)∈E’/Fρを得て出力する。α=1であってもよいし、α≠1であってもよく、フロベニウス写像ψを用いた楕円α×m倍点[α×m]f(t)の演算方法に限定はない。本形態の楕円曲線E’/Fρは位数n×mの巡回群をなし、フロベニウス写像ψの固有値λに関する固有空間となる(巡回群をなす楕円曲線に共通)。この場合、点Θ∈E’/Fρにフロベニウス写像ψを作用させることと、楕円曲線E’/Fρ上で点Θを楕円λ倍算することとが等しくなる(ψΘ=λΘ)。ここで固有値λに関する関数c(λ)がc(λ)≠0 (mod n)およびc(λ)=0 (mod m)を満たすのであれば、点Θの楕円c(λ)倍算は点Θのα×m倍算となる。このようなc(λ)のλをψに置換した形で表現される演算を対応点f(t)に作用させることが、フロベニウス写像ψを用いた楕円α×m倍点[α×m]f(t)を得るための演算Φである。ただし、フロベニウス写像ψを用いた楕円α×m倍点[α×m]f(t)の演算に必要な演算量が通常のf(t)の楕円m倍算の演算量よりも小さくなることが望ましい。例えば、楕円倍算部23は、以下のような演算Φによって楕円α×m倍点[α×m]f(t)を得ることが望ましい。
Φ:T→(6u−ψ+3ψ−ψ)T (1)
ただし、T∈E’/Fρであり、T=f(t)とすることで楕円α×m倍点[α×m]f(t)を計算できる。
<< Step S23 >>
The ellipse multiplication unit 23 uses the Frobenius map ψ for the sent corresponding point f (t), and an ellipse α × m multiple point [α × m] f (t) ∈ on the elliptic curve E ′ / F ρ. E '/ is obtained and output. α = 1 or α ≠ 1, and there is no limitation on the calculation method of the ellipse α × m multiple point [α × m] f (t) using the Frobenius map ψ. The elliptic curve E ′ / F ρ of this embodiment forms a cyclic group of order n × m, and is an eigenspace related to the eigenvalue λ of the Frobenius map ψ (common to the elliptic curve forming the cyclic group). In this case, applying the Frobenius map ψ to the point Θ∈E ′ / F ρ is equal to multiplying the point Θ by the ellipse λ on the elliptic curve E ′ / F ρ (ψΘ = λΘ). If the function c (λ) relating to the eigenvalue λ satisfies c (λ) ≠ 0 (mod n) and c (λ) = 0 (mod m), the elliptic c (λ) multiplication of the point Θ is a point Θ is multiplied by α × m. Applying an operation expressed by replacing λ of c (λ) with ψ to the corresponding point f (t) is an ellipse α × m multiple [α × m] using the Frobenius map ψ. This is an operation Φ for obtaining f (t). However, the amount of calculation required for the calculation of the ellipse α × m multiple point [α × m] f (t) using the Frobenius map ψ is smaller than the calculation amount of the normal elliptic m multiplication of f (t). Is desirable. For example, the ellipse multiplication unit 23 desirably obtains an ellipse α × m multiple point [α × m] f (t) by the following operation Φ.
Φ: T → (6u−ψ 3 + 3ψ 2 −ψ) T (1)
However, a T∈E '/ F ρ, T = f (t) and the elliptical alpha × m times points by [alpha × m] can be calculated f (t).

≪T→(6u−ψ+3ψ−ψ)Tの演算例≫
図2に例示するように、式(1)の演算を行う楕円倍算部23は、演算部230〜238および出力部239を有する。この場合、図4に例示するように、演算部230は入力されたf(t)をTに代入し(T:=f(t)∈E’/Fρ),得たTを出力する(ステップS230)。演算部231は、入力されたTをRに代入し(R:=T)、得たRを出力する(ステップS231)。演算部232はTを入力としてQ:=(6u)Tを得て出力する(ステップS232)。演算部233はRを入力としてR:=ψRを得て出力する(ステップS233)。演算部234はQを入力としてQ:=Q−Rを得て出力する(ステップS234)。演算部235はRを入力としてR:=ψRを得て出力する(ステップS235)。演算部236はQを入力としてQ:=Q+3Rを得て出力する(ステップS236)。演算部237はRを入力としてR:=ψRを得て出力する(ステップS237)。演算部238はQを入力としてQ:=Q−Rを得て出力する(ステップS238)。出力部239はQを出力する(ステップS239)。
≪T → (6u−ψ 3 + 3ψ 2 −ψ) T calculation example≫
As illustrated in FIG. 2, the elliptic multiplication unit 23 that performs the calculation of Expression (1) includes calculation units 230 to 238 and an output unit 239. In this case, as illustrated in FIG. 4, the calculation unit 230 substitutes the input f (t) for T (T: = f (t) εE ′ / F ρ ), and outputs the obtained T ( Step S230). The computing unit 231 substitutes the inputted T for R (R: = T), and outputs the obtained R (step S231). The calculating unit 232 receives T and obtains Q: = (6u) T and outputs it (step S232). The computing unit 233 receives R and obtains R: = ψR and outputs it (step S233). The calculation unit 234 receives Q and obtains Q: = QR and outputs it (step S234). The calculation unit 235 receives R and obtains R: = ψR and outputs it (step S235). The calculation unit 236 receives Q and obtains Q: = Q + 3R and outputs it (step S236). The computing unit 237 receives R and obtains R: = ψR and outputs it (step S237). The calculation unit 238 receives Q and obtains Q: = QR and outputs it (step S238). The output unit 239 outputs Q (step S239).

<本形態の特徴>
本形態では、フロベニウス写像ψを用いて楕円曲線E’/Fρ上の楕円α×m倍点[α×m]f(t)を計算するため、第1実施形態の方式よりも高速化できる場合がある。例えば、式(1)の方法を用いた場合には、第1実施形態の方式に比べて約4倍の高速化が実現できる。
<Features of this embodiment>
In the present embodiment, the ellipse α × m multiple point [α × m] f (t) on the elliptic curve E ′ / F ρ is calculated using the Frobenius map ψ, so that the speed can be increased as compared with the method of the first embodiment. There is a case. For example, when the method of Formula (1) is used, the speed can be increased by about 4 times compared with the method of the first embodiment.

[その他の変形例等]
なお、本発明は上述の実施の形態に限定されるものではない。例えば、上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。また、前述した1−1)〜1−6)の各処理をそれぞれ実行する処理部31−1〜31−6を備え、入力Λから出力tを得る装置を構成してもよい。このような装置は、前述のコンピュータが所定のプログラムを実行することで構成される装置であってもよいし、電子回路を用いて一部またはすべての処理部が構成される装置であってもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
[Other variations]
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. Moreover, you may comprise the apparatus which has the process parts 31-1 to 31-6 which respectively perform each process of 1-1)-1-6) mentioned above, and obtains the output t from input (LAMBDA). Such an apparatus may be an apparatus configured by the above-described computer executing a predetermined program, or an apparatus in which a part or all of the processing units are configured using an electronic circuit. Good. Needless to say, other modifications are possible without departing from the spirit of the present invention.

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

このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD−ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。   This program is distributed, for example, 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, this computer reads a program stored in its own recording device and executes a process according to the read program. As another execution form of the program, the computer may read the program directly from the portable recording medium and execute processing according to the program, and each time the program is transferred from the server computer to the computer. The processing according to the received program may be executed sequentially. The above-described processing may be executed by a so-called ASP (Application Service Provider) type service that realizes a processing function only by an execution instruction and result acquisition without transferring a program from the server computer to the computer. Good.

上記実施形態では、コンピュータ上で所定のプログラムを実行させて本装置の処理機能が実現されたが、これらの処理機能の少なくとも一部がハードウェアで実現されてもよい。   In the above embodiment, the processing functions of the apparatus are realized by executing a predetermined program on a computer. However, at least a part of these processing functions may be realized by hardware.

本発明は、例えばIDベース暗号方式や関数暗号方式等の楕円曲線を用いた暗号方式において、有限体上の任意値を楕円曲線上の点に安全かつ高速にマッピングするために利用できる。   The present invention can be used to safely and quickly map an arbitrary value on a finite field to a point on an elliptic curve in an encryption method using an elliptic curve such as an ID-based encryption method or a function encryption method.

1,2 標本装置 1, 2 Specimen device

Claims (8)

有限体上で定義された第1楕円曲線の位数がnであり、前記有限体の拡大体上で定義された第2楕円曲線の位数がm×n>nであり、αがmと互いに素な整数であり、
入力された前記拡大体の元を前記第2楕円曲線上の対応点へ写す写像部と、
前記対応点の楕円α×m倍点を前記第2楕円曲線上のn等分点として得る楕円倍算部と、
を有する標本装置。
The order of the first elliptic curve defined on the finite field is n, the order of the second elliptic curve defined on the extension field of the finite field is m × n> n, and α is m. A disjoint integer,
A mapping unit that maps the input element of the magnified body to a corresponding point on the second elliptic curve;
An elliptic multiplication unit that obtains an ellipse α × m times the corresponding point as an n-divided point on the second elliptic curve;
Specimen device with.
請求項1の標本装置であって、
α=1である標本装置。
The specimen device of claim 1, comprising:
Sample device where α = 1.
請求項1または2の標本装置であって、
α≠1であり、
前記楕円倍算部は、前記第2楕円曲線上のフロベニウス写像を用いて前記第2楕円曲線上の楕円α×m倍点を得、
前記第2楕円曲線上のフロベニウス写像を用いて前記第2楕円曲線上の楕円α×m倍点を得るための演算量は、前記第2楕円曲線上の楕円m倍算の演算量よりも小さい、標本装置。
The specimen device according to claim 1 or 2, wherein
α ≠ 1,
The elliptic multiplication unit obtains an ellipse α × m multiple point on the second elliptic curve using the Frobenius map on the second elliptic curve,
The amount of computation for obtaining an ellipse α × m multiple point on the second elliptic curve using the Frobenius map on the second elliptic curve is smaller than the amount of computation of ellipse m multiplication on the second elliptic curve. , Specimen device.
請求項1から3の何れかの標本装置であって、
前記第1および第2楕円曲線がBN曲線であり、
n=36u+36u+18u+6u+1であり、
m=36u+36u+30u+6u+1であり、
uが整数の媒介変数である標本装置。
The specimen device according to any one of claims 1 to 3,
The first and second elliptic curves are BN curves;
n = 36u 4 + 36u 3 + 18u 2 + 6u + 1,
m = 36u 4 + 36u 3 + 30u 2 + 6u + 1,
A sampling device where u is an integer parameter.
請求項4の標本装置であって、
前記楕円倍算部は、前記第2楕円曲線上のフロベニウス写像ψを用いた演算6u−ψ+3ψ−ψまたは前記演算6u−ψ+3ψ−ψに変更可能な前記フロベニウス写像ψを用いた演算によって、前記第2楕円曲線上の楕円α×m倍点を得る、標本装置。
The specimen device of claim 4, wherein
The elliptic multiplication unit uses the Frobenius map ψ that can be changed to the calculation 6u−ψ 3 + 3ψ 2 −ψ or the calculation 6u−ψ 3 + 3ψ 2 −ψ using the Frobenius map ψ on the second elliptic curve. The sample device obtains an ellipse α × m multiple point on the second elliptic curve by the calculation.
請求項4または5の標本装置であって、
前記拡大体の元がtであり、(x,y)が無限遠点を除く前記第2楕円曲線上のx≠0なる任意の点であり、ξが1の原始3乗根であり、g(x)=x+b’であり、b’が前記拡大体の元であり、χ(−t)=−χ(t)およびχ(0)=1を満たし、
Figure 0006228940

であり、
前記写像部は、
t=0であれば、(x(t),χ(t)g(x(t))1/2)を前記対応点とし、
1+t=0であれば、(x(t),χ(t)g(x(t))1/2)を前記対応点とし、
t≠0かつ1+t≠0であれば、g(x(t))1/2が前記拡大体の元となる最小のj∈{1,2,3}についての(x(t),χ(t)g(x(t))1/2)を前記対応点とする、標本装置。
The specimen device according to claim 4 or 5, wherein
The element of the extension field is t, (x 0 , y 0 ) is an arbitrary point where x 0 y 0 ≠ 0 on the second elliptic curve excluding the infinity point, and ξ is the primitive cube of 1 Root, g (x) = x 3 + b ′, b ′ is an element of the extension, and satisfies χ (−t) = − χ (t) and χ (0) = 1,
Figure 0006228940

And
The mapping unit is
If t = 0, (x 1 (t), χ (t) g (x 1 (t)) 1/2 ) is the corresponding point,
If 1 + t 2 = 0, (x 3 (t), χ (t) g (x 3 (t)) 1/2 ) is the corresponding point,
If t ≠ 0 and 1 + t 2 ≠ 0, g (x j (t)) 1/2 of the minimum of j? {1, 2, 3} which is the source of the extension field (x j (t) , Χ (t) g (x j (t)) 1/2 ) as the corresponding point.
有限体上で定義された第1楕円曲線の位数がnであり、前記有限体の拡大体上で定義された第2楕円曲線の位数がm×nであり、m×n>nであり、αがmと互いに素な整数であり、
写像部が、入力された前記拡大体の元を前記第2楕円曲線上の対応点へ写す写像ステップと、
楕円倍算部が、前記対応点の楕円α×m倍点を前記第2楕円曲線上のn等分点として得る楕円倍算ステップと、
を有する標本方法。
The order of the first elliptic curve defined on the finite field is n, the order of the second elliptic curve defined on the extension field of the finite field is m × n, and m × n> n. And α is a relatively prime integer with m,
A mapping step for mapping the input element of the magnified body to a corresponding point on the second elliptic curve;
An ellipse multiplication unit for obtaining an ellipse α × m multiplication point of the corresponding point as an n-divided point on the second elliptic curve;
Specimen method having.
請求項1から6の何れかの標本装置としてコンピュータを機能させるためのプログラム。   A program for causing a computer to function as the specimen device according to claim 1.
JP2015001453A 2015-01-07 2015-01-07 SAMPLE DEVICE, SAMPLE METHOD, AND PROGRAM Active JP6228940B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015001453A JP6228940B2 (en) 2015-01-07 2015-01-07 SAMPLE DEVICE, SAMPLE METHOD, AND PROGRAM

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015001453A JP6228940B2 (en) 2015-01-07 2015-01-07 SAMPLE DEVICE, SAMPLE METHOD, AND PROGRAM

Publications (2)

Publication Number Publication Date
JP2016126227A JP2016126227A (en) 2016-07-11
JP6228940B2 true JP6228940B2 (en) 2017-11-08

Family

ID=56359463

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015001453A Active JP6228940B2 (en) 2015-01-07 2015-01-07 SAMPLE DEVICE, SAMPLE METHOD, AND PROGRAM

Country Status (1)

Country Link
JP (1) JP6228940B2 (en)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4184120B2 (en) * 2003-03-07 2008-11-19 日本電信電話株式会社 Oval curve scalar multiplication device and elliptic curve scalar multiplication program
EP2369568B1 (en) * 2008-11-28 2016-08-31 National University Corporation Okayama University Scalar multiplier and scalar multiplication program

Also Published As

Publication number Publication date
JP2016126227A (en) 2016-07-11

Similar Documents

Publication Publication Date Title
JP5957126B1 (en) Secret calculation device, secret calculation method, and program
JP4455661B2 (en) Hash function construction from expander graph
JP6451938B2 (en) Ciphertext verification system, method, and program
WO2017061017A1 (en) Encryption system, homomorphic signature method, and homomorphic signature program
Juaristi et al. Benchmarking post-quantum cryptography in Ethereum-based blockchains
Tarmissi et al. Information-theoretic hashing of 3D objects using spectral graph theory
JP5972181B2 (en) Tamper detection device, tamper detection method, and program
JP4960894B2 (en) Elliptic curve point compression device, elliptic curve point expansion device, method and program thereof
US11514192B2 (en) Secure reading apparatus, secure writing apparatus, method thereof, and program for reading and writing data in a sequence without revealing an access position
JP6927332B2 (en) Search devices, search methods, programs, and recording media
US11888968B2 (en) Signature device, verification device, signature method, verification method, and computer readable medium
JP6228940B2 (en) SAMPLE DEVICE, SAMPLE METHOD, AND PROGRAM
CN111052204A (en) Share generation device, share conversion device, secret computing system, share generation method, share conversion method, program, and recording medium
US12120231B2 (en) Digital watermark system, digital watermark method and program
CN105917400B (en) Element reproduction apparatus, element reproduction method, and recording medium
CN106796764B (en) Partial character string position detection device, method and recording medium
JP6059159B2 (en) Share conversion system, share conversion method, program
Albrecht et al. Post-quantum online/offline signatures
JP6273224B2 (en) ENCRYPTION SYSTEM, ENCRYPTION DEVICE, DECRYPTION DEVICE, ENCRYPTION METHOD
JP5980178B2 (en) Program conversion apparatus, program conversion method, and program
JP5381981B2 (en) Distributed information generator
Johansson et al. EUROCRYPT 2013
KR20140046860A (en) Apparatus and method for generating identifier of content file based on hash, and method for hash code generation
Kh et al. Ensuring Information Security in Electronic Health Record System Using Cryptography and Cuckoo Search Algorithm
JP5355263B2 (en) Key sharing apparatus, key sharing method and program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170105

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170925

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20171016

R150 Certificate of patent or registration of utility model

Ref document number: 6228940

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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