JP5540933B2 - 暗号鍵解析方法、暗号鍵解析装置および暗号鍵解析プログラム - Google Patents
暗号鍵解析方法、暗号鍵解析装置および暗号鍵解析プログラム Download PDFInfo
- Publication number
- JP5540933B2 JP5540933B2 JP2010143189A JP2010143189A JP5540933B2 JP 5540933 B2 JP5540933 B2 JP 5540933B2 JP 2010143189 A JP2010143189 A JP 2010143189A JP 2010143189 A JP2010143189 A JP 2010143189A JP 5540933 B2 JP5540933 B2 JP 5540933B2
- Authority
- JP
- Japan
- Prior art keywords
- points
- point
- representative
- representative point
- unit
- 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.)
- Expired - Fee Related
Links
- 238000004458 analytical method Methods 0.000 title claims description 42
- 238000004364 calculation method Methods 0.000 claims description 107
- 238000000034 method Methods 0.000 claims description 56
- 238000013507 mapping Methods 0.000 claims description 51
- 230000014509 gene expression Effects 0.000 claims description 8
- 238000010187 selection method Methods 0.000 claims 3
- 230000006870 function Effects 0.000 description 75
- 238000012545 processing Methods 0.000 description 69
- 238000010586 diagram Methods 0.000 description 26
- 230000000694 effects Effects 0.000 description 5
- 238000007616 round robin method Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 238000007796 conventional method Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- ADTDNFFHPRZSOT-PVFUSPOPSA-N ram-330 Chemical compound C([C@H]1N(CC2)C)C3=CC=C(OC)C(OC)=C3[C@]32[C@@]1(O)CC[C@@H](OC(=O)OCC)C3 ADTDNFFHPRZSOT-PVFUSPOPSA-N 0.000 description 3
- 238000005295 random walk Methods 0.000 description 3
- 239000000654 additive Substances 0.000 description 2
- 230000000996 additive effect Effects 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 238000003825 pressing Methods 0.000 description 2
- NAWXUBYGYWOOIX-SFHVURJKSA-N (2s)-2-[[4-[2-(2,4-diaminoquinazolin-6-yl)ethyl]benzoyl]amino]-4-methylidenepentanedioic acid Chemical compound C1=CC2=NC(N)=NC(N)=C2C=C1CCC1=CC=C(C(=O)N[C@@H](CC(=C)C(O)=O)C(O)=O)C=C1 NAWXUBYGYWOOIX-SFHVURJKSA-N 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
Images
Description
加算:P3=P1+P2=P2+P1
2倍算:P2=2×P1=P1+P1
減算:P3=P1−P2
零点:Ο(無限遠点)=P1−P1
スカラ倍算:k×P=P+P+・・・+P(k個のPの和)
最初に、Baby−Step Giant−Step解析法について説明する。以下、Baby−Step Giant−Step解析法を「BSGS」と称する。BSGSは、楕円曲線離散対数問題の効率的な解析法の一つである。位数rの楕円曲線パラメータを使用した場合、BSGSでは、(2×r1/2)回程度の楕円曲線演算によって楕円曲線離散対数問題が解かれる。BSGSでは、秘密鍵kが位数r1/2進数で上位と下位とに分割される。BSGSでは、秘密鍵kの下位値が0となるものを含むテーブルをBaby−Stepで作成する。また、BSGSでは、秘密鍵kの下位値が0の場合を総当りするテーブルをGiant−Stepで作成する。さらに、BSGSでは、各テーブルの値を比較する。そして、BSGSでは、比較結果に基づいて、秘密鍵kを解として算出する。BSGSでは、各テーブルの値を比較することで、効率的に楕円曲線離散対数問題が解かれる。
次に、Cheon解析法について説明する。Cheon解析法は、補助入力付き楕円曲線離散対数問題に対して、BSGS法を適用して解を算出する方法である。Cheon解析法では、BSGSを二重に処理することで計算量が削減される。例えば、Cheon解析法では、(d1/2+(r/d)1/2)回程度の楕円曲線演算で、補助入力付き楕円曲線離散対数問題の解が算出される。特に、d≒r1/2となる場合が最も効果的に計算量が削減される。例えば、d≒r1/2となる場合、r1/4回程度の楕円曲線演算で解が算出される。なお、dは(r−1)の約数である。
上記のように、Cheon解析法は補助入力付き楕円曲線対数問題を効率的に解くことが可能である。しかしながら、Baby−Step、Giant−Stepで生成するTbテーブル1、Tgテーブル2のサイズが大きいという問題がある。例えば、有限体GF(3127)におけるある楕円曲線では、パラメータrはr=9314856004986223962601399となる。この場合、最適なdを用いたとしても、Tbテーブル1およびTgテーブル2の各テーブルには、1747000個の楕円曲線上の点データが登録される。このとき、各テーブルのサイズは約80MByteとなる。よって、計算量を増大させずに、解を得るための計算において記憶されるデータ量が削減されることが望まれる。
そして、特徴点のテクニックを併用して、以下のようにして、計算量を増大させずに、テーブルに記憶されるデータ量を削減する。図6は、特徴点のテクニックの併用を説明するための図である。図6に示すように、算出した全ての点Ps,Ptを記憶せず、特徴的な点(特徴点)P´s,P´tだけを記憶する。なお、図6では、テーブルに記憶された点P´s,P´tは実線で示され、記憶されない点Ps,Ptは破線で示されている。ここで、特徴点とは、特徴的な性質を持つ点のことである。例えば、特徴点は、点のx座標の下位16ビットがすべて0であるような点である。この場合、特徴点は、確率的に216個に1個の割合で算出される。よって、テーブルに記憶されるデータ量は1/216に削減される。したがって、BSGSを用いるCheon解析法と比較すると、計算量を増大させずに、テーブルに記憶されるデータ量が削減される。なお、一致する点P´がテーブルに一部記憶されない可能性がある。しかしながら、一致が起きれば、その後に出現する特徴点P´´でも一致することになる。そのため、問題は生じない。
次に、自己同型写像について説明する。一部の楕円曲線では、楕円曲線上の点PのFrobenius写像Φ(P)が高速に計算できる。例えば、有限体GF(3127)における楕円曲線では、点P=(x,y)のFrobenius写像Φ(P)=(x3,y3)も同一の楕円曲線上の点となる。また、Φ(P)=s×Pとなるsを簡単に求めることができる。Frobenius写像Φ(P)の計算は、各座標の値を3乗するだけである。そのため、他の楕円曲線演算に比べて高速に計算できる。よって、s×Pも高速に計算できる。なお、点PにFrobenius写像Φ(P)をI回適用して得られる点であるΦ(I)(P)は以下のように記述される。すなわち、点Φ(I)(P)=Φ(Φ(・・・(Φ(P))))となる。
そして、これらの自己同型写像を、べき表現する場合について説明する。Cheon解析法において、自己同型写像を使用するには、自己同型写像が生成元ζの指数乗倍で表現される。有限体GF(qm)における楕円曲線の場合、任意の点にFrobenius写像をm回適用すると元の点に戻る。つまり、Φ(m)(P)=Pとなる。また、任意の点にマイナス写像を2回適用すると元の点に戻る。つまり、(−1)2×P=Pとなる。そこで、自己同型写像(−1)(i)Φ(j)×P=ζ(i・m+2・c・j)(r−1)/2m×Pと表される。このように、自己同型写像(−1)(i)Φ(j)×Pはζのべき乗で表される。このように、べき乗で表すことを「べき表現」と称する。ここで、cは楕円曲線と生成元の値とによって一意に決定される定数である。また、i=0〜1である。また、j=0〜m−1である。例えば、有限体GF(3127)、ζ=3の場合、m=127、c=110となる。このとき、自己同型写像は以下のように表される。すなわち、(−1)(i)Φ(j)×P=ζ(127・i+220・j)(r−1)/254×Pとなる。
本実施例1に係る暗号鍵解読装置について説明する。図7は、本実施例1に係る暗号鍵解読装置の構成を示す図である。暗号鍵解読装置100は、楕円曲線離散対数問題を解いて暗号鍵である秘密鍵kを算出する装置である。図7に示すように、暗号鍵解読装置100は、入力部110、出力部120、処理部130、および記憶部140を有する。
次に、処理部130による解の計算処理の処理手順について説明する。図9は、処理部130による解の計算処理の処理手順を示すフローチャートである。
以上、本実施例1に係る暗号鍵解読装置100について説明した。本実施例1によれば、Cheon解析法にRW関数を適用し、上述した自己同型写像を適用して数学的問題を解いている。例えば、本実施例1によれば、楕円曲線E上の所定の点であるPに対して自己同型写像を適用して点{P* 0(h)}の集合が算出される。また、この集合の中から代表点P*rep 0を選択して記憶部140に記憶させる。また、代表点P*rep 0に対して擬似乱数を用いて楕円曲線E上の点P* 1を算出する。また、本実施例1によれば、点P* 1に対して自己同型写像を適用することで、新たな代表点P*rep iを記憶部140に記憶させる。
次に、実施例2に係る暗号鍵解読装置について説明する。図11はループの発生を示す図である。上記で説明した実施例1に係る暗号鍵解読装置100では、図11に示すように、代表点51が、既に選択された代表点51を含む集合50内に、再び、RW関数によって算出されてしまうことがある。これは、RW関数で生成される擬似乱数の最大値が((r−1)/d)となるからである。このような場合、既に選択された代表点51を選択し続けることになる。そのため、点52および代表点51が算出されない集合50´が存在してしまう。よって、暗号鍵解読の観点から更なる改良が望まれる。そこで、実施例2に係る暗号鍵解読装置では、既に選択された代表点を含む集合とは異なる集合に属する点52を算出することができるようにした。なお、既に選択された代表点51を選択し続ける現象を「ループ」と称する。
以上、本実施例2に係る暗号鍵解読装置200について説明した。実施例2によれば、Cheon解析法と比較して、計算時に記憶されるデータ量が少なくなるため、記憶容量が圧迫されずに、暗号鍵を解くことができる。また、実施例2によれば、ループを防止できる。また、実施例2によれば、ループを防止できるので、実施例1よりも、暗号鍵の解読に必要な計算量が少なくなる。
また、上記の各実施例で説明した暗号鍵解読装置100、200の各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータシステムで実行することによって実現することもできる。そこで、以下では、図16を用いて、上記の実施例で説明した暗号鍵解読装置100、200と同様の機能を有する暗号鍵解読プログラムを実行するコンピュータの一例を説明する。図16は、暗号鍵解読プログラムを実行するコンピュータを示す図である。
110 入力部
120 出力部
130、230 処理部
140 記憶部
131 パラメータ取得部
132、232 テーブル生成部
133 テーブル比較部
134 DLP計算部
135 制御部
Claims (4)
- コンピュータが、
楕円曲線上の所定の点に対して自己同型写像を適用して第1の点の集合を算出し、前記第1の点の集合の中から代表点を選択して記憶部に記憶させ、前記記憶部に記憶された第1の点の集合に関する代表点に対して擬似乱数を用いて前記楕円曲線上の点を算出し、当該点に対して前記自己同型写像を適用することで、前記第1の点の集合に関する新たな代表点を選択して前記記憶部に追加して記憶させる第1の代表点選択ステップと、
前記楕円曲線上において所定の暗号鍵から定まる点に対して前記自己同型写像を適用して第2の点の集合を算出し、前記第2の点の集合の中から代表点を選択して記憶部に記憶させ、前記記憶部に記憶された第2の点の集合に関する代表点に対して擬似乱数を用いて前記楕円曲線上の点を算出し、当該点に対して前記自己同型写像を適用することで、前記第2の点の集合に関する新たな代表点を選択して前記記憶部に追加して記憶させる第2の代表点選択ステップと、
前記記憶部に記憶された第1の点の集合に関する代表点と第2の点の集合に関する代表点とを比較し、一致した代表点に基づいて前記暗号鍵を算出する暗号鍵算出ステップと
を実行し、
前記第1および第2の代表点選択ステップは、前記擬似乱数を用いて前記楕円曲線上の点を算出する場合に、既に選択された代表点を含む集合とは異なる集合に属する点を算出するように、当該算出に用いる前記擬似乱数を生成することを特徴とする暗号鍵解析方法。 - 楕円曲線上の所定の点に対して自己同型写像を適用して第1の点の集合を算出する第1の写像計算部と、
前記第1の写像計算部によって算出された前記第1の点の集合の中から代表点を選択して記憶部に記憶させる第1の代表点選択部と、
前記第1の代表点選択部によって前記記憶部に記憶された前記第1の点の集合に関する代表点に対して擬似乱数を用いて前記楕円曲線上の点を算出する第1の乱数部と、
前記第1の乱数部で算出された点に対して前記自己同型写像を適用して新たな第1の点の集合を算出するように前記第1の写像計算部を制御し、新たな第1の点の集合の中から新たな代表点を選択して前記記憶部に追加して記憶させるように前記第1の代表点選択部を制御し、新たな代表点に対して擬似乱数を用いて前記楕円曲線上の新たな点を算出するように前記第1の乱数部を制御することを複数回行って、複数の前記第1の点の集合に関する複数の代表点を前記記憶部に記憶させる第1の制御部と、
前記楕円曲線上において所定の暗号鍵から定まる点に対して前記自己同型写像を適用して第2の点の集合を算出する第2の写像計算部と、
前記第2の写像計算部によって算出された前記第2の点の集合の中から代表点を選択して記憶部に記憶させる第2の代表点選択部と、
前記第2の代表点選択部によって選択された前記第2の点の集合に関する代表点に対して擬似乱数を用いて前記楕円曲線上の点を算出する第2の乱数部と、
前記記憶部に記憶された複数の前記第1の点の集合に関する複数の代表点の各々と、前記第2の代表点選択部によって前記記憶部に記憶された前記第2の点の集合に関する代表点とを比較し、前記第2の点の集合に関する代表点に一致する前記第1の点の集合に関する代表点がない場合には、今回記憶された第2の点の集合に関する代表点に対して前記擬似乱数を用いて前記楕円曲線上の新たな点を算出するように前記第2の乱数部を制御し、算出された新たな点に対して前記自己同型写像を適用して新たな第2の点の集合を算出するように前記第2の写像計算部を制御し、新たな第2の点の集合の中から新たな代表点を選択して前記記憶部に追加して記憶させるように前記第2の代表点選択部を制御し、複数の前記第1の点の集合に関する複数の代表点の各々と、新たな前記第2の点の集合に関する代表点とを比較することを、新たな前記第2の点の集合に関する代表点が複数の前記第1の点の集合に関する複数の代表点の少なくとも一つに一致するまで繰り返し行う第2の制御部と、
一致した代表点に基づいて前記暗号鍵を算出する暗号鍵算出部と
を備え、
前記第1および第2の乱数部は、前記擬似乱数を用いて前記楕円曲線上の点を算出する場合に、既に選択された代表点を含む集合とは異なる集合に属する点を算出するように、当該算出に用いる前記擬似乱数を生成することを特徴とする暗号鍵解析装置。 - 楕円曲線上の所定の点に対して自己同型写像を適用して第1の点の集合を算出し、前記第1の点の集合の中から代表点を選択して記憶部に記憶させ、前記記憶部に記憶された第1の点の集合に関する代表点に対して擬似乱数を用いて前記楕円曲線上の点を算出し、当該点に対して前記自己同型写像を適用することで、前記第1の点の集合に関する新たな代表点を選択して前記記憶部に追加して記憶させる第1の代表点選択手順と、
前記楕円曲線上において所定の暗号鍵から定まる点に対して前記自己同型写像を適用して第2の点の集合を算出し、前記第2の点の集合の中から代表点を選択して記憶部に記憶させ、前記記憶部に記憶された第2の点の集合に関する代表点に対して擬似乱数を用いて前記楕円曲線上の点を算出し、当該点に対して前記自己同型写像を適用することで、前記第2の点の集合に関する新たな代表点を選択して前記記憶部に追加して記憶させる第2の代表点選択手順と、
前記記憶部に記憶された第1の点の集合に関する代表点と第2の点の集合に関する代表点とを比較し、一致した代表点に基づいて前記暗号鍵を算出する暗号鍵算出手順と
をコンピュータに実行させ、
前記第1および第2の代表点選択手順は、前記擬似乱数を用いて前記楕円曲線上の点を算出する場合に、既に選択された代表点を含む集合とは異なる集合に属する点を算出するように、当該算出に用いる前記擬似乱数を生成することを特徴とする暗号鍵解析プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010143189A JP5540933B2 (ja) | 2010-06-23 | 2010-06-23 | 暗号鍵解析方法、暗号鍵解析装置および暗号鍵解析プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010143189A JP5540933B2 (ja) | 2010-06-23 | 2010-06-23 | 暗号鍵解析方法、暗号鍵解析装置および暗号鍵解析プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012010039A JP2012010039A (ja) | 2012-01-12 |
JP5540933B2 true JP5540933B2 (ja) | 2014-07-02 |
Family
ID=45540105
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010143189A Expired - Fee Related JP5540933B2 (ja) | 2010-06-23 | 2010-06-23 | 暗号鍵解析方法、暗号鍵解析装置および暗号鍵解析プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5540933B2 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5499976B2 (ja) * | 2010-07-29 | 2014-05-21 | 富士通株式会社 | 暗号鍵解析方法、暗号鍵解析装置および暗号鍵解析プログラム |
JP5644237B2 (ja) * | 2010-07-30 | 2014-12-24 | 富士通株式会社 | 暗号鍵解読方法、暗号鍵解読装置および暗号鍵解読プログラム |
JP6612734B2 (ja) * | 2013-03-12 | 2019-11-27 | トリビディア ヘルス,インコーポレーテッド | 個人用健康装置、及び、個人用健康装置と演算装置とのペアリング方法 |
-
2010
- 2010-06-23 JP JP2010143189A patent/JP5540933B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2012010039A (ja) | 2012-01-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6697506B2 (ja) | 関連付けられた秘密鍵部分を用いた高速公開鍵暗号化のためのシステムおよび方法 | |
JP5147412B2 (ja) | 楕円曲線乱数生成 | |
US20120324240A1 (en) | Secure search system, public parameter generation device, encryption device, user secret key generation device, query issuing device, search device, computer program, secure search method, public parameter generation method, encryption method, user secret key generation method, query issuing method, and search method | |
Moghaddam et al. | A hybrid encryption algorithm based on RSA small-e and efficient-RSA for cloud computing environments | |
CN107359979B (zh) | 基于截断多项式的对称全同态加密方法 | |
JP4137385B2 (ja) | 公開鍵および秘密鍵による暗号化方法 | |
KR20150122513A (ko) | 암호화 장치, 암호화 방법 및 컴퓨터 판독가능 기록매체 | |
JP2008252299A (ja) | 暗号処理システム及び暗号処理方法 | |
US9680647B2 (en) | Method of using a token in cryptography | |
JP2006163164A (ja) | Idベース署名及び暗号化システムおよび方法 | |
TWI686722B (zh) | 用於加密操作之指數分拆技術 | |
WO2006126668A1 (ja) | 擬似ランダム関数計算装置及び方法、並びに回数制限匿名認証システム及び方法 | |
US20100329447A1 (en) | Encryption apparatus, decryption apparatus, key generation apparatus, and program | |
JP2021086158A (ja) | 格子ベースの暗号鍵生成方法及び電子署名方法 | |
US20220092150A1 (en) | Calculation verification for approximate calculation | |
JP5540933B2 (ja) | 暗号鍵解析方法、暗号鍵解析装置および暗号鍵解析プログラム | |
KR100737667B1 (ko) | 암호 체계의 개인 키 저장 및 복원 방법과 장치 | |
US8014520B2 (en) | Exponentiation ladder for cryptography | |
CN107463849B (zh) | 基于单服务器的隐私信息恢复方法 | |
JP2007187908A (ja) | サイドチャネル攻撃に耐性を有するモジュラーべき乗算計算装置及びモジュラーべき乗算計算方法 | |
JP2010096787A (ja) | 秘密情報分散装置、秘密情報分散プログラム、秘密情報分散方法、秘密情報復元装置、秘密情報復元プログラム、秘密情報復元方法、及び秘密情報分散復元システム | |
Vollala et al. | Efficient modular multiplication algorithms for public key cryptography | |
JP2013217970A (ja) | 格子問題に基づく階層型内積暗号システム,格子問題に基づく階層型内積暗号方法,装置 | |
Kayode et al. | Efficient RSA cryptosystem decryption based on Chinese remainder theorem and strong prime | |
JP5640531B2 (ja) | 暗号鍵解析方法、暗号鍵解析装置および暗号鍵解析プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20130206 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20140114 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140121 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140324 |
|
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: 20140408 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140421 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5540933 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |