JP5499976B2 - Encryption key analysis method, encryption key analysis device, and encryption key analysis program - Google Patents

Encryption key analysis method, encryption key analysis device, and encryption key analysis program Download PDF

Info

Publication number
JP5499976B2
JP5499976B2 JP2010170850A JP2010170850A JP5499976B2 JP 5499976 B2 JP5499976 B2 JP 5499976B2 JP 2010170850 A JP2010170850 A JP 2010170850A JP 2010170850 A JP2010170850 A JP 2010170850A JP 5499976 B2 JP5499976 B2 JP 5499976B2
Authority
JP
Japan
Prior art keywords
point
points
encryption key
inspection data
key analysis
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
Application number
JP2010170850A
Other languages
Japanese (ja)
Other versions
JP2012032523A (en
Inventor
武司 下山
哲也 伊豆
雅哉 安田
淳 小暮
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2010170850A priority Critical patent/JP5499976B2/en
Publication of JP2012032523A publication Critical patent/JP2012032523A/en
Application granted granted Critical
Publication of JP5499976B2 publication Critical patent/JP5499976B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、暗号鍵解析方法、暗号鍵解析装置および暗号鍵解析プログラムに関する。   The present invention relates to an encryption key analysis method, an encryption key analysis device, and an encryption key analysis program.

近年、情報漏洩を防止する暗号技術の一つとして、公開鍵暗号が知られている。この公開鍵暗号は、受信者が公開する公開鍵によって送信者が暗号化を行い、受信者は未公開の秘密鍵によって復号を行うものである。   In recent years, public key cryptography is known as one of encryption techniques for preventing information leakage. In this public key cryptography, the sender performs encryption using a public key disclosed by the receiver, and the receiver performs decryption using an undisclosed secret key.

現在標準の公開鍵暗号は、公開鍵に基づいて秘密鍵を解読するための計算量が膨大であることを安全性の根拠としている。その一方で解読技術や実装技術は日に日に改良が加えられ、また計算能力も日々増加している。そのため、今後も安全な暗号を利用し続けるためには、現状および今後の計算能力の見積もりを行い、容易に解読できないような計算量となるように、鍵ビット長などの暗号パラメータを適切に設計する必要がある。そのためには、解読実験をおこなって、暗号の安全性、強度を評価することが重要である。   The current standard public key cryptography is based on the fact that the amount of calculation for decrypting the secret key based on the public key is enormous. On the other hand, decoding technology and mounting technology are improved day by day, and computing power is increasing day by day. Therefore, in order to continue to use secure cryptography in the future, we will estimate the current and future computational capabilities and appropriately design cryptographic parameters such as key bit length so that the amount of computation will not be easily decipherable. There is a need to. For that purpose, it is important to conduct decryption experiments and evaluate the security and strength of the encryption.

公開鍵暗号には、離散対数問題に基づいて設計された楕円曲線暗号等がある。離散対数問題とは、「素数pに対して、有限体GF(p)の生成元αを固定した場合に、有限体GF(p)の元βに対して、β=αを満たす整数xを求めよ」というものである。 Public key cryptography includes elliptic curve cryptography designed based on the discrete logarithm problem. The discrete logarithm problem is “when the generator α of the finite field GF (p) is fixed with respect to the prime number p, the integer x satisfying β = α x with respect to the element β of the finite field GF (p). Seek out. "

この離散対数問題を解読する方法の一つにPollardのρ法がある。このρ法は、写像FによってPi−1から次のPを順次算出し、異なるi、jに対してP=Pとなるものを見つけることで、公開鍵暗号の秘密鍵を解くというものである。 One of the methods for solving this discrete logarithm problem is Pollard's rho method. In this ρ method, the next P i is sequentially calculated from P i−1 by mapping F, and the secret key of the public key cryptosystem is solved by finding the one where P i = P j for different i and j. That's it.

ここで、写像Fは、下記の式(1)によって示される。この写像により、下記の式(2)が成り立つuおよびvを一意に算出することができる。また、P=Pとなることを衝突と呼ぶ。例えば、P=Pで衝突がおこると、式(3)の関係が成り立ち、解を求めることができる。具体的には、式(4)によって解を求めることができる。ただし、v≠vとする。 Here, the mapping F is represented by the following equation (1). By this mapping, u i and v i satisfying the following expression (2) can be uniquely calculated. Further, the fact that P i = P j is called a collision. For example, when a collision occurs at P i = P j , the relationship of Expression (3) is established, and a solution can be obtained. Specifically, the solution can be obtained by equation (4). However, the v jv i.

=F(Pi−1)・・・(1)
=α^{u}*β^{v}・・・(2)
α^{u}*β^{v}=α^{u}*β^{v}・・・(3)
x=(u−u)/(v−v)・・・(4)
P i = F (P i-1 ) (1)
P i = α ^ {u i } * β ^ {v i } (2)
α ^ {u i } * β ^ {v i } = α ^ {u j } * β ^ {v j } (3)
x = (u i −u j ) / (v j −v i ) (4)

図7は、ρ法の原理を説明するための図である。図7に示す例では、初期点Pとして、写像Fを繰り返し実行することで、P、P、・・・Pi+5、・・・、Pが順次求められている。図7に示すように写像Fを繰り返し実行していくと、P=Pにおいて衝突が発生する。このため、式(4)に基づいて解が求まる。 FIG. 7 is a diagram for explaining the principle of the ρ method. In the example shown in FIG. 7, P 1 , P 2 ,... P i + 5 ,..., P j are sequentially obtained by repeatedly executing the mapping F as the initial point P 0 . When the map F is repeatedly executed as shown in FIG. 7, a collision occurs at P i = P j . For this reason, a solution is obtained based on Formula (4).

なお、上記のρ法では、写像Fによって算出した多数の点Pを全て記憶するため、メモリ使用量が膨大になってしまうという問題があった。このメモリ使用量を削減する技術として、特徴点(distinguished point)を導入したρ法が存在する。この特徴点を導入したρ法は、写像Fによって算出した点Pのうち、所定の特徴を有する特徴点のみを記憶し、衝突を検出するものである。 In the ρ method described above, to store all the large number of points P i which is calculated by the mapping F, there is a problem that the memory usage becomes enormous. As a technique for reducing the memory usage, there is a ρ method in which a characteristic point (distinguished point) is introduced. Introduced ρ method the feature point of the P i points calculated by the mapping F, stores only the feature points having a predetermined feature, and detects a collision.

図8は、特徴点を導入したρ法を説明するための図である。なお実際の楕円曲線上の点Pは、2変数(X、Y)のベクトル値として表されるが、ここではρ法の簡易な説明のためスカラー値を用いる。図8に示す例では、Pの下2桁が00となる点を特徴点とする。特徴点を白丸で示し、それ以外の点を黒丸で示す。例えば、P、P17、P29、P35は、下2桁が00となるため、P、P17、P29、P35は特徴点となる。したがって、P、P17、P29、P35が保存され、特徴点以外の点は保存されない。このように、特徴点のみを保存する場合でも特徴点同士が一致すれば、衝突を検出でき、解を求めることができる。図8に示す例では、P17=P35となるため、解を求めることができる。 FIG. 8 is a diagram for explaining the ρ method in which feature points are introduced. The actual point P i on the elliptic curve is represented as a vector value of two variables (X i , Y i ). Here, a scalar value is used for a simple explanation of the ρ method. In the example shown in FIG. 8, and feature points that the last two digits of the P i is 00. Feature points are indicated by white circles, and other points are indicated by black circles. For example, P 3 , P 17 , P 29 , and P 35 are 00 in the last two digits, so that P 3 , P 17 , P 29 , and P 35 are feature points. Therefore, P 3 , P 17 , P 29 , and P 35 are stored, and points other than the feature points are not stored. In this way, even when only feature points are stored, if the feature points match, a collision can be detected and a solution can be obtained. In the example shown in FIG. 8, since P 17 = P 35 , a solution can be obtained.

図8において、全ての点を保存していれば、P10で初めて衝突を検出可能であるが、P10は特徴点では無い。このため、特徴点を導入したρ法では、P10が保存されておらず、P10で衝突を検出することができない。しかし、写像Fは、一意の写像であるため、特徴点がループ上に存在していれば、いずれは、P=Pとなる特徴点を検出することができる。 8, if the store all points, but it is possible only detects a collision with P 10, P 10 is not a feature point. Therefore, in the ρ method of introducing a feature point, P 10 is not stored, it is impossible to detect a collision at P 10. However, since the map F is a unique map, if the feature point exists on the loop, the feature point where P i = P j can be detected.

ところで、従来技術では、ρ法による離散対数問題の解析を並列的に処理することで、点の生成や衝突を検出する処理を効率化させている。ここで、従来の暗号鍵解析装置の一例について説明する。図9は、従来の暗号鍵解析装置の構成を示す図である。図9に示すように、暗号鍵解析装置10は、点生成部1a〜1c、特徴点判定部2、特徴点記憶部3、衝突検出部4a〜4c、解算出部5を有する。   By the way, in the prior art, the analysis of the discrete logarithm problem by the ρ method is processed in parallel, thereby improving the efficiency of the point generation and collision detection processing. Here, an example of a conventional encryption key analysis apparatus will be described. FIG. 9 is a diagram showing a configuration of a conventional encryption key analysis apparatus. As illustrated in FIG. 9, the encryption key analysis apparatus 10 includes point generation units 1 a to 1 c, a feature point determination unit 2, a feature point storage unit 3, collision detection units 4 a to 4 c, and a solution calculation unit 5.

点生成部1a〜1cは、式(1)に基づいて写像を繰り返し実行し、写像によって生成した点を特徴点判定部2に出力する。各点生成部1a〜1cは、それぞれ異なる初期点が入力され、この初期点から順に写像を繰り返し実行する。   The point generation units 1a to 1c repeatedly execute mapping based on the formula (1), and output the points generated by the mapping to the feature point determination unit 2. Each of the point generators 1a to 1c receives a different initial point, and repeatedly executes mapping in order from the initial point.

特徴点判定部2は、点生成部1a〜1cから点を取得し、各点のうち、特徴点となる点を判定する処理部である。特徴点判定部2は、特徴点を特徴点記憶部3に登録する。特徴点記憶部3は、特徴点を記憶する記憶部である。   The feature point determination unit 2 is a processing unit that acquires points from the point generation units 1a to 1c and determines a point that is a feature point among the points. The feature point determination unit 2 registers the feature points in the feature point storage unit 3. The feature point storage unit 3 is a storage unit that stores feature points.

衝突検出部4a〜4cは、特徴点記憶部3から2つの特徴点を取得し、各特徴点を比較して、衝突が起こったか否かを判定する処理部である。なお、特徴点は特徴点記憶部3によって一元管理されるため、衝突検出部4a〜4cは、特徴点記憶部3に記憶された特徴点を複製して、自身のメモリに記憶し、衝突を検出する。衝突検出部4a〜4cは、衝突を検出した場合に、衝突した特徴点の識別情報を解算出部5に通知する。   The collision detection units 4a to 4c are processing units that acquire two feature points from the feature point storage unit 3 and compare each feature point to determine whether or not a collision has occurred. Since the feature points are centrally managed by the feature point storage unit 3, the collision detection units 4a to 4c duplicate the feature points stored in the feature point storage unit 3 and store them in their own memory. To detect. When the collision detection units 4 a to 4 c detect a collision, the collision detection units 4 a to 4 c notify the solution calculation unit 5 of identification information of the feature points that have collided.

解算出部5は、衝突した特徴点の識別情報を取得した場合に、該当する特徴点の情報を特徴点記憶部3から取り出し、各特徴点を比較することによって、秘密鍵を算出する処理部である。具体的に、解算出部5は、式(4)に基づいて、秘密鍵を算出する。   When the solution calculation unit 5 acquires the identification information of the conflicting feature point, the solution calculation unit 5 extracts the information of the corresponding feature point from the feature point storage unit 3 and compares the feature points to calculate the secret key. It is. Specifically, the solution calculation unit 5 calculates a secret key based on Expression (4).

図9に示したように、暗号鍵解析装置10は、複数の点生成部1a〜1cが並列的に点を生成し、複数の衝突検出部4a〜4cが並列的に各特徴点の衝突検出を実行する。このため、点の生成や衝突を効率的に実行することができる。   As shown in FIG. 9, in the cryptographic key analysis apparatus 10, a plurality of point generation units 1a to 1c generate points in parallel, and a plurality of collision detection units 4a to 4c detect collision of each feature point in parallel. Execute. For this reason, point generation and collision can be executed efficiently.

特開2004−229163号公報JP 2004-229163 A 特開2005−134454号公報JP 2005-134454 A 特開2006−48192号公報JP 2006-48192 A

しかしながら、上述した従来技術では、点を生成する処理と各点の衝突を検出する処理との並列化を効率的に行うことができないという問題があった。   However, the above-described conventional technique has a problem in that it is not possible to efficiently parallelize the process of generating points and the process of detecting collision of points.

例えば、図9に示した従来の暗号鍵解析装置10では、各衝突検出部4a〜4cは、特徴点記憶部3に記憶された特徴点を読み出して、特徴点の衝突を検出する。この場合、一時的に、同一の特徴点の情報が、衝突検出部4a〜4cおよび特徴点記憶部3に重複して存在することになるため、メモリ使用量が増加してしまう。   For example, in the conventional encryption key analysis apparatus 10 shown in FIG. 9, each of the collision detection units 4a to 4c reads out the feature points stored in the feature point storage unit 3 and detects the collision of the feature points. In this case, information on the same feature point temporarily exists in the collision detection units 4 a to 4 c and the feature point storage unit 3, which increases the memory usage.

これに対して、特徴点記憶部3に記憶される特徴点の数を少なくすることで、メモリ使用量を削減することが考えられる。しかし、特徴点の数を少なくすると、各特徴点が衝突するまでに時間がかかってしまうため、メモリ使用量が削減されるかわりに、計算時間が増加してしまう。   On the other hand, it is conceivable to reduce the memory usage by reducing the number of feature points stored in the feature point storage unit 3. However, if the number of feature points is reduced, it takes time until the feature points collide, so that the calculation time increases instead of reducing the memory usage.

開示の技術は、上記に鑑みてなされたものであって、点を生成する処理と各点の衝突を検出する処理との並列化を効率的に行うことができる暗号鍵解析方法、暗号鍵解析装置および暗号鍵解析プログラムを提供することを目的とする。   The disclosed technique has been made in view of the above, and an encryption key analysis method and an encryption key analysis that can efficiently perform parallelization of a process of generating points and a process of detecting collision of points. An object is to provide a device and an encryption key analysis program.

本願の開示する暗号鍵解析方法は、コンピュータが、点に対して写像を実行し、該写像の実行結果となる点に対して再度前記写像を実行する処理を繰り返し行う複数の点生成装置から点をそれぞれ取得し、取得した各点を記憶装置に記憶する記憶ステップと、前記記憶装置に記憶された複数の点から2つの点を選択し、選択した点の値の一部を検査データとしてそれぞれ抽出する抽出ステップと、前記抽出ステップが抽出した各検査データを複数の検出装置に通知することで、前記検査データが一致するか否かの判定要求を行い、各検出装置から判定結果を取得する判定要求ステップとを実行することを要件とする。   The encryption key analysis method disclosed in the present application is a method in which a computer executes a mapping on a point and repeats the process of executing the mapping again on a point that is the execution result of the mapping. Storing each acquired point in a storage device, selecting two points from a plurality of points stored in the storage device, and selecting part of the value of the selected point as inspection data, respectively An extraction step to extract and each inspection data extracted by the extraction step are notified to a plurality of detection devices, thereby making a determination request as to whether or not the inspection data matches, and obtaining a determination result from each detection device It is a requirement to execute the determination request step.

本願の開示する暗号鍵解析方法の一つの態様によれば、点を生成する処理と各点の衝突を検出する処理との並列化を効率的に行うことができるという効果を奏する。   According to one aspect of the encryption key analysis method disclosed in the present application, there is an effect that the process of generating points and the process of detecting a collision between points can be efficiently performed in parallel.

図1は、本実施例にかかる暗号鍵解析装置の構成を示す図である。FIG. 1 is a diagram illustrating the configuration of the encryption key analysis apparatus according to the present embodiment. 図2は、特徴点テーブルのデータ構造の一例を示す図である。FIG. 2 is a diagram illustrating an example of the data structure of the feature point table. 図3は、実験環境定義ファイルのデータ構造の一例を示す図である。FIG. 3 is a diagram illustrating an example of the data structure of the experimental environment definition file. 図4は、本実施例にかかる暗号鍵解析装置の処理手順を示すフローチャートである。FIG. 4 is a flowchart illustrating the processing procedure of the encryption key analysis apparatus according to the present embodiment. 図5は、点生成部の処理手順を示すフローチャートである。FIG. 5 is a flowchart illustrating a processing procedure of the point generation unit. 図6は、暗号鍵解析プログラムを実行するコンピュータを示す図である。FIG. 6 is a diagram illustrating a computer that executes an encryption key analysis program. 図7は、ρ法の原理を説明するための図である。FIG. 7 is a diagram for explaining the principle of the ρ method. 図8は、特徴点を導入したρ法を説明するための図である。FIG. 8 is a diagram for explaining the ρ method in which feature points are introduced. 図9は、従来の暗号鍵解析装置の構成を示す図である。FIG. 9 is a diagram showing a configuration of a conventional encryption key analysis apparatus.

以下に、本願の開示する暗号鍵解析方法、暗号鍵解析装置および暗号鍵解析プログラムの実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。   Embodiments of an encryption key analysis method, an encryption key analysis device, and an encryption key analysis program disclosed in the present application will be described below in detail with reference to the drawings. Note that the present invention is not limited to the embodiments.

本実施例にかかる暗号鍵解析装置の構成について説明する。図1は、本実施例にかかる暗号鍵解析装置の構成を示す図である。図1に示すように、この暗号鍵解析装置100は、記憶部110と、点生成部120a〜120cと、衝突検出部130a〜130cと、制御部140を有する。ここでは説明の便宜上、点生成部120a〜120c、衝突検出部130a〜130cを示す。しかし、暗号鍵解析装置100は、その他にも、点生成部120、衝突検出部130を有しても良い。   The configuration of the encryption key analysis apparatus according to the present embodiment will be described. FIG. 1 is a diagram illustrating the configuration of the encryption key analysis apparatus according to the present embodiment. As illustrated in FIG. 1, the encryption key analysis apparatus 100 includes a storage unit 110, point generation units 120a to 120c, collision detection units 130a to 130c, and a control unit 140. Here, for convenience of explanation, the point generation units 120a to 120c and the collision detection units 130a to 130c are shown. However, the cryptographic key analysis apparatus 100 may further include a point generation unit 120 and a collision detection unit 130.

記憶部110は、秘密鍵を解析するために必要となる各種のデータや解析結果を記憶する記憶部である。図1に示すように、記憶部110は、特徴点テーブル111と、初期点テーブル112と、実験環境定義ファイル113と、解析結果データ114を記憶する。   The storage unit 110 is a storage unit that stores various data and analysis results necessary for analyzing the secret key. As illustrated in FIG. 1, the storage unit 110 stores a feature point table 111, an initial point table 112, an experiment environment definition file 113, and analysis result data 114.

特徴点テーブル111は、点生成部120a〜120cが生成する点のうち、所定の特徴を有する特徴点の情報を記憶するテーブルである。図2は、特徴点テーブルのデータ構造の一例を示す図である。図2に示すように、特徴点テーブル111は、i、X、Y、U、Vを対応付けて記憶する。 The feature point table 111 is a table that stores information on feature points having a predetermined feature among the points generated by the point generation units 120a to 120c. FIG. 2 is a diagram illustrating an example of the data structure of the feature point table. As shown in FIG. 2, the feature point table 111 stores i, X i , Y i , U i , and V i in association with each other.

このうち、iは、写像を行った回数である。Pは点の値である。U、Vはそれぞれ、Pを求める際に利用したαの巾指数ならびにβの巾指数であり、PとU、Vとの関係は、上記式(2)となる。Xは、PのX座標である。Yは、PのY座標である。なお、iの値は10進数で表しており、X、Y、U、Vの各値は16進数で表している。 Of these, i is the number of times mapping has been performed. Pi is the value of the point. U i, V i, respectively, a width index width index and β of α utilized in determining the P i, P i and U i, the relationship between V i, the above expression (2). X i is the X coordinate of P i . Y i is the Y coordinate of P i . Note that the value of i is represented by a decimal number, and each value of X i , Y i , U i , and V i is represented by a hexadecimal number.

例えば、i「93」に対応するものは、X「0x43C9E3140000」、Y「0x371F6BA6FB6A」、U「0x4E49419DFABF」、V「0x032881146C12」となる。 For example, those corresponding to i “93” are X 3 “0x43C9E314000”, Y 3 “0x371F6BA6FB6A”, U 3 “0x4E49419DFABF”, and V 3 “0x032881146C12”.

初期点テーブル112は、点生成部120a〜120cにそれぞれ入力する複数の初期点を記憶するテーブルである。各初期点は、それぞれ異なる値とする。   The initial point table 112 is a table that stores a plurality of initial points respectively input to the point generators 120a to 120c. Each initial point has a different value.

実験環境定義ファイル113は、点の写像を行う場合に利用するパラメータ等を記憶するファイルである。図3は、実験環境定義ファイルのデータ構造の一例を示す図である。図3に示すように、この実験環境定義ファイル113は、素体標数、楕円曲線、楕円曲線の定数a、b、位数、期待値N、出現頻度θ、調整用パラメータγを含む。また、実験環境定義ファイル113は、αのX座標、αのY座標、βのX座標、βのY座標を含む。   The experimental environment definition file 113 is a file that stores parameters and the like used when mapping points. FIG. 3 is a diagram illustrating an example of the data structure of the experimental environment definition file. As shown in FIG. 3, the experimental environment definition file 113 includes prime characteristic, elliptic curve, constants a and b of the elliptic curve, order, expected value N, appearance frequency θ, and adjustment parameter γ. The experimental environment definition file 113 includes an X coordinate of α, a Y coordinate of α, an X coordinate of β, and a Y coordinate of β.

解析結果データ114は、制御部140が実行した秘密鍵の解析結果の情報である。   The analysis result data 114 is information on the analysis result of the secret key executed by the control unit 140.

点生成部120a〜120cは、式(1)に基づいて写像を繰り返し実行し、写像によって生成した点を特徴点判定部142に出力する処理部である。点生成部120a〜120cは、写像を行う場合に利用する各種のパラメータを、パラメータ通知部141から取得する。また、点生成部120aは、それぞれ異なる初期点が設定され、この初期点から順に写像を繰り返し実行する。   The point generation units 120 a to 120 c are processing units that repeatedly execute mapping based on Expression (1) and output points generated by the mapping to the feature point determination unit 142. The point generation units 120a to 120c acquire various parameters used for mapping from the parameter notification unit 141. In addition, the point generation unit 120a sets different initial points, and repeatedly executes mapping in order from the initial point.

衝突検出部130a〜130cは、衝突検知依頼部144から特徴点の一部のデータとなる検査データを2つ取得し、各検査データを比較して、各検査データが一致するか否かを判定する処理部である。衝突検出部130aは、判定結果を衝突検知依頼部144に通知する。例えば、衝突検出部130a〜130cは、各検査データが一致すると判定した場合には、一致した各検査データに付与されるインデックスiを、衝突検知依頼部144に通知する。   The collision detection units 130a to 130c obtain two pieces of inspection data as partial data of feature points from the collision detection request unit 144, and compare the inspection data to determine whether the inspection data match. Is a processing unit. The collision detection unit 130a notifies the collision detection request unit 144 of the determination result. For example, when the collision detection units 130a to 130c determine that the respective inspection data match, the collision detection units 130a to 130c notify the collision detection request unit 144 of the index i assigned to each of the matching inspection data.

制御部140は、パラメータ通知部141、特徴点判定部142、データビット長算出部143、衝突検知依頼部144、解算出部145を有する。   The control unit 140 includes a parameter notification unit 141, a feature point determination unit 142, a data bit length calculation unit 143, a collision detection request unit 144, and a solution calculation unit 145.

パラメータ通知部141は、写像を行う場合に利用される各種のパラメータを点生成部120a〜120cに出力する処理部である。具体的に、パラメータ通知部141は、実験環境定義ファイル113に含まれる素体標数、楕円曲線、楕円曲線の定数a,b、位数の情報を、点生成部120a〜120cに出力する処理部である。また、パラメータ通知部141は、初期点テーブル112に含まれる各初期点を点生成部120a〜120cに出力する。各点生成部120a〜120cに入力される初期点はそれぞれ異なる値とする。   The parameter notification unit 141 is a processing unit that outputs various parameters used when performing mapping to the point generation units 120a to 120c. Specifically, the parameter notification unit 141 outputs information on the prime characteristic, the elliptic curve, the constants a and b of the elliptic curve, and the order information included in the experimental environment definition file 113 to the point generation units 120a to 120c. Part. Further, the parameter notification unit 141 outputs each initial point included in the initial point table 112 to the point generation units 120a to 120c. The initial points input to the point generators 120a to 120c are set to different values.

特徴点判定部142は、点生成部120a〜120cから写像結果となる点を取得し、取得した点のうち、所定の特徴を有する特徴点を特徴点テーブル111に登録する処理部である。例えば、特徴点判定部142は、点の値の下2桁が「00」となるものを特徴点と判定する。   The feature point determination unit 142 is a processing unit that acquires points that are mapping results from the point generation units 120 a to 120 c and registers a feature point having a predetermined feature in the feature point table 111 among the acquired points. For example, the feature point determination unit 142 determines that the last two digits of the point value are “00” as a feature point.

データビット長算出部143は、検査データのビット長を算出し、算出結果を衝突検知依頼部144に出力する処理部である。具体的に、データビット長算出部143は、ビット長lを式(5)によって算出する。
l=log(N/θ)+γ・・・(5)
The data bit length calculation unit 143 is a processing unit that calculates the bit length of the inspection data and outputs the calculation result to the collision detection request unit 144. Specifically, the data bit length calculation unit 143 calculates the bit length l using Expression (5).
l = log 2 (N / θ) + γ (5)

ここで、データビット長算出部143は、式(5)に含まれるパラメータN、θ、αを実験環境定義ファイル113から取得する。例えば、Nが「0xBF3D96」、θが「0x10000」、γが「1」の場合には、式(5)より、ビット長lは「9bit」となる。   Here, the data bit length calculation unit 143 acquires the parameters N, θ, and α included in the equation (5) from the experimental environment definition file 113. For example, when N is “0xBF3D96”, θ is “0x10000”, and γ is “1”, the bit length l is “9 bits” from Equation (5).

衝突検知依頼部144は、ビット長lに基づいて、複数の特徴点から検査データをそれぞれ抽出し、2つの検査データを一組として、衝突検出部130a〜130cに出力することで、各検査データが一致するか否かの判定要求を行う処理部である。衝突検知依頼部144は、判定結果を取得し、各検査データが一致する場合には、各検査データの抽出元となる特徴点を解算出部145に出力する。   The collision detection requesting unit 144 extracts inspection data from a plurality of feature points based on the bit length l, and outputs the inspection data as a set to the collision detection units 130a to 130c. Is a processing unit that makes a determination request as to whether or not the two match. The collision detection requesting unit 144 acquires the determination result, and outputs the feature points from which the inspection data is extracted to the solution calculation unit 145 when the inspection data match.

ここでは一例として、衝突検知依頼部144が特徴点Pから検査データを抽出する処理について説明する。まず、衝突検知依頼部144は、特徴点Pに対応するXの値を特徴点テーブル111から取得する。例えば、特徴点Pに対応するXの値は、図2に示すように、「0x3F64D9240000」となる。 Here, as an example, the collision detection request unit 144 will be described the process for extracting the test data from the feature point P i. First, the collision detection requesting unit 144 acquires the value of X i corresponding to the feature point P i from the feature point table 111. For example, the value of X 3 corresponding to the feature point P 3 is “0x3F64D920000” as shown in FIG.

衝突検知依頼部144は、Xの有効数値からビット長lとなる検査データを抽出する。例えば、ビット長lを「9bit」とし、X「0x3F64D9240000」とする場合には、有効数値は「3F64D924」となる。有効数値の基準を最下位ビットとすると、検査データは16進数表記で「0x124」となる。なお、「0x124」を2進数で表すと「100100100」となり、ビット長lは9bitとなる。 Collision detecting requesting unit 144 extracts the test data from the effective value of X i as the bit length l. For example, when the bit length l is “9 bits” and X 3 is “0x3F64D920000”, the effective value is “3F64D924”. If the reference of the effective value is the least significant bit, the inspection data is “0x124” in hexadecimal notation. When “0x124” is expressed in binary, it becomes “100100100”, and the bit length l becomes 9 bits.

衝突検知依頼部144は、各特徴点から検査データを抽出し、二つの検査データを組にして、衝突検出部130a〜130cに出力する。衝突検知依頼部144は、各検査データに、該当するインデックスをそれぞれ付与する。例えば、衝突検知依頼部144は、図2のi「3」に対応する特徴点のXから検査データを取得した場合には、この検査データにインデックス「3」を付与する。 The collision detection requesting unit 144 extracts inspection data from each feature point, and sets the two inspection data as a set and outputs them to the collision detection units 130a to 130c. The collision detection requesting unit 144 assigns a corresponding index to each inspection data. For example, when the collision detection requesting unit 144 acquires the inspection data from the feature point X 3 corresponding to i “3” in FIG. 2, the collision detection requesting unit 144 assigns the index “3” to the inspection data.

衝突検知依頼部144は、衝突検出部130a〜130cから判定結果を取得し、各検査データが一致する場合には、一致する検査データのインデックスの組を取得する。衝突検知依頼部144は、インデックスをキーにして、該当する特徴点の情報を解算出部145に出力する。衝突検知依頼部144は、特徴点の情報として、P=(X、Y)、U、V、P=(X、Y)、U、Vの情報を解算出部145に出力する。 The collision detection requesting unit 144 acquires the determination result from the collision detection units 130a to 130c, and acquires a set of matching inspection data indexes when the inspection data match. The collision detection requesting unit 144 outputs information on the corresponding feature point to the solution calculation unit 145 using the index as a key. The collision detection requesting unit 144 solves information on P i = (X i , Y i ), U i , V i , P j = (X j , Y j ), U j , V j as feature point information. The result is output to the calculation unit 145.

例えば、衝突検知依頼部144は、一致する各検査データのインデックスが17、53の場合には、特徴点テーブル111に記憶されたP17、U17、V17,P53、U53、V53を解算出部145に出力する。 For example, the collision detection requesting unit 144 has P 17 , U 17 , V 17 , P 53 , U 53 , V 53 stored in the feature point table 111 when the indexes of the matching inspection data are 17 and 53 , respectively. Is output to the solution calculation unit 145.

解算出部145は、特徴点P、Pの情報を取得した場合に、各特徴点Pの値が等しいか否かを改めて判定し、各特徴点Pの値が等しい場合には、特徴点の情報に基づいて解を算出する処理部である。解算出部145は、算出結果を解析結果データ114に登録する。具体的には、解算出部145は、上記式(4)に基づいて解を算出する。 The solution calculation unit 145 again determines whether or not the values of the feature points P are equal when the information of the feature points P i and P j is acquired. It is a processing unit that calculates a solution based on point information. The solution calculation unit 145 registers the calculation result in the analysis result data 114. Specifically, the solution calculation unit 145 calculates a solution based on the above equation (4).

ここで、解算出部145が改めて各Pの値が等しいか否かを判定する意義について説明する。上記の衝突検出部130a〜130cは、特徴点の情報を全て比較しているわけではないので、各検査データが一致しているからといって、特徴点が衝突しているとはいえない。したがって、解算出部145は、検査データの抽出元となった特徴点を比較することで、各特徴点が衝突しているか否かを判定する。   Here, the significance of determining whether or not the value of each P is equal again by the solution calculation unit 145 will be described. The collision detection units 130a to 130c do not compare all the feature point information, and it cannot be said that the feature points are colliding just because the inspection data match. Therefore, the solution calculation unit 145 determines whether each feature point has collided by comparing the feature points from which the inspection data is extracted.

解算出部145が、はじめから何の手がかりもなく、特徴点の情報を全て比較しようとすると、比較対象となる情報が多いため、計算量が膨大なものになってしまう。このため、特徴点が衝突する可能性のある点を衝突検出部130a〜130cに検出させ、衝突する特徴点同士のめぼしをつけた後に、特徴点の衝突を判定することで、計算量を削減することができる。   If the solution calculation unit 145 tries to compare all the feature point information without any clue from the beginning, the amount of calculation becomes large because there is a lot of information to be compared. For this reason, it is possible to reduce the amount of calculation by causing the collision detection units 130a to 130c to detect the points where the feature points may collide, and after determining the collision between the feature points that collide, can do.

次に、本実施例にかかる暗号鍵解析装置100の処理手順について説明する。図4は、本実施例にかかる暗号鍵解析装置の処理手順を示すフローチャートである。例えば、図4に示す処理は、点生成部120a〜120cに初期点が入力されたことを契機として実行される。暗号鍵解析装置100は、初期点を点生成部120a〜120cに入力し(ステップS100)、点生成部120a〜120cは、写像を繰り返し実行することで順次点を生成する(ステップS101)。   Next, a processing procedure of the encryption key analysis apparatus 100 according to the present embodiment will be described. FIG. 4 is a flowchart illustrating the processing procedure of the encryption key analysis apparatus according to the present embodiment. For example, the process illustrated in FIG. 4 is executed when an initial point is input to the point generation units 120a to 120c. The cryptographic key analysis apparatus 100 inputs initial points to the point generation units 120a to 120c (step S100), and the point generation units 120a to 120c sequentially generate points by repeatedly executing mapping (step S101).

暗号鍵解析装置100は、特徴点から検査データを抽出し(ステップS102)、検査データを比較する(ステップS103)。暗号鍵解析装置100は、検査データが一致しない場合には(ステップS104,No)、ステップS101に移行する。   The encryption key analysis apparatus 100 extracts inspection data from the feature points (step S102) and compares the inspection data (step S103). If the inspection data do not match (No at Step S104), the encryption key analysis apparatus 100 proceeds to Step S101.

一方、暗号鍵解析装置100は、検査データが一致する場合には(ステップS104,Yes)、一致した検査データに対応する特徴点を比較する(ステップS105)。暗号鍵解析装置100は、特徴点が衝突しない場合には(ステップS106,No)、ステップS101に移行する。   On the other hand, if the inspection data match (Yes in step S104), the encryption key analysis apparatus 100 compares the feature points corresponding to the matching inspection data (step S105). If the feature points do not collide (No in step S106), the encryption key analysis apparatus 100 proceeds to step S101.

一方、暗号鍵解析装置100は、特徴点が衝突した場合には(ステップS106,Yes)、解を算出する(ステップS107)。暗号鍵解析装置100は、解読に失敗した場合には(ステップS108,No)、ステップS101に移行する。一方、暗号鍵解析装置100は、解読に成功した場合には(ステップS108,Yes)、処理を終了する。   On the other hand, when the feature points collide (Yes in step S106), the encryption key analysis apparatus 100 calculates a solution (step S107). If the decryption fails (No at Step S108), the encryption key analysis apparatus 100 proceeds to Step S101. On the other hand, if the decryption is successful (step S108, Yes), the encryption key analysis apparatus 100 ends the process.

次に、点生成部120aが写像を実行して点を生成する処理手順について説明する。点生成部120b,120cの処理手順は、点生成部120aの処理手順と同じである。図5は、点生成部の処理手順を示すフローチャートである。図5に示す処理は、例えば、初期点Pが入力されたことを契機として実行される。 Next, a processing procedure in which the point generation unit 120a generates a point by executing mapping will be described. The processing procedure of the point generation units 120b and 120c is the same as the processing procedure of the point generation unit 120a. FIG. 5 is a flowchart illustrating a processing procedure of the point generation unit. The process shown in FIG. 5 is executed, for example, when the initial point P 0 is input.

図5に示すように、点生成部120aは、初期値Pを設定し(ステップS200)、iを初期値に設定する(ステップS201)。点生成部120aは、写像Fを用いてPを算出し(ステップS202)、Pを特徴点判定部142に出力する(ステップS203)。 As shown in FIG. 5, the point generation unit 120a sets an initial value P 0 (step S200), it sets the i to an initial value (step S201). Point generation unit 120a calculates a P i using the mapping F (step S202), and outputs the feature point determination unit 142 P i (step S203).

点生成部120aは、iに1を加算し(ステップS204)、iが閾値未満の場合には(ステップS205,No)、ステップS202に移行する。一方、iが閾値以上の場合には(ステップS205,Yes)、処理を終了する。   The point generation unit 120a adds 1 to i (step S204), and when i is less than the threshold value (step S205, No), the point generation unit 120a proceeds to step S202. On the other hand, if i is greater than or equal to the threshold value (step S205, Yes), the process ends.

次に、本実施例にかかる暗号鍵解析装置100の効果について説明する。従来技術では、特徴点の衝突を検出する場合には、特徴点に含まれる情報を全て衝突検出部130a〜130cに出力していたため、同一の特徴点の情報が暗号鍵解析装置100内で重複してしまい、メモリ使用量が多くなっていた。これに対して、暗号鍵解析装置100は、特徴点の一部を検査データとして抽出し、抽出した検査データを衝突検出部130a〜130cに出力することで、特徴点に衝突が発生している可能性があるか否かの判定要求を行う。このため、暗号鍵解析装置100内で重複するデータ量を削減することができ、メモリ使用量を削減することができる。   Next, effects of the encryption key analysis apparatus 100 according to the present embodiment will be described. In the prior art, when the collision of feature points is detected, all the information included in the feature points is output to the collision detection units 130a to 130c. Therefore, the same feature point information is duplicated in the encryption key analysis apparatus 100. As a result, the amount of memory used increased. On the other hand, the encryption key analysis apparatus 100 extracts part of the feature points as inspection data, and outputs the extracted inspection data to the collision detection units 130a to 130c, thereby causing a collision at the feature point. A request is made to determine whether or not there is a possibility. For this reason, it is possible to reduce the amount of data that is duplicated in the encryption key analysis apparatus 100 and to reduce the amount of memory used.

また、暗号鍵解析装置100は、特徴点に衝突が発生している可能性がある場合には、改めて衝突の可能性がある特徴点同士を比較し、特徴点同士の衝突を検出するので、メモリ使用量を削減した場合であっても、正確に秘密鍵を算出することができる。   In addition, when there is a possibility that a collision has occurred in the feature point, the encryption key analysis apparatus 100 compares the feature points with the possibility of collision again and detects the collision between the feature points. Even when the memory usage is reduced, the secret key can be calculated accurately.

また、暗号鍵解析装置100は、従来技術と比較して、特徴点テーブル111に記憶する特徴点の数を減らすことなく、メモリ使用量を削減している。このため、暗号鍵解析装置100では、従来技術と比較して、特徴点衝突を発見するまでの時間が遅延することがないので、計算量を増加させることなく、メモリ使用量を削減することができる。   Also, the cryptographic key analysis apparatus 100 reduces the memory usage without reducing the number of feature points stored in the feature point table 111, as compared to the conventional technique. For this reason, the encryption key analysis apparatus 100 does not delay the time until a feature point collision is found, compared to the conventional technique, so that the memory usage can be reduced without increasing the amount of calculation. it can.

また、暗号鍵解析装置100は、検査データのビット長lを、衝突検知までに必要なデータ量の期待値と、特徴点の出現頻度とを基にして算出する。このため、最適なビット長によって、衝突検出部130a〜130cは、特徴点の衝突の可能性を検出することができる。   Also, the encryption key analysis apparatus 100 calculates the bit length l of the inspection data based on the expected value of the data amount necessary until collision detection and the appearance frequency of the feature points. For this reason, the collision detection units 130a to 130c can detect the possibility of collision of feature points with the optimum bit length.

また、暗号鍵解析装置100は、点生成部120a〜120cが生成する点のうち、特徴点のみを特徴点テーブル111に登録する。このため、メモリ使用量を削減することができる。   Also, the encryption key analysis apparatus 100 registers only the feature points in the feature point table 111 among the points generated by the point generation units 120a to 120c. For this reason, memory usage can be reduced.

なお、図1に示した暗号鍵解析装置100の構成は一例であり、暗号鍵解析装置100は、必ずしも図1に示した各処理部を全て有していなくてもよい。例えば、暗号鍵解析装置100は、記憶部と、抽出部と、判定要求部とを有していればよい。この場合、暗号鍵解析装置100は、点を生成する複数の点生成装置と、衝突を検出する複数の検出装置に接続されているものとする。   The configuration of the encryption key analysis apparatus 100 shown in FIG. 1 is an example, and the encryption key analysis apparatus 100 does not necessarily have all the processing units shown in FIG. For example, the encryption key analysis apparatus 100 only needs to include a storage unit, an extraction unit, and a determination request unit. In this case, it is assumed that the encryption key analysis apparatus 100 is connected to a plurality of point generation apparatuses that generate points and a plurality of detection apparatuses that detect collisions.

記憶部は、点生成部が生成した点をそれぞれ取得し、取得した点を記憶する記憶部である。この記憶部は、図1の記憶部110に対応する。検出部は、記憶部に記憶された複数の点から2つの点を選択し、選択した点の値の一部を検査データとしてそれぞれ抽出する処理部である。判定要求部は、各検査データを複数の検出装置に通知することで、検査データが一致するか否かの判定要求を行い、各検出装置から判定結果を取得する処理部である。抽出部および判定要求部は、図1の衝突検知依頼部144に対応する。   The storage unit is a storage unit that acquires the points generated by the point generation unit and stores the acquired points. This storage unit corresponds to the storage unit 110 of FIG. The detection unit is a processing unit that selects two points from a plurality of points stored in the storage unit, and extracts a part of the value of the selected point as inspection data. The determination request unit is a processing unit that notifies each of the inspection data to a plurality of detection devices, makes a determination request as to whether the inspection data matches, and acquires a determination result from each of the detection devices. The extraction unit and the determination request unit correspond to the collision detection request unit 144 in FIG.

ところで、上記の各実施例で説明した暗号鍵解析装置100の各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータシステムで実行することによって実現することもできる。そこで、以下では、図6を用いて、上記の実施例で説明した暗号鍵解析装置100と同様の機能を有する暗号鍵解析プログラムを実行するコンピュータの一例を説明する。図6は、暗号鍵解析プログラムを実行するコンピュータを示す図である。   By the way, the various processes of the encryption key analyzing apparatus 100 described in the above embodiments can be realized by executing a program prepared in advance on a computer system such as a personal computer or a workstation. In the following, an example of a computer that executes an encryption key analysis program having the same function as the encryption key analysis apparatus 100 described in the above embodiment will be described with reference to FIG. FIG. 6 is a diagram illustrating a computer that executes an encryption key analysis program.

同図に示すように、暗号鍵解析装置100としてコンピュータ200は、入出力制御部210、HDD(Hard Disk Drive)220、RAM(Random Access Memory)230およびCPU(Central Processing Unit)240を有する。各装置210〜240は、バス250で接続して構成される。   As shown in the figure, a computer 200 as an encryption key analysis apparatus 100 includes an input / output control unit 210, an HDD (Hard Disk Drive) 220, a RAM (Random Access Memory) 230, and a CPU (Central Processing Unit) 240. Each device 210 to 240 is configured by being connected by a bus 250.

ここで、入出力制御部210は、各種情報の入出力を制御する。HDD220は、CPU240による各種処理の実行に必要な情報を記憶する。RAM230は、各種情報を一時的に記憶する。CPU240は、各種演算処理を実行する。   Here, the input / output control unit 210 controls input / output of various types of information. The HDD 220 stores information necessary for the CPU 240 to execute various processes. The RAM 230 temporarily stores various information. The CPU 240 executes various arithmetic processes.

そして、HDD220には、暗号鍵解析システムデータがあらかじめ記憶されている。この暗号鍵解析システムデータは、図1に示した暗号鍵解析装置100の各処理部と同様の機能を発揮する暗号鍵解析プログラムを含む。また、暗号鍵解析システムデータは、処理に必要な各種パラメータを含む暗号鍵解析用データを含む。なお、この暗号鍵解析システムデータを適宜分散させて、ネットワークを介して通信可能に接続された他のコンピュータの記憶部に記憶させておくこともできる。   The HDD 220 stores encryption key analysis system data in advance. The encryption key analysis system data includes an encryption key analysis program that exhibits the same function as each processing unit of the encryption key analysis apparatus 100 shown in FIG. The encryption key analysis system data includes encryption key analysis data including various parameters necessary for processing. The encryption key analysis system data may be appropriately distributed and stored in a storage unit of another computer that is communicably connected via a network.

そして、CPU240が、この暗号鍵解析システムデータをHDD220から読み出してRAM230に展開することにより、暗号鍵解析システムデータは暗号鍵解析システムとして機能するようになる。この暗号鍵解析システムには暗号鍵解析プロセスが含まれる。   Then, the CPU 240 reads out the encryption key analysis system data from the HDD 220 and expands it in the RAM 230, so that the encryption key analysis system data functions as an encryption key analysis system. The encryption key analysis system includes an encryption key analysis process.

すなわち、暗号鍵解析システムやそれに搭載された暗号鍵解析プロセスは、暗号鍵解析用データをHDD220から読み出して、RAM230において自身に割り当てられた領域に展開し、この展開したデータ等に基づいて各種処理を実行する。   That is, the encryption key analysis system and the encryption key analysis process installed therein read out the encryption key analysis data from the HDD 220, expands it in the area allocated to itself in the RAM 230, and performs various processes based on the expanded data and the like. Execute.

なお、暗号鍵解読システム及び暗号鍵解析プロセスは、図1に示した制御部140において実行される処理に対応する。なお、上記した暗号鍵解析プログラムについては、必ずしも最初からHDD220に記憶させておく必要はない。   The encryption key decryption system and the encryption key analysis process correspond to processing executed in the control unit 140 shown in FIG. Note that the above-described encryption key analysis program is not necessarily stored in the HDD 220 from the beginning.

例えば、コンピュータ200に挿入されるフレキシブルディスク(FD)、CD−ROM、DVDディスク、光磁気ディスク、ICカードなどの「可搬用の物理媒体」に各プログラムを記憶させておく。そして、コンピュータ200がこれらから各プログラムを読み出して実行するようにしてもよい。   For example, each program is stored in a “portable physical medium” such as a flexible disk (FD), a CD-ROM, a DVD disk, a magneto-optical disk, and an IC card inserted into the computer 200. Then, the computer 200 may read and execute each program from these.

さらには、公衆回線、インターネット、LAN、WANなどを介してコンピュータ200に接続される「他のコンピュータ(またはサーバ)」などに各プログラムを記憶させておく。そして、コンピュータ200がこれらから各プログラムを読み出して実行するようにしてもよい。   Further, each program is stored in “another computer (or server)” connected to the computer 200 via a public line, the Internet, a LAN, a WAN, or the like. Then, the computer 200 may read and execute each program from these.

また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的状態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、図1に示した点生成部120a〜120c、衝突検出部130a〜130cを、それぞれ異なるコンピュータに実装させ、各コンピュータに点の生成、衝突検出を実行させることができる。   Further, each component of each illustrated apparatus is functionally conceptual, and does not necessarily need to be physically configured as illustrated. In other words, the specific state of distribution / integration of each device is not limited to the one shown in the figure, and all or a part thereof may be functionally or physically distributed or arbitrarily distributed in arbitrary units according to various loads or usage conditions. Can be integrated and configured. For example, the point generation units 120a to 120c and the collision detection units 130a to 130c shown in FIG. 1 can be mounted on different computers, and each computer can execute point generation and collision detection.

また、衝突検知依頼部144は、検査データをXから抽出していたがこれに限定されるものではない。例えば、衝突検知依頼部144は、Yから検査データを抽出してもよい。 Further, the collision detection request part 144 is not had been extracted from the X i is not limited to this inspection data. For example, the collision detection requesting unit 144 may extract inspection data from Y i .

なお、図1に示した制御部140は、例えば、ASIC(Application Specific Integrated Circuit)や、FPGA(Field Programmable Gate Array)などの集積装置に対応する。または、制御部140は、CPUやMPU(Micro Processing Unit)等の電子回路に対応する。また、図1に示した記憶部110は、例えば、RAM、ROM(Read Only Memory)、フラッシュメモリ(Flash Memory)などの半導体メモリ素子、またはハードディスク、光ディスクなどの記憶装置に対応する。   Note that the control unit 140 illustrated in FIG. 1 corresponds to, for example, an integrated device such as an application specific integrated circuit (ASIC) or a field programmable gate array (FPGA). Or the control part 140 respond | corresponds to electronic circuits, such as CPU and MPU (Micro Processing Unit). 1 corresponds to, for example, a semiconductor memory device such as a RAM, a ROM (Read Only Memory), and a flash memory, or a storage device such as a hard disk or an optical disk.

以上の各実施例を含む実施形態に関し、さらに以下の付記を開示する。   The following supplementary notes are further disclosed with respect to the embodiments including the above examples.

(付記1)コンピュータが、
点に対して写像を実行し、該写像の実行結果となる点に対して再度前記写像を実行する処理を繰り返し行う複数の点生成装置から点をそれぞれ取得し、取得した各点を記憶装置に記憶する記憶ステップと、
前記記憶装置に記憶された複数の点から2つの点を選択し、選択した点の値の一部を検査データとしてそれぞれ抽出する抽出ステップと、
前記抽出ステップが抽出した各検査データを複数の検出装置に通知することで、前記検査データが一致するか否かの判定要求を行い、各検出装置から判定結果を取得する判定要求ステップと
を実行することを特徴とする暗号鍵解析方法。
(Supplementary note 1)
A point is acquired from each of a plurality of point generation devices that execute the mapping on the point, and repeat the process of executing the mapping again on the point that is the execution result of the mapping, and each acquired point is stored in the storage device. A storage step for storing;
An extraction step of selecting two points from a plurality of points stored in the storage device and extracting a part of the value of the selected points as inspection data;
Notifying each of the inspection data extracted in the extraction step to a plurality of detection devices, making a determination request as to whether or not the inspection data matches, and executing a determination request step of acquiring a determination result from each detection device An encryption key analysis method characterized by:

(付記2)前記検出装置によって各検査データが一致すると判定された場合に、一致すると判定された各検査データの抽出元となる点の値をそれぞれ比較し、各点の値が一致するか否かを判定する判定ステップを更に含んだことを特徴とする付記1に記載の暗号鍵解析方法。 (Supplementary Note 2) When it is determined by the detection device that the respective inspection data match, the values of the points from which the inspection data determined to match are compared, and the values of the respective points match. The encryption key analysis method according to appendix 1, further comprising a determination step of determining whether or not.

(付記3)前記点生成装置によって生成される点が所定の特徴を有する点となる頻度と、前記判定ステップによって各点の値が一致すると判定されるまでに必要となるデータ量の期待値とを基にして、前記検査データのビット長を判定するビット長判定ステップを更に含み、前記抽出ステップは、前記ビット長に基づいて点の値から前記検査データを抽出することを特徴とする付記2に記載の暗号鍵解析方法。 (Additional remark 3) The frequency with which the point generated by the point generation device becomes a point having a predetermined characteristic, and the expected value of the amount of data required until it is determined by the determination step that the values of the points match The method further includes a bit length determination step for determining a bit length of the inspection data based on the inspection data, wherein the extraction step extracts the inspection data from a point value based on the bit length. The encryption key analysis method described in 1.

(付記4)前記記憶ステップは、前記点生成装置が生成した複数の点のうち、所定の特徴を有する点を前記記憶装置に記憶することを特徴とする付記1〜3のいずれか一つに記載の暗号鍵解析方法。 (Additional remark 4) The said memory | storage step memorize | stores the point which has a predetermined characteristic in the said memory | storage device among the several points which the said point generation apparatus produced | generated to any one of the additional marks 1-3 characterized by the above-mentioned. The encryption key analysis method described.

(付記5)点に対して写像を実行し、該写像の実行結果となる点に対して再度前記写像を実行する処理を繰り返し行う複数の点生成部から点をそれぞれ取得し、取得した各点を記憶する記憶部と、
前記記憶部に記憶された複数の点から2つの点を選択し、選択した点の値の一部を検査データとしてそれぞれ抽出する抽出部と、
前記抽出部が抽出した各検査データを複数の検出部に通知することで、前記検査データが一致するか否かの判定要求を行い、各検出部から判定結果を取得する判定要求部と
備えたことを特徴とする暗号鍵解析装置。
(Additional remark 5) Each point which acquired the point from the several point production | generation part which performs a mapping with respect to the point, and repeats the process which performs the said mapping again with respect to the point used as the execution result of this mapping is acquired. A storage unit for storing
An extraction unit that selects two points from a plurality of points stored in the storage unit, and extracts a part of the value of the selected point as inspection data;
A determination requesting unit that makes a determination request as to whether or not the inspection data matches by notifying each of the inspection data extracted by the extraction unit to a plurality of detection units, and obtains a determination result from each detection unit. An encryption key analysis apparatus characterized by the above.

(付記6)前記検出部によって各検査データが一致すると判定された場合に、一致すると判定された各検査データの抽出元となる点の値をそれぞれ比較し、各点の値が一致するか否かを判定する判定部を更に備えたことを特徴とする付記5に記載の暗号鍵解析装置。 (Supplementary Note 6) When the detection unit determines that the inspection data match, the values of the points from which the inspection data determined to match are compared and the values of the points match each other. 6. The encryption key analysis apparatus according to appendix 5, further comprising a determination unit that determines whether or not.

(付記7)前記点生成部によって生成される点が所定の特徴を有する点となる頻度と、前記点判定部によって各点の値が一致すると判定されるまでに必要となるデータ量の期待値とを基にして、前記検査データのビット長を判定するビット長判定部を更に備え、前記抽出部は、前記ビット長に基づいて点の値から前記検査データを抽出することを特徴とする付記6に記載の暗号鍵解析装置。 (Supplementary note 7) The frequency at which the point generated by the point generation unit becomes a point having a predetermined characteristic and the expected value of the amount of data required until the point determination unit determines that the value of each point matches And a bit length determination unit for determining the bit length of the inspection data based on the data, and the extraction unit extracts the inspection data from a point value based on the bit length. 6. The encryption key analysis device according to 6.

(付記8)前記記憶部は、前記点生成部が生成した複数の点のうち、所定の特徴を有する点を記憶することを特徴とする付記5〜7のいずれか一つに記載の暗号鍵解析装置。 (Additional remark 8) The said memory | storage part memorize | stores the point which has a predetermined characteristic among the several points which the said point generation part produced | generated, The encryption key as described in any one of Additional remarks 5-7 characterized by the above-mentioned. Analysis device.

(付記9)コンピュータに、
点に対して写像を実行し、該写像の実行結果となる点に対して再度前記写像を実行する処理を繰り返し行う複数の点生成装置から点をそれぞれ取得し、取得した各点を記憶装置に記憶する記憶手順と、
前記記憶装置に記憶された複数の点から2つの点を選択し、選択した点の値の一部を検査データとしてそれぞれ抽出する抽出手順と、
前記抽出手順が抽出した各検査データを複数の検出装置に通知することで、前記検査データが一致するか否かの判定要求を行い、各検出装置から判定結果を取得する判定要求手順と、
を実行させることを特徴とする暗号鍵解析プログラム。
(Appendix 9)
A point is acquired from each of a plurality of point generation devices that execute the mapping on the point, and repeat the process of executing the mapping again on the point that is the execution result of the mapping, and each acquired point is stored in the storage device. Memorizing procedure to memorize,
An extraction procedure for selecting two points from a plurality of points stored in the storage device and extracting a part of the value of the selected points as inspection data;
Notifying each of the inspection data extracted by the extraction procedure to a plurality of detection devices, making a determination request as to whether or not the inspection data matches, a determination request procedure for obtaining a determination result from each detection device,
An encryption key analysis program characterized by causing

(付記10)前記検出装置によって各検査データが一致すると判定された場合に、一致すると判定された各検査データの抽出元となる点の値をそれぞれ比較し、各点の値が一致するか否かを判定する判定手順を更に実行させることを特徴とする付記9に記載の暗号鍵解析プログラム。 (Additional remark 10) When it determines with each test | inspection data matching by the said detection apparatus, the value of the point used as the extraction origin of each test | inspection data determined to match is compared, respectively, and whether the value of each point corresponds? The encryption key analysis program according to appendix 9, wherein a determination procedure for determining whether or not is further executed.

(付記11)前記点生成装置によって生成される点が所定の特徴を有する点となる頻度と、前記判定手順によって各点の値が一致すると判定されるまでに必要となるデータ量の期待値とを基にして、前記検査データのビット長を判定するビット長判定手順を更に実行させ、前記抽出手順は、前記ビット長に基づいて点の値から前記検査データを抽出することを特徴とする付記10に記載の暗号鍵解析プログラム。 (Supplementary Note 11) The frequency with which the point generated by the point generation device becomes a point having a predetermined characteristic, and the expected value of the data amount required until it is determined by the determination procedure that the values of the points match The bit length determination procedure for determining the bit length of the inspection data is further executed based on the above, and the extraction procedure extracts the inspection data from the point value based on the bit length. The encryption key analysis program according to 10.

(付記12)前記記憶手順は、前記点生成装置が生成した複数の点のうち、所定の特徴を有する点を前記記憶装置に記憶することを特徴とする付記9〜11のいずれか一つに記載の暗号鍵解析プログラム。 (Additional remark 12) The said memory | storage procedure memorize | stores in the said memory | storage device the point which has a predetermined characteristic among the several points which the said point generation apparatus produced | generated. The encryption key analysis program described.

100 暗号鍵解析装置
110 記憶部
120a,120b,120c 点生成部
130a,130b,130c 衝突検出部
140 制御部
DESCRIPTION OF SYMBOLS 100 Encryption key analyzer 110 Memory | storage part 120a, 120b, 120c Point generation part 130a, 130b, 130c Collision detection part 140 Control part

Claims (6)

コンピュータが、
点に対して写像を実行し、該写像の実行結果となる点に対して再度前記写像を実行する処理を繰り返し行う複数の点生成装置から点をそれぞれ取得し、取得した各点を記憶装置に記憶する記憶ステップと、
前記記憶装置に記憶された複数の点から2つの点を選択し、選択した点の値の一部を検査データとしてそれぞれ抽出する抽出ステップと、
前記抽出ステップが抽出した各検査データを複数の検出装置に通知することで、前記検査データが一致するか否かの判定要求を行い、各検出装置から判定結果を取得する判定要求ステップと
を実行することを特徴とする暗号鍵解析方法。
Computer
A point is acquired from each of a plurality of point generation devices that execute the mapping on the point, and repeat the process of executing the mapping again on the point that is the execution result of the mapping, and each acquired point is stored in the storage device. A storage step for storing;
An extraction step of selecting two points from a plurality of points stored in the storage device and extracting a part of the value of the selected points as inspection data;
Notifying each of the inspection data extracted in the extraction step to a plurality of detection devices, making a determination request as to whether or not the inspection data matches, and executing a determination request step of acquiring a determination result from each detection device An encryption key analysis method characterized by:
前記検出装置によって各検査データが一致すると判定された場合に、一致すると判定された各検査データの抽出元となる点の値をそれぞれ比較し、各点の値が一致するか否かを判定する判定ステップを更に含んだことを特徴とする請求項1に記載の暗号鍵解析方法。   When it is determined by the detection device that the inspection data match, the values of the points from which the inspection data determined to match are compared to determine whether or not the values of the points match. The encryption key analysis method according to claim 1, further comprising a determination step. 前記点生成装置によって生成される点が所定の特徴を有する点となる頻度と、前記判定ステップによって各点の値が一致すると判定されるまでに必要となるデータ量の期待値とを基にして、前記検査データのビット長を判定するビット長判定ステップを更に含み、前記抽出ステップは、前記ビット長に基づいて点の値から前記検査データを抽出することを特徴とする請求項2に記載の暗号鍵解析方法。   Based on the frequency at which the points generated by the point generation device become points having predetermined characteristics, and the expected value of the amount of data required until the value of each point is determined to match by the determination step 3. The method according to claim 2, further comprising a bit length determination step of determining a bit length of the inspection data, wherein the extraction step extracts the inspection data from a point value based on the bit length. Encryption key analysis method. 前記記憶ステップは、前記点生成装置が生成した複数の点のうち、所定の特徴を有する点を前記記憶装置に記憶することを特徴とする請求項1〜3のいずれか一つに記載の暗号鍵解析方法。   The encryption according to any one of claims 1 to 3, wherein the storing step stores, in the storage device, a point having a predetermined characteristic among a plurality of points generated by the point generation device. Key analysis method. 点に対して写像を実行し、該写像の実行結果となる点に対して再度前記写像を実行する処理を繰り返し行う複数の点生成部から点をそれぞれ取得し、取得した各点を記憶する記憶部と、
前記記憶部に記憶された複数の点から2つの点を選択し、選択した点の値の一部を検査データとしてそれぞれ抽出する抽出部と、
前記抽出部が抽出した各検査データを複数の検出部に通知することで、前記検査データが一致するか否かの判定要求を行い、各検出部から判定結果を取得する判定要求部と
備えたことを特徴とする暗号鍵解析装置。
A memory that executes mapping on a point, repeatedly acquires the points from a plurality of point generation units that repeatedly perform the process of executing the mapping again on the point that is the execution result of the mapping, and stores each acquired point And
An extraction unit that selects two points from a plurality of points stored in the storage unit, and extracts a part of the value of the selected point as inspection data;
A determination requesting unit that makes a determination request as to whether or not the inspection data matches by notifying each of the inspection data extracted by the extraction unit to a plurality of detection units, and obtains a determination result from each detection unit. An encryption key analysis apparatus characterized by the above.
コンピュータに、
点に対して写像を実行し、該写像の実行結果となる点に対して再度前記写像を実行する処理を繰り返し行う複数の点生成装置から点をそれぞれ取得し、取得した各点を記憶装置に記憶する記憶手順と、
前記記憶装置に記憶された複数の点から2つの点を選択し、選択した点の値の一部を検査データとしてそれぞれ抽出する抽出手順と、
前記抽出手順が抽出した各検査データを複数の検出装置に通知することで、前記検査データが一致するか否かの判定要求を行い、各検出装置から判定結果を取得する判定要求手順と、
を実行させることを特徴とする暗号鍵解析プログラム。
On the computer,
A point is acquired from each of a plurality of point generation devices that execute the mapping on the point, and repeat the process of executing the mapping again on the point that is the execution result of the mapping, and each acquired point is stored in the storage device. Memorizing procedure to memorize,
An extraction procedure for selecting two points from a plurality of points stored in the storage device and extracting a part of the value of the selected points as inspection data;
Notifying each of the inspection data extracted by the extraction procedure to a plurality of detection devices, making a determination request as to whether or not the inspection data matches, a determination request procedure for obtaining a determination result from each detection device,
An encryption key analysis program characterized by causing
JP2010170850A 2010-07-29 2010-07-29 Encryption key analysis method, encryption key analysis device, and encryption key analysis program Expired - Fee Related JP5499976B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010170850A JP5499976B2 (en) 2010-07-29 2010-07-29 Encryption key analysis method, encryption key analysis device, and encryption key analysis program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010170850A JP5499976B2 (en) 2010-07-29 2010-07-29 Encryption key analysis method, encryption key analysis device, and encryption key analysis program

Publications (2)

Publication Number Publication Date
JP2012032523A JP2012032523A (en) 2012-02-16
JP5499976B2 true JP5499976B2 (en) 2014-05-21

Family

ID=45846016

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010170850A Expired - Fee Related JP5499976B2 (en) 2010-07-29 2010-07-29 Encryption key analysis method, encryption key analysis device, and encryption key analysis program

Country Status (1)

Country Link
JP (1) JP5499976B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10325094B2 (en) 2014-08-28 2019-06-18 Mitsubishi Electric Corporation Process analysis apparatus, process analysis method, and process analysis for determining input/output relation of a block of execution trace to detect potential malware

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5540933B2 (en) * 2010-06-23 2014-07-02 富士通株式会社 Encryption key analysis method, encryption key analysis device, and encryption key analysis program

Also Published As

Publication number Publication date
JP2012032523A (en) 2012-02-16

Similar Documents

Publication Publication Date Title
JP6202657B2 (en) Authenticable devices
Tobisch et al. On the scaling of machine learning attacks on PUFs with application to noise bifurcation
KR101727130B1 (en) Device and method for obtaining a cryptographic key
JP5248328B2 (en) Equipment security based on signal generators
Van der Leest et al. Efficient implementation of true random number generator based on SRAM PUFs
JP6069852B2 (en) Information processing apparatus, information processing method, and program
CN105049175A (en) Derivation of a device-specific value
EP3091470B1 (en) Apparatus and method for processing digital value
WO2017049111A1 (en) Group signatures with probabilistic revocation
CN114239082B (en) Anti-attack internet of things security chip, method and device integrating national cryptographic algorithm
JP6780771B2 (en) Verification information granting device, verification device, information management system, method and program
Sim et al. Chosen-ciphertext clustering attack on CRYSTALS-KYBER using the side-channel leakage of Barrett reduction
Suzuki et al. Efficient fuzzy extractors based on ternary debiasing method for biased physically unclonable functions
Lee et al. SABER-GPU: A response-based cryptography algorithm for SABER on the GPU
JP2005523497A (en) Hadamard transform online irregularity test
US9735963B2 (en) Decryption service providing device, processing device, safety evaluation device, program, and recording medium
CN103326861B (en) A kind of data are carried out the method for RSA security signature, device and safety chip
Seo et al. Peregrine: toward fastest FALCON based on GPV framework
Liu et al. A novel security key generation method for SRAM PUF based on Fourier analysis
CN114357479A (en) APUF improvement method, device and system based on random number and storage medium
JP5499976B2 (en) Encryption key analysis method, encryption key analysis device, and encryption key analysis program
Wisiol et al. Why attackers lose: Design and security analysis of arbitrarily large XOR arbiter PUFs
JP5469631B2 (en) Decryption result verification apparatus, method and program
US20160344541A1 (en) Processing device and operating method therefor
Kang et al. On the additional chi-square tests for the IID assumption of NIST SP 800-90B

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130403

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140131

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: 20140212

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140225

R150 Certificate of patent or registration of utility model

Ref document number: 5499976

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees