JP2011141488A - スカラー倍演算装置、スカラー倍演算方法、スカラー倍演算プログラム、記録媒体 - Google Patents

スカラー倍演算装置、スカラー倍演算方法、スカラー倍演算プログラム、記録媒体 Download PDF

Info

Publication number
JP2011141488A
JP2011141488A JP2010003295A JP2010003295A JP2011141488A JP 2011141488 A JP2011141488 A JP 2011141488A JP 2010003295 A JP2010003295 A JP 2010003295A JP 2010003295 A JP2010003295 A JP 2010003295A JP 2011141488 A JP2011141488 A JP 2011141488A
Authority
JP
Japan
Prior art keywords
scalar
scalar multiplication
value
expressed
integer
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
Application number
JP2010003295A
Other languages
English (en)
Other versions
JP5379700B2 (ja
Inventor
Tetsutaro Kobayashi
鉄太郎 小林
Takeshi Yamamoto
剛 山本
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
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 filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2010003295A priority Critical patent/JP5379700B2/ja
Publication of JP2011141488A publication Critical patent/JP2011141488A/ja
Application granted granted Critical
Publication of JP5379700B2 publication Critical patent/JP5379700B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

【課題】符号付き二進法に適用できる同時スカラー倍演算法を実現する。
【解決手段】本発明のスカラー倍演算装置は、中間値計算部、元計算部、スカラー倍値計算部を備える。中間値計算部は、中間値ed(1),…,d(M)(n)をすべてのd(1),…,d(M)の組合せについて求める。元計算部は、中間値計算部で求めたd(1),…,d(M)の組合せのすべてについて、Ed(1),…,d(M)Gを求める。スカラー倍値計算部は、d(m)の値が1であるすべてのEd(1),…,d(M)Gの和から、d(m)の値が−1であるすべてのEd(1),…,d(M)Gの和を減算した値をスカラー倍値EGとする処理を、m=1からMに対して行う。
【選択図】図4

Description

本発明は、データを暗号化する装置や認証する装置にかかわり、特に情報セキュリティを効率よく実現するためのスカラー倍演算装置、スカラー倍演算方法、スカラー倍演算プログラム、記録媒体に関する。
楕円曲線暗号や署名の演算コストにおいて、群の元Gをスカラー倍する演算は大きな割合を占める。本明細書では、複数のスカラー倍を同時に行う場合に効率良く演算する方法について述べる。乗法群のべき乗でも同じ議論を適用できるが、本明細書では記述をスカラー倍に統一する。群の元Gに対して入力されたM個の整数E,…,EについてEG,…,EGを求める演算を同時スカラー倍という。同時スカラー倍を効率良く実行するためには、2種類の戦略が考えられる。一つは、事前にGに関する事前演算を行いストレージに保存しておく方法がある。十分な量のストレージがある場合にはこの方法の効果が高い。もう一つは、事前の計算を必要としない方法である。本明細書では後者の方式について検討を行う。
事前演算なしでスカラー倍を行う方式としては、スカラー値を二進展開して2倍演算と加算を行う方法(二進演算法)や、非特許文献1のNAF法や、非特許文献2のBooth法がある。これに対して複数のスカラー倍を同時に行うことで効率を向上した方式(非特許文献3,4,5など)が提案されてきた。
図1は、二進演算法の処理フローを示す図である。この処理フローでは、Mを2以上の整数、mを1以上M以下の整数、Nを正の整数、nを0以上N以下の整数、Gを群の元、E,…,E
Figure 2011141488
のように表現されるスカラーとし、元Gをスカラー倍した値EG,…,EGを求める。二進演算法では、Eがランダムな値の場合、二進演算法のコストは2倍演算がMN回、加算演算が(1/2)MN回である。
また、楕円曲線上の点など、−1倍を行うのが容易な群でスカラー倍演算を行う場合、符号つき二進法(NAF法:非特許文献1)が用いられることが多い。二進演算法は、2倍演算N回と加算演算N/2回で1つのスカラー倍演算を行うのに対し、符号つき二進法では、2倍演算N回と加算演算N/3回で1つのスカラー倍演算が行える。したがって、M個のスカラー倍演算では、2倍演算がMN回、加算演算がMN/3回である。
次に、非特許文献3の鶴岡法について説明する。最初に、入力されるスカラー値の数が2つの場合について説明する。Nを正の整数、nを0以上N以下の整数、E,E
Figure 2011141488
と表現されるスカラー、Gを群の元とする。そして、
1,1=E∧E
1,0=E−E1,1
0,1=E−E1,1
のように中間値H1,1、H1,0、H0,1を求める。ただし、E∧Eは、二進表現のEとEを各桁のビットごとに論理積を行うことをあらわす。E、Eのnビット目は、上記のようにh(n)、h(n)のように表現できる。H1,1、H1,0、H0,1のnビット目をh1,1(n)、h1,0(n)、h0,1(n)と表現すると、h(n)、h(n)とh1,1(n)、h1,0(n)、h0,1(n)の関係は、図2のようになる。
とEが無相関であれば、H1,1、H1,0、H0,1のハミング重みは平均N/4であり、H1,1G、H1,0G、H0,1Gを、二進演算法を用いて同時に求める計算量は2倍演算がN回、加算が平均(3/4)N回となる。これらを用いてEG、EGを以下のように求める。
G=H1,0G+H1,1
G=H0,1G+H1,1
この方法でEG、EGを求めれば(M=2の場合)、加算回数は(3/4)N+2回となり、二進演算法の加算回数N回よりも少ない。したがって、鶴岡法の方が二進演算法よりも高速である。
図3に、鶴岡法でM個の同時スカラー倍を行なう場合の処理フローを示す。アルゴリズム中では記述の簡略化のため、中間値Hd(1),…,d(M)をB、中間値Hd(1),…,d(M)のnビット目hd(1),…,d(M)(n)をb(n)(ただし、1≦k≦2−1)と表しており、
Figure 2011141488
の関係がある。例えば、M=2の場合は、b(n)=h1,0(n)、b(n)=h0,1(n)、b(n)=h1,1(n)である。なお、n=1〜Nのb(n)を求めることはBを求めることなので、b(n)も中間値と呼ぶこととする。
鶴岡法の場合、2倍演算がMN回、加算演算が(1−(1/2))N+α回である。なお、図3の方法をそのまま行うとα=m・2M−1であるが、非特許文献5の方法を用いることで、α=2M+1−2M−2回にできる。
A. J. Menezes, P. C. van Oorschot and S. A. Vanstone, Handbook of Applied Cryptography. CRC Pres, 1996. Andrew D. Booth, "A Signed Binary Multiplication Technique", The Quarterly Journal of Mechanics and Applied Mathematics 1951 4(2),p.236-240, 1951. 鶴岡行雄, "高速な多垂べき乗計算アルゴリズム", Extended Abstract for JW-ISC’93, 電子情報通信学会技術研究報告. ISEC, 情報セキュリティ93(295), pp.103-111, 1993. David M'Ra:ichi and David Naccache, "Batch Exponentiation: A Fast DLP-based Signature Generation Strategy", CCS ’96, Proceedings of the 3rd ACM Conference on Computer and Communications Security, March 14-16 1996, New Delhi, India, ACM, 1996. Byungchun Chung, Junbeom Hur, Heeyoul Kim, Seong-Min Hong and Hyunsoo Yoon, "Improved batch exponentiation", Information Processing Letters 109 (2009) 832-837.
非特許文献3,4,5の方式も二進法に基づくもので、M=2の場合にはNAF法(非特許文献1)よりも効率が悪いという欠点があった。本発明の目的は、非特許文献3の鶴岡法の概念を拡張し、符号付き二進法に適用できる同時スカラー倍演算法を実現することである。
本発明のスカラー倍演算装置は、Mを2以上の整数、mを1以上M以下の整数、Nを正の整数、nを0以上N以下の整数、E,…,E
Figure 2011141488
と表現されるスカラー、Gを群の元とし、元Gに対してスカラーE,…,Eをそれぞれ乗算した値であるスカラー倍値EG,…,EGを求める。本発明のスカラー倍演算装置は、中間値計算部、元計算部、スカラー倍値計算部を備える。中間値計算部は、d(m)∈{0,1,−1}として、
すべてのmについてd(m)=e(n)のときは
d(1),…,d(M)(n)=1
すべてのmについてd(m)=−e(n)のときは
d(1),…,d(M)(n)=−1
その他のときは
d(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)の組合せのすべてについて、
Figure 2011141488
を求める。スカラー倍値計算部は、d(m)の値が1であるすべてのEd(1),…,d(M)Gの和から、d(m)の値が−1であるすべてのEd(1),…,d(M)Gの和を減算した値をスカラー倍値EGとする処理を、m=1からMに対して行う。
本発明のスカラー倍演算装置によれば、符号付き二進法に同時スカラー倍演算の考え方を適用できるので、群の元に複数のスカラー値をそれぞれ乗算するような場合に、従来技術に比べ演算量を少なくできる。
二進演算法の処理フローを示す図。 鶴岡法でのnビット目の変換を示す図。 鶴岡法でM個の同時スカラー倍を行なう場合の処理フローを示す図。 本発明のスカラー倍演算装置の機能構成例を示す図。 本発明のスカラー倍演算装置の処理フローを示す図。 M=2の場合のスカラーE、Eのnビット目e(n)、e(n)と、求めなければならない中間値ed(1),d(2)(n)の関係を示す図。 M=2の場合のスカラーE、Eのnビット目e(n)、e(n)と、中間値ed(1),d(2)(n)の関係を示す図。 M=3の場合のスカラーE、E、Eのnビット目e(n)、e(n)、e(n)と、求めなければならない中間値ed(1),d(2),d(3)(n)の関係を示す図。 M=3の場合のスカラーE、E、Eのnビット目e(n)、e(n)、e(n)と、中間値ed(1),d(2),d(3)(n)の関係を示す1つ目の図。 M=3の場合のスカラーE、E、Eのnビット目e(n)、e(n)、e(n)と、中間値ed(1),d(2),d(3)(n)の関係を示す2つ目の図。 本発明のスカラー倍演算装置の詳細な処理フローの例を示す図。 NAF法によって二進法表現のスカラーEを符号つき二進法表現のスカラーEに変換するフローを示す図。 二進法表現された0〜8とNAF法によって符号つき二進法表現に変換された0〜8を示す図。 Booth法によって二進法表現のスカラーEを符号つき二進法表現のスカラーEに変換するフローを示す図。 二進法表現された2n−2桁〜2n桁と、Booth法によって符号つき二進法表現に変換された2n−1桁、2n桁との関係を示す図。 M個のN桁のスカラーを群の元に乗算する場合の各方式の演算量を比較するための図。
以下、本発明の実施の形態について、詳細に説明する。なお、同じ機能を有する構成部には同じ番号を付し、重複説明を省略する。
装置構成、処理フロー
図4に本発明のスカラー倍演算装置の機能構成例を、図5に本発明のスカラー倍演算装置の処理フローを示す。本発明のスカラー倍演算装置100は、Mを2以上の整数、mを1以上M以下の整数、Nを正の整数、nを0以上N以下の整数、E,…,E
Figure 2011141488
と表現されるスカラー、Gを群の元とし、元Gに対してスカラーE,…,Eをそれぞれ乗算した値であるスカラー倍値EG,…,EGを求める。スカラー倍演算装置100は、中間値計算部120、元計算部130、スカラー倍値計算部140、記録部190を備える。中間値計算部120は、d(m)∈{0,1,−1}として、
すべてのmについてd(m)=e(n)のときは
d(1),…,d(M)(n)=1
すべてのmについてd(m)=−e(n)のときは
d(1),…,d(M)(n)=−1
その他のときは
d(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)の関係が成り立つため、両方を求める必要がないからである。したがって、中間値の数は(3−1)/2個となる。また、d’(1)=(−1)×d(1),…,d’(M)=(−1)×d(M)が成り立つ組合せのうちどちらを求めてもかまわない。
元計算部130は、中間値計算部120で求めたd(1),…,d(M)の組合せのすべてについて、
Figure 2011141488
を求める(S130)。スカラー倍値計算部140は、d(m)の値が1であるすべてのEd(1),…,d(M)Gの和から、d(m)の値が−1であるすべてのEd(1),…,d(M)Gの和を減算した値をスカラー倍値EGとする処理を、m=1からMに対して行う(S140)。式で表現すると、
Figure 2011141488
のようになる。記録部190は、元G、スカラーE、中間値ed(1),…,d(M)(n)、Ed(1),…,d(M)G、スカラー倍値EGなどを記録する。
また、スカラー倍演算装置100は、スカラー倍演算装置100に入力されるスカラーが二進法表現の場合には表現変換部110を備えればよい。表現変換部110は、
Figure 2011141488
のように表現されるスカラーE,…,E(二進法表現のスカラー)を、
Figure 2011141488
のように表現されるスカラーE,…,E(符号つき二進法表現のスカラー)に変換する(S110)。具体的な変換方法としては、NAF法やBooth法などがある。
原理の説明
まず、M=2の場合について説明する。図6にM=2の場合のスカラーE、Eのnビット目e(n)、e(n)と、求めなければならない中間値ed(1),d(2)(n)の関係を示す。また、図7にM=2の場合のスカラーE、Eのnビット目e(n)、e(n)と、中間値ed(1),d(2)(n)の関係を示す。
スカラーE、Eのnビット目e(n)、e(n)の値が0の場合、どんな乗算を行っても結果は0である。したがって、e(n)、e(n)の値が0以外の場合について考慮すればスカラー倍演算を実行できる。二進法の場合であれば0以外の値は1のみである。したがって、鶴岡法ではh1,0(n)、h0,1(n)、h1,1(n)について考慮すればよかった。一方、本発明が採用した符号つき二進法の場合、0以外の値には1と−1がある。そこで、図6に示すように、e(n)、e(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)はe(n)=0、e(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)が成り立つ他方を選択してもよい。
(n)、e(n)と中間値ed(1),d(2)(n)との関係は図7に示したとおり、
d(1)=e(n)かつd(2)=e(n)のときは
d(1),d(2)(n)=1
d(1)=−e(n)かつd(2)=−e(n)のときは
d(1),d(2)(n)=−1
その他のときは
d(1),d(2)(n)=0
である。
図7から分かるように、e(n)とe(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回の加算を削減ができる。
図8にM=3の場合のスカラーE、E、Eのnビット目e(n)、e(n)、e(n)と、求めなければならない中間値ed(1),d(2),d(3)(n)の関係を示す。上述のように、求めなければならない中間値ed(1),d(2),d(3)(n)の数は(3−1)/2個なので、M=3の場合には13個である。図9、10にM=3の場合のスカラーE、E、Eのnビット目e(n)、e(n)、e(n)と、中間値ed(1),d(2),d(3)(n)の関係を示す。この例でも、e(n)、e(n)、e(n)の列では2/3が0以外である。一方、中間値ed(1),d(2),d(3)(n)の列では、それぞれ2つのみ(2/27のみ)が0以外である。したがって、計算回数を削減できる。同様にM>3の場合にも中間値ed(1),…,d(M)(n)を利用することで、計算回数を削減できる。
詳細な処理フロー(アルゴリズムの具体例)
本発明のスカラー倍演算装置の詳細な処理フローの例を図11に示す。図11のStep1、Step2は前処理であり、各変数を初期値に設定している。Step3は図5のS120に、Step4はS130に、Step5はS140に相当する。Step6は結果を出力する処理である。
Step3、Step4、Step5では、記述の簡略化のため、中間値Ed(1),…,d(M)をB、中間値Ed(1),…,d(M)のnビット目ed(1),…,d(M)(n)をb(n)(ただし、1≦k≦2−1)と表しており、
Figure 2011141488
の関係がある。例えば、M=2の場合は、b(n)=e1,0(n)、b−1(n)=e−1,0(n)、b(n)=e0,1(n)、b−3(n)=e0,−1(n)、b(n)=h1,1(n)、b−2(n)=h1,−1(n)、b(n)=h−1,1(n)、b−4(n)=h−1,−1(n)である。なお、n=1〜Nのb(n)を求めることはBを求めることなので、b(n)も中間値と呼ぶ。このようにkとd(1),…,d(M)の関係を決めているので、kを1から(3−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)はいずれか一方のみ)について演算したことになる。
図12はNAF法によって二進法表現のスカラーEを符号つき二進法表現のスカラーEに変換するフローを、図13は二進法表現された0〜8とNAF法によって符号つき二進法表現に変換された0〜8を示す。また、図14はBooth法によって二進法表現のスカラーEを符号つき二進法表現のスカラーEに変換するフローを、図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法以外にも任意の符号つき二進法と組み合わせることができる。
演算量の比較
図16は、M個のN桁のスカラーを群の元に乗算する場合の各方式の演算量を比較するための図である。どの方式も2倍演算はMN回なので、図16では加算回数のみを比較している。ただし、α=2M+1−2M−2、β=3−2M−1である。なお、符号付き二進法によって1つのスカラー倍を計算する場合にはNAF法のほうがBooth法よりも効率が良いが、同時スカラー倍の場合は逆転する場合がある。具体的には、M≧5の場合にはBooth法の方がNAF法よりも効率がよい。この例と同じように、単独での効率にかかわらず本発明と組み合わせることで効率がよくなる場合もあるので、適宜符号つき二進法を選定すればよい。
例えば、M=2の場合、本発明+NAF法は、従来のNAF法(NAF法単独)に比べ11%の高速化が図れる。このように、本発明は、非特許文献3の鶴岡法の概念を拡張し、符号付き二進法に適用できる同時スカラー倍演算法を実現している。そして、M=2の場合も含め、演算回数を削減できている。
プログラム、記録媒体
上述の構成をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。
また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD−ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
本発明は、群の元に対して複数のスカラー倍を同時に行うようなデータを暗号化する装置や認証する装置に利用できる。
100 スカラー倍演算装置
110 表現変換部
120 中間値計算部
130 元計算部
140 スカラー倍値計算部
190 記録部

Claims (10)

  1. Mを2以上の整数、mを1以上M以下の整数、Nを正の整数、nを0以上N以下の整数、E,…,E
    Figure 2011141488

    と表現されるスカラー、Gを群の元とし、元Gに対してスカラーE,…,Eをそれぞれ乗算した値であるスカラー倍値EG,…,EGを求めるスカラー倍演算装置であって、
    d(m)∈{0,1,−1}として、
    すべてのmについてd(m)=e(n)のときは
    d(1),…,d(M)(n)=1
    すべてのmについてd(m)=−e(n)のときは
    d(1),…,d(M)(n)=−1
    その他のときは
    d(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)の組合せのすべてについて、
    Figure 2011141488

    を求める元計算部と、
    d(m)の値が1であるすべてのEd(1),…,d(M)Gの和から、d(m)の値が−1であるすべてのEd(1),…,d(M)Gの和を減算した値をスカラー倍値EGとする処理を、m=1からMに対して行うスカラー倍値計算部と、
    を備えるスカラー倍演算装置。
  2. Nを正の整数、nを0以上N以下の整数、E,E
    Figure 2011141488

    と表現されるスカラー、Gを群の元とし、元Gに対してスカラーE,Eをそれぞれ乗算した値であるスカラー倍値EG,EGを求めるスカラー倍演算装置であって、
    d(1)∈{0,1,−1}、d(2)∈{0,1,−1}として、
    d(1)=e(n)かつd(2)=e(n)のときは
    d(1),d(2)(n)=1
    d(1)=−e(n)かつd(2)=−e(n)のときは
    d(1),d(2)(n)=−1
    その他のときは
    d(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)の組合せのすべてについて、
    Figure 2011141488

    を求める元計算部と、
    d(m)の値が1であるすべてのEd(1),d(2)Gの和から、d(m)の値が−1であるすべてのEd(1),d(2)Gの和を減算した値をスカラー倍値EGとする処理を、m=1からMに対して行うスカラー倍値計算部と、
    を備えるスカラー倍演算装置。
  3. 請求項1記載のスカラー倍演算装置であって、
    Figure 2011141488

    のように表現されるスカラーE,…,Eを、NAF法を用いて
    Figure 2011141488

    のように表現されるスカラーE,…,Eに変換する表現変換部
    も備えることを特徴とするスカラー倍演算装置。
  4. 請求項1記載のスカラー倍演算装置であって、
    Figure 2011141488

    のように表現されるスカラーE,…,Eを、Booth法を用いて
    Figure 2011141488

    のように表現されるスカラーE,…,Eに変換する表現変換部
    も備えることを特徴とするスカラー倍演算装置。
  5. Mを2以上の整数、mを1以上M以下の整数、Nを正の整数、nを0以上N以下の整数、E,…,E
    Figure 2011141488

    と表現されるスカラー、Gを群の元とし、元Gに対してスカラーE,…,Eをそれぞれ乗算した値であるスカラー倍値EG,…,EGを求めるスカラー倍演算方法であって、
    中間値計算部が、d(m)∈{0,1,−1}として、
    すべてのmについてd(m)=e(n)のときは
    d(1),…,d(M)(n)=1
    すべてのmについてd(m)=−e(n)のときは
    d(1),…,d(M)(n)=−1
    その他のときは
    d(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)の組合せのすべてについて、
    Figure 2011141488

    を求める元計算ステップと、
    スカラー倍値計算部が、d(m)の値が1であるすべてのEd(1),…,d(M)Gの和から、d(m)の値が−1であるすべてのEd(1),…,d(M)Gの和を減算した値をスカラー倍値EGとする処理を、m=1からMに対して行うスカラー倍値計算ステップと、
    を有するスカラー倍演算方法。
  6. Nを正の整数、nを0以上N以下の整数、E,E
    Figure 2011141488

    と表現されるスカラー、Gを群の元とし、元Gに対してスカラーE,Eをそれぞれ乗算した値であるスカラー倍値EG,EGを求めるスカラー倍演算方法であって、
    中間値計算部が、d(1)∈{0,1,−1}、d(2)∈{0,1,−1}として、
    d(1)=e(n)かつd(2)=e(n)のときは
    d(1),d(2)(n)=1
    d(1)=−e(n)かつd(2)=−e(n)のときは
    d(1),d(2)(n)=−1
    その他のときは
    d(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)の組合せのすべてについて、
    Figure 2011141488

    を求める元計算部と、
    スカラー倍値計算部が、d(m)の値が1であるすべてのEd(1),d(2)Gの和から、d(m)の値が−1であるすべてのEd(1),d(2)Gの和を減算した値をスカラー倍値EGとする処理を、m=1からMに対して行うスカラー倍値計算ステップと、
    を有するスカラー倍演算方法。
  7. 請求項5記載のスカラー倍演算方法であって、
    表現変換部が、
    Figure 2011141488

    のように表現されるスカラーE,…,Eを、NAF法を用いて
    Figure 2011141488

    のように表現されるスカラーE,…,Eに変換する表現変換ステップ
    も有することを特徴とするスカラー倍演算方法。
  8. 請求項5記載のスカラー倍演算方法であって、
    表現変換部が、
    Figure 2011141488

    のように表現されるスカラーE,…,Eを、Booth法を用いて
    Figure 2011141488

    のように表現されるスカラーE,…,Eに変換する表現変換ステップ
    も有することを特徴とするスカラー倍演算方法。
  9. 請求項1から4のいずれかに記載のスカラー倍演算装置としてコンピュータを動作させるためのスカラー倍演算プログラム。
  10. 請求項9記載のスカラー倍演算プログラムを記録したコンピュータ読み取り可能な記録媒体。
JP2010003295A 2010-01-08 2010-01-08 スカラー倍演算装置、スカラー倍演算方法、スカラー倍演算プログラム、記録媒体 Active JP5379700B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010003295A JP5379700B2 (ja) 2010-01-08 2010-01-08 スカラー倍演算装置、スカラー倍演算方法、スカラー倍演算プログラム、記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010003295A JP5379700B2 (ja) 2010-01-08 2010-01-08 スカラー倍演算装置、スカラー倍演算方法、スカラー倍演算プログラム、記録媒体

Publications (2)

Publication Number Publication Date
JP2011141488A true JP2011141488A (ja) 2011-07-21
JP5379700B2 JP5379700B2 (ja) 2013-12-25

Family

ID=44457361

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010003295A Active JP5379700B2 (ja) 2010-01-08 2010-01-08 スカラー倍演算装置、スカラー倍演算方法、スカラー倍演算プログラム、記録媒体

Country Status (1)

Country Link
JP (1) JP5379700B2 (ja)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3797808B2 (ja) * 1998-10-27 2006-07-19 富士通株式会社 スカラー倍算方法およびその装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3797808B2 (ja) * 1998-10-27 2006-07-19 富士通株式会社 スカラー倍算方法およびその装置

Non-Patent Citations (7)

* Cited by examiner, † Cited by third party
Title
CSNG200301421034; 中尾  浩,藤尾 光彦: '"消費電力解析を考慮したスカラー倍演算について"' 情報処理学会研究報告 Vol.2002,No.12, 20020215, p.205-210, 社団法人情報処理学会 *
CSNG200900519001; 松嶋  智子,相良 佳孝,櫻木 伸英,足原 修: '"多数の楕円べき演算を高速に行うための高階差分演算に関する検討"' 電子情報通信学会技術研究報告 Vol.109,No.207, 20090918, p.1-8, 社団法人電子情報通信学会 *
CSNJ200910094102; 山田  尚志,高木 剛: '"NAFの双対形式における漸近的なゼロラン長の見積もり"' 第29回情報理論とその応用シンポジウム  予稿集 第1分冊, 20061128, p.399-402, 情報理論とその応用学会 *
JPN6013045406; 松嶋  智子,相良 佳孝,櫻木 伸英,足原 修: '"多数の楕円べき演算を高速に行うための高階差分演算に関する検討"' 電子情報通信学会技術研究報告 Vol.109,No.207, 20090918, p.1-8, 社団法人電子情報通信学会 *
JPN6013045408; 中尾  浩,藤尾 光彦: '"消費電力解析を考慮したスカラー倍演算について"' 情報処理学会研究報告 Vol.2002,No.12, 20020215, p.205-210, 社団法人情報処理学会 *
JPN6013045409; 山田  尚志,高木 剛: '"NAFの双対形式における漸近的なゼロラン長の見積もり"' 第29回情報理論とその応用シンポジウム  予稿集 第1分冊, 20061128, p.399-402, 情報理論とその応用学会 *
JPN7013003386; 小林 鉄太郎,山本 剛: '"同時スカラー倍演算法の改良"' 2010年 暗号と情報セキュリティシンポジウム 2D4-5, 20100119, p.1-5, 2010年 暗号と情報セキュリティシンポジウム実行 *

Also Published As

Publication number Publication date
JP5379700B2 (ja) 2013-12-25

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
US11902432B2 (en) System and method to optimize generation of coprime numbers in cryptographic applications
WO2018135566A1 (ja) 秘密計算システム、秘密計算装置、秘密計算方法、プログラム
US20220085999A1 (en) System and method to optimize decryption operations in cryptographic applications
Gao et al. DPF-ECC: Accelerating elliptic curve cryptography with floating-point computing power of GPUs
JP5328993B2 (ja) 署名生成装置及び署名生成方法及び記録媒体
JP7031682B2 (ja) 秘密計算装置、システム、方法、プログラム
Balasubramaniam et al. Elliptic curve scalar multiplication algorithm using complementary recoding
Hu et al. The analysis and investigation of multiplicative inverse searching methods in the ring of integers modulo m
JP2023063430A (ja) 暗号システム、鍵生成装置、暗号化装置、復号装置、方法及びプログラム
Dong et al. Utilizing the double-precision floating-point computing power of GPUs for RSA acceleration
US20220085998A1 (en) System and method to generate prime numbers in cryptographic applications
Zhang et al. {FLASH}: Towards a high-performance hardware acceleration architecture for cross-silo federated learning
JP5972181B2 (ja) 改ざん検知装置、改ざん検知方法、およびプログラム
JP4351987B2 (ja) モンゴメリ変換装置、演算装置、icカード、暗号装置、復号装置及びプログラム
JP4690819B2 (ja) 楕円曲線暗号におけるスカラー倍計算方法およびスカラー倍計算装置
CN111740821B (zh) 建立共享密钥的方法及装置
Vollala et al. Efficient modular exponential algorithms compatible with hardware implementation of public‐key cryptography
JP2018205511A (ja) パラメータ変換方法、パラメータ変換装置、パラメータ変換プログラム、ペアリング演算方法、ペアリング演算装置、及びペアリング演算プログラム
Bardis Secure, green implementation of modular arithmetic operations for IoT and cloud applications
JP5379700B2 (ja) スカラー倍演算装置、スカラー倍演算方法、スカラー倍演算プログラム、記録媒体
Gokul et al. Performance comparison of multipliers based on Square and Multiply and montgomery algorithms
Gao et al. DPF-ECC: A framework for efficient ECC with double precision floating-point computing power
JP5253456B2 (ja) 共通鍵生成システム及び共通鍵生成方法

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