JP6293681B2 - マルチスカラー倍算演算装置、マルチスカラー倍算演算方法、プログラム - Google Patents
マルチスカラー倍算演算装置、マルチスカラー倍算演算方法、プログラム Download PDFInfo
- Publication number
- JP6293681B2 JP6293681B2 JP2015007719A JP2015007719A JP6293681B2 JP 6293681 B2 JP6293681 B2 JP 6293681B2 JP 2015007719 A JP2015007719 A JP 2015007719A JP 2015007719 A JP2015007719 A JP 2015007719A JP 6293681 B2 JP6293681 B2 JP 6293681B2
- Authority
- JP
- Japan
- Prior art keywords
- digit
- scalar multiplication
- expression
- calculation
- integers
- 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
Description
(参考非特許文献1:D. Boneh, and M. Franklin, ”Identity-based Encryption from the Weil Pairing,” SIAM Journal on Computing, vol. 32, no. 3, pp. 586-615, 2003.)
(参考非特許文献2:T. Okamoto, and K. Takashima, ”Fully Secure Functional Encryption with General Relations from the Decisional Linear Assumption,” CRYPTO2010, LNCS 6223, pp.191-208, 2010.)
これらを実際のシステムとして実現する際には、楕円曲線上のマルチスカラー倍算が必要となることが多い。例えば、関数型暗号では、鍵生成や暗号化においてマルチスカラー倍算が支配的な計算コストとなる。従って、楕円曲線上のマルチスカラー倍算の効率化は重要な課題である。マルチスカラー倍算の処理における計算コストは、そのほとんどが楕円加算P+Q、楕円2倍算2Pであるため、楕円加算/楕円2倍算を使用する回数を減らすことが効率化する上で必要となる。
実施例1の説明に先立ち、本明細書で用いる記号や、従来手法の説明などを行う。素数p、拡大次数e(正整数)に対してq=peとし、有限体
E(Fq)={(x,y)∈E|x,y∈Fq}∪O
と定義する。このときE(Fq)は加法群をなす。E(Fq)では、入力P,Q∈E(Fq)に対して、楕円加算R=P+Q(ただし、P≠±Q)と楕円2倍算R=2Pの計算ができる。またOは、任意の点P∈E(Fq)に対してP+O=Pとなる点であり、無限遠点と呼ばれる。以下、楕円加算およびその演算量(計算コスト)をECADD、楕円2倍算およびその演算量(計算コスト)をECDBLと表す。
楕円曲線上のスカラー倍算とは、楕円曲線上の点P∈E(Fq)と0以上の整数kに対して、
ki=(ki (n-1),…,ki (0))=Σj=0 n-1ki (j)2j
(ただしki (j)∈{0,1}、j=0,...,n-1)
で表現されるものとする。
以下、非特許文献2記載のLim-Lee方式の詳細を説明する。
m個のビットの組(e0,...,em-1)(ei∈{0,1})の全ての組合せに対して、点Σi=0 m-1eiPiを計算する。
この方式では、各kiに対して、表現変換は行わない。
次に、非特許文献3記載のHPB05方式の詳細を説明する。
m-1個のビットの組(e1,...,em-1)(ei∈{0,1})の全ての組合せに対して、点P0+Σi=1 m-1eiPiを計算する。
正整数かつ奇数k0、0以上の整数k1,...,km-1を入力として、k'0は全ての桁が{±1}で表現され、他のk'i(すなわちi≠0)は、k'iのj桁目であるk'i (j)が{0,k'0 (j)}となるようなk'0,...,k'm-1を出力する。kiの上位桁が0の隣り合う2桁、例えばj桁目、j-1桁目であるki (j),ki (j-1)は、(ki (j),ki (j-1))=(0,1)→(1,-1)と表現することができることを利用して、上述の表現変換を行うことができる。結果として、k'0,...,k'm-1の任意のj桁目に対して、i=1,...,m-1で、
事前計算部11は、基準となる点P0と、i=1,...,m-1(m≧2を充たす整数とする)のPiに対して、事前計算を行い、計算された2m-1個の点を事前計算結果保存部12の事前計算テーブルへ保存する。このとき、{0,1}をとるm-1個の値の組(e1,...,em-1)とする。全ての(e1,...,em-1)の組合せは2m-1個となる。P0,...,Pm-1に対して、tのマッピング方法の一例として、次のような事前計算テーブルTbl[t]を構成する。ここで、0≦t<2m-1とする。
Tbl[Σj=1 m-1ej2j-1]=P0+Σj=1 m-1ejPj
ステップS11は、HPB05方式における事前計算と同様である。
以下、本実施例で用いられるスカラー値の変換方法について説明する。正整数かつ奇数k0、0以上の整数k1,...,km-1を入力として、本実施例では、k'0,...,k'm-1の各桁が{0,±1}で表現され、以下(1),(2)のどちらかの条件を満たす。
<マルチスカラー倍算計算部14、ステップS14>
マルチスカラー倍算計算部14は、上記表現変換されたk'0,...,k'm-1と、事前計算テーブルTbl[t]を用いて、マルチスカラー倍算Σi=0 m-1kiPiと同値の点を、例えば図5に示すAlgorithm3によって計算する。マルチスカラー倍算計算部14は、
上述の実施例1においては、マルチスカラー倍算演算装置1に事前計算部11を含む構成としたが、これに限らず、マルチスカラー倍算演算装置から事前計算部11を省略することができる。この場合外部装置などに事前計算部11にあたる構成が存在するものとする。この場合外部装置が予め事前計算を実行しておき、事前計算の結果は、事前計算結果保存部12が事前計算テーブルとして予め保存しておくものとする。この場合、予め計算された2m-1個の点は固定点である。なお、実施例1においては、都度事前計算部が計算を実行するため、計算される点は可変点である。
本実施例のマルチスカラー倍算演算装置によれば、全てのkiに対するj桁目が0であるゼロ桁が、Lim-Lee方式と同程度の確率で出現するような変換手法を実現し、Lim-Lee方式と同程度の計算コストで、かつ事前計算テーブルのサイズを半分にすることを実現した。また変形例1で述べたように、入力される点Piがシステムとして固定である場合は、事前計算部12における計算コストがゼロであるため効果が得られる。
楕円曲線上のマルチスカラー倍算では、楕円加算を削減するために、全てのi=0,...,m-1でki (j)=0となる確率が大きい場合に楕円加算を省略することができる。本実施例のマルチスカラー倍算演算装置によれば、事前計算テーブルをHPB05と同じにしながら、新たな表現方法を用いてゼロ濃度を増加させることが出来たため、結果として、マルチスカラー倍算を小さなテーブルサイズでより高速に計算することができるようになった。
本発明の装置は、例えば単一のハードウェアエンティティとして、キーボードなどが接続可能な入力部、液晶ディスプレイなどが接続可能な出力部、ハードウェアエンティティの外部に通信可能な通信装置(例えば通信ケーブル)が接続可能な通信部、CPU(Central Processing Unit、キャッシュメモリやレジスタなどを備えていてもよい)、メモリであるRAMやROM、ハードディスクである外部記憶装置並びにこれらの入力部、出力部、通信部、CPU、RAM、ROM、外部記憶装置の間のデータのやり取りが可能なように接続するバスを有している。また必要に応じて、ハードウェアエンティティに、CD−ROMなどの記録媒体を読み書きできる装置(ドライブ)などを設けることとしてもよい。このようなハードウェア資源を備えた物理的実体としては、汎用コンピュータなどがある。
Claims (5)
- 素数p、正整数e、q=pe、有限体
、楕円曲線E上のFq-有理点群をE(Fq)としたとき、
整数m≧2とし、m個の点P0,...,Pm-1および0以上の整数k0,...,km-1に対して、マルチスカラー倍算をΣi=0 m-1kiPiを計算しE(Fq)上の点を出力する関数としたとき、m-1個のビット{0,1}の組(e1,...,em-1)の全ての組合せに対して、点P0+Σi=1 m-1eiPiを計算し、前記
計算した2m-1個の点を、事前計算テーブルに保存する事前計算部と、
正整数かつ奇数k0、0以上の整数k1,...,km-1を入力として、k'0,...,k'm-1の各桁が{0,±1}で表現され、全てのk'iに対してj桁目が0、または、k'0のj桁目が{±1}かつk'0以外
のk'iのj桁目が0またはk'0のj桁目と同値、という条件を満たすk'0,...,k'm-1に表現変換する表現変換部と、
前記事前計算テーブルと前記表現変換されたk'0,...,k'm-1を用いてマルチスカラー倍
算Σi=0 m-1kiPiと同値の点を計算するマルチスカラー倍算計算部を含む
マルチスカラー倍算演算装置。 - 素数p、正整数e、q=pe、有限体
、楕円曲線E上のFq-有理点群をE(Fq)としたとき、
整数m≧2とし、m個の点P0,...,Pm-1および0以上の整数k0,...,km-1に対して、マルチスカラー倍算をΣi=0 m-1kiPiを計算しE(Fq)上の点を出力する関数としたとき、m-1個のビット{0,1}の組(e1,...,em-1)の全ての組合せに対して予め計算された2m-1個の点P0+Σi=1 m-1eiPiを、事前計算テーブルとして保存する事前計算結果保存部と、
正整数かつ奇数k0、0以上の整数k1,...,km-1を入力として、k'0,...,k'm-1の各桁が{0,±1}で表現され、全てのk'iに対してj桁目が0、または、k'0のj桁目が{±1}かつk'0以外
のk'iのj桁目が0またはk'0のj桁目と同値、という条件を満たすk'0,...,k'm-1に表現変換する表現変換部と、
前記事前計算テーブルと前記表現変換されたk'0,...,k'm-1を用いてマルチスカラー倍
算Σi=0 m-1kiPiと同値の点を計算するマルチスカラー倍算計算部を含む
マルチスカラー倍算演算装置。 - マルチスカラー倍算演算装置が実行するマルチスカラー倍算演算方法であって、
素数p、正整数e、q=pe、有限体
、楕円曲線E上のFq-有理点群をE(Fq)としたとき、
整数m≧2とし、m個の点P0,...,Pm-1および0以上の整数k0,...,km-1に対して、マルチスカラー倍算をΣi=0 m-1kiPiを計算しE(Fq)上の点を出力する関数としたとき、m-1個のビット{0,1}の組(e1,...,em-1)の全ての組合せに対して、点P0+Σi=1 m-1eiPiを計算し、前記計算した2m-1個の点を、事前計算テーブルに保存する事前計算ステップと、
正整数かつ奇数k0、0以上の整数k1,...,km-1を入力として、k'0,...,k'm-1の各桁が{0,±1}で表現され、全てのk'iに対してj桁目が0、または、k'0のj桁目が{±1}かつk'0以外
のk'iのj桁目が0またはk'0のj桁目と同値、という条件を満たすk'0,...,k'm-1に表現変換する表現変換ステップと、
前記事前計算テーブルと前記表現変換されたk'0,...,k'm-1を用いてマルチスカラー倍
算Σi=0 m-1kiPiと同値の点を計算するマルチスカラー倍算計算ステップを含む
マルチスカラー倍算演算方法。 - マルチスカラー倍算演算装置が実行するマルチスカラー倍算演算方法であって、
素数p、正整数e、q=pe、有限体
、楕円曲線E上のFq-有理点群をE(Fq)としたとき、
整数m≧2とし、m個の点P0,...,Pm-1および0以上の整数k0,...,km-1に対して、マルチスカラー倍算をΣi=0 m-1kiPiを計算しE(Fq)上の点を出力する関数としたとき、m-1個のビット{0,1}の組(e1,...,em-1)の全ての組合せに対して予め計算された2m-1個の点P0+Σi=1 m-1eiPiを、事前計算テーブルとして保存する事前計算結果保存ステップと、
正整数かつ奇数k0、0以上の整数k1,...,km-1を入力として、k'0,...,k'm-1の各桁が{0,±1}で表現され、全てのk'iに対してj桁目が0、または、k'0のj桁目が{±1}かつk'0以外
のk'iのj桁目が0またはk'0のj桁目と同値、という条件を満たすk'0,...,k'm-1に表現変換する表現変換ステップと、
前記事前計算テーブルと前記表現変換されたk'0,...,k'm-1を用いてマルチスカラー倍
算Σi=0 m-1kiPiと同値の点を計算するマルチスカラー倍算計算ステップを含む
マルチスカラー倍算演算方法。 - コンピュータを、請求項1または2に記載のマルチスカラー倍算演算装置として機能させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015007719A JP6293681B2 (ja) | 2015-01-19 | 2015-01-19 | マルチスカラー倍算演算装置、マルチスカラー倍算演算方法、プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015007719A JP6293681B2 (ja) | 2015-01-19 | 2015-01-19 | マルチスカラー倍算演算装置、マルチスカラー倍算演算方法、プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2016133601A JP2016133601A (ja) | 2016-07-25 |
JP6293681B2 true JP6293681B2 (ja) | 2018-03-14 |
Family
ID=56426129
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015007719A Active JP6293681B2 (ja) | 2015-01-19 | 2015-01-19 | マルチスカラー倍算演算装置、マルチスカラー倍算演算方法、プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6293681B2 (ja) |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5999627A (en) * | 1995-01-07 | 1999-12-07 | Samsung Electronics Co., Ltd. | Method for exponentiation in a public-key cryptosystem |
JP2006309201A (ja) * | 2005-03-29 | 2006-11-09 | Hitachi Ltd | 楕円曲線暗号における多重スカラー倍計算装置、署名検証装置、及び、それらのプログラム。 |
US7602907B2 (en) * | 2005-07-01 | 2009-10-13 | Microsoft Corporation | Elliptic curve point multiplication |
-
2015
- 2015-01-19 JP JP2015007719A patent/JP6293681B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2016133601A (ja) | 2016-07-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8111826B2 (en) | Apparatus for generating elliptic curve cryptographic parameter, apparatus for processing elliptic curve cryptograph, program for generating elliptic curve cryptographic parameter, and program for processing elliptic cyptograph | |
Fan et al. | Attacking OpenSSL implementation of ECDSA with a few signatures | |
Xiong et al. | Tinypairing: A fast and lightweight pairing-based cryptographic library for wireless sensor networks | |
JP4842276B2 (ja) | 楕円曲線上の新しいトラップドア1方向性関数と、その、より短い署名及び非対称暗号化への応用 | |
US8504602B2 (en) | Modular multiplication processing apparatus | |
JP2023063430A (ja) | 暗号システム、鍵生成装置、暗号化装置、復号装置、方法及びプログラム | |
JP4690819B2 (ja) | 楕円曲線暗号におけるスカラー倍計算方法およびスカラー倍計算装置 | |
Mounica et al. | Implementation of 5-Qubit approach-based Shor's Algorithm in IBM Qiskit | |
US8014520B2 (en) | Exponentiation ladder for cryptography | |
JP2007187908A (ja) | サイドチャネル攻撃に耐性を有するモジュラーべき乗算計算装置及びモジュラーべき乗算計算方法 | |
JP4423900B2 (ja) | 楕円曲線暗号におけるスカラー倍計算方法と、その装置およびそのプログラム | |
CN108418687B (zh) | 一种适合sm2算法的快速模约减方法和介质 | |
JP4616169B2 (ja) | モンゴメリ乗算剰余における変換パラメータの計算装置、方法およびそのプログラム | |
JP6293681B2 (ja) | マルチスカラー倍算演算装置、マルチスカラー倍算演算方法、プログラム | |
KR101548174B1 (ko) | 모듈러스의 음의 역원을 구하는 방법 | |
Anagreh et al. | Parallel method for computing elliptic curve scalar multiplication based on MOF. | |
Realpe-Muñoz et al. | High-performance elliptic curve cryptoprocessors over GF (2^ m) GF (2 m) on Koblitz curves | |
JP4692022B2 (ja) | 楕円曲線暗号におけるスカラー倍計算装置、及び、そのプログラム | |
Razali et al. | Improved point 5P formula for twisted edwards curve in projective coordinate over prime field | |
WO2023228408A1 (ja) | パラメータ生成システム、パラメータ生成方法、及びパラメータ生成プログラム | |
KR102507861B1 (ko) | 부채널 공격에 안전한 연산 장치 및 방법 | |
Kwon et al. | An efficient implementation of pairing-based cryptography on MSP430 processor | |
JP6777569B2 (ja) | ペアリング演算装置、ペアリング演算方法、およびプログラム | |
KR20090090881A (ko) | 센서 모트에서의 효율적인 타원 곡선 암호 연산 방법, 그장치 및 이를 기록한 기록매체 | |
Kultinov | Software Implementations and Applications of Elliptic Curve Cryptography |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20170302 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20171130 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20171219 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180119 |
|
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: 20180206 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20180214 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6293681 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |