JP2011141488A - スカラー倍演算装置、スカラー倍演算方法、スカラー倍演算プログラム、記録媒体 - Google Patents
スカラー倍演算装置、スカラー倍演算方法、スカラー倍演算プログラム、記録媒体 Download PDFInfo
- 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
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の和を減算した値をスカラー倍値EmGとする処理を、m=1からMに対して行う。
【選択図】図4
Description
図1は、二進演算法の処理フローを示す図である。この処理フローでは、Mを2以上の整数、mを1以上M以下の整数、Nを正の整数、nを0以上N以下の整数、Gを群の元、E1,…,EMを
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のようになる。
E1G=H1,0G+H1,1G
E2G=H0,1G+H1,1G
この方法でE1G、E2Gを求めれば(M=2の場合)、加算回数は(3/4)N+2回となり、二進演算法の加算回数N回よりも少ない。したがって、鶴岡法の方が二進演算法よりも高速である。
すべての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)の組合せのすべてについて、
図4に本発明のスカラー倍演算装置の機能構成例を、図5に本発明のスカラー倍演算装置の処理フローを示す。本発明のスカラー倍演算装置100は、Mを2以上の整数、mを1以上M以下の整数、Nを正の整数、nを0以上N以下の整数、E1,…,EMを
すべての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)が成り立つ組合せのうちどちらを求めてもかまわない。
また、スカラー倍演算装置100は、スカラー倍演算装置100に入力されるスカラーが二進法表現の場合には表現変換部110を備えればよい。表現変換部110は、
原理の説明
まず、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)の関係を示す。
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
である。
本発明のスカラー倍演算装置の詳細な処理フローの例を図11に示す。図11のStep1、Step2は前処理であり、各変数を初期値に設定している。Step3は図5のS120に、Step4はS130に、Step5はS140に相当する。Step6は結果を出力する処理である。
図16は、M個のN桁のスカラーを群の元に乗算する場合の各方式の演算量を比較するための図である。どの方式も2倍演算はMN回なので、図16では加算回数のみを比較している。ただし、α=2M+1−2M−2、β=3M−2M−1である。なお、符号付き二進法によって1つのスカラー倍を計算する場合にはNAF法のほうがBooth法よりも効率が良いが、同時スカラー倍の場合は逆転する場合がある。具体的には、M≧5の場合にはBooth法の方がNAF法よりも効率がよい。この例と同じように、単独での効率にかかわらず本発明と組み合わせることで効率がよくなる場合もあるので、適宜符号つき二進法を選定すればよい。
上述の構成をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。
110 表現変換部
120 中間値計算部
130 元計算部
140 スカラー倍値計算部
190 記録部
Claims (10)
- Mを2以上の整数、mを1以上M以下の整数、Nを正の整数、nを0以上N以下の整数、E1,…,EMを
と表現されるスカラー、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に対して行うスカラー倍値計算部と、
を備えるスカラー倍演算装置。 - Nを正の整数、nを0以上N以下の整数、E1,E2を
と表現されるスカラー、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に対して行うスカラー倍値計算部と、
を備えるスカラー倍演算装置。 - Mを2以上の整数、mを1以上M以下の整数、Nを正の整数、nを0以上N以下の整数、E1,…,EMを
と表現されるスカラー、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に対して行うスカラー倍値計算ステップと、
を有するスカラー倍演算方法。 - Nを正の整数、nを0以上N以下の整数、E1,E2を
と表現されるスカラー、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に対して行うスカラー倍値計算ステップと、
を有するスカラー倍演算方法。 - 請求項1から4のいずれかに記載のスカラー倍演算装置としてコンピュータを動作させるためのスカラー倍演算プログラム。
- 請求項9記載のスカラー倍演算プログラムを記録したコンピュータ読み取り可能な記録媒体。
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3797808B2 (ja) * | 1998-10-27 | 2006-07-19 | 富士通株式会社 | スカラー倍算方法およびその装置 |
-
2010
- 2010-01-08 JP JP2010003295A patent/JP5379700B2/ja active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3797808B2 (ja) * | 1998-10-27 | 2006-07-19 | 富士通株式会社 | スカラー倍算方法およびその装置 |
Non-Patent Citations (7)
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 |