JP2017126024A - Encryption device, encryption method and encryption program - Google Patents
Encryption device, encryption method and encryption program Download PDFInfo
- Publication number
- JP2017126024A JP2017126024A JP2016006317A JP2016006317A JP2017126024A JP 2017126024 A JP2017126024 A JP 2017126024A JP 2016006317 A JP2016006317 A JP 2016006317A JP 2016006317 A JP2016006317 A JP 2016006317A JP 2017126024 A JP2017126024 A JP 2017126024A
- Authority
- JP
- Japan
- Prior art keywords
- coordinate
- curve
- vertex
- destination
- output value
- 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.)
- Granted
Links
Images
Abstract
Description
この発明は、耐量子計算機暗号に関する。 The present invention relates to an anti-quantum computer encryption.
耐量子計算機暗号の1つとして、楕円曲線上の同種写像を利用した暗号がJaoらにより提案された(非特許文献1〜3)。同種写像には、パラメータLがあり、これまでYoshidaらによって、L=2の場合の高速化手法が提案されていた(非特許文献4)。 As one of anti-quantum computer ciphers, Jao et al. Proposed a cipher that uses the same kind of mapping on an elliptic curve (Non-Patent Documents 1 to 3). The homogeneous map has a parameter L, and Yoshida et al. Have proposed a speed-up method in the case of L = 2 (Non-Patent Document 4).
Jaoらの暗号では、L=3の場合の演算も使っているが、この演算は遅かった。
この発明は、L≧3の場合における同種写像の計算効率を向上させ、L≧3の同種写像を利用した暗号の計算効率を向上させることを目的とする。
In the encryption of Jao et al., The calculation for L = 3 is also used, but this calculation was slow.
An object of the present invention is to improve the calculation efficiency of a homogeneous map in the case of L ≧ 3 and improve the calculation efficiency of a cipher using the homogeneous map of L ≧ 3.
この発明に係る暗号装置は、
超特異楕円曲線の同型類を頂点集合とし、前記楕円曲線間のL≧3であるL−同種写像を辺の集合とするグラフにおいて、後戻りすることなく頂点間を移動させて出力値を計算する暗号装置であり、
移動元の頂点Eiのx座標αx iを入力として、移動先の頂点Ei+1に対する後戻り点のx座標βx i+1を移動元の頂点Eiのx座標で表した式を利用して前記後戻り点のx座標βx i+1を計算した上で、3次方程式を解いて移動先の頂点Ei+1のx座標αx i+1を計算することにより、前記移動先の頂点Ei+1である楕円曲線の曲線情報を計算する曲線計算部と、
前記曲線計算部によって計算された前記曲線情報を用いて前記出力値を計算する出力値計算部と
を備える。
The encryption device according to the present invention provides:
In a graph in which the isomorphism of a super singular elliptic curve is a vertex set, and the L-homogeneous mapping with L ≧ 3 between the elliptic curves is a set of edges, the output value is calculated by moving between the vertices without going back. An encryption device,
As inputs the x coordinate alpha x i of the source vertex E i, wherein by utilization of the x coordinate beta x i + 1 of the backtracking point for the destination vertex E i + 1 in the x-coordinate of the source vertex E i Formula after having calculated the x coordinate beta x i + 1 of the backtracking point, the destination by solving a cubic equation vertex E i + 1 by calculating the x-coordinate alpha x i + 1, the elliptic curve said a destination vertex E i + 1 A curve calculation unit for calculating curve information;
An output value calculation unit that calculates the output value using the curve information calculated by the curve calculation unit.
この発明では、後戻り点のx座標βx i+1を移動元の頂点Eiのx座標で表した式を利用して後戻り点のx座標βx i+1を計算した上で、3次方程式を解く。これにより、後戻り点のx座標βx i+1を少ない計算量で計算でき、同種写像の計算効率を向上させることができる。 In the present invention, the x-coordinate β x i + 1 of the rearward return point is calculated using an expression in which the x-coordinate β x i + 1 of the rearward return point is represented by the x coordinate of the vertex E i as the movement source, and then the cubic equation is solved. As a result, the x-coordinate β x i + 1 of the backward return point can be calculated with a small amount of calculation, and the calculation efficiency of the homogeneous mapping can be improved.
実施の形態1.
***前提***
実施の形態1における暗号には、情報を第三者から秘匿する狭義の暗号だけでなく、情報の送信元のなりすまし、情報の改ざんの防止に用いられる署名も含む。また、実施の形態1における暗号には、狭義の暗号及び署名といった処理で用いられるハッシュ値を計算することも含む。
実施の形態1では、暗号の処理の具体例として、ハッシュ値を計算する処理を説明する。しかし、実施の形態1で説明した処理を応用して、非特許文献1〜3といった文献に記載された鍵共有、狭義の暗号、署名を実現することも可能である。
Embodiment 1 FIG.
*** Assumptions ***
The cipher in Embodiment 1 includes not only a narrowly-defined cipher that conceals information from a third party, but also includes a signature that is used to prevent information from being spoofed and information being tampered with. In addition, the encryption in the first embodiment includes calculating a hash value used in processes such as encryption and signature in a narrow sense.
In the first embodiment, a process for calculating a hash value will be described as a specific example of the encryption process. However, by applying the processing described in the first embodiment, it is possible to realize key sharing, narrowly defined encryption, and signature described in documents such as Non-Patent Documents 1 to 3.
***構成の説明***
図1を参照して、実施の形態1に係る暗号装置10の構成を説明する。
暗号装置10は、暗号処理を実行するコンピュータである。
暗号装置10は、プロセッサ11と、記憶装置12と、インタフェース13とを備える。プロセッサ11は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
*** Explanation of configuration ***
With reference to FIG. 1, the structure of the
The
The
プロセッサ11は、プロセッシングを行うIC(Integrated Circuit)である。プロセッサ11は、具体的には、CPU(Central Processing Unit)、DSP(Digital Signal Processor)、GPU(Graphics Processing Unit)である。
The
記憶装置12は、メモリ121と、ストレージ122とを備える。メモリ121は、具体的には、RAM(Random Access Memory)である。ストレージ122は、具体的には、HDD(Hard Disk Drive)である。また、ストレージ122は、SD(Secure Digital)メモリカード、CF(CompactFlash)、NANDフラッシュ、フレキシブルディスク、光ディスク、コンパクトディスク、ブルーレイ(登録商標)ディスク、DVDといった可搬記憶媒体であってもよい。
The
インタフェース13は、暗号装置10の外部からデータの入力を受け付け、外部へデータを出力するためのインタフェースである。インタフェース13は、具体的には、キーボードといった入力装置と、ディスプレイといった出力装置とを接続するUSB(Universal Serial Bus)、PS/2、HDIM(High−Definition Multimedia Interface)といったコネクタである。また、インタフェース13は、具体的には、外部からネットワークを介して送信されたデータを送受信するNIC(Network Interface Card)であってもよい。
The
暗号装置10は、機能構成要素として、受付部21と、曲線計算部22と、出力値計算部23とを備える。受付部21と、曲線計算部22と、出力値計算部23との各部の機能はソフトウェアにより実現される。
記憶装置12のストレージ122には、暗号装置10の各部の機能を実現するプログラムが記憶されている。このプログラムは、プロセッサ11によりメモリ121に読み込まれ、プロセッサ11によって実行される。これにより、暗号装置10の各部の機能が実現される。
The
The
プロセッサ11によって実現される各部の機能の処理の結果を示す情報とデータと信号値と変数値は、メモリ121、又は、プロセッサ11内のレジスタ又はキャッシュメモリに記憶される。以下の説明では、プロセッサ11によって実現される各部の機能の処理の結果を示す情報とデータと信号値と変数値は、メモリ121に記憶されるものとして説明する。
Information, data, signal values, and variable values indicating the results of processing of the functions of the respective units realized by the
プロセッサ11によって実現される各機能を実現するプログラムは、記憶装置12に記憶されているとした。しかし、このプログラムは、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ブルーレイ(登録商標)ディスク、DVDといった可搬記憶媒体に記憶されてもよい。
It is assumed that a program for realizing each function realized by the
図1では、プロセッサ11は、1つだけ示されていた。しかし、プロセッサ11は、複数であってもよく、複数のプロセッサ11が、各機能を実現するプログラムを連携して実行してもよい。
In FIG. 1, only one
***動作の説明***
図2から図6を参照して、実施の形態1に係る暗号装置10の動作を説明する。
実施の形態1に係る暗号装置10の動作は、実施の形態1に係る暗号方法に相当する。また、実施の形態1に係る暗号装置10の動作は、実施の形態1に係る暗号プログラムの処理に相当する。
ここでは、(1)Pizerグラフとハッシュ関数と、(2)楕円曲線上の同種写像とを説明した上で、(3)暗号装置10の動作を説明する。
*** Explanation of operation ***
With reference to FIGS. 2 to 6, the operation of the
The operation of the
Here, after describing (1) the Pizer graph and the hash function, and (2) the same kind of mapping on the elliptic curve, (3) the operation of the
**(1)Pizerグラフとハッシュ関数**
ここでは、(1−1)エクスパンダーグラフと、(1−2)Pizerグラフと、(1−3)後戻りしないウォークと、(1−4)ハッシュ関数の安全性とについて説明する。
** (1) Pizer graph and hash function **
Here, (1-1) an expander graph, (1-2) a Pizer graph, (1-3) a walk that does not return, and (1-4) the security of a hash function will be described.
*(1−1)エクスパンダーグラフ*
G=(V,ε)を頂点集合Vと辺集合εとをもつグラフとする。#U≧#V/2を満たす任意の部分集合U⊂Vに対し、Uの境界集合Γ(U)が#Γ(U)≧c#Uをみたすとき、グラフGは拡張率c>0のエクスパンダーグラフと言われる。ここで、Γ(U):={v∈V|∃u∈U,{u,v}∈ε}である。また、#Uは、Uの個数である。同様に、#V及び#Γは、それぞれVの個数及びΓの個数である。
任意のエクスパンダーグラフは、完全グラフである。エクスパンダーグラフ上のランダムウォークは、急撹拌性を持つ。O(log#V)ステップのランダムウォークをした後の終点の分布は、グラフ上の一様分布に近似する。
* (1-1) Expander graph *
Let G = (V, ε) be a graph having a vertex set V and an edge set ε. For any subset U 集合 V satisfying # U ≧ # V / 2, when the boundary set Γ (U) of U satisfies # Γ (U) ≧ c # U, the graph G has an expansion rate c> 0 It is said to be an expander graph. Here, Γ (U): = {vεV | ∃uεU, {u, v} εε}. #U is the number of U's. Similarly, #V and # Γ are the number of V and the number of Γ, respectively.
Any expander graph is a complete graph. The random walk on the expander graph has a stirrability. The distribution of end points after a random walk of O (log # V) steps approximates a uniform distribution on the graph.
*(1−2)Pizerグラフ*
PizerグラフG=(V,ε)は、体Fp2上の超特異楕円曲線の同型類を頂点集合Vに持つ。p2は、p2のことであり、pは素数位数である。各頂点は、j−不変量又は代表元Eで表される。また、辺集合εは、頂点間のL−同種写像の集合である。このグラフは、各頂点がL+1個の辺を持つ。頂点を楕円曲線Eで表すとき、頂点である楕円曲線Eから出る辺は、頂点である楕円曲線EのL+1個のL等分点と対応している。頂点である楕円曲線Eから出るL+1個の各辺の端点について、頂点である楕円曲線Eと異なる点は位数Lの部分群C⊂E[L]を用いてE/Cで表される。
グラフGは、急撹拌性を持つことが知られている。特に、これはエクスパンダーグラフの特別な種類であるラマヌジャングラフと呼ばれる。詳細は、非特許文献5等に記載されている。
* (1-2) Pizer graph *
The Pizer graph G = (V, ε) has an isomorphic class of super singular elliptic curves on the field F p2 in the vertex set V. p2 is that of p 2, p is a prime number. Each vertex is represented by j-invariant or representative E. The edge set ε is a set of L-homogeneous mappings between vertices. In this graph, each vertex has L + 1 edges. When the vertex is represented by an elliptic curve E, the side that emerges from the elliptic curve E that is the vertex corresponds to L + 1 L equally divided points of the elliptic curve E that is the vertex. For the end points of each of the L + 1 sides that emerge from the elliptic curve E that is the vertex, a point that is different from the elliptic curve E that is the vertex is represented by E / C using a subgroup C⊂E [L] of order L.
The graph G is known to have a rapid stirring property. In particular, this is called the Ramanujan graph, a special kind of expander graph. Details are described in Non-Patent Document 5 and the like.
*(1−3)後戻りしないウォーク*
ハッシュ関数への入力値は、グラフGを後戻りせずにウォークする道順として使用される。そして、そのウォークの終点がハッシュ関数の出力値とされる。グラフGは(L+1)−正則グラフなので、各頂点に接続している辺の数はL+1である。したがって、始点を除いた各点では、次に進む頂点の候補が後戻りとなる頂点を除いたL個存在する。
* (1-3) Walk that does not return *
The input value to the hash function is used as a route to walk without going backward in the graph G. The end point of the walk is set as the output value of the hash function. Since the graph G is (L + 1) -regular graph, the number of edges connected to each vertex is L + 1. Therefore, at each point excluding the start point, there are L candidates for the next vertex, excluding the vertex that is to be returned.
*(1−4)ハッシュ関数の安全性*
エクスパンダーグラフを用いたハッシュ関数には、Cayleyグラフを用いる場合とPizerグラフを用いる場合との2種類がある。Cayleyグラフを用いたハッシュ関数には、Zemorハッシュ関数とLPSハッシュ関数と等があるが、そのほとんどはすでに攻撃法が見つかっており安全ではない。しかし、Pizerグラフを用いたハッシュ関数には、まだ攻撃法が見つかっていない。
ハッシュ関数の安全性は、衝突困難性と原像計算困難性という2つの性質によって保障される。衝突困難性とは、同じハッシュ値をもつ2つの異なる入力を探すことが困難なことである。原像計算困難性とは与えられたハッシュ値を持つような入力を探すことが困難なことである。
* (1-4) Security of hash function *
There are two types of hash functions using an expander graph: a case where a Caley graph is used and a case where a Pizer graph is used. The hash function using the Cayley graph includes a Zemor hash function and an LPS hash function, but most of them have already found attack methods and are not secure. However, no attack method has yet been found for the hash function using the Pizer graph.
The security of the hash function is ensured by two properties: collision difficulty and original image calculation difficulty. Collision difficulty is that it is difficult to find two different inputs with the same hash value. Original image calculation difficulty means that it is difficult to find an input having a given hash value.
Pizerグラフにおけるハッシュ関数の安全性は次の3つの問題の困難性により保障される。
問題1.体Fp2上の超特異楕円曲線E1,E2と、その間の次数Lnの異なる同種写像f1:E1→E2,f2:E1→E2を構成する。
問題2.体Fp2上の超特異楕円曲線Eが与えられたとき、次数L2nの自己準同型写像f:E→E(fはLn倍写像でない)を構成する。
問題3.体Fp2上の超特異楕円曲線E1,E2が与えられたとき、次数Lnの同種写像f:E1→E2を構成する。
ハッシュ関数の衝突を計算できれば問題1,問題2は解かれる。また、ハッシュ関数の原像計算ができれば問題3は解かれる。
同種写像問題は、楕円曲線間の同種写像問題、超特異楕円曲線間の同種写像問題に分類される。現在知られている最も効率的な攻撃の計算量は、古典計算機を用いた場合は、それぞれO(4√p)、O(√p)であり、量子計算機を用いた場合は、それぞれLp[1/2,(√3)/2]、O(4√p)である。
The security of the hash function in the Pizer graph is guaranteed by the difficulty of the following three problems.
Problem 1. The body F p2 on supersingular elliptic curve E1, E2, different isogenies of intervening orders L n f1: E1 → E2, f2: configuring the E1 → E2.
Problem 3. When Supersingular on the body F p2 elliptic curve E1, E2 is given, isogenies f of order L n: configuring the E1 → E2.
If the hash function collision can be calculated, Problem 1 and
The homogeneous mapping problem is classified into a homogeneous mapping problem between elliptic curves and a homogeneous mapping problem between hypersingular elliptic curves. The computational complexity of the most efficient attack currently known is O ( 4 √p) and O (√p), respectively, when using a classical computer, and L p when using a quantum computer, respectively. [1/2, (√3) / 2 ] is, O (4 √p).
**(2)楕円曲線上の同種写像**
ここでは、(2−1)楕円曲線と、(2−2)Veluの公式とについて説明する。
** (2) Homogeneous map on elliptic curve **
Here, (2-1) elliptic curve and (2-2) Velu formula will be described.
*(2−1)楕円曲線*
pを3より大きい素数とする。体Fp2上の楕円曲線Eは、Weierstrass標準形としてy2=x3+Ax+B,A,B∈Fp2,4A3+27B2≠0で与えられる。楕円曲線Eのj−不変量j(E)は、数11で計算される。
Let p be a prime number greater than 3. The elliptic curve E on the field F p2 is given as Weierstrass standard form with y 2 = x 3 + Ax + B, A, BεF p2 , 4A 3 + 27B 2 ≠ 0. The j-invariant j (E) of the elliptic curve E is calculated by
2つの楕円曲線が同じj−不変量をもつことは、それらが同型であることの必要十分条件である。楕円曲線EのF− p有理点群をE(F− p)={(x,y)∈F− p 2|y2=x3+Ax+B}∪{OE}とする。ここで、OEは、楕円曲線Eの無限遠点を表す。整数nに対し、楕円曲線Eのn等分点の集合はE[n]={P∈E(F− p)|[n]P=OE}である。F− p上の2つの楕円曲線E1,E2に対し、準同型φ:E1→E2はOE1をOE2へ移す代数曲線の射である。非零な準同型は同種写像と呼ばれ、核の濃度がLとなるseparableな同種写像はL−同種写像と呼ばれる。E(F− p)上に位数pの点が存在しないようなF− p上の楕円曲線を超特異であるという。超特異楕円曲線のj−不変量は常にFp2に含まれる。
It is a necessary and sufficient condition that two elliptic curves have the same j-invariant that they are isomorphic. Of the elliptic curve E F - p rational point group of E (F - p) = - | a {(x, y) ∈F p 2
*(2−2)Veluの公式*
2−同種写像と3−同種写像とのVeluの公式(非特許文献6)を用いた計算について説明する。Veluの公式とは、楕円曲線EとC=kerφが与えられたとき、同種写像φ:E→E’とE’との定義式を明示的に計算する公式である。この公式は任意の次数Lについて成立する。
ここでは、Lが2又は3のときを説明する。Cを楕円曲線E上の位数2又は3の部分群とする。このとき、C=kerφとなる同種写像φ:E→E’が一意に存在する。E’=E/Cと表す。
* (2-2) Velu's formula *
A calculation using the Velu formula (Non-Patent Document 6) of 2-homogeneous mapping and 3-homogeneous mapping will be described. The Velu formula is a formula that explicitly calculates the definition of the homogeneous map φ: E → E ′ and E ′ when an elliptic curve E and C = ker φ are given. This formula holds for any order L.
Here, the case where L is 2 or 3 will be described. Let C be a subgroup of
L=2の場合、C=<(α,0)>⊂E[2]を楕円曲線E上の位数2の部分群とすると、楕円曲線E/Cは数13で与えられる。
L=3の場合、C=<(αx,αy)>⊂E[3]を楕円曲線E上の位数3の部分群とすると、楕円曲線E/Cは数15で与えられる。
L=2,3の両方において、楕円曲線Eが超特異であればE/CもまたFp2上定義される。また、明らかに超特異楕円曲線Eに対し同種写像φもFp2上で定義される。 In both L = 2 and 3, E / C is also defined on F p2 if the elliptic curve E is super singular. Obviously, the homogeneous map φ is also defined on F p2 for the hypersingular elliptic curve E.
**(3)暗号装置10の動作**
暗号装置10は、ハッシュ関数への入力値を、グラフGを後戻りせずにウォークする道順として使用し、そのウォークの終点をハッシュ関数の出力値とする。実施の形態1では、L=3の場合について説明する。つまり、実施の形態1では、グラフGにおいて、頂点である楕円曲線Eから出る辺が、頂点である楕円曲線Eの4個の3等分点と対応している場合について説明する。
なお、以下の説明で、グラフGとは、(1−2)で説明した、体Fp2上の超特異楕円曲線の同型類を頂点集合Vとし、頂点間のL−同種写像を辺集合εとしたPizerのラマヌジャングラフである。
** (3) Operation of the cryptographic device **
The
In the following description, the graph G refers to the hypermorphic elliptic curve isomorphism on the field F p2 described in (1-2) as the vertex set V, and the L-homogeneous mapping between the vertices as the edge set ε. It is a Ramanujan graph of Pizer.
ここでは、(3−1)入力値に従いグラフGをウォークする際に使用するセレクター関数を定義し、(3−2)3等分点に関する記法と、(3−3)3等分点について成り立つ性質とを説明する。そして、(3−1)から(3−3)を踏まえた上で、(3−4)3−同種写像列の計算法を説明する。
実施の形態1に係る暗号装置10は、3−同種写像列を計算することにより、入力値に対応するハッシュ値を計算する。
Here, (3-1) the selector function used when walking the graph G according to the input value is defined, and (3-3) the notation regarding the bisector and (3-3) the bisector are established. Explain the nature. Then, based on (3-1) to (3-3), a calculation method of (3-4) 3-same mapping sequence will be described.
The
*(3−1)セレクター関数*
上述した通り、グラフGは(L+1)−正則グラフなので、各頂点に接続している辺の数はL+1である。そのため、図2に示すように、L=3の場合、グラフGは4−正則グラフなので、各頂点に接続している辺の数は4本である。したがって、始点E0を除いた各点Ei(i=1,...,n−1)では、次に進む頂点の候補が後戻りとなる後戻り点を除いた3個存在する。
暗号装置10は、i=1,...,n−1の各整数についての頂点Eiから次に進む候補となる3つの頂点と接続された3つの辺に対して、値b∈{0,1,2}を割り当てる。そして、暗号装置10は、次に進む候補となる3つの頂点λ0,λ1,λ2∈Fp2と、値b∈{0,1,2}に対して、Fp2の順序を用いて、数17のようにセレクター関数select(3)を定義し、ウォークデータω=b0b1...bn−1∈{0,1,2}n及びセレクター関数select(3)により次に進む移動先の頂点Ei+1を決定する。ここで、Fp2の順序としては、Fp2=Fp[τ]2=Fpτ+Fp=〜(Fp)2となる生成元τを固定し、(Fp)2での自然な辞書式順列を用いる。
As described above, since the graph G is (L + 1) -regular graph, the number of sides connected to each vertex is L + 1. Therefore, as shown in FIG. 2, when L = 3, the graph G is a 4-regular graph, so the number of sides connected to each vertex is four. Therefore, at each point E i (i = 1,..., N−1) excluding the start point E 0 , there are three excluding the back-turning point where the next vertex candidate is back-turned.
The
始点E0では、3等分点を任意に選ぶことができる。そのため、暗号装置10は、数18に示すセレクター関数select0 (3)を用いて、始点E0のx座標αx 0と、始点E0の後戻り点のx座標βx 0とを決定する。なお、ψ3(x)=3x4+6A0x2+12B0x−A0 2=0の4つの根をλ0,λ1,λ2,λ3∈Fp2(λ0≦λ1≦λ2≦λ3)とする。
*(3−2)3等分点に関する記法*
ウォークデータω=b0b1...bn−1∈{0,1,2}nに対応して、頂点Ei上の4つの3等分点の表記を次のように固定する。
(αx i,αy i)は、i番目の同種写像φiに関係のある点である。(βx i,βy i)は、i番目の後戻り点である。(γx i,γy i)及び(δx i,δy i)は、残りの2点である。
* (3-2) Notation concerning the trisection point *
Walk data ω = b 0 b 1 . . . b n−1 ε {0, 1, 2} Corresponding to n , the notation of four trisection points on the vertex E i is fixed as follows.
(Α x i , α y i ) is a point related to the i-th homogeneous map φ i . (Β x i , β y i ) is the i-th backtracking point. (Γ x i , γ y i ) and (δ x i , δ y i ) are the remaining two points.
*(3−3)3等分点について成り立つ性質*
(性質1)
(αx i,αy i),(βx i,βy i),(γx i,γy i),(δx i,δy i)を楕円曲線Eiの3等分点とし、φi:Ei→Ei/CをC=<(αx i,αy i)>としたときの3−同種写像とする。このとき、φi(βx i,βy i),φi(γx i,γy i),φi(δx i,δy i)は、Ei+1の後戻り点である。
* (3-3) Properties that hold for the trisection point *
(Property 1)
Let (α x i , α y i ), (β x i , β y i ), (γ x i , γ y i ), (δ x i , δ y i ) be the bisector of the elliptic curve E i , Φ i : E 3 → Similar mapping when E i → E i / C is C = <(α x i , α y i )>. At this time, φ i (β x i , β y i ), φ i (γ x i , γ y i ), and φ i (δ x i , δ y i ) are backtracking points of E i + 1 .
(性質2)
Ei+1上の後戻り点のx座標βx i+1は、βx i+1=−3αx iにより与えられる。
(Property 2)
The x coordinate β x i + 1 of the return point on E i + 1 is given by β x i + 1 = −3α x i .
*(3−4)3−同種写像列計算処理*
図3及び図4を参照して、3−同種写像列計算処理を説明する。
図4に示すIsogSeqアルゴリズムによって3−同種写像列が計算される。
* (3-4) 3-Homogeneous map sequence calculation process *
With reference to FIGS. 3 and 4, the 3-homogeneous mapping sequence calculation process will be described.
A 3-homogeneous mapping sequence is calculated by the IsogSeq algorithm shown in FIG.
ステップS1の入力値受付処理(図4のInput参照)では、受付部21は、入力値及び始点E0のj不変量j0を受け付ける。受付部21は、受け付けられた入力値を、ウォークデータω=b0b1...bn−1(bi∈{0,1,2},i=0,...,n−1)に変換する。
具体的には、受付部21は、インタフェース13を介して、外部から入力値を受け付ける。具体例としては、ユーザにより入力装置が操作されて入力された入力値を、受付部21がインタフェース13を介して受け付ける、あるいは、通信装置を介して送信された入力値を受付部21がインタフェース13を介して受け付ける。また、受付部21は、初期の楕円曲線E0のj不変量j0をメモリ121から読み出す。なお、始点E0のj不変量j0は、入力値とともに外部から受け付けられるとしてもよい。
そして、受付部21は、入力値を3進数で表すことにより、入力値をウォークデータωに変換する。受付部21は、3進数で表された入力値の桁数をnとして、3進数で表された入力値の上位の桁から、その桁の値を値b0,値b1,...,値bn−1と順に割り当てる。受付部21は、入力値が基準値以上の値になるように、入力値を表すビット列に固定のビット列を追加した上で、3進数に変換してもよい。
In the input value reception process (see Input in FIG. 4) in step S1, the
Specifically, the accepting
And the
ステップS2の初期処理(図4の(1)参照)では、曲線計算部22は、ステップS1で受け付けられた始点E0のj不変量j0を入力として、始点E0である楕円曲線y2=x3+A0x+B0における曲線情報A0及びB0を、数12に基づき計算する。曲線情報A0及びB0を計算するということは、楕円曲線E0を計算するということに相当する。
また、曲線計算部22は、計算された曲線情報A0及びB0と、ステップS1で入力値から変換されたウォークデータωに含まれる値b0とを入力として、数18に示すセレクター関数select0 (3)により、始点E0のx座標αx 0と、始点E0の後戻り点のx座標βx 0とを決定する。
曲線計算部22は、計算されたA0及びB0と、始点E0のx座標αx 0と、始点E0の後戻り点のx座標βx 0とをメモリ121に書き込む。
In the initial processing of step S2 (see (1) in FIG. 4), the
Further, the
ステップS3の3−同種写像計算処理(図4の(2)〜(4)参照)では、曲線計算部22は、i=0,...,n−2の整数iについて昇順に、移動先の頂点Ei+1である楕円曲線y2=x3+Ai+1x+Bi+1における曲線情報Ai+1及びBi+1を計算するとともに、移動先の頂点Ei+1のx座標αx i+1を決定する。
In the 3-homogeneous mapping calculation process of step S3 (see (2) to (4) in FIG. 4), the
図5及び図6を参照して、ステップS3の3−同種写像計算処理について説明する。
ステップS3では、i=0,...,n−2の整数iについて昇順に、Ai及びBiと、移動元の頂点Eiのx座標αx iと、値bi+1とを入力として、図6に示すIsogアルゴリズムが呼び出され、Ai+1及びBi+1と、移動先の頂点Ei+1のx座標αx i+1とが計算される。
With reference to FIGS. 5 and 6, the 3-homogeneous mapping calculation process in step S3 will be described.
In step S3, i = 0,. . . , N-2, in an ascending order with respect to the integer i, the Isog algorithm shown in FIG. 6 is called by inputting A i and B i , the x coordinate α x i of the source vertex E i , and the value b i + 1 . A i + 1 and B i + 1 and the x coordinate α x i + 1 of the destination vertex E i + 1 are calculated.
ステップS31の曲線計算処理(図6の(1)参照)では、曲線計算部22は、移動元の頂点Eiである楕円曲線の曲線情報Ai及びBiと、移動元の頂点Eiのx座標αx iとから、数15に基づき、移動先の頂点Ei+1である楕円曲線の曲線情報Ai+1及びBi+1を計算する。
具体的には、曲線計算部22は、曲線情報Ai及びBiと、移動元の頂点Eiのx座標αx iとをメモリ121から読み出す。そして、曲線計算部22は、読み出された曲線情報Ai及びBiと、移動元の頂点Eiのx座標αx iとを入力として、数15から得られる数19により、曲線情報Ai+1及びBi+1を計算する。曲線計算部22は、計算された曲線情報Ai+1及びBi+1をメモリ121に書き込む。
Specifically, the
ステップS32の3次方程式計算処理(図6の(2)参照)では、曲線計算部22は、移動先の頂点Ei+1のx座標αx i+1の候補となる3次方程式の解λ1,λ2,λ3を計算する。
In the cubic equation calculation process in step S32 (see (2) in FIG. 6), the
具体的には、曲線計算部22は、Ai及びBiと、移動元の頂点Eiのx座標αx iとをメモリ121から読み出す。
そして、まず、曲線計算部22は、読み出されたx座標αx iを入力として、(3−3)3等分点について成り立つ性質で説明した性質1,2に従い、移動先の頂点Ei+1上の後戻り点のx座標βx i+1を、βx i+1=−3αx iにより計算する。
次に、曲線計算部22は、3次方程式x3+ux2+vx+w=0を解いて、(βx i+1,βy i+1)以外の3等分点のx座標を計算する。ここで、u=βx i+1であり、v=2Ai+1+(βx i+1)2であり、ω=4Bi+1+2Ai+1βx i+1+(βx i+1)3である。
この際、曲線計算部22は、カルダノの公式を用いて3次方程式を解く。つまり、x2+x+1=0の解を、ω0とする。そして、数20に示すt1,t2,t3に対して数20に示すu,vとすると、求める解は、数21になる。
First, the
Next, the
At this time, the
ステップS33の座標決定処理(図6の(3)参照)では、曲線計算部22は、計算された解λ0,λ1,λ2と、ステップS1で入力値から変換されたウォークデータωに含まれる値bi+1とを入力として、数17に示すセレクター関数select(3)により、移動先の頂点Ei+1のx座標αx i+1を決定する。曲線計算部22は、決定されたx座標αx i+1をメモリ121に書き込む。
In the coordinate determination process in step S33 (see (3) in FIG. 6), the
ステップS4の終了処理(図4の(5)参照)では、曲線計算部22は、ステップS3で決定された頂点En−1のx座標αx n−1から、移動先の頂点Enである楕円曲線y2=x3+Anx+Bnにおける曲線情報An及びBnを、数15に基づき計算する。
具体的には、曲線計算部22は、曲線情報An−1及びBn−1と、移動元の頂点En−1のx座標αx n−1とをメモリ121から読み出す。そして、曲線計算部22は、読み出された曲線情報An−1及びBn−1と、移動元の頂点En−1のx座標αx n−1とを入力として、数15から得られる数24により、曲線情報An及びBnを計算する。曲線計算部22は、計算された曲線情報An及びBnをメモリ121に書き込む。
Specifically, the
ステップS5の出力値計算処理(図4のOutput参照)では、出力値計算部23は、ステップS4で計算された曲線情報An及びBnをメモリ121から読み出す。そして、出力値計算部23は、頂点Enである楕円曲線のj不変量jnを数11に基づき計算する。出力値計算部23は、計算されたj不変量jnを、ステップS1で受け付けられた入力値に対するハッシュ値として出力する。
In the output value calculation process in step S5 (see Output in FIG. 4), the output
***実施の形態1の効果***
以上のように、実施の形態1に係る暗号装置10は、3−同種写像列を計算することにより、入力値に対するハッシュ値を計算した。3−同種写像列を計算する際、暗号装置10は、移動先の頂点Ei+1に対する後戻り点のx座標βx i+1が、移動元の頂点Eiのx座標αx iのみを変数として表したβx i+1=−3αx iを用いて、後戻り点のx座標βx i+1を計算した。これにより、後戻り点のx座標βx i+1の計算量を少なくできる。その結果、同種写像の計算効率を向上させることができる。
*** Effects of Embodiment 1 ***
As described above, the
また、実施の形態1に係る暗号装置10は、3−同種写像列を計算する際、一般の多項式解法アルゴリズムではなく、カルダノの公式を用いて3次方程式を解いた。これにより、3次方程式の計算量を少なくできる。その結果、同種写像の計算効率を向上させることができる。
Also, the
また、実施の形態1に係る暗号装置10は、3−同種写像列を計算する際、ζを1の3乗根とした場合に、3次方程式の2つの3乗根u,vがv=−ζ/uとなることを利用して、3次方程式を解いた。これにより、3乗根の計算を1回減らすことができ、3次方程式の計算量を少なくできる。その結果、同種写像の計算効率を向上させることができる。
In addition, when the
***他の構成***
実施の形態1では、暗号処理の具体例として、ハッシュ値を計算する処理を説明した。そのため、出力値計算部23は、出力値として、ハッシュ値を計算した。
しかし、実施の形態1で説明した処理を応用して、非特許文献1〜3といった文献に記載された鍵共有、狭義の暗号、署名を実現することも可能である。鍵共有及び狭義の暗号を実現する場合、出力値計算部23は、出力値として、暗号文を計算する。また、署名を実現する場合、出力値計算部23は、出力値として、電子署名を計算する。
つまり、出力値計算部23は、出力値として、ハッシュ値と、暗号文と、署名との少なくともいずれかを計算する。
*** Other configurations ***
In the first embodiment, the process of calculating a hash value has been described as a specific example of the encryption process. Therefore, the output
However, by applying the processing described in the first embodiment, it is possible to realize key sharing, narrowly defined encryption, and signature described in documents such as Non-Patent Documents 1 to 3. When realizing key sharing and encryption in a narrow sense, the output
That is, the output
また、実施の形態1では、L=3の場合について説明した。しかし、L>3の場合についても、同様に、移動先の頂点Ei+1に対する後戻り点のx座標βx i+1を移動元の頂点Eiのx座標で表した式を利用して後戻り点のx座標βx i+1を計算することにより、後戻り点のx座標βx i+1の計算量を少なくできる。その結果、同種写像の計算効率を向上させることができる。 In the first embodiment, the case of L = 3 has been described. However, in the case of L> 3, similarly, the x of the backward return point is expressed by using the expression of the x coordinate β x i + 1 of the backward return point for the destination vertex E i + 1 with the x coordinate of the origin vertex E i. by calculating the coordinates beta x i + 1, it can be reduced calculation amount of x-coordinate beta x i + 1 of the turning back point. As a result, the calculation efficiency of the homogeneous map can be improved.
実施の形態1では、暗号装置10の各部の機能がソフトウェアで実現された。しかし、変形例として、暗号装置10の各部の機能はハードウェアで実現されてもよい。この変形例について、実施の形態1と異なる点を説明する。
In the first embodiment, the function of each unit of the
図7を参照して、変形例に係る暗号装置10の構成を説明する。
各部の機能がハードウェアで実現される場合、暗号装置10は、プロセッサ11と記憶装置12とに代えて、処理回路14を備える。処理回路14は、暗号装置10の各部の機能及び記憶装置12の機能を実現する専用の電子回路である。
With reference to FIG. 7, the structure of the
When the function of each unit is realized by hardware, the
処理回路14は、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ロジックIC、GA(Gate Array)、ASIC(Application Specific Integrated Circuit)、FPGA(Field−Programmable Gate Array)が想定される。
各部の機能を1つの処理回路14で実現してもよいし、各部の機能を複数の処理回路14に分散させて実現してもよい。
The
The function of each part may be realized by one
また、一部の機能がハードウェアで実現され、他の機能がソフトウェアで実現されてもよい。つまり、暗号装置10の各部のうち、一部の機能がハードウェアで実現され、他の機能がソフトウェアで実現されてもよい。
Also, some functions may be realized by hardware, and other functions may be realized by software. That is, some of the functions of the
プロセッサ11と記憶装置12と処理回路14とを、総称して「プロセッシングサーキットリー」という。つまり、各部の機能は、プロセッシングサーキットリーにより実現される。
The
10 暗号装置、11 プロセッサ、12 記憶装置、121 メモリ、122 ストレージ、13 インタフェース、14 処理回路、21 受付部、22 曲線計算部、23 出力値計算部。
DESCRIPTION OF
Claims (12)
移動元の頂点Eiのx座標αx iを入力として、移動先の頂点Ei+1に対する後戻り点のx座標βx i+1を移動元の頂点Eiのx座標で表した式を利用して前記後戻り点のx座標βx i+1を計算した上で、3次方程式を解いて移動先の頂点Ei+1のx座標αx i+1を計算することにより、前記移動先の頂点Ei+1である楕円曲線の曲線情報を計算する曲線計算部と、
前記曲線計算部によって計算された前記曲線情報を用いて前記出力値を計算する出力値計算部と
を備える暗号装置。 An encryption device that calculates an output value by moving between vertices without going back in a graph having an elliptic curve isomorphism as a vertex set and an L-homogeneous mapping with L ≧ 3 between the elliptic curves as an edge set. Yes,
As inputs the x coordinate alpha x i of the source vertex E i, wherein by utilization of the x coordinate beta x i + 1 of the backtracking point for the destination vertex E i + 1 in the x-coordinate of the source vertex E i Formula after having calculated the x coordinate beta x i + 1 of the backtracking point, the destination by solving a cubic equation vertex E i + 1 by calculating the x-coordinate alpha x i + 1, the elliptic curve said a destination vertex E i + 1 A curve calculation unit for calculating curve information;
An encryption apparatus comprising: an output value calculation unit that calculates the output value using the curve information calculated by the curve calculation unit.
前記曲線計算部は、前記x座標βx i+1が前記x座標αx iの−3倍であることを利用して後戻り点のx座標βx i+1を計算する
請求項1に記載の暗号装置。 The graph uses a 3-homogeneous mapping between elliptic curves as an edge set,
2. The encryption apparatus according to claim 1, wherein the curve calculation unit calculates an x coordinate β x i + 1 of a backward return point by using the x coordinate β x i + 1 being −3 times the x coordinate α x i .
請求項2に記載の暗号装置。 The encryption apparatus according to claim 2, wherein the curve calculation unit solves the cubic equation using a Cardano formula.
請求項3に記載の暗号装置。 The curve calculation unit solves the cubic equation by using the fact that two cube roots u and v of the cubic equation are v = −ζ / u when ζ is a cube root of 1. The encryption device according to claim 3.
請求項4に記載の暗号装置。
請求項5に記載の暗号装置。
前記出力値計算部は、前記曲線計算部によって計算された前記曲線情報An及びBnから、前記移動先の頂点Enである楕円曲線のj不変量jnを前記出力値として計算する
請求項6に記載の暗号装置。 The curve calculation unit, an elliptic curve y 2 = x 3 + A 0 x + B curve information A 0 and B 0 in 0 is the starting point E 0, and x-coordinate alpha x 0 of the starting point E 0, walk data omega = b 0 b 1 . . . b n−1 and k = 0,. . . , The ascending order for integer k n-2, with calculating the curve information A k + 1 and B k + 1 in the elliptic curve y 2 = x 3 + A k + 1 x + B k + 1 are the vertices E k + 1 of the destination, the destination vertex E k + 1 of determining the x-coordinate alpha x k + 1, the curve information a n in determined the x coordinate alpha from x n-1 are the vertices E n of the destination elliptic curve y 2 = x 3 + a n x + B n and Bn is calculated,
The output value calculating unit, wherein said from the curve information calculated by the curve computing unit A n and B n, calculates the j-invariant j n of the elliptic curve are the vertices E n of the destination as the output value Item 7. The encryption device according to Item 6.
請求項7に記載の暗号装置。 The cryptographic apparatus according to claim 7, wherein the output value calculation unit calculates the j invariant j n as a hash value for the walk data ω.
前記曲線計算部は、3−同種写像の辺の移動を計算する場合に、前記x座標βx i+1が前記x座標αx iの−3倍であることを利用して、3次方程式を解く
請求項1に記載の暗号装置。 In the graph, an L-homogeneous mapping of a plurality of integers L is an edge set,
The curve calculation unit solves the cubic equation by using the fact that the x coordinate β x i + 1 is −3 times the x coordinate α x i when calculating the side movement of the 3-homogeneous map. The encryption device according to claim 1.
請求項1から9までのいずれか1項に記載の暗号装置。 The encryption apparatus according to claim 1, wherein the output value calculation unit calculates at least one of a hash value, a ciphertext, and a signature as the output value.
プロセッサが、移動元の頂点Eiのx座標αx iを入力として、移動先の頂点Ei+1に対する後戻り点のx座標βx i+1を移動元の頂点Eiのx座標で表した式を利用して前記後戻り点のx座標βx i+1を計算した上で、3次方程式を解いて移動先の頂点Ei+1のx座標αx i+1を計算することにより、前記移動先の頂点Ei+1である楕円曲線の曲線情報を計算し、
プロセッサが、計算された前記曲線情報を用いて前記出力値を計算する暗号方法。 An encryption method for calculating an output value by moving between vertices without going backwards in a graph in which an isomorphic class of elliptic curves is a vertex set and an L-homogeneous mapping with L ≧ 3 between the elliptic curves is an edge set. Yes,
Processor as inputs the x coordinate alpha x i of the source vertex E i, utilizing the x coordinate beta x i + 1 of the backtracking point for the destination vertex E i + 1 in the x-coordinate of the source vertex E i Formula to in terms of calculating the x-coordinate beta x i + 1 of the backtracking point, by calculating the x-coordinate alpha x i + 1 of the destination by solving a cubic equation vertex E i + 1, is a vertex E i + 1 of the destination Calculate the curve information of the elliptic curve,
A cryptographic method in which a processor calculates the output value using the calculated curve information.
移動元の頂点Eiのx座標αx iを入力として、移動先の頂点Ei+1に対する後戻り点のx座標βx i+1を移動元の頂点Eiのx座標で表した式を利用して前記後戻り点のx座標βx i+1を計算した上で、3次方程式を解いて移動先の頂点Ei+1のx座標αx i+1を計算することにより、前記移動先の頂点Ei+1である楕円曲線の曲線情報を計算する曲線計算処理と、
前記曲線計算処理によって計算された前記曲線情報を用いて前記出力値を計算する出力値計算処理と
をコンピュータに実行させる暗号プログラム。 An encryption program that calculates an output value by moving between vertices without going backwards in a graph having an elliptic curve isomorphism as a vertex set and an L-homogeneous mapping with L ≧ 3 between the elliptic curves as an edge set. Yes,
As inputs the x coordinate alpha x i of the source vertex E i, wherein by utilization of the x coordinate beta x i + 1 of the backtracking point for the destination vertex E i + 1 in the x-coordinate of the source vertex E i Formula after having calculated the x coordinate beta x i + 1 of the backtracking point, the destination by solving a cubic equation vertex E i + 1 by calculating the x-coordinate alpha x i + 1, the elliptic curve said a destination vertex E i + 1 A curve calculation process for calculating curve information;
An encryption program for causing a computer to execute an output value calculation process for calculating the output value using the curve information calculated by the curve calculation process.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016006317A JP6614979B2 (en) | 2016-01-15 | 2016-01-15 | Encryption apparatus, encryption method, and encryption program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016006317A JP6614979B2 (en) | 2016-01-15 | 2016-01-15 | Encryption apparatus, encryption method, and encryption program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2017126024A true JP2017126024A (en) | 2017-07-20 |
JP6614979B2 JP6614979B2 (en) | 2019-12-04 |
Family
ID=59365590
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016006317A Active JP6614979B2 (en) | 2016-01-15 | 2016-01-15 | Encryption apparatus, encryption method, and encryption program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6614979B2 (en) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07200544A (en) * | 1993-12-29 | 1995-08-04 | Sharp Corp | Root calculating device for equation of higher degree |
JP2003208096A (en) * | 2001-10-25 | 2003-07-25 | Matsushita Electric Ind Co Ltd | Elliptic curve converting device, method for converting elliptic curve, elliptic curve utilization device, and elliptic curve generation device |
JP2004226706A (en) * | 2003-01-23 | 2004-08-12 | Mitsubishi Electric Corp | Elliptic cipher safety strength evaluation method, elliptic cipher safety strength evaluation device and program, and computer readable recording medium with the program recorded thereon |
JP2005141200A (en) * | 2003-11-03 | 2005-06-02 | Microsoft Corp | Use of isogeny for design of cryptosystem |
JP2009514036A (en) * | 2005-11-01 | 2009-04-02 | マイクロソフト コーポレーション | Hash function construction from expander graph |
-
2016
- 2016-01-15 JP JP2016006317A patent/JP6614979B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07200544A (en) * | 1993-12-29 | 1995-08-04 | Sharp Corp | Root calculating device for equation of higher degree |
JP2003208096A (en) * | 2001-10-25 | 2003-07-25 | Matsushita Electric Ind Co Ltd | Elliptic curve converting device, method for converting elliptic curve, elliptic curve utilization device, and elliptic curve generation device |
JP2004226706A (en) * | 2003-01-23 | 2004-08-12 | Mitsubishi Electric Corp | Elliptic cipher safety strength evaluation method, elliptic cipher safety strength evaluation device and program, and computer readable recording medium with the program recorded thereon |
JP2005141200A (en) * | 2003-11-03 | 2005-06-02 | Microsoft Corp | Use of isogeny for design of cryptosystem |
JP2009514036A (en) * | 2005-11-01 | 2009-04-02 | マイクロソフト コーポレーション | Hash function construction from expander graph |
Also Published As
Publication number | Publication date |
---|---|
JP6614979B2 (en) | 2019-12-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Cervantes-Vázquez et al. | Stronger and faster side-channel protections for CSIDH | |
Bernstein et al. | Kummer strikes back: new DH speed records | |
CN112148437B (en) | Calculation task acceleration processing method, device and equipment for federal learning | |
EP3096309A1 (en) | Secure computation method, secure computation system, sorting device, and program | |
EP3930252A1 (en) | Countermeasures for side-channel attacks on protected sign and key exchange operations | |
Brumnik et al. | Techniques for performance improvement of integer multiplication in cryptographic applications | |
Courtois et al. | Speed optimizations in Bitcoin key recovery attacks | |
Zheng et al. | Exploiting the floating-point computing power of GPUs for RSA | |
Dong et al. | Utilizing the Double‐Precision Floating‐Point Computing Power of GPUs for RSA Acceleration | |
Dong et al. | sDPF-RSA: Utilizing floating-point computing power of GPUs for massive digital signature computations | |
CN101971138A (en) | An apparatus and a method for calculating a multiple of a point on an elliptic curve | |
US9025766B2 (en) | Efficient hardware architecture for a S1 S-box in a ZUC cipher | |
US10333697B2 (en) | Nondecreasing sequence determining device, method and program | |
JP6614979B2 (en) | Encryption apparatus, encryption method, and encryption program | |
Lin et al. | Efficient parallel RSA decryption algorithm for manycore GPUs with CUDA | |
Shao et al. | Estimates of the exit probability for two correlated Brownian motions | |
JP4692022B2 (en) | Scalar multiplication apparatus and program for elliptic curve cryptography | |
JP5858938B2 (en) | Calculation apparatus, calculation system, calculation method | |
CN112861189A (en) | Signature generation method, signature verification device, signature verification equipment and medium | |
Raman | Parallel processing of chaos-based image encryption algorithms | |
CN114868175A (en) | Final power calculation device, pairing operation device, encryption processing device, final power calculation method, and final power calculation program | |
Judge et al. | A Hardware‐Accelerated ECDLP with High‐Performance Modular Multiplication | |
JP4502817B2 (en) | Elliptic curve scalar multiplication method and apparatus | |
JP2015135452A (en) | Pairing computation device, multi-pairing computation device and program | |
Zaman et al. | Implementation aspects of supersingular isogeny-based cryptographic hash function |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20180830 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20180830 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20190716 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20190820 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190918 |
|
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: 20191008 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20191105 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6614979 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |