JP2015188148A - encryption key generation device and program - Google Patents
encryption key generation device and program Download PDFInfo
- Publication number
- JP2015188148A JP2015188148A JP2014064629A JP2014064629A JP2015188148A JP 2015188148 A JP2015188148 A JP 2015188148A JP 2014064629 A JP2014064629 A JP 2014064629A JP 2014064629 A JP2014064629 A JP 2014064629A JP 2015188148 A JP2015188148 A JP 2015188148A
- Authority
- JP
- Japan
- Prior art keywords
- prime number
- numerical value
- key generation
- encryption key
- search
- 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.)
- Pending
Links
Images
Abstract
Description
本発明は、暗号鍵を生成する技術に関する。 The present invention relates to a technique for generating an encryption key.
従来から、RSA暗号などの公開鍵認証基盤(PKI:Public Key Infrastructure)を利用した暗号通信技術が知られている。例えば、特許文献1には、生体情報に基づいて生成された公開鍵及び秘密鍵を用いて、公開鍵暗号による暗号通信を行う技術が開示されている。その他、特許文献2、3には、暗号鍵に用いる素数を算出する方法が開示されている。
Conventionally, a cryptographic communication technique using a public key infrastructure (PKI) such as RSA cryptography is known. For example,
公開鍵認証基盤において、秘密鍵が主体者以外の第3者への漏洩を防ぐため、ICカード等の耐タンパ性を有する媒体を秘密鍵の格納媒体として用いた場合、ICカードの発行やICカードのリーダライタの設置が必要となり、コスト高の要因となる。また、特許文献1に記載の技術では、生体情報に基づいて秘密鍵を生成する際に、乱数を生成し、その乱数をICカード等の耐タンパ媒体に記憶させておく必要があった。そこで、本発明は、耐タンパ性を有する媒体を必要とすることなく、かつ、秘密鍵の漏洩を好適に抑制可能な暗号鍵生成装置及びプログラムを提供することを主な課題とする。
In a public key authentication infrastructure, in order to prevent a secret key from leaking to a third party other than the subject, when a tamper-resistant medium such as an IC card is used as a secret key storage medium, an IC card issuance or IC Installation of a card reader / writer is required, resulting in high costs. In the technology described in
本発明の1つの観点では、暗号鍵生成装置は、利用者の生体情報を読み取る読み取り手段と、前記生体情報を数値化することで所定ビットの数値を生成する数値化手段と、前記所定ビットの数値を起点として素数の探索を行う素数探索手段と、前記素数探索手段が探索した素数に基づき、公開鍵暗号に用いる秘密鍵を生成する鍵生成手段と、を有する。 In one aspect of the present invention, an encryption key generation device includes a reading unit that reads a user's biological information, a digitizing unit that generates a numerical value of a predetermined bit by digitizing the biological information, A prime number search means for searching for a prime number starting from a numerical value; and a key generation means for generating a secret key used for public key cryptography based on the prime number searched by the prime number search means.
上記の暗号鍵生成装置は、読み取り手段と、数値化手段と、素数探索手段と、鍵生成手段とを有する。読み取り手段は、利用者の生体情報を読み取る。数値化手段は、読み取り手段が読み取った生体情報を数値化することで所定ビットの数値を生成する。素数探索手段は、数値化手段が生成した所定ビットの数値を起点として素数の探索を行う。鍵生成手段は、素数探索手段が探索した素数に基づき、公開鍵暗号に用いる秘密鍵を生成する。この態様では、暗号鍵生成装置は、利用者から読み取った生体情報を所定ビットに数値化し、当該数値に基づき、秘密鍵の生成に必要な素数の探索を行う。これにより、暗号鍵生成装置は、耐タンパ性を有する媒体を必要とすることなく、かつ、秘密鍵の漏洩が発生することなく、利用者の身体的な特徴に基づき、好適に秘密鍵を生成し、公開鍵暗号を用いた通信を行うことができる。 The encryption key generation apparatus includes a reading unit, a digitizing unit, a prime number searching unit, and a key generating unit. The reading means reads the biological information of the user. The digitizing means digitizes the biological information read by the reading means to generate a numerical value of a predetermined bit. The prime number searching means searches for a prime number starting from the numerical value of the predetermined bit generated by the digitizing means. The key generation means generates a secret key used for public key encryption based on the prime number searched by the prime number search means. In this aspect, the encryption key generation apparatus digitizes the biometric information read from the user into predetermined bits, and searches for a prime number necessary for generating the secret key based on the numerical value. As a result, the encryption key generation device suitably generates the secret key based on the physical characteristics of the user without requiring a tamper-resistant medium and without causing the leakage of the secret key. Communication using public key cryptography can be performed.
上記暗号鍵生成装置の一態様では、暗号鍵生成装置は、前記利用者の生体情報に基づき生成した公開鍵を記憶する記憶手段と、前記素数探索手段が探索した素数が前記公開鍵と整合性があるか否か判定する判定手段とをさらに備え、前記鍵生成手段は、前記公開鍵と整合性があると判定された素数に基づき、前記秘密鍵を生成する。この態様により、暗号鍵生成装置は、既に記憶された公開鍵に対応する秘密鍵を好適に生成することができる。 In one aspect of the encryption key generation device, the encryption key generation device includes a storage unit that stores a public key generated based on the biometric information of the user, and a prime number searched by the prime number search unit is consistent with the public key. Determination means for determining whether or not there is a key, and the key generation means generates the secret key based on a prime number determined to be consistent with the public key. According to this aspect, the encryption key generation device can suitably generate a secret key corresponding to a public key that has already been stored.
上記暗号鍵生成装置の他の一態様では、前記素数探索手段は、前記所定ビット数の数値を起点として、当該数値が大きくなる方向に前記素数の探索を行う第1探索処理と、前記所定ビット数の数値を起点として、当該数値が小さくなる方向に前記素数の探索を行う第2探索処理とを行う。この態様により、暗号鍵生成装置は、好適に、秘密鍵の生成に必要な素数を探索することができる。 In another aspect of the encryption key generation device, the prime number search means starts with a numerical value of the predetermined number of bits, and performs a search for the prime number in a direction in which the numerical value increases, and the predetermined bits A second search process is performed in which the prime number is searched in the direction in which the numerical value becomes smaller, starting from the numerical value of the number. According to this aspect, the encryption key generation device can preferably search for a prime number necessary for generating the secret key.
上記暗号鍵生成装置の他の一態様では、前記素数探索手段は、前記第1探索処理と前記第2探索処理との並列処理を行う。これにより、暗号鍵生成装置は、秘密鍵の生成に必要な素数を高速に探索することができる。 In another aspect of the encryption key generation device, the prime number search means performs parallel processing of the first search processing and the second search processing. Thereby, the encryption key generation device can search for a prime number necessary for generating the secret key at high speed.
上記暗号鍵生成装置の他の一態様では、前記読み取り手段は、前記利用者の異なる2つの生体情報を読み取り、前記素数探索手段は、前記生体情報の各々に対応する前記所定ビットの数値をそれぞれ基準として2つの異なる素数の探索を行い、前記鍵生成手段は、前記素数探索手段が探索した素数に基づき、RSA暗号に用いる秘密鍵を生成する。この態様により、暗号鍵生成装置は、耐タンパ性を有する媒体を必要とすることなく、RSA暗号の秘密鍵を好適に生成することができる。 In another aspect of the encryption key generation apparatus, the reading unit reads two pieces of biological information of different users, and the prime number searching unit calculates a numerical value of the predetermined bit corresponding to each of the pieces of biological information. Two different prime numbers are searched for as a reference, and the key generation means generates a secret key used for RSA encryption based on the prime numbers searched by the prime number search means. According to this aspect, the encryption key generation apparatus can suitably generate the RSA encryption secret key without requiring a tamper-resistant medium.
本発明のさらに別の観点では、プログラムは、上記いずれか記載の暗号鍵生成装置としてコンピュータを機能させる。このプログラムをコンピュータにインストールして機能させることで、本発明に係る暗号鍵生成装置を構成させることができる。なお、「コンピュータ」は、プログラムに従って演算を行う機械(回路も含む)の総称であり、ウェアラブルデバイスなどの携帯端末であってもよい。 In yet another aspect of the present invention, a program causes a computer to function as any one of the encryption key generation apparatuses described above. By installing this program in a computer and causing it to function, the encryption key generating apparatus according to the present invention can be configured. “Computer” is a general term for machines (including circuits) that perform operations according to a program, and may be a portable terminal such as a wearable device.
本発明に係る暗号鍵生成装置によれば、耐タンパ性を有する媒体を必要とすることなく、かつ、秘密鍵の漏洩が発生することなく、利用者の身体的な特徴に基づき、好適に秘密鍵を生成することができる。 According to the encryption key generation device of the present invention, it is possible to suitably perform the secret based on the physical characteristics of the user without the need for a tamper-resistant medium and without the leakage of the secret key. A key can be generated.
以下、図面を参照しながら、本発明を実施するのに好適な実施形態について説明する。以下では、公開鍵認証基盤において、耐タンパ性を有する媒体を用いることなく、生体情報に基づき、公開鍵と整合する秘密鍵を生成する暗号鍵生成装置について説明する。以下では、代表例として、RSA暗号を利用する場合について説明し、RSA暗号での公開鍵となる数値の組を(E、N)、秘密鍵となる数値の組を(D、N)とする。 Hereinafter, preferred embodiments for carrying out the present invention will be described with reference to the drawings. In the following, an encryption key generation device that generates a secret key that matches a public key based on biometric information without using a tamper-resistant medium in a public key authentication infrastructure will be described. In the following, as a representative example, a case where RSA encryption is used will be described, and a set of numerical values serving as public keys in RSA encryption will be referred to as (E, N), and a set of numerical values serving as secret keys will be referred to as (D, N). .
[暗号鍵生成装置の構成]
図1は、本実施形態に係る暗号鍵生成装置100の構成例を示す。暗号鍵生成装置100は、ディスプレイなどの表示部11と、入力部12と、記憶部13と、データ通信を行う通信部14と、制御部15とを備える。これらの各要素は、バスライン10を介して相互に接続されている。
[Configuration of encryption key generator]
FIG. 1 shows a configuration example of an encryption
入力部12は、生体情報読取部20を有する。生体情報読取部20は、制御部15の制御に基づき利用者の生体情報を読み取り、読み取った生体情報を制御部15に出力する。生体情報は、ユーザ固有の身体的特徴を示す情報であり、例えば、指紋、網膜、虹彩、指静脈、掌静脈などを表す情報である。本実施形態では、生体情報読取部20は、秘密鍵を構成する数値Dの生成に必要な2つの素数「p」、「q」(N=p×q)のそれぞれに対応する生体情報(それぞれ「第1生体情報D1」及び「第2生体情報D2」と呼ぶ。)を生成する。この場合、生体情報読取部20は、例えば、利用者の左半身の身体的特徴を表す生体情報(例えば左手の指紋データ)を第1生体情報D1として読み取り、右半身の身体的特徴を表す生体情報(例えば右手の指紋データ)を第2生体情報D2として読み取ってもよい。なお、入力部12は、生体情報読取部20に加え、キーボードやマウスなどの入力装置を有してもよい。
The
記憶部13は、ハードディスク又はROMやRAMといったメモリによって構成される。記憶部13は、制御部15が実行するプログラムを記憶する。また、記憶部13は、RSA暗号を利用するための公開鍵証明書21を記憶する。公開鍵証明書21には、RSA暗号にて用いられる公開鍵(N、E)が含まれている。通信部14は、制御部15の制御に基づき、公開鍵(N、E)を共有するサーバとRSA暗号による通信を行う。
The
制御部15は、図示しないCPU(Central Processing Unit)、ROM(Read Only Memory)及びRAM(Random Access Memory)などを備える。また、制御部15は、プロセッサ・コアである第1コア22A及び第2コア22Bを有するマルチコアプロセッサを備え、並列処理可能に構成されている。
The
そして、制御部15は、暗号鍵生成装置100内の各構成要素に対して種々の制御を行う。例えば、制御部15は、第1生体情報D1及び第2生体情報D2を、利用者から生体情報読取部20により読み取る。そして、制御部15は、読み取った第1生体情報D1及び第2生体情報D2を所定のアルゴリズムを用いて所定ビット(例えば1024ビット)に数値化した数値「P」、「Q」をそれぞれ算出し、数値P、Qを起点として素数p、qをそれぞれ探索する。生体情報から所定ビットに数値化した数値を取り出す所定のアルゴリズムとしては任意の手法を用いることができる。例えば生体情報として指紋の画像データを取得し、この画像データの濃度値に対してしきい値を設定することにより白黒変換する。指紋画像を白黒変換することにより2値化(1,0)することができるので、その2値化した画像データから所定ビット分の数値を取り出すやり方などが利用できる。このように、制御部15は、探索した素数p、qに基づき、秘密鍵を構成する数値Dを算出する。そして、制御部15は、本発明における「読み取り手段」、「数値化手段」、「素数探索手段」、「鍵生成手段」、「判定手段」、及びプログラムを実行するコンピュータの一例である。
And the
ここで、数値E及び数値Dについて補足説明する。公開鍵を構成する数値Eは、「p−1」と「q−1」の最小公倍数である数値「L」(=LCM(p−1,q−1))を用いた以下の条件式
1<E<L、かつ、GCD(E,L)=1 (1)
を満たす自然数である。ここで、「GCD(E,L)」は数値Eと数値Lの最大公約数を示す。また、秘密鍵を構成する数値Dは、以下の条件式
1<D<L、かつ、E×D ≡ 1 (mod L) (2)
を満たす自然数である。また、上述したように、数値Nは、素数p、qを用いて以下の式(3)により定められる。
N=p×q (3)
そして、記憶部13が記憶する公開鍵(N、E)は、予め生体情報読取部20が正当な利用者に対して読み取った第1生体情報D1及び第2生体情報D2に基づき、後述する秘密鍵生成処理により算出した素数p、q及び式(1)、(3)を用いて算出された数値の組である。
Here, the numerical value E and the numerical value D will be supplementarily described. The numerical value E constituting the public key is the following conditional expression using the numerical value “L” (= LCM (p−1, q−1)) which is the least common multiple of “p−1” and “q−1”.
1 <E <L and GCD (E, L) = 1 (1)
It is a natural number that satisfies Here, “GCD (E, L)” indicates the greatest common divisor of the numerical values E and L. The numerical value D constituting the secret key is the following conditional expression
1 <D <L and E × D ≡ 1 (mod L) (2)
It is a natural number that satisfies As described above, the numerical value N is determined by the following equation (3) using the prime numbers p and q.
N = p × q (3)
And the public key (N, E) which the memory |
[秘密鍵生成処理]
次に、秘密鍵生成処理について図2〜図8を参照して説明する。
[Secret key generation process]
Next, the secret key generation process will be described with reference to FIGS.
(1)処理概要
図2は、制御部15が実行する秘密鍵生成処理の概要を示すフローチャートである。
(1) Process Overview FIG. 2 is a flowchart showing an overview of the secret key generation process executed by the
まず、制御部15は、利用者に対し、生体情報読取部20により第1生体情報D1の読み取りを行う(ステップS101)。そして、制御部15は、生体情報読取部20より読み取った第1生体情報D1に基づき、1024ビットの奇数の数値Pを生成する(ステップS102)。この場合、まず、制御部15は、第1生体情報D1を所定のアルゴリズムを用いて数値化した後、数値化された第1生体情報D1から1024ビット分の数値を所定の規則に基づき抽出する。そして、制御部15は、抽出した数値が奇数の場合には、当該数値を数値Pとし、抽出した数値が偶数の場合には、1だけずらした数値を数値Pとする。次に、制御部15は、第1素数判定処理により数値Pから素数pを算出する(ステップS103)。第1素数判定処理については、図3〜図5を参照して後述する。
First, the
さらに、制御部15は、利用者に対し、生体情報読取部20により第2生体情報D2の読み取りを行う(ステップS104)。そして、制御部15は、生体情報読取部20より読み取った第2生体情報D2に基づき、1024ビットの奇数の数値Qを決定する(ステップS105)。この場合、まず、制御部15は、第2生体情報D2を所定のアルゴリズムを用いて数値化した後、数値化された第2生体情報D2から1024ビットの数値を所定の規則に基づき抽出する。そして、制御部15は、抽出した数値が奇数の場合には、当該数値を数値Qとし、抽出した数値が偶数の場合には、1だけずらした数値を数値Qとする。
Further, the
次に、制御部15は、公開鍵を構成する数値Nと素数p、qとで整合性があるか否か判定する(ステップS107)。具体的には、公開鍵を構成する数値Nを定義した式(3)が成立するか否か判定する。
Next, the
そして、制御部15は、公開鍵を構成する数値Nと素数p、qとが式(3)を満たし、整合性があると判断した場合(ステップS107;Yes)、秘密鍵を構成する数値Dを生成する(ステップS108)。具体的には、この場合、制御部15は、公開鍵を構成する数値Eと、「p−1」と「q−1」の最小公倍数である数値Lを用いて、上述した条件式(2)を満たす数値Dを、所定のアルゴリズム(好適には非特許文献1のpp.120−121にある拡張Euclid互除法)に基づき算出する。その後、制御部15は、算出した数値Dを含む秘密鍵(D、N)を用いて、公開鍵(E、N)を共有するサーバから当該公開鍵により暗号化されて送信されたデータを復号する処理などを行う。
When the
一方、制御部15は、公開鍵を構成する数値Nと素数p、qとが式(3)を満たさず、整合性がないと判断した場合(ステップS107;No)、素数p、qの再計算を行う(ステップS109)。例えば、制御部15は、第1素数判定処理を再開して現在の素数pと異なる次の素数pを算出すると共に、第2素数判定処理を再開して現在の素数qと異なる次の素数qを算出する。他の例では、制御部15は、生体情報読取部20による第1生体情報D1及び第2生体情報D2の読み取りに異常があったと判断し、再びステップS101〜ステップS106を行うことで、第1生体情報D1及び第2生体情報D2の読み取り及び素数p、qの算出を再度行う。
On the other hand, when the
(2)第1素数判定処理
図3は、制御部15が実行する第1素数判定処理を示すフローチャートである。制御部15は、図3に示すフローチャートの処理を、図2のステップS103で実行する。
(2) First Prime Number Determination Process FIG. 3 is a flowchart showing a first prime number determination process executed by the
まず、制御部15は、素数pの候補であって、数値P以上に設定される候補値「P1」の初期値を数値Pに設定すると共に、素数pの候補であって、数値P以下に設定される候補値「P2」の初期値を数値Pに設定する(ステップS201)。そして、制御部15は、第1コア22Aにより、候補値P1を徐々に大きくしていくことで素数pを探索する処理であるインクリメンタルサーチを行う(ステップS202)。また、制御部15は、ステップS201と並行し、第2コア22Bにより、候補値P2を徐々に減らしていくことで素数pを探索する処理であるデクリメンタルサーチを行う(ステップS203)。このように、制御部15は、数値Pを基準としたインクリメンタルサーチとデクリメンタルサーチとを第1コア22A及び第2コア22Bにより並行して実行する。これにより、制御部15は、高速に素数pを探索することができる。
First, the
図4は、制御部15の第1コア22Aが実行する候補値P1を用いたインクリメンタルサーチのフローチャートである。制御部15の第1コア22Aは、図4に示すフローチャートの処理を、図4のステップS202で実行する。
FIG. 4 is a flowchart of the incremental search using the candidate value P1 executed by the
まず、第1コア22Aは、非特許文献1のp.131にあるMiller-Rabinテストなどを用いて候補値P1が素数であるか否か判定する(ステップS205)。そして、第1コア22Aは、候補値P1が素数である場合(ステップS205;Yes)、公開鍵を構成する数値Eと「P1−1」との最大公約数が1であるか否か判定する(ステップS206)。即ち、候補値P1が素数pであると仮定した場合、条件式(1)を満たすには、数値Lの約数である「p−1」(=P1−1)と数値Eとの最大公約数は1になる必要があることから、第1コア22Aは、ステップS206の判定を行う。そして、数値Eと「P1−1」との最大公約数が1である場合(ステップS206;Yes)、第1コア22Aは、候補値P1を素数pとみなす(ステップS207)。そして、第1コア22Aは、図4のフローチャートを終了する。なお、第1コア22Aは、図2のステップS109で素数pの再計算を行う場合に備えて、候補値P1を2だけ増やし、引き続きフローチャートの処理を継続することで、素数pの次の候補を探索してもよい。
First, the
一方、数値Eと「P1−1」との最大公約数が1でない場合(ステップS206;No)、第1コア22Aは、候補値P1は素数pとなる条件を満たしていないと判断し、候補値P1を2だけ増やす(ステップS208)。そして、第1コア22Aは、再びステップS205の処理を行う。
On the other hand, when the greatest common divisor between the numerical value E and “P1-1” is not 1 (step S206; No), the
なお、第1コア22Aは、第2コア22Bが後述する図5のフローチャートの実行により素数pとなる候補値P2を検出した場合、図4のフローチャートの処理を強制的に終了してもよい。
Note that the
図5は、制御部15の第2コア22Bが実行する候補値P2を用いたデクリメンタルサーチのフローチャートである。制御部15の第2コア22Bは、図5に示すフローチャートの処理を、図3のステップS203で実行する。
FIG. 5 is a flowchart of the decremental search using the candidate value P2 executed by the
まず、第2コア22Bは、非特許文献1のp.131にあるMiller-Rabinテストなどを用いて候補値P2が素数であるか否か判定する(ステップS210)。そして、第2コア22Bは、候補値P2が素数である場合(ステップS210;Yes)、公開鍵を構成する数値Eと「P2−1」との最大公約数が1であるか否か判定する(ステップS211)。即ち、候補値P2が素数pであると仮定した場合、条件式(1)を満たすには、数値Lの約数である「p−1」(=P2−1)と数値Eとの最大公約数が1になる必要があることから、第2コア22Bは、ステップS211の判定を行う。そして、数値Eと「P2−1」との最大公約数が1である場合(ステップS211;Yes)、第2コア22Bは、候補値P2を素数pとみなす(ステップS212)。そして、第2コア22Bは、図5のフローチャートを終了する。なお、第2コア22Bは、図2のステップS109で素数pの再計算を行う場合に備えて、候補値P2を2だけ減らし、引き続きフローチャートの処理を継続することで素数pの次の候補を探索してもよい。
First, the
一方、数値Eと「P2−1」との最大公約数が1でない場合(ステップS211;No)、第2コア22Bは、候補値P2は素数pとなる条件を満たしていないと判断し、候補値P2を2だけ減らす(ステップS213)。そして、第2コア22Bは、再びステップS210の処理を行う。
On the other hand, when the greatest common divisor between the numerical value E and “P2-1” is not 1 (step S211; No), the
なお、第2コア22Bは、第1コア22Aが図4のフローチャートに基づき素数pとなる候補値P1を検出した場合、図5のフローチャートの処理を強制的に終了してもよい。
Note that the
(3)第2素数判定処理
図6は、制御部15が実行する第2素数判定処理を示すフローチャートである。制御部15は、図6に示すフローチャートの処理を、図2のステップS106で実行する。
(3) Second Prime Number Determination Process FIG. 6 is a flowchart showing a second prime number determination process executed by the
まず、制御部15は、素数qの候補であって、数値Q以上に設定される候補値「Q1」の初期値を数値Qに設定すると共に、素数qの候補であって、数値Q以下に設定される候補値「Q2」の初期値を数値Qに設定する(ステップS301)。そして、制御部15は、第1コア22Aにより、候補値Q1を徐々に大きくしていくことで素数qを探索する処理であるインクリメンタルサーチを行う(ステップS302)。また、制御部15は、ステップS301と並行し、第2コア22Bにより、候補値Q2を徐々に減らしていくことで素数qを探索する処理であるデクリメンタルサーチを行う(ステップS303)。このように、制御部15は、数値Qを基準としたインクリメンタルサーチとデクリメンタルサーチとを第1コア22A及び第2コア22Bにより並行して実行する。これにより、制御部15は、高速に素数qを探索することができる。
First, the
図7は、制御部15の第1コア22Aが実行する候補値Q1を用いたインクリメンタルサーチのフローチャートである。制御部15の第1コア22Aは、図7に示すフローチャートの処理を、図6のステップS302で実行する。
FIG. 7 is a flowchart of the incremental search using the candidate value Q1 executed by the
まず、第1コア22Aは、非特許文献1のp.131にあるMiller-Rabinテストなどを用いて候補値Q1が素数であるか否か判定する(ステップS305)。そして、第1コア22Aは、候補値Q1が素数である場合(ステップS305;Yes)、公開鍵を構成する数値Eと「Q1−1」との最大公約数が1であるか否か判定する(ステップS306)。即ち、候補値Q1が素数qであると仮定した場合、条件式(1)を満たすには、数値Lの約数である「q−1」(=Q1−1)と数値Eとの最大公約数が1になる必要があることから、第1コア22Aは、ステップS306の判定を行う。そして、数値Eと「Q1−1」との最大公約数が1である場合(ステップS306;Yes)、第1コア22Aは、候補値Q1を素数qとみなす(ステップS307)。そして、第1コア22Aは、図4のフローチャートを終了する。なお、第1コア22Aは、図2のステップS109で素数qの再計算を行う場合に備えて、候補値Q1を2だけ増やし、引き続きフローチャートの処理を継続することで、素数qの次の候補を探索してもよい。
First, the
一方、数値Eと「Q1−1」との最大公約数が1でない場合(ステップS306;No)、第1コア22Aは、候補値Q1は素数qとなる条件を満たしていないと判断し、候補値Q1を2だけ増やす(ステップS308)。そして、第1コア22Aは、再びステップS305の処理を行う。
On the other hand, when the greatest common divisor between the numerical value E and “Q1-1” is not 1 (step S306; No), the
なお、第1コア22Aは、第2コア22Bが後述する図8のフローチャートの実行により素数qとなる候補値Q2を検出した場合、図7のフローチャートの処理を強制的に終了してもよい。
The
図8は、制御部15の第2コア22Bが実行する候補値Q2を用いたデクリメンタルサーチのフローチャートである。制御部15の第2コア22Bは、図8に示すフローチャートの処理を、図6のステップS303で実行する。
FIG. 8 is a flowchart of the decremental search using the candidate value Q2 executed by the
まず、第2コア22Bは、非特許文献1のp.131にあるMiller-Rabinテストなどを用いて候補値Q2が素数であるか否か判定する(ステップS310)。そして、第2コア22Bは、候補値Q2が素数である場合(ステップS310;Yes)、公開鍵を構成する数値Eと「Q2−1」との最大公約数が1であるか否か判定する(ステップS311)。即ち、候補値Q2が素数qであると仮定した場合、条件式(1)を満たすには、数値Lの約数である「q−1」(=Q2−1)と数値Eとの最大公約数が1になる必要があることから、第2コア22Bは、ステップS311の判定を行う。そして、数値Eと「Q2−1」との最大公約数が1である場合(ステップS311;Yes)、第2コア22Bは、候補値Q2を素数qとみなす(ステップS312)。そして、第2コア22Bは、図8のフローチャートを終了する。なお、第2コア22Bは、図2のステップS109で素数qの再計算を行う場合に備えて、候補値Q2を2だけ減らし、引き続きフローチャートの処理を継続することで素数qの次の候補を探索してもよい。
First, the
一方、数値Eと「Q2−1」との最大公約数が1でない場合(ステップS311;No)、第2コア22Bは、候補値Q2は素数qとなる条件を満たしていないと判断し、候補値Q2を2だけ減らす(ステップS313)。そして、第2コア22Bは、再びステップS310の処理を行う。
On the other hand, when the greatest common divisor between the numerical value E and “Q2-1” is not 1 (step S311; No), the
なお、第2コア22Bは、第1コア22Aが図7のフローチャートに基づき素数qとなる候補値Q1を検出した場合、図8のフローチャートの処理を強制的に終了してもよい。
The
[暗号鍵生成装置の作用効果]
暗号鍵生成装置100は、生体情報読取部20により読み取った第1生体情報D1及び第2生体情報D2を数値化した数値P及び数値Qを起点として、公開鍵と整合する秘密鍵を構成する数値Dを算出するために必要な素数p、qを探索する。これにより、暗号鍵生成装置100は、秘密鍵を記憶するための耐タンパ性を有する媒体を利用することなく、公開鍵に対応する秘密鍵を好適に生成することができる。
[Operation and effect of encryption key generator]
The encryption
[変形例]
次に、上述の実施形態の変形例について説明する。以下の変形例は、組み合わせて上述の実施形態に適用してもよい。
[Modification]
Next, a modification of the above embodiment will be described. The following modifications may be combined and applied to the above-described embodiment.
(変形例1)
暗号鍵生成装置100は、RSA暗号に用いる素数p、qに代えて、生体情報に基づき、RSA暗号以外の公開鍵認証基盤に利用される任意の公開鍵暗号方式の暗号鍵の生成に必要な1又は複数の素数を算出してもよい。
(Modification 1)
The encryption
この場合であっても、暗号鍵生成装置100は、暗号鍵の生成に必要な素数の個数分だけ、生体情報読取部20から生体情報を読み取り、これらを所定ビットに数値化した情報に基づき、予め公開鍵を作成する。そして、暗号通信時には、暗号鍵生成装置100は、公開鍵の生成時と同一対象の生体情報を生体情報読取部20により利用者から読み取り、読み取った生体情報を所定ビット数の数値に変換する。そして、暗号鍵生成装置100は、変換した数値を起点としてインクリメンタルサーチ及びデクリメンタルサーチを行い、既に生成した公開鍵と整合する秘密鍵を生成するのに必要な素数の探索を行う。
Even in this case, the encryption
(変形例2)
制御部15は、第1コア22Aと第2コア22Bとを有するマルチコアプロセッサを有していたが、これに代えて、マルチプロセッサを有してもよい。これによっても、制御部15は、好適に、インクリメンタルサーチとデクリメンタルサーチとの並列処理を行うことができる。
(Modification 2)
The
11…表示部
12…入力部
13…記憶部
14…通信部
15…制御部
100…秘密鍵生成装置
DESCRIPTION OF
Claims (6)
前記生体情報を数値化することで所定ビットの数値を生成する数値化手段と、
前記所定ビットの数値を起点として素数の探索を行う素数探索手段と、
前記素数探索手段が探索した素数に基づき、公開鍵暗号に用いる秘密鍵を生成する鍵生成手段と、
を有することを特徴とする暗号鍵生成装置。 A reading means for reading the biological information of the user;
Digitizing means for generating a numerical value of a predetermined bit by digitizing the biological information;
Prime number search means for searching for a prime number starting from a numerical value of the predetermined bit;
Key generation means for generating a secret key used for public key cryptography based on the prime number searched by the prime number search means;
An encryption key generation device comprising:
前記素数探索手段が探索した素数が前記公開鍵と整合性があるか否か判定する判定手段とをさらに備え、
前記鍵生成手段は、前記公開鍵と整合性があると判定された素数に基づき、前記秘密鍵を生成することを特徴とする請求項1に記載の暗号鍵生成装置。 Storage means for storing a public key generated based on the biometric information of the user;
Determination means for determining whether or not the prime number searched by the prime number search means is consistent with the public key;
The encryption key generation apparatus according to claim 1, wherein the key generation unit generates the secret key based on a prime number determined to be consistent with the public key.
前記素数探索手段は、前記生体情報の各々に対応する前記所定ビットの数値をそれぞれ基準として2つの異なる素数の探索を行い、
前記鍵生成手段は、前記素数探索手段が探索した素数に基づき、RSA暗号に用いる秘密鍵を生成することを特徴とする請求項1〜4のいずれか一項に記載の暗号鍵生成装置。 The reading means reads two pieces of biometric information different from the user,
The prime number searching means searches for two different prime numbers based on the numerical values of the predetermined bits corresponding to each of the biological information,
5. The encryption key generation apparatus according to claim 1, wherein the key generation unit generates a secret key used for RSA encryption based on the prime number searched by the prime number search unit.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014064629A JP2015188148A (en) | 2014-03-26 | 2014-03-26 | encryption key generation device and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014064629A JP2015188148A (en) | 2014-03-26 | 2014-03-26 | encryption key generation device and program |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2015188148A true JP2015188148A (en) | 2015-10-29 |
Family
ID=54430192
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014064629A Pending JP2015188148A (en) | 2014-03-26 | 2014-03-26 | encryption key generation device and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2015188148A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101745706B1 (en) * | 2015-12-18 | 2017-06-09 | 주식회사 케이티 | Apparatus and method for authentication based on biometric information |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001144743A (en) * | 1999-11-11 | 2001-05-25 | Sony Corp | Device and method for generating cryptographic key, device and method for enciphering and deciphering, and program providing medium |
US20020186837A1 (en) * | 2001-03-26 | 2002-12-12 | Hopkins W. Dale | Multiple prime number generation using a parallel prime number search algorithm |
JP2003308011A (en) * | 2002-04-17 | 2003-10-31 | Nippon Telegr & Teleph Corp <Ntt> | Cryptographic key producing apparatus, cryptographic key production program and recording medium with the program recorded thereon |
JP2010527219A (en) * | 2007-05-11 | 2010-08-05 | ヴァリディティー センサーズ,インク. | Method and system for electronically securing electronic device security using functions that cannot be physically copied |
JP2013037290A (en) * | 2011-08-10 | 2013-02-21 | Canon Inc | Information processing system, information processing method, and program |
JP2013113978A (en) * | 2011-11-28 | 2013-06-10 | Renesas Electronics Corp | Semiconductor device and ic card |
-
2014
- 2014-03-26 JP JP2014064629A patent/JP2015188148A/en active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001144743A (en) * | 1999-11-11 | 2001-05-25 | Sony Corp | Device and method for generating cryptographic key, device and method for enciphering and deciphering, and program providing medium |
US20020186837A1 (en) * | 2001-03-26 | 2002-12-12 | Hopkins W. Dale | Multiple prime number generation using a parallel prime number search algorithm |
JP2003308011A (en) * | 2002-04-17 | 2003-10-31 | Nippon Telegr & Teleph Corp <Ntt> | Cryptographic key producing apparatus, cryptographic key production program and recording medium with the program recorded thereon |
JP2010527219A (en) * | 2007-05-11 | 2010-08-05 | ヴァリディティー センサーズ,インク. | Method and system for electronically securing electronic device security using functions that cannot be physically copied |
JP2013037290A (en) * | 2011-08-10 | 2013-02-21 | Canon Inc | Information processing system, information processing method, and program |
JP2013113978A (en) * | 2011-11-28 | 2013-06-10 | Renesas Electronics Corp | Semiconductor device and ic card |
Non-Patent Citations (1)
Title |
---|
柴田 陽一 ほか: "メカニズムベースPKI−指紋からの秘密鍵動的生成", 情報処理学会論文誌, vol. 第45巻 第8号, JPN6013049687, 15 August 2004 (2004-08-15), JP, pages 1833 - 1844, ISSN: 0003692984 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101745706B1 (en) * | 2015-12-18 | 2017-06-09 | 주식회사 케이티 | Apparatus and method for authentication based on biometric information |
WO2017105072A1 (en) * | 2015-12-18 | 2017-06-22 | 주식회사 케이티 | Authentication device on the basis of biometric information and operation method therefor |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5710460B2 (en) | Encryption key generation apparatus and program | |
JP6821516B2 (en) | Computer system, confidential information verification method, and computer | |
US20170373858A1 (en) | Cryptographic primitive for user authentication | |
JP5449576B2 (en) | Arithmetic device, elliptic scalar multiplication method for arithmetic device, elliptic scalar multiplication program, remainder arithmetic method for arithmetic device, and remainder arithmetic program | |
TWI686722B (en) | Exponent splitting for cryptographic operations | |
CN111325535A (en) | Block chain private key management method, system and storage medium based on elliptic curve migration | |
KR101467719B1 (en) | Signature generating device, method of generating signature, and recording medium | |
TW200939114A (en) | Modular reduction using a special form of the modulus | |
Liu et al. | A novel security key generation method for SRAM PUF based on Fourier analysis | |
Wisiol et al. | Why attackers lose: Design and security analysis of arbitrarily large XOR arbiter PUFs | |
CN115580489B (en) | Data transmission method, device, equipment and storage medium | |
Orman | Recent parables in cryptography | |
JP2015188148A (en) | encryption key generation device and program | |
KR20190133350A (en) | Method for comparing chiphertext based and apparatus for executing the method | |
JP7061083B2 (en) | Signature system, signature method and program | |
JP2017182377A (en) | Information processing device, control method, and program | |
JP2006072336A (en) | Prime factorization apparatus, prime factorization program, safety evaluation apparatus, safety evaluation program, and prime factorization method | |
Kim et al. | Gpu-accelerated password cracking of pdf files | |
KR20220082061A (en) | Key generating device, key using device, and key generating method | |
JP2007218997A (en) | Prime number generation device, program and method | |
JPWO2015008605A1 (en) | Calculation device, calculation method, and program | |
JP5499976B2 (en) | Encryption key analysis method, encryption key analysis device, and encryption key analysis program | |
JP2013235535A (en) | Data management system and data management program | |
CN116243887B (en) | Software random number generation method and device | |
JP5398353B2 (en) | Hash value calculation device, hash value calculation method, and hash value calculation program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20170130 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20171024 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20171205 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20180605 |