JP2015188148A - encryption key generation device and program - Google Patents

encryption key generation device and program Download PDF

Info

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
Application number
JP2014064629A
Other languages
Japanese (ja)
Inventor
半田 富己男
Fukio Handa
富己男 半田
矢野 義博
Yoshihiro Yano
義博 矢野
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.)
Dai Nippon Printing Co Ltd
Original Assignee
Dai Nippon Printing Co 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 Dai Nippon Printing Co Ltd filed Critical Dai Nippon Printing Co Ltd
Priority to JP2014064629A priority Critical patent/JP2015188148A/en
Publication of JP2015188148A publication Critical patent/JP2015188148A/en
Pending legal-status Critical Current

Links

Images

Abstract

PROBLEM TO BE SOLVED: To provide an encryption key generation device and a program, capable of suitably suppressing leakage of an encryption key without requiring a catalyst having tamper resistance.SOLUTION: Using a numerical value P and a numerical value Q obtained by digitizing a first biological information D1 and a second biological information D2 read out by a biological information reading part 20 as a starting point, an encryption key generation device 100 searches prime numbers p, q required for calculating a numerical value D constituting an encryption key matching with a public key.

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, Patent Literature 1 discloses a technique for performing cryptographic communication using public key cryptography using a public key and a secret key generated based on biometric information. In addition, Patent Documents 2 and 3 disclose methods for calculating a prime number used for an encryption key.

特開2006−246360号公報JP 2006-246360 A 特許第4668796号Japanese Patent No. 4668796 特許第4668795号Japanese Patent No. 4668795

岡本龍明・太田和夫共編、“暗号・ゼロ知識証明・数論”、共立出版、1995Okamoto Tatsuaki and Ota Kazuo, “Cryptography, Zero Knowledge Proof, Number Theory”, Kyoritsu Publishing, 1995

公開鍵認証基盤において、秘密鍵が主体者以外の第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 Patent Document 1, when generating a secret key based on biometric information, it is necessary to generate a random number and store the random number in a tamper-resistant medium such as an IC card. Accordingly, it is a main object of the present invention to provide an encryption key generation device and a program that can appropriately suppress leakage of a secret key without requiring a tamper-resistant medium.

本発明の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.

暗号鍵生成装置の構成例を示す。2 shows a configuration example of an encryption key generation apparatus. 秘密鍵生成処理の概要を示すフローチャートである。It is a flowchart which shows the outline | summary of a secret key production | generation process. 第1素数判定処理を示すフローチャートである。It is a flowchart which shows a 1st prime number determination process. 第1素数判定処理でのインクリメンタルサーチのフローチャートである。It is a flowchart of an incremental search in the first prime number determination process. 第1素数判定処理でのデクリメンタルサーチのフローチャートである。It is a flowchart of a decremental search in the first prime number determination process. 第2素数判定処理を示すフローチャートである。It is a flowchart which shows a 2nd prime number determination process. 第2素数判定処理でのインクリメンタルサーチのフローチャートである。It is a flowchart of an incremental search in the second prime number determination process. 第2素数判定処理でのデクリメンタルサーチのフローチャートである。It is a flowchart of a decremental search in the second prime number determination process.

以下、図面を参照しながら、本発明を実施するのに好適な実施形態について説明する。以下では、公開鍵認証基盤において、耐タンパ性を有する媒体を用いることなく、生体情報に基づき、公開鍵と整合する秘密鍵を生成する暗号鍵生成装置について説明する。以下では、代表例として、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 key generation apparatus 100 according to the present embodiment. The encryption key generation apparatus 100 includes a display unit 11 such as a display, an input unit 12, a storage unit 13, a communication unit 14 that performs data communication, and a control unit 15. Each of these elements is connected to each other via a bus line 10.

入力部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 input unit 12 includes a biological information reading unit 20. The biological information reading unit 20 reads the biological information of the user based on the control of the control unit 15 and outputs the read biological information to the control unit 15. The biometric information is information indicating physical characteristics unique to the user, for example, information indicating a fingerprint, a retina, an iris, a finger vein, a palm vein, and the like. In the present embodiment, the biometric information reading unit 20 performs biometric information corresponding to each of the two prime numbers “p” and “q” (N = p × q) necessary for generating the numerical value D constituting the secret key (respectively, "First biological information D1" and "second biological information D2") are generated. In this case, the biological information reading unit 20 reads, for example, biological information (for example, fingerprint data of the left hand) representing the physical characteristics of the left half of the user as the first biological information D1, and represents the biological characteristics of the right half of the user. Information (for example, fingerprint data of the right hand) may be read as the second biological information D2. The input unit 12 may include an input device such as a keyboard and a mouse in addition to the biological information reading unit 20.

記憶部13は、ハードディスク又はROMやRAMといったメモリによって構成される。記憶部13は、制御部15が実行するプログラムを記憶する。また、記憶部13は、RSA暗号を利用するための公開鍵証明書21を記憶する。公開鍵証明書21には、RSA暗号にて用いられる公開鍵(N、E)が含まれている。通信部14は、制御部15の制御に基づき、公開鍵(N、E)を共有するサーバとRSA暗号による通信を行う。   The storage unit 13 is configured by a hard disk or a memory such as a ROM or a RAM. The storage unit 13 stores a program executed by the control unit 15. The storage unit 13 also stores a public key certificate 21 for using RSA encryption. The public key certificate 21 includes public keys (N, E) used in RSA encryption. Based on the control of the control unit 15, the communication unit 14 communicates with a server sharing a public key (N, E) by RSA encryption.

制御部15は、図示しないCPU(Central Processing Unit)、ROM(Read Only Memory)及びRAM(Random Access Memory)などを備える。また、制御部15は、プロセッサ・コアである第1コア22A及び第2コア22Bを有するマルチコアプロセッサを備え、並列処理可能に構成されている。   The control unit 15 includes a CPU (Central Processing Unit), a ROM (Read Only Memory), a RAM (Random Access Memory), and the like (not shown). The control unit 15 includes a multi-core processor having a first core 22A and a second core 22B, which are processor cores, and is configured to be capable of parallel processing.

そして、制御部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 control part 15 performs various control with respect to each component in the encryption key generation apparatus 100. FIG. For example, the control unit 15 reads the first biological information D1 and the second biological information D2 from the user by the biological information reading unit 20. Then, the control unit 15 calculates numerical values “P” and “Q” obtained by digitizing the read first biological information D1 and second biological information D2 into predetermined bits (for example, 1024 bits) using a predetermined algorithm. The prime numbers p and q are searched for starting from the numerical values P and Q, respectively. An arbitrary method can be used as a predetermined algorithm for extracting a numerical value digitized into predetermined bits from the biological information. For example, fingerprint image data is acquired as biometric information, and black and white conversion is performed by setting a threshold value for the density value of the image data. Since the fingerprint image can be binarized (1, 0) by converting it into black and white, a method of extracting a numerical value for a predetermined bit from the binarized image data can be used. In this way, the control unit 15 calculates the numerical value D constituting the secret key based on the searched prime numbers p and q. The control unit 15 is an example of a “reading unit”, “numericalizing unit”, “prime number searching unit”, “key generation unit”, “determination unit”, and a computer that executes a program in the present invention.

ここで、数値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 | storage part 13 memorize | stores based on the 1st biometric information D1 and the 2nd biometric information D2 which the biometric information reading part 20 read beforehand with respect to the valid user previously, and is mentioned later It is a set of numerical values calculated using prime numbers p and q calculated by the key generation process and equations (1) and (3).

[秘密鍵生成処理]
次に、秘密鍵生成処理について図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 control unit 15.

まず、制御部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 control unit 15 reads the first biological information D1 from the biological information reading unit 20 to the user (step S101). And the control part 15 produces | generates the odd numerical value P of 1024 bits based on the 1st biometric information D1 read from the biometric information reading part 20 (step S102). In this case, first, the control unit 15 digitizes the first biological information D1 using a predetermined algorithm, and then extracts a numerical value of 1024 bits from the digitized first biological information D1 based on a predetermined rule. . And the control part 15 makes the said numerical value the numerical value P when the extracted numerical value is odd, and makes the numerical value P the numerical value shifted by 1 when the extracted numerical value is an even number. Next, the control unit 15 calculates a prime number p from the numerical value P by the first prime number determination process (step S103). The first prime number determination process will be described later with reference to FIGS.

さらに、制御部15は、利用者に対し、生体情報読取部20により第2生体情報D2の読み取りを行う(ステップS104)。そして、制御部15は、生体情報読取部20より読み取った第2生体情報D2に基づき、1024ビットの奇数の数値Qを決定する(ステップS105)。この場合、まず、制御部15は、第2生体情報D2を所定のアルゴリズムを用いて数値化した後、数値化された第2生体情報D2から1024ビットの数値を所定の規則に基づき抽出する。そして、制御部15は、抽出した数値が奇数の場合には、当該数値を数値Qとし、抽出した数値が偶数の場合には、1だけずらした数値を数値Qとする。   Further, the control unit 15 reads the second biological information D2 from the biological information reading unit 20 to the user (step S104). Then, the control unit 15 determines an odd numerical value Q of 1024 bits based on the second biological information D2 read by the biological information reading unit 20 (step S105). In this case, first, the control unit 15 digitizes the second biological information D2 using a predetermined algorithm, and then extracts a 1024-bit numerical value from the digitized second biological information D2 based on a predetermined rule. Then, the control unit 15 sets the numerical value Q as the numerical value Q when the extracted numerical value is an odd number, and sets the numerical value Q shifted by 1 when the extracted numerical value is an even number.

次に、制御部15は、公開鍵を構成する数値Nと素数p、qとで整合性があるか否か判定する(ステップS107)。具体的には、公開鍵を構成する数値Nを定義した式(3)が成立するか否か判定する。   Next, the control unit 15 determines whether or not there is consistency between the numerical value N constituting the public key and the prime numbers p and q (step S107). Specifically, it is determined whether or not the formula (3) defining the numerical value N constituting the public key is established.

そして、制御部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 control unit 15 determines that the numerical value N constituting the public key and the prime numbers p and q satisfy the equation (3) and is consistent (step S107; Yes), the numerical value D constituting the secret key. Is generated (step S108). Specifically, in this case, the control unit 15 uses the numerical value E that constitutes the public key and the numerical value L that is the least common multiple of “p−1” and “q−1”, and the conditional expression (2 ) Is calculated based on a predetermined algorithm (preferably the extended Euclid algorithm in pp. 120-121 of Non-Patent Document 1). Thereafter, the control unit 15 uses the secret key (D, N) including the calculated numerical value D to decrypt the data transmitted by being encrypted with the public key from the server sharing the public key (E, N). Perform processing to do.

一方、制御部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 control unit 15 determines that the numerical value N and the prime numbers p and q constituting the public key do not satisfy the equation (3) and is not consistent (step S107; No), the control unit 15 regenerates the prime numbers p and q. Calculation is performed (step S109). For example, the control unit 15 restarts the first prime number determination process to calculate the next prime number p different from the current prime number p, and restarts the second prime number determination process to determine the next prime number q different from the current prime number q. Is calculated. In another example, the control unit 15 determines that there is an abnormality in the reading of the first biological information D1 and the second biological information D2 by the biological information reading unit 20, and performs steps S101 to S106 again, so that the first The biometric information D1 and the second biometric information D2 are read and the prime numbers p and q are calculated again.

(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 control unit 15. The control unit 15 executes the process of the flowchart shown in FIG. 3 in step S103 of FIG.

まず、制御部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 control unit 15 sets the initial value of the candidate value “P1”, which is a candidate for the prime number p and is set to be equal to or greater than the value P, to the value P, and is a candidate for the prime number p and is equal to or less than the value P The initial value of the candidate value “P2” to be set is set to a numerical value P (step S201). Then, the control unit 15 performs an incremental search, which is a process of searching for the prime number p by gradually increasing the candidate value P1 using the first core 22A (step S202). In parallel with step S201, the control unit 15 performs a decremental search, which is a process of searching for the prime number p by gradually reducing the candidate value P2 by the second core 22B (step S203). As described above, the control unit 15 executes the incremental search and the decremental search based on the numerical value P in parallel by the first core 22A and the second core 22B. Thereby, the control part 15 can search the prime number p at high speed.

図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 first core 22A of the control unit 15. The first core 22A of the control unit 15 executes the process of the flowchart shown in FIG. 4 in step S202 of FIG.

まず、第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 first core 22A is a p. It is determined whether or not the candidate value P1 is a prime number using a Miller-Rabin test in 131 (step S205). When the candidate value P1 is a prime number (step S205; Yes), the first core 22A determines whether or not the greatest common divisor between the numerical value E constituting the public key and “P1-1” is 1. (Step S206). That is, when the candidate value P1 is assumed to be a prime number p, the greatest common commitment between “p−1” (= P1-1), which is a divisor of the numerical value L, and the numerical value E in order to satisfy the conditional expression (1). Since the number needs to be 1, the first core 22A performs the determination in step S206. When the greatest common divisor between the numerical value E and “P1-1” is 1 (step S206; Yes), the first core 22A regards the candidate value P1 as a prime number p (step S207). Then, the first core 22A ends the flowchart of FIG. Note that the first core 22A increases the candidate value P1 by 2 and continues the process of the flowchart in preparation for the case where the prime number p is recalculated in step S109 of FIG. May be searched.

一方、数値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 first core 22A determines that the candidate value P1 does not satisfy the condition for the prime number p, and the candidate The value P1 is increased by 2 (step S208). Then, the first core 22A performs the process of step S205 again.

なお、第1コア22Aは、第2コア22Bが後述する図5のフローチャートの実行により素数pとなる候補値P2を検出した場合、図4のフローチャートの処理を強制的に終了してもよい。   Note that the first core 22A may forcibly end the process of the flowchart of FIG. 4 when the second core 22B detects the candidate value P2 that is a prime number p by executing the flowchart of FIG. 5 described later.

図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 second core 22B of the control unit 15. The second core 22B of the control unit 15 executes the process of the flowchart shown in FIG. 5 in step S203 of FIG.

まず、第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 second core 22B is a p. Whether or not the candidate value P2 is a prime number is determined using the Miller-Rabin test at 131 (step S210). When the candidate value P2 is a prime number (step S210; Yes), the second core 22B determines whether the greatest common divisor between the numerical value E constituting the public key and “P2-1” is 1. (Step S211). That is, when the candidate value P2 is assumed to be a prime number p, the greatest common commitment between “p−1” (= P2-1), which is a divisor of the numerical value L, and the numerical value E in order to satisfy the conditional expression (1). Since the number needs to be 1, the second core 22B performs the determination in step S211. When the greatest common divisor between the numerical value E and “P2-1” is 1 (step S211; Yes), the second core 22B regards the candidate value P2 as a prime number p (step S212). Then, the second core 22B ends the flowchart of FIG. Note that the second core 22B reduces the candidate value P2 by 2 and continues the process of the flowchart to prepare for the next candidate for the prime p in preparation for the recalculation of the prime p in step S109 of FIG. You may search.

一方、数値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 second core 22B determines that the candidate value P2 does not satisfy the condition of being a prime number p, and the candidate The value P2 is decreased by 2 (step S213). Then, the second core 22B performs the process of step S210 again.

なお、第2コア22Bは、第1コア22Aが図4のフローチャートに基づき素数pとなる候補値P1を検出した場合、図5のフローチャートの処理を強制的に終了してもよい。   Note that the second core 22B may forcibly end the process of the flowchart of FIG. 5 when the first core 22A detects the candidate value P1 that is a prime number p based on the flowchart of FIG.

(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 control unit 15. The control unit 15 executes the process of the flowchart shown in FIG. 6 in step S106 of FIG.

まず、制御部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 control unit 15 sets the initial value of the candidate value “Q1”, which is a candidate for the prime number q and is set to be equal to or greater than the numerical value Q, to the numerical value Q, and is a candidate for the prime number q and is equal to or less than the numerical value Q. The initial value of the set candidate value “Q2” is set to a numerical value Q (step S301). Then, the control unit 15 performs an incremental search, which is a process of searching for the prime number q by gradually increasing the candidate value Q1 using the first core 22A (step S302). In parallel with step S301, the control unit 15 performs a decremental search, which is a process of searching for the prime number q by gradually reducing the candidate value Q2 by the second core 22B (step S303). As described above, the control unit 15 performs the incremental search and the decremental search based on the numerical value Q in parallel by the first core 22A and the second core 22B. Thereby, the control part 15 can search the prime number q at high speed.

図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 first core 22A of the control unit 15. The first core 22A of the control unit 15 executes the process of the flowchart shown in FIG. 7 in step S302 of FIG.

まず、第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 first core 22A is a p. It is determined whether the candidate value Q1 is a prime number using the Miller-Rabin test at 131 (step S305). When the candidate value Q1 is a prime number (step S305; Yes), the first core 22A determines whether or not the greatest common divisor between the numerical value E constituting the public key and “Q1-1” is 1. (Step S306). That is, assuming that the candidate value Q1 is a prime number q, the greatest common commitment between the numerical value L and “q−1” (= Q1-1), which is a divisor of the numerical value L, satisfies the conditional expression (1). Since the number needs to be 1, the first core 22A performs the determination in step S306. When the greatest common divisor between the numerical value E and “Q1-1” is 1 (step S306; Yes), the first core 22A regards the candidate value Q1 as the prime number q (step S307). Then, the first core 22A ends the flowchart of FIG. Note that the first core 22A increases the candidate value Q1 by 2 and continues the process of the flowchart in preparation for the case where the prime number q is recalculated in step S109 in FIG. May be searched.

一方、数値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 first core 22A determines that the candidate value Q1 does not satisfy the condition for the prime number q, and the candidate The value Q1 is increased by 2 (step S308). Then, the first core 22A performs the process of step S305 again.

なお、第1コア22Aは、第2コア22Bが後述する図8のフローチャートの実行により素数qとなる候補値Q2を検出した場合、図7のフローチャートの処理を強制的に終了してもよい。   The first core 22A may forcibly end the process of the flowchart of FIG. 7 when the second core 22B detects the candidate value Q2 that is a prime number q by executing the flowchart of FIG. 8 described later.

図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 second core 22B of the control unit 15. The second core 22B of the control unit 15 executes the process of the flowchart shown in FIG. 8 in step S303 of FIG.

まず、第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 second core 22B is a p. It is determined whether the candidate value Q2 is a prime number using the Miller-Rabin test at 131 (step S310). Then, when the candidate value Q2 is a prime number (step S310; Yes), the second core 22B determines whether or not the greatest common divisor between the numerical value E constituting the public key and “Q2-1” is 1. (Step S311). That is, when the candidate value Q2 is assumed to be a prime number q, in order to satisfy the conditional expression (1), the greatest common commitment between “q−1” (= Q2-1) that is a divisor of the numerical value L and the numerical value E Since the number needs to be 1, the second core 22B performs the determination in step S311. When the greatest common divisor between the numerical value E and “Q2-1” is 1 (step S311; Yes), the second core 22B regards the candidate value Q2 as a prime number q (step S312). Then, the second core 22B ends the flowchart of FIG. The second core 22B reduces the candidate value Q2 by 2 and continues the process of the flowchart in preparation for the case where the prime number q is recalculated in step S109 of FIG. You may search.

一方、数値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 second core 22B determines that the candidate value Q2 does not satisfy the condition for the prime number q, and the candidate The value Q2 is decreased by 2 (step S313). Then, the second core 22B performs the process of step S310 again.

なお、第2コア22Bは、第1コア22Aが図7のフローチャートに基づき素数qとなる候補値Q1を検出した場合、図8のフローチャートの処理を強制的に終了してもよい。   The second core 22B may forcibly end the process of the flowchart of FIG. 8 when the first core 22A detects the candidate value Q1 that is a prime number q based on the flowchart of FIG.

[暗号鍵生成装置の作用効果]
暗号鍵生成装置100は、生体情報読取部20により読み取った第1生体情報D1及び第2生体情報D2を数値化した数値P及び数値Qを起点として、公開鍵と整合する秘密鍵を構成する数値Dを算出するために必要な素数p、qを探索する。これにより、暗号鍵生成装置100は、秘密鍵を記憶するための耐タンパ性を有する媒体を利用することなく、公開鍵に対応する秘密鍵を好適に生成することができる。
[Operation and effect of encryption key generator]
The encryption key generation device 100 starts with a numerical value P and a numerical value Q obtained by digitizing the first biological information D1 and the second biological information D2 read by the biological information reading unit 20, and is a numerical value constituting a secret key that matches the public key. The prime numbers p and q necessary for calculating D are searched. Thereby, the encryption key generating apparatus 100 can preferably generate a secret key corresponding to the public key without using a tamper-resistant medium for storing the secret key.

[変形例]
次に、上述の実施形態の変形例について説明する。以下の変形例は、組み合わせて上述の実施形態に適用してもよい。
[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 key generation device 100 is necessary for generating an encryption key of an arbitrary public key cryptosystem used for a public key authentication infrastructure other than RSA encryption based on biometric information instead of the prime numbers p and q used for RSA encryption. One or a plurality of prime numbers may be calculated.

この場合であっても、暗号鍵生成装置100は、暗号鍵の生成に必要な素数の個数分だけ、生体情報読取部20から生体情報を読み取り、これらを所定ビットに数値化した情報に基づき、予め公開鍵を作成する。そして、暗号通信時には、暗号鍵生成装置100は、公開鍵の生成時と同一対象の生体情報を生体情報読取部20により利用者から読み取り、読み取った生体情報を所定ビット数の数値に変換する。そして、暗号鍵生成装置100は、変換した数値を起点としてインクリメンタルサーチ及びデクリメンタルサーチを行い、既に生成した公開鍵と整合する秘密鍵を生成するのに必要な素数の探索を行う。   Even in this case, the encryption key generation device 100 reads biometric information from the biometric information reading unit 20 by the number of primes necessary for generating the encryption key, and based on information obtained by digitizing these into predetermined bits. Create a public key in advance. At the time of encrypted communication, the encryption key generating apparatus 100 reads the biometric information of the same target as that at the time of generating the public key from the user by the biometric information reading unit 20, and converts the read biometric information into a numerical value having a predetermined number of bits. Then, the encryption key generation device 100 performs an incremental search and a decremental search using the converted numerical value as a starting point, and searches for a prime number necessary to generate a secret key that matches the already generated public key.

(変形例2)
制御部15は、第1コア22Aと第2コア22Bとを有するマルチコアプロセッサを有していたが、これに代えて、マルチプロセッサを有してもよい。これによっても、制御部15は、好適に、インクリメンタルサーチとデクリメンタルサーチとの並列処理を行うことができる。
(Modification 2)
The control unit 15 has the multi-core processor having the first core 22A and the second core 22B, but may have a multi-processor instead. Also by this, the control part 15 can perform the parallel process of an incremental search and a decremental search suitably.

11…表示部
12…入力部
13…記憶部
14…通信部
15…制御部
100…秘密鍵生成装置
DESCRIPTION OF SYMBOLS 11 ... Display part 12 ... Input part 13 ... Memory | storage part 14 ... Communication part 15 ... Control part 100 ... Secret key generation apparatus

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.
前記素数探索手段は、前記所定ビット数の数値を起点として、当該数値が大きくなる方向に前記素数の探索を行う第1探索処理と、前記所定ビット数の数値を起点として、当該数値が小さくなる方向に前記素数の探索を行う第2探索処理とを行うことを特徴とする請求項1または2に記載の暗号鍵生成装置。   The prime number search means starts with the numerical value of the predetermined number of bits as a starting point, a first search process for searching for the prime number in a direction in which the numerical value increases, and starts with the numerical value of the predetermined number of bits as a starting point. The encryption key generation apparatus according to claim 1, wherein a second search process for searching for the prime number in a direction is performed. 前記素数探索手段は、前記第1探索処理と前記第2探索処理との並列処理を行うことを特徴とする請求項3に記載の暗号鍵生成装置。   4. The encryption key generation apparatus according to claim 3, wherein the prime number search means performs parallel processing of the first search processing and the second search processing. 前記読み取り手段は、前記利用者の異なる2つの生体情報を読み取り、
前記素数探索手段は、前記生体情報の各々に対応する前記所定ビットの数値をそれぞれ基準として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.
請求項1〜5のいずれか一項に記載の暗号鍵生成装置としてコンピュータを機能させることを特徴とするプログラム。   A program that causes a computer to function as the encryption key generation device according to any one of claims 1 to 5.
JP2014064629A 2014-03-26 2014-03-26 encryption key generation device and program Pending JP2015188148A (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (6)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Title
柴田 陽一 ほか: "メカニズムベースPKI−指紋からの秘密鍵動的生成", 情報処理学会論文誌, vol. 第45巻 第8号, JPN6013049687, 15 August 2004 (2004-08-15), JP, pages 1833 - 1844, ISSN: 0003692984 *

Cited By (2)

* Cited by examiner, † Cited by third party
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
EP3096245A1 (en) Retrievable cryptograph processing system and retrievable cryptograph processing method
US10608823B2 (en) Cryptographic primitive for user authentication
JP6821516B2 (en) Computer system, confidential information verification method, and computer
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
JP6451938B2 (en) Ciphertext verification system, method, and program
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
TWI686722B (en) Exponent splitting for cryptographic operations
JP2019208133A (en) Biometric authentication system and biometric authentication method
Liu et al. A novel security key generation method for SRAM PUF based on Fourier analysis
JP2015188148A (en) encryption key generation device and program
Orman Recent parables in cryptography
JP2017182377A (en) Information processing device, control method, and program
Kim et al. Gpu-accelerated password cracking of pdf files
JP2007218997A (en) Prime number generation device, program and method
JP7061083B2 (en) Signature system, signature method and program
CN115580489B (en) Data transmission method, device, equipment and storage medium
JP7021375B2 (en) Computer system, verification method of confidential information, and computer
JP5499976B2 (en) Encryption key analysis method, encryption key analysis device, and encryption key analysis program
KR20190133350A (en) Method for comparing chiphertext based and apparatus for executing the method
CN110417703B (en) Proxy re-signing method, server and terminal equipment
JP5010508B2 (en) Elliptic curve cryptographic operation apparatus, method and program, and elliptic curve cryptographic operation system and method
JP2023023398A (en) Information processor, information processing system, and information processing method

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