JP5379700B2 - Scalar multiplication unit, scalar multiplication method, scalar multiplication program, recording medium - Google Patents
Scalar multiplication unit, scalar multiplication method, scalar multiplication program, recording medium Download PDFInfo
- Publication number
- JP5379700B2 JP5379700B2 JP2010003295A JP2010003295A JP5379700B2 JP 5379700 B2 JP5379700 B2 JP 5379700B2 JP 2010003295 A JP2010003295 A JP 2010003295A JP 2010003295 A JP2010003295 A JP 2010003295A JP 5379700 B2 JP5379700 B2 JP 5379700B2
- Authority
- JP
- Japan
- Prior art keywords
- scalar
- scalar multiplication
- value
- unit
- expressed
- 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
Links
Images
Abstract
Description
本発明は、データを暗号化する装置や認証する装置にかかわり、特に情報セキュリティを効率よく実現するためのスカラー倍演算装置、スカラー倍演算方法、スカラー倍演算プログラム、記録媒体に関する。 The present invention relates to a data encryption device and an authentication device, and particularly relates to a scalar multiplication device, a scalar multiplication operation method, a scalar multiplication operation program, and a recording medium for efficiently realizing information security.
楕円曲線暗号や署名の演算コストにおいて、群の元Gをスカラー倍する演算は大きな割合を占める。本明細書では、複数のスカラー倍を同時に行う場合に効率良く演算する方法について述べる。乗法群のべき乗でも同じ議論を適用できるが、本明細書では記述をスカラー倍に統一する。群の元Gに対して入力されたM個の整数E1,…,EMについてE1G,…,EMGを求める演算を同時スカラー倍という。同時スカラー倍を効率良く実行するためには、2種類の戦略が考えられる。一つは、事前にGに関する事前演算を行いストレージに保存しておく方法がある。十分な量のストレージがある場合にはこの方法の効果が高い。もう一つは、事前の計算を必要としない方法である。本明細書では後者の方式について検討を行う。
In the operation cost of elliptic curve cryptography and signature, the operation of multiplying the group element G by scalar occupies a large proportion. In this specification, a method for efficiently performing calculation when performing a plurality of scalar multiplications simultaneously will be described. The same argument can be applied to the power of the multiplicative group, but in this specification, the description is unified to a scalar multiple.
事前演算なしでスカラー倍を行う方式としては、スカラー値を二進展開して2倍演算と加算を行う方法(二進演算法)や、非特許文献1のNAF法や、非特許文献2のBooth法がある。これに対して複数のスカラー倍を同時に行うことで効率を向上した方式(非特許文献3,4,5など)が提案されてきた。
図1は、二進演算法の処理フローを示す図である。この処理フローでは、Mを2以上の整数、mを1以上M以下の整数、Nを正の整数、nを0以上N以下の整数、Gを群の元、E1,…,EMを
As a method of performing scalar multiplication without pre-computation, a method of performing binary computation and performing binary computation and addition (binary computation method), the NAF method of
FIG. 1 is a diagram showing a processing flow of the binary arithmetic method. In this processing flow, M is an integer of 2 or more, m is an integer of 1 to M, N is a positive integer, n is an integer of 0 to N, G is a group element, E 1 ,.
のように表現されるスカラーとし、元Gをスカラー倍した値E1G,…,EMGを求める。二進演算法では、Emがランダムな値の場合、二進演算法のコストは2倍演算がMN回、加算演算が(1/2)MN回である。 A value E 1 G,..., E M G obtained by multiplying the original G by a scalar is obtained. In the binary arithmetic method, when Em is a random value, the cost of the binary arithmetic method is MN times for the double operation and (1/2) MN times for the addition operation.
また、楕円曲線上の点など、−1倍を行うのが容易な群でスカラー倍演算を行う場合、符号つき二進法(NAF法:非特許文献1)が用いられることが多い。二進演算法は、2倍演算N回と加算演算N/2回で1つのスカラー倍演算を行うのに対し、符号つき二進法では、2倍演算N回と加算演算N/3回で1つのスカラー倍演算が行える。したがって、M個のスカラー倍演算では、2倍演算がMN回、加算演算がMN/3回である。 In addition, when performing scalar multiplication with a group that is easy to perform −1 multiplication, such as a point on an elliptic curve, a signed binary method (NAF method: Non-Patent Document 1) is often used. In the binary operation method, one scalar multiplication operation is performed by N times of the double operation and N / 2 times of addition, whereas in the binary method of signing, one operation is performed by N times of the double operation and N / 3 times of the addition operation. Can perform scalar multiplication. Therefore, in M scalar multiplication operations, the doubling operation is MN times and the addition operation is MN / 3 times.
次に、非特許文献3の鶴岡法について説明する。最初に、入力されるスカラー値の数が2つの場合について説明する。Nを正の整数、nを0以上N以下の整数、E1,E2を
Next, the Tsuruoka method of Non-Patent
と表現されるスカラー、Gを群の元とする。そして、
H1,1=E1∧E2
H1,0=E1−E1,1
H0,1=E2−E1,1
のように中間値H1,1、H1,0、H0,1を求める。ただし、E1∧E2は、二進表現のE1とE2を各桁のビットごとに論理積を行うことをあらわす。E1、E2のnビット目は、上記のようにh1(n)、h2(n)のように表現できる。H1,1、H1,0、H0,1のnビット目をh1,1(n)、h1,0(n)、h0,1(n)と表現すると、h1(n)、h2(n)とh1,1(n)、h1,0(n)、h0,1(n)の関係は、図2のようになる。
A scalar, G expressed as And
H 1,1 = E 1 ∧E 2
H 1,0 = E 1 -E 1,1
H 0,1 = E 2 −E 1,1
Intermediate values H 1,1 , H 1,0 , H 0,1 are obtained as follows. However, E 1 ∧E 2 indicates that the binary representations E 1 and E 2 are logically ANDed for each bit of each digit. The nth bit of E 1 and E 2 can be expressed as h 1 (n) and h 2 (n) as described above. When the n-th bit of H 1,1 , H 1,0 , H 0,1 is expressed as h 1,1 (n), h 1,0 (n), h 0,1 (n), h 1 (n ), H 2 (n) and h 1,1 (n), h 1,0 (n), h 0,1 (n) are as shown in FIG.
E1とE2が無相関であれば、H1,1、H1,0、H0,1のハミング重みは平均N/4であり、H1,1G、H1,0G、H0,1Gを、二進演算法を用いて同時に求める計算量は2倍演算がN回、加算が平均(3/4)N回となる。これらを用いてE1G、E2Gを以下のように求める。
E1G=H1,0G+H1,1G
E2G=H0,1G+H1,1G
この方法でE1G、E2Gを求めれば(M=2の場合)、加算回数は(3/4)N+2回となり、二進演算法の加算回数N回よりも少ない。したがって、鶴岡法の方が二進演算法よりも高速である。
If E 1 and E 2 are uncorrelated, the Hamming weights of H 1,1 , H 1,0 , H 0,1 are average N / 4, and H 1,1 G, H 1,0 G, H The amount of calculation for simultaneously obtaining 0,1 G using the binary arithmetic method is N times for the doubling operation and an average of (3/4) N times for the addition. Using these, E 1 G and E 2 G are obtained as follows.
E 1 G = H 1,0 G + H 1,1 G
E 2 G = H 0,1 G + H 1,1 G
If E 1 G and E 2 G are obtained by this method (when M = 2), the number of additions is (3/4) N + 2, which is smaller than the number of additions N in the binary arithmetic method. Therefore, the Tsuruoka method is faster than the binary arithmetic method.
図3に、鶴岡法でM個の同時スカラー倍を行なう場合の処理フローを示す。アルゴリズム中では記述の簡略化のため、中間値Hd(1),…,d(M)をBk、中間値Hd(1),…,d(M)のnビット目hd(1),…,d(M)(n)をbk(n)(ただし、1≦k≦2M−1)と表しており、 FIG. 3 shows a processing flow when performing M simultaneous scalar multiplications by the Tsuruoka method. In the algorithm, in order to simplify the description, the intermediate value H d (1),..., D (M) is set to B k , and the nth bit h d (1 ) of the intermediate value H d (1) ,. ),..., D (M) (n) is expressed as b k (n) (where 1 ≦ k ≦ 2 M −1),
の関係がある。例えば、M=2の場合は、b1(n)=h1,0(n)、b2(n)=h0,1(n)、b3(n)=h1,1(n)である。なお、n=1〜Nのbk(n)を求めることはBkを求めることなので、bk(n)も中間値と呼ぶこととする。 There is a relationship. For example, when M = 2, b 1 (n) = h 1,0 (n), b 2 (n) = h 0,1 (n), b 3 (n) = h 1,1 (n) It is. Since obtaining b k (n) where n = 1 to N is obtaining B k , b k (n) is also referred to as an intermediate value.
鶴岡法の場合、2倍演算がMN回、加算演算が(1−(1/2)M)N+α回である。なお、図3の方法をそのまま行うとα=m・2M−1であるが、非特許文献5の方法を用いることで、α=2M+1−2M−2回にできる。
In the case of the Tsuruoka method, the doubling operation is MN times, and the addition operation is (1- (1/2) M ) N + α times. If the method of FIG. 3 is performed as it is, α = m · 2 M−1 . However, by using the method of Non-Patent
非特許文献3,4,5の方式も二進法に基づくもので、M=2の場合にはNAF法(非特許文献1)よりも効率が悪いという欠点があった。本発明の目的は、非特許文献3の鶴岡法の概念を拡張し、符号付き二進法に適用できる同時スカラー倍演算法を実現することである。
The methods of
本発明のスカラー倍演算装置は、Mを2以上の整数、mを1以上M以下の整数、Nを正の整数、nを0以上N以下の整数、E1,…,EMを In the scalar multiplication apparatus of the present invention, M is an integer of 2 or more, m is an integer of 1 to M, N is a positive integer, n is an integer of 0 to N, E 1 ,.
と表現されるスカラー、Gを群の元とし、元Gに対してスカラーE1,…,EMをそれぞれ乗算した値であるスカラー倍値E1G,…,EMGを求める。本発明のスカラー倍演算装置は、中間値計算部、元計算部、スカラー倍値計算部を備える。中間値計算部は、d(m)∈{0,1,−1}として、
すべてのmについてd(m)=em(n)のときは
ed(1),…,d(M)(n)=1
すべてのmについてd(m)=−em(n)のときは
ed(1),…,d(M)(n)=−1
その他のときは
ed(1),…,d(M)(n)=0
である中間値ed(1),…,d(M)(n)を、d(1)=0,…,d(M)=0以外のすべてのd(1),…,d(M)の組合せ(ただし、d’(1)=(−1)×d(1),…,d’(M)=(−1)×d(M)が成り立つed(1),…,d(M)(n)とed’(1),…,d’(M)(n)はいずれか一方のみ)について求める。d(1)=0,…,d(M)=0の場合を求める必要がないのは、以降の計算で利用しないからである。また、ただし書きの理由は、d’(1)=(−1)×d(1),…,d’(M)=(−1)×d(M)が成り立つときは、ed(1),…,d(M)(n)=(−1)×ed’(1),…,d’(M)(n)の関係が成り立つため、両方を求める必要がないからである。元計算部は、中間値計算部で求めたd(1),…,d(M)の組合せのすべてについて、
Scalar, the original group of G which is expressed as the
E d (1) when the d (m) = e m ( n) for all m, ..., d (M) (n) = 1
When d (m) = − e m (n) for all m, ed ( 1),..., D (M) (n) = − 1
In other cases, ed (1),..., D (M) (n) = 0
, D (M) (n) is changed to d (1) = 0,..., D (M) = 0 except for d (1),. combinations) (however, d '(1) = ( - 1) × d (1), ..., d' (M) = (- 1) × e d (1) to d (M) is established, ..., d (M) (n) and ed ′ (1),..., D ′ (M) (n) are only one of them). It is not necessary to obtain the case of d (1) = 0,..., d (M) = 0 because it is not used in subsequent calculations. The proviso of reasons, d '(1) = ( - 1) × d (1), ..., d' (M) = (- 1) × when d (M) is established, e d (1) ,..., D (M) (n) = (− 1) × e d ′ (1),..., D ′ (M) (n) holds, and it is not necessary to obtain both. The original calculation unit calculates all combinations of d (1),..., D (M) obtained by the intermediate value calculation unit.
を求める。スカラー倍値計算部は、d(m)の値が1であるすべてのEd(1),…,d(M)Gの和から、d(m)の値が−1であるすべてのEd(1),…,d(M)Gの和を減算した値をスカラー倍値EmGとする処理を、m=1からMに対して行う。 Ask for. The scalar multiple calculator calculates from the sum of all E d (1),..., D (M) G where the value of d (m) is 1, all the E's whose value of d (m) is −1. d (1),..., d (M) A process of subtracting the sum of G to obtain a scalar multiple value E m G is performed from m = 1 to M.
本発明のスカラー倍演算装置によれば、符号付き二進法に同時スカラー倍演算の考え方を適用できるので、群の元に複数のスカラー値をそれぞれ乗算するような場合に、従来技術に比べ演算量を少なくできる。 According to the scalar multiplication unit of the present invention, the concept of simultaneous scalar multiplication can be applied to a signed binary method, so that when a plurality of scalar values are respectively multiplied by a group, the amount of calculation is reduced compared to the conventional technique. Less.
以下、本発明の実施の形態について、詳細に説明する。なお、同じ機能を有する構成部には同じ番号を付し、重複説明を省略する。 Hereinafter, embodiments of the present invention will be described in detail. In addition, the same number is attached | subjected to the structure part which has the same function, and duplication description is abbreviate | omitted.
装置構成、処理フロー
図4に本発明のスカラー倍演算装置の機能構成例を、図5に本発明のスカラー倍演算装置の処理フローを示す。本発明のスカラー倍演算装置100は、Mを2以上の整数、mを1以上M以下の整数、Nを正の整数、nを0以上N以下の整数、E1,…,EMを
Device Configuration and Processing Flow FIG. 4 shows a functional configuration example of the scalar multiplication unit of the present invention, and FIG. 5 shows a processing flow of the scalar multiplication unit of the present invention. The scalar multiplication apparatus 100 of the present invention is configured such that M is an integer of 2 or more, m is an integer of 1 to M, N is a positive integer, n is an integer of 0 to N, E 1 ,.
と表現されるスカラー、Gを群の元とし、元Gに対してスカラーE1,…,EMをそれぞれ乗算した値であるスカラー倍値E1G,…,EMGを求める。スカラー倍演算装置100は、中間値計算部120、元計算部130、スカラー倍値計算部140、記録部190を備える。中間値計算部120は、d(m)∈{0,1,−1}として、
すべてのmについてd(m)=em(n)のときは
ed(1),…,d(M)(n)=1
すべてのmについてd(m)=−em(n)のときは
ed(1),…,d(M)(n)=−1
その他のときは
ed(1),…,d(M)(n)=0
である中間値ed(1),…,d(M)(n)を、d(1)=0,…,d(M)=0以外のすべてのd(1),…,d(M)の組合せ(ただし、d’(1)=(−1)×d(1),…,d’(M)=(−1)×d(M)が成り立つed(1),…,d(M)(n)とed’(1),…,d’(M)(n)はいずれか一方のみ)について求める(S120)。d(1)=0,…,d(M)=0の場合を求める必要がないのは、以降の計算で利用しないからである。また、ただし書きの理由は、d’(1)=(−1)×d(1),…,d’(M)=(−1)×d(M)が成り立つときは、ed(1),…,d(M)(n)=(−1)×ed’(1),…,d’(M)(n)の関係が成り立つため、両方を求める必要がないからである。したがって、中間値の数は(3M−1)/2個となる。また、d’(1)=(−1)×d(1),…,d’(M)=(−1)×d(M)が成り立つ組合せのうちどちらを求めてもかまわない。
Scalar, the original group of G which is expressed as the scalar E 1 to the original G, ..., is a value obtained by multiplying each E M scalar Baichi E 1 G, ..., determine the E M G. The scalar multiplication unit 100 includes an intermediate
E d (1) when the d (m) = e m ( n) for all m, ..., d (M) (n) = 1
When d (m) = − e m (n) for all m, ed ( 1),..., D (M) (n) = − 1
In other cases, ed (1),..., D (M) (n) = 0
, D (M) (n) is changed to d (1) = 0,..., D (M) = 0 except for d (1),. combinations) (however, d '(1) = ( - 1) × d (1), ..., d' (M) = (- 1) × e d (1) to d (M) is established, ..., d (M) (n) and ed ′ (1),..., D ′ (M) (n) (only one of them) are obtained (S120). It is not necessary to obtain the case of d (1) = 0,..., d (M) = 0 because it is not used in subsequent calculations. The proviso of reasons, d '(1) = ( - 1) × d (1), ..., d' (M) = (- 1) × when d (M) is established, e d (1) ,..., D (M) (n) = (− 1) × e d ′ (1),..., D ′ (M) (n) holds, and it is not necessary to obtain both. Therefore, the number of intermediate values is (3 M −1) / 2. In addition, either of the combinations in which d ′ (1) = (− 1) × d (1),..., D ′ (M) = (− 1) × d (M) may be obtained.
元計算部130は、中間値計算部120で求めたd(1),…,d(M)の組合せのすべてについて、
The
を求める(S130)。スカラー倍値計算部140は、d(m)の値が1であるすべてのEd(1),…,d(M)Gの和から、d(m)の値が−1であるすべてのEd(1),…,d(M)Gの和を減算した値をスカラー倍値EmGとする処理を、m=1からMに対して行う(S140)。式で表現すると、
Is obtained (S130). The scalar
のようになる。記録部190は、元G、スカラーEm、中間値ed(1),…,d(M)(n)、Ed(1),…,d(M)G、スカラー倍値EmGなどを記録する。
また、スカラー倍演算装置100は、スカラー倍演算装置100に入力されるスカラーが二進法表現の場合には表現変換部110を備えればよい。表現変換部110は、
become that way. The
In addition, the scalar multiplication unit 100 may include the
のように表現されるスカラーE1,…,EM(二進法表現のスカラー)を、 A scalar E 1 ,..., E M (binary representation scalar) expressed as
のように表現されるスカラーE1,…,EM(符号つき二進法表現のスカラー)に変換する(S110)。具体的な変換方法としては、NAF法やBooth法などがある。
原理の説明
まず、M=2の場合について説明する。図6にM=2の場合のスカラーE1、E2のnビット目e1(n)、e2(n)と、求めなければならない中間値ed(1),d(2)(n)の関係を示す。また、図7にM=2の場合のスカラーE1、E2のnビット目e1(n)、e2(n)と、中間値ed(1),d(2)(n)の関係を示す。
Are converted into scalars E 1 ,..., E M (scalar of signed binary representation) (S110). Specific conversion methods include the NAF method and Boot method.
Description of Principle First, the case of M = 2 will be described. N-
スカラーE1、E2のnビット目e1(n)、e2(n)の値が0の場合、どんな乗算を行っても結果は0である。したがって、e1(n)、e2(n)の値が0以外の場合について考慮すればスカラー倍演算を実行できる。二進法の場合であれば0以外の値は1のみである。したがって、鶴岡法ではh1,0(n)、h0,1(n)、h1,1(n)について考慮すればよかった。一方、本発明が採用した符号つき二進法の場合、0以外の値には1と−1がある。そこで、図6に示すように、e1(n)、e2(n)の値が1または−1の場合について中間値を求める。中間値として考えられる組合せは、e1,1(n)、e1,0(n)、e1,−1(n)、e0,1(n)、e0,0(n)、e0,−1(n)、e−1,1(n)、e−1,0(n)、e−1,−1(n)である。しかし、e0,0(n)はe1(n)=0、e2(n)=0なので乗算で考慮する必要がない。また、e1,1(n)=−e−1,−1(n)、e1,0(n)=e−1,0(n)、e1,−1(n)=e−1,1(n)、e0,1(n)=e0,−1(n)の関係が成り立つので、一方を求めれば他方を求める必要はない。したがって、図6にしめした4つの中間値を求めれば十分である。なお、図6では、e1,1(n)、e1,0(n)、e1,−1(n)、e0,1(n)の4つを選択しているが、d’(1)=(−1)×d(1)かつd’(2)=(−1)×d(2)が成り立つ他方を選択してもよい。 When the values of the nth bits e 1 (n) and e 2 (n) of the scalars E 1 and E 2 are 0, the result is 0 regardless of what multiplication is performed. Therefore, scalar multiplication can be performed if the case where the values of e 1 (n) and e 2 (n) are other than 0 is taken into consideration. In the binary system, the only value other than 0 is 1. Therefore, in the Tsuruoka method, h 1,0 (n), h 0,1 (n), and h 1,1 (n) should be considered. On the other hand, in the signed binary system adopted by the present invention, there are 1 and −1 as values other than 0. Therefore, as shown in FIG. 6, an intermediate value is obtained when the values of e 1 (n) and e 2 (n) are 1 or −1. Possible combinations as intermediate values are e 1,1 (n), e 1,0 (n), e 1, -1 (n), e 0,1 (n), e 0,0 (n), e 0, -1 (n), e- 1 , 1 (n), e- 1 , 0 (n), e- 1, -1 (n). However, since e 0,0 (n) is e 1 (n) = 0 and e 2 (n) = 0, there is no need to consider in multiplication. Also, e 1,1 (n) = − e −1, −1 (n), e 1,0 (n) = e −1,0 (n), e 1, −1 (n) = e −1 , 1 (n), e 0,1 (n) = e 0, −1 (n), the relationship is established, and if one is obtained, the other need not be obtained. Therefore, it is sufficient to obtain the four intermediate values shown in FIG. In FIG. 6, four of e 1,1 (n), e 1,0 (n), e 1, -1 (n), and e 0,1 (n) are selected, but d ′ You may select the other where (1) = (− 1) × d (1) and d ′ (2) = (− 1) × d (2).
e1(n)、e2(n)と中間値ed(1),d(2)(n)との関係は図7に示したとおり、
d(1)=e1(n)かつd(2)=e2(n)のときは
ed(1),d(2)(n)=1
d(1)=−e1(n)かつd(2)=−e2(n)のときは
ed(1),d(2)(n)=−1
その他のときは
ed(1),d(2)(n)=0
である。
The relationship between e 1 (n), e 2 (n) and intermediate values ed (1), d (2) (n) is as shown in FIG.
When d (1) = e 1 (n) and d (2) = e 2 (n), ed (1), d (2) (n) = 1
When d (1) = − e 1 (n) and d (2) = − e 2 (n), ed (1), d (2) (n) = − 1
In other cases, ed (1), d (2) (n) = 0
It is.
図7から分かるように、e1(n)とe2(n)の列では2/3が0以外である。一方、e1,1(n)、e1,0(n)、e1,−1(n)、e0,1(n)の列では、それぞれ2つのみ(2/9のみ)が0以外である。したがって、実際に乗算を行わなければならない部分が少なくなる。これらのことから、M=2の場合には、NAF法の加算回数は平均2/3N回なのに対し、NAF法に本発明を適用した場合は加算回数は平均(5/9)N+4回であり、(1/9)N−4回の加算を削減ができる。
As can be seen from FIG. 7, 2/3 is other than 0 in the column of e 1 (n) and e 2 (n). On the other hand, in the columns of e 1,1 (n), e 1,0 (n), e 1, -1 (n), e 0,1 (n), only two (only 2/9) are 0. Other than Therefore, there are fewer parts that must actually be multiplied. Therefore, when M = 2, the average number of additions of the NAF method is 2 / 3N, whereas when the present invention is applied to the NAF method, the average number of additions is (5/9)
図8にM=3の場合のスカラーE1、E2、E3のnビット目e1(n)、e2(n)、e3(n)と、求めなければならない中間値ed(1),d(2),d(3)(n)の関係を示す。上述のように、求めなければならない中間値ed(1),d(2),d(3)(n)の数は(3M−1)/2個なので、M=3の場合には13個である。図9、10にM=3の場合のスカラーE1、E2、E3のnビット目e1(n)、e2(n)、e3(n)と、中間値ed(1),d(2),d(3)(n)の関係を示す。この例でも、e1(n)、e2(n)、e3(n)の列では2/3が0以外である。一方、中間値ed(1),d(2),d(3)(n)の列では、それぞれ2つのみ(2/27のみ)が0以外である。したがって、計算回数を削減できる。同様にM>3の場合にも中間値ed(1),…,d(M)(n)を利用することで、計算回数を削減できる。
N-
詳細な処理フロー(アルゴリズムの具体例)
本発明のスカラー倍演算装置の詳細な処理フローの例を図11に示す。図11のStep1、Step2は前処理であり、各変数を初期値に設定している。Step3は図5のS120に、Step4はS130に、Step5はS140に相当する。Step6は結果を出力する処理である。
Detailed processing flow (specific example of algorithm)
An example of a detailed processing flow of the scalar multiplication unit of the present invention is shown in FIG.
Step3、Step4、Step5では、記述の簡略化のため、中間値Ed(1),…,d(M)をBk、中間値Ed(1),…,d(M)のnビット目ed(1),…,d(M)(n)をbk(n)(ただし、1≦k≦2M−1)と表しており、
In
の関係がある。例えば、M=2の場合は、b1(n)=e1,0(n)、b−1(n)=e−1,0(n)、b3(n)=e0,1(n)、b−3(n)=e0,−1(n)、b4(n)=h1,1(n)、b−2(n)=h1,−1(n)、b2(n)=h−1,1(n)、b−4(n)=h−1,−1(n)である。なお、n=1〜Nのbk(n)を求めることはBkを求めることなので、bk(n)も中間値と呼ぶ。このようにkとd(1),…,d(M)の関係を決めているので、kを1から(3M−1)/2まで変化させれば、d(1)=0,…,d(M)=0以外のすべてのd(1),…,d(M)の組合せ(ただし、d’(1)=(−1)×d(1),…,d’(M)=(−1)×d(M)が成り立つed(1),…,d(M)(n)とed’(1),…,d’(M)(n)はいずれか一方のみ)について演算したことになる。 There is a relationship. For example, when M = 2, b 1 (n) = e 1,0 (n), b −1 (n) = e −1,0 (n), b 3 (n) = e 0,1 ( n), b −3 (n) = e 0, −1 (n), b 4 (n) = h 1,1 (n), b −2 (n) = h 1, −1 (n), b 2 (n) = h− 1,1 (n), b− 4 (n) = h− 1, −1 (n). Since obtaining b k (n) where n = 1 to N is obtaining B k , b k (n) is also called an intermediate value. Since the relationship between k and d (1),..., D (M) is determined in this way, if k is changed from 1 to (3 M −1) / 2, d (1) = 0,. , D (M) = 0 all combinations other than d (1),..., D (M) (where d ′ (1) = (− 1) × d (1),..., D ′ (M) Ed (1), ..., d (M) (n) and ed '(1), ..., d' (M) (n) satisfy only = (-1) * d (M) ).
図12はNAF法によって二進法表現のスカラーEmを符号つき二進法表現のスカラーEmに変換するフローを、図13は二進法表現された0〜8とNAF法によって符号つき二進法表現に変換された0〜8を示す。また、図14はBooth法によって二進法表現のスカラーEmを符号つき二進法表現のスカラーEmに変換するフローを、図15は二進法表現された2n−2桁〜2n桁と、Booth法によって符号つき二進法表現に変換された2n−1桁、2n桁との関係を示す。NAF法は、符号付き二進法表現のスカラーの各桁の0の確率を2/3、1または−1の確率を1/3にする方法である。また、Booth法は、符号付き二進法表現のスカラーの各桁の0の確率を5/8、1または−1の確率を3/8(奇数桁は0の確率が1/2、偶数桁は0の確率が3/4)にする方法である。本発明はNAF法やBooth法以外にも任意の符号つき二進法と組み合わせることができる。
FIG. 12 shows a flow of converting a binary expression scalar E m to a signed binary expression scalar E m by the NAF method, and FIG. 13
演算量の比較
図16は、M個のN桁のスカラーを群の元に乗算する場合の各方式の演算量を比較するための図である。どの方式も2倍演算はMN回なので、図16では加算回数のみを比較している。ただし、α=2M+1−2M−2、β=3M−2M−1である。なお、符号付き二進法によって1つのスカラー倍を計算する場合にはNAF法のほうがBooth法よりも効率が良いが、同時スカラー倍の場合は逆転する場合がある。具体的には、M≧5の場合にはBooth法の方がNAF法よりも効率がよい。この例と同じように、単独での効率にかかわらず本発明と組み合わせることで効率がよくなる場合もあるので、適宜符号つき二進法を選定すればよい。
Comparison of Computation Amounts FIG. 16 is a diagram for comparing the computation amounts of the respective methods in the case where M N-digit scalars are multiplied by group elements. In any method, since the doubling operation is MN times, only the number of additions is compared in FIG. However, α = 2 M + 1 −2M−2 and β = 3 M −2M−1. It should be noted that the NAF method is more efficient than the Boot method when calculating one scalar multiplication by a signed binary method, but the simultaneous scalar multiplication may be reversed. Specifically, when M ≧ 5, the Boot method is more efficient than the NAF method. As in this example, the efficiency may be improved by combining with the present invention regardless of the efficiency of the single device, so that a signed binary method may be selected as appropriate.
例えば、M=2の場合、本発明+NAF法は、従来のNAF法(NAF法単独)に比べ11%の高速化が図れる。このように、本発明は、非特許文献3の鶴岡法の概念を拡張し、符号付き二進法に適用できる同時スカラー倍演算法を実現している。そして、M=2の場合も含め、演算回数を削減できている。
For example, when M = 2, the present invention + NAF method can increase the speed by 11% compared with the conventional NAF method (NAF method alone). As described above, the present invention extends the concept of the Tsuruoka method of
プログラム、記録媒体
上述の構成をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。
Program, Recording Medium When the above-described configuration is realized by a computer, the processing contents of functions that each device should have are described by the program. The processing functions are realized on the computer by executing the program on the computer.
The program describing the processing contents can be recorded on a computer-readable recording medium. As the computer-readable recording medium, for example, any recording medium such as a magnetic recording device, an optical disk, a magneto-optical recording medium, and a semiconductor memory may be used.
また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD−ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。 The program is distributed by selling, transferring, or lending a portable recording medium such as a DVD or CD-ROM in which the program is recorded. Furthermore, the program may be distributed by storing the program in a storage device of the server computer and transferring the program from the server computer to another computer via a network.
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。 A computer that executes such a program first stores, for example, a program recorded on a portable recording medium or a program transferred from a server computer in its own storage device. When executing the process, the computer reads a program stored in its own recording medium and executes a process according to the read program. As another execution form of the program, the computer may directly read the program from a portable recording medium and execute processing according to the program, and the program is transferred from the server computer to the computer. Each time, the processing according to the received program may be executed sequentially. Also, the program is not transferred from the server computer to the computer, and the above-described processing is executed by a so-called ASP (Application Service Provider) type service that realizes the processing function only by the execution instruction and result acquisition. It is good. Note that the program in this embodiment includes information that is used for processing by an electronic computer and that conforms to the program (data that is not a direct command to the computer but has a property that defines the processing of the computer).
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。 In this embodiment, the present apparatus is configured by executing a predetermined program on a computer. However, at least a part of these processing contents may be realized by hardware.
本発明は、群の元に対して複数のスカラー倍を同時に行うようなデータを暗号化する装置や認証する装置に利用できる。 The present invention can be used for an apparatus for encrypting data or an apparatus for authenticating data that simultaneously performs a plurality of scalar multiplications on a group element.
100 スカラー倍演算装置
110 表現変換部
120 中間値計算部
130 元計算部
140 スカラー倍値計算部
190 記録部
100
Claims (10)
と表現されるスカラー、Gを群の元とし、元Gに対してスカラーE1,…,EMをそれぞれ乗算した値であるスカラー倍値E1G,…,EMGを求めるスカラー倍演算装置であって、
d(m)∈{0,1,−1}として、
すべてのmについてd(m)=em(n)のときは
ed(1),…,d(M)(n)=1
すべてのmについてd(m)=−em(n)のときは
ed(1),…,d(M)(n)=−1
その他のときは
ed(1),…,d(M)(n)=0
である中間値ed(1),…,d(M)(n)を、
d(1)=0,…,d(M)=0以外のすべてのd(1),…,d(M)の組合せ(ただし、d’(1)=(−1)×d(1),…,d’(M)=(−1)×d(M)が成り立つed(1),…,d(M)(n)とed’(1),…,d’(M)(n)はいずれか一方のみ)について求める中間値計算部と、
前記中間値計算部で求めたd(1),…,d(M)の組合せのすべてについて、
を求める元計算部と、
d(m)の値が1であるすべてのEd(1),…,d(M)Gの和から、d(m)の値が−1であるすべてのEd(1),…,d(M)Gの和を減算した値をスカラー倍値EmGとする処理を、m=1からMに対して行うスカラー倍値計算部と、
を備えるスカラー倍演算装置。 M is an integer of 2 or more, m is an integer of 1 to M, N is a positive integer, n is an integer of 0 to N, E 1 ,..., E M
Scalar, the original group of G which is expressed as the scalar E 1 to the original G, ..., is a value obtained by multiplying each E M scalar Baichi E 1 G, ..., scalar multiplication calculation for obtaining the E M G A device,
As d (m) ε {0,1, -1},
E d (1) when the d (m) = e m ( n) for all m, ..., d (M) (n) = 1
When d (m) = − e m (n) for all m, ed ( 1),..., D (M) (n) = − 1
In other cases, ed (1),..., D (M) (n) = 0
Intermediate values ed (1),..., D (M) (n) that are
All combinations of d (1),..., d (M) other than d (1) = 0,..., d (M) = 0 (where d ′ (1) = (− 1) × d (1) ,..., D ′ (M) = (− 1) × d (M) ed (1),..., D (M) (n) and ed ′ (1),. (N) is an intermediate value calculation unit obtained for only one),
For all combinations of d (1),..., D (M) obtained by the intermediate value calculator,
An original calculation unit for obtaining
From the sum of all E d (1),..., d (M) G where the value of d (m) is 1, all E d (1),. d (M) a scalar multiplication value calculation unit that performs a process for subtracting the sum of G to make a scalar multiplication value E m G from m = 1 to M;
A scalar multiplication unit comprising:
と表現されるスカラー、Gを群の元とし、元Gに対してスカラーE1,E2をそれぞれ乗算した値であるスカラー倍値E1G,E2Gを求めるスカラー倍演算装置であって、
d(1)∈{0,1,−1}、d(2)∈{0,1,−1}として、
d(1)=e1(n)かつd(2)=e2(n)のときは
ed(1),d(2)(n)=1
d(1)=−e1(n)かつd(2)=−e2(n)のときは
ed(1),d(2)(n)=−1
その他のときは
ed(1),d(2)(n)=0
である中間値ed(1),d(2)(n)を、
d(1)=0,d(2)=0以外のすべてのd(1),d(2)の組合せ(ただし、d’(1)=(−1)×d(1)かつd’(2)=(−1)×d(2)が成り立つed(1),…,d(M)(n)とed’(1),…,d’(M)(n)はいずれか一方のみ)について求める中間値計算部と、
前記中間値計算部で求めたd(1),d(2)の組合せのすべてについて、
を求める元計算部と、
d(m)の値が1であるすべてのEd(1),d(2)Gの和から、d(m)の値が−1であるすべてのEd(1),d(2)Gの和を減算した値をスカラー倍値EmGとする処理を、m=1からMに対して行うスカラー倍値計算部と、
を備えるスカラー倍演算装置。 N is a positive integer, n is an integer between 0 and N, and E 1 and E 2 are
A scalar multiplication unit for obtaining scalar double values E 1 G and E 2 G, which are values obtained by multiplying the element G by scalars E 1 and E 2 , respectively. ,
d (1) ∈ {0,1, −1}, d (2) ∈ {0,1, −1}
When d (1) = e 1 (n) and d (2) = e 2 (n), ed (1), d (2) (n) = 1
When d (1) = − e 1 (n) and d (2) = − e 2 (n), ed (1), d (2) (n) = − 1
In other cases, ed (1), d (2) (n) = 0
The intermediate values ed (1), d (2) (n) are
Any combination of d (1) and d (2) other than d (1) = 0 and d (2) = 0 (where d ′ (1) = (− 1) × d (1) and d ′ ( 2) = (− 1) × d (2) holds, ed (1),..., D (M) (n) and ed ′ (1) ,. An intermediate value calculator for
For all the combinations of d (1) and d (2) obtained by the intermediate value calculator,
An original calculation unit for obtaining
From the sum of all E d (1), d (2) G with a d (m) value of 1, all E d (1), d (2) with a d (m) value of −1 A scalar multiple calculation unit that performs a process of subtracting the sum of G as a scalar multiple E m G from m = 1 to M;
A scalar multiplication unit comprising:
のように表現されるスカラーE1,…,EMを、NAF法を用いて
のように表現されるスカラーE1,…,EMに変換する表現変換部
も備えることを特徴とするスカラー倍演算装置。 The scalar multiplication unit according to claim 1,
The scalars E 1 , ..., E M expressed as
A scalar multiplication unit comprising an expression conversion unit for converting into scalars E 1 ,..., E M expressed as follows.
のように表現されるスカラーE1,…,EMを、Booth法を用いて
のように表現されるスカラーE1,…,EMに変換する表現変換部
も備えることを特徴とするスカラー倍演算装置。 The scalar multiplication unit according to claim 1,
The scalars E 1 , ..., E M expressed as
A scalar multiplication unit comprising an expression conversion unit for converting into scalars E 1 ,..., E M expressed as follows.
と表現されるスカラー、Gを群の元とし、元Gに対してスカラーE1,…,EMをそれぞれ乗算した値であるスカラー倍値E1G,…,EMGを求めるスカラー倍演算方法であって、
中間値計算部が、d(m)∈{0,1,−1}として、
すべてのmについてd(m)=em(n)のときは
ed(1),…,d(M)(n)=1
すべてのmについてd(m)=−em(n)のときは
ed(1),…,d(M)(n)=−1
その他のときは
ed(1),…,d(M)(n)=0
である中間値ed(1),…,d(M)(n)を、
d(1)=0,…,d(M)=0以外のすべてのd(1),…,d(M)の組合せ(ただし、d’(1)=(−1)×d(1),…,d’(M)=(−1)×d(M)が成り立つed(1),…,d(M)(n)とed’(1),…,d’(M)(n)はいずれか一方のみ)について求める中間値計算ステップと、
元計算部が、前記中間値計算ステップで求めたd(1),…,d(M)の組合せのすべてについて、
を求める元計算ステップと、
スカラー倍値計算部が、d(m)の値が1であるすべてのEd(1),…,d(M)Gの和から、d(m)の値が−1であるすべてのEd(1),…,d(M)Gの和を減算した値をスカラー倍値EmGとする処理を、m=1からMに対して行うスカラー倍値計算ステップと、
を有するスカラー倍演算方法。 M is an integer of 2 or more, m is an integer of 1 to M, N is a positive integer, n is an integer of 0 to N, E 1 ,..., E M
Scalar, the original group of G which is expressed as the scalar E 1 to the original G, ..., is a value obtained by multiplying each E M scalar Baichi E 1 G, ..., scalar multiplication calculation for obtaining the E M G A method,
The intermediate value calculation unit sets d (m) ε {0, 1, −1} as
E d (1) when the d (m) = e m ( n) for all m, ..., d (M) (n) = 1
When d (m) = − e m (n) for all m, ed ( 1),..., D (M) (n) = − 1
In other cases, ed (1),..., D (M) (n) = 0
Intermediate values ed (1),..., D (M) (n) that are
All combinations of d (1),..., d (M) other than d (1) = 0,..., d (M) = 0 (where d ′ (1) = (− 1) × d (1) ,..., D ′ (M) = (− 1) × d (M) ed (1),..., D (M) (n) and ed ′ (1),. An intermediate value calculating step for (n) is only one);
For all combinations of d (1),..., D (M) obtained by the original calculation unit in the intermediate value calculation step,
An original calculation step for obtaining
The scalar multiple calculator calculates from the sum of all E d (1),..., D (M) G where the value of d (m) is 1, and from the sum of all E d (m) values of −1. d (1),..., d (M) Scalar multiple calculation step for performing the process of subtracting the sum of G from S = 1 to M for the scalar multiple E m G;
A scalar multiplication method having:
と表現されるスカラー、Gを群の元とし、元Gに対してスカラーE1,E2をそれぞれ乗算した値であるスカラー倍値E1G,E2Gを求めるスカラー倍演算方法であって、
中間値計算部が、d(1)∈{0,1,−1}、d(2)∈{0,1,−1}として、
d(1)=e1(n)かつd(2)=e2(n)のときは
ed(1),d(2)(n)=1
d(1)=−e1(n)かつd(2)=−e2(n)のときは
ed(1),d(2)(n)=−1
その他のときは
ed(1),d(2)(n)=0
である中間値ed(1),d(2)(n)を、
d(1)=0,d(2)=0以外のすべてのd(1),d(2)の組合せ(ただし、d’(1)=(−1)×d(1)かつd’(2)=(−1)×d(2)が成り立つed(1),…,d(M)(n)とed’(1),…,d’(M)(n)はいずれか一方のみ)について求める中間値計算ステップと、
元計算部が、前記中間値計算ステップで求めたd(1),d(2)の組合せのすべてについて、
を求める元計算部と、
スカラー倍値計算部が、d(m)の値が1であるすべてのEd(1),d(2)Gの和から、d(m)の値が−1であるすべてのEd(1),d(2)Gの和を減算した値をスカラー倍値EmGとする処理を、m=1からMに対して行うスカラー倍値計算ステップと、
を有するスカラー倍演算方法。 N is a positive integer, n is an integer between 0 and N, and E 1 and E 2 are
A scalar multiplication method for obtaining scalar double values E 1 G and E 2 G, which are values obtained by multiplying the element G by scalars E 1 and E 2 , respectively. ,
The intermediate value calculation unit sets d (1) ε {0,1, −1} and d (2) ε {0,1, −1} as
When d (1) = e 1 (n) and d (2) = e 2 (n), ed (1), d (2) (n) = 1
When d (1) = − e 1 (n) and d (2) = − e 2 (n), ed (1), d (2) (n) = − 1
In other cases, ed (1), d (2) (n) = 0
The intermediate values ed (1), d (2) (n) are
Any combination of d (1) and d (2) other than d (1) = 0 and d (2) = 0 (where d ′ (1) = (− 1) × d (1) and d ′ ( 2) = (− 1) × d (2) holds, ed (1),..., D (M) (n) and ed ′ (1) ,. Intermediate value calculation step for (only one)
For all the combinations of d (1) and d (2) obtained by the original calculation unit in the intermediate value calculation step,
An original calculation unit for obtaining
The scalar multiple calculator calculates from the sum of all E d (1) and d (2) G whose value of d (m) is 1, all E d ( whose value of d (m) is −1. 1), d (2) A scalar multiple calculation step in which a value obtained by subtracting the sum of G is set to a scalar multiple E m G for m = 1 to M;
A scalar multiplication method having:
表現変換部が、
のように表現されるスカラーE1,…,EMを、NAF法を用いて
のように表現されるスカラーE1,…,EMに変換する表現変換ステップ
も有することを特徴とするスカラー倍演算方法。 The scalar multiplication method according to claim 5, wherein
The expression converter
The scalars E 1 , ..., E M expressed as
A scalar multiplication method characterized by having an expression conversion step of converting into scalars E 1 ,..., E M expressed as follows.
表現変換部が、
のように表現されるスカラーE1,…,EMを、Booth法を用いて
のように表現されるスカラーE1,…,EMに変換する表現変換ステップ
も有することを特徴とするスカラー倍演算方法。 The scalar multiplication method according to claim 5, wherein
The expression converter
The scalars E 1 , ..., E M expressed as
A scalar multiplication method characterized by having an expression conversion step of converting into scalars E 1 ,..., E M expressed as follows.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2010003295A JP5379700B2 (en) | 2010-01-08 | 2010-01-08 | Scalar multiplication unit, scalar multiplication method, scalar multiplication program, recording medium |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2010003295A JP5379700B2 (en) | 2010-01-08 | 2010-01-08 | Scalar multiplication unit, scalar multiplication method, scalar multiplication program, recording medium |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2011141488A JP2011141488A (en) | 2011-07-21 |
| JP5379700B2 true JP5379700B2 (en) | 2013-12-25 |
Family
ID=44457361
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2010003295A Active JP5379700B2 (en) | 2010-01-08 | 2010-01-08 | Scalar multiplication unit, scalar multiplication method, scalar multiplication program, recording medium |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP5379700B2 (en) |
Family Cites Families (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP3797808B2 (en) * | 1998-10-27 | 2006-07-19 | 富士通株式会社 | Scalar multiplication method and apparatus |
-
2010
- 2010-01-08 JP JP2010003295A patent/JP5379700B2/en active Active
Also Published As
| Publication number | Publication date |
|---|---|
| JP2011141488A (en) | 2011-07-21 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| Sion et al. | On the computational practicality of private information retrieval | |
| Campbell Sr | Evaluation of post-quantum distributed ledger cryptography | |
| Kuang et al. | A new quantum-safe multivariate polynomial public key digital signature algorithm | |
| Zhang et al. | {FLASH}: Towards a high-performance hardware acceleration architecture for cross-silo federated learning | |
| US12231562B2 (en) | System and method to optimize decryption operations in cryptographic applications | |
| US11902432B2 (en) | System and method to optimize generation of coprime numbers in cryptographic applications | |
| US20220085998A1 (en) | System and method to generate prime numbers in cryptographic applications | |
| JP5328993B2 (en) | Signature generation apparatus, signature generation method, and recording medium | |
| Balasubramaniam et al. | Elliptic curve scalar multiplication algorithm using complementary recoding | |
| JPWO2019087317A1 (en) | Secret calculators, systems, methods, programs | |
| JP2020519968A (en) | Bit decomposition secret calculation device, bit combination secret calculation device, method and program | |
| Dong et al. | sDPF-RSA: Utilizing floating-point computing power of GPUs for massive digital signature computations | |
| Hu et al. | The analysis and investigation of multiplicative inverse searching methods in the ring of integers modulo m | |
| Riasi et al. | Privacy-preserving verifiable neural network inference service | |
| Vollala et al. | Efficient modular exponential algorithms compatible with hardware implementation of public‐key cryptography | |
| Bardis | Secure, green implementation of modular arithmetic operations for IoT and cloud applications | |
| Jahani et al. | Efficient big integer multiplication and squaring algorithms for cryptographic applications | |
| CN111740821B (en) | Method and device for establishing shared secret key | |
| Song et al. | Parallel RSA encryption algorithm based on a ternary optical computer | |
| CN113179151A (en) | Universal software implementation method for middle-up rounding learning in post-quantum cryptography construction | |
| JP5379700B2 (en) | Scalar multiplication unit, scalar multiplication method, scalar multiplication program, recording medium | |
| JP2018205511A (en) | Parameter conversion method, parameter conversion device, parameter conversion program, pairing operation method, pairing operation device and pairing operation program | |
| JP4690819B2 (en) | Scalar multiplication calculation method and scalar multiplication calculation apparatus in elliptic curve cryptography | |
| CN120513602A (en) | Improved blockchain system and method | |
| JP5253456B2 (en) | Common key generation system and common key generation method |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20110624 |
|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20120307 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130904 |
|
| 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: 20130917 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130927 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 5379700 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 |
|
| R360 | Written notification for declining of transfer of rights |
Free format text: JAPANESE INTERMEDIATE CODE: R360 |
|
| R360 | Written notification for declining of transfer of rights |
Free format text: JAPANESE INTERMEDIATE CODE: R360 |
|
| R371 | Transfer withdrawn |
Free format text: JAPANESE INTERMEDIATE CODE: R371 |
|
| 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 |