JP3626340B2 - Encryptors and encryption key generation method, and prime generating apparatus and prime generation method, - Google Patents

Encryptors and encryption key generation method, and prime generating apparatus and prime generation method, Download PDF

Info

Publication number
JP3626340B2
JP3626340B2 JP34509197A JP34509197A JP3626340B2 JP 3626340 B2 JP3626340 B2 JP 3626340B2 JP 34509197 A JP34509197 A JP 34509197A JP 34509197 A JP34509197 A JP 34509197A JP 3626340 B2 JP3626340 B2 JP 3626340B2
Authority
JP
Japan
Prior art keywords
prime
number
bits
generating
prime number
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
JP34509197A
Other languages
Japanese (ja)
Other versions
JPH10240128A (en
Inventor
智美 堀
信一 川村
淳 新保
Original Assignee
株式会社東芝
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
Priority to JP8-348059 priority Critical
Priority to JP34805996 priority
Application filed by 株式会社東芝 filed Critical 株式会社東芝
Priority to JP34509197A priority patent/JP3626340B2/en
Publication of JPH10240128A publication Critical patent/JPH10240128A/en
Application granted granted Critical
Publication of JP3626340B2 publication Critical patent/JP3626340B2/en
Anticipated expiration legal-status Critical
Application status is Expired - Fee Related legal-status Critical

Links

Images

Description

【0001】 [0001]
【発明の属する技術分野】 BACKGROUND OF THE INVENTION
本発明は、暗号処理、復号処理、認証処理などに用いる暗号鍵を自装置内で生成する暗号装置及び暗号鍵生成方法並びに素数生成装置及び素数生成方法に関する。 The present invention, encryption processing, decryption processing, the encryption device and the encryption key generating method an encryption key used for such authentication process generated by the own device, and to prime generating apparatus and prime generation method.
【0002】 [0002]
【従来の技術】 BACKGROUND OF THE INVENTION
昨今、情報処理の技術が進歩するにつれて情報を電子化して扱うことが通常行なわれるようになってきた。 Recently, it has become as usually carried out dealing with electronic information as information processing technology advances. また、単にデータを電子化するだけでなく、電子貨幣システムや著作権に係る電子化情報の配布システムなど新たなサービスも開発されている。 Further, not only to electronic data, also new services such as distribution systems electronic information according to the electronic money system and copyright has been developed. このような電子化情報を扱う場合に、企業秘密やプライベートなデータ、電子貨幣情報、著作権に係る電子化情報など、特定の者だけが閲覧等可能で、それ以外の者には内容を秘匿したい情報の蓄積や通信などにあたっては、暗号技術が使用される。 When dealing with such electronic information, trade secrets or private data, electronic money information, such as electronic information relating to copyright, only a specific person can be viewed, etc., concealing the contents to any other person etc. in the storage and communication of information to be encryption technique is used.
【0003】 [0003]
例えば、ホストコンピュータ間で暗号通信を行なう場合、送信側では共通鍵あるいは相手の公開鍵でデータを暗号化し、受信側ではこれを共通鍵あるいは自分の秘密鍵で復号することで、特定の鍵情報を持つ者だけが暗号化データを復号可能とすることができる。 For example, when performing encrypted communication between the host computer, the sender encrypts the data with the public key of the common key or other party, on the receiving side by decoding it with the common key or private key for the particular key information only those with a can to permit decrypt the encrypted data. また例えば鍵情報を用いた認証処理により情報の正当性の検証を可能としている。 Thereby making it possible to verify the validity of the information also for example by the authentication processing using the key information.
【0004】 [0004]
ところで、秘密鍵暗号では乱数生成機能が存在するだけで共通鍵の生成を容易に行なうことができる。 Incidentally, it is possible to easily generate a common key only exists random number generation function in a secret key encryption. これに対して、公開鍵暗号の公開鍵及び秘密鍵の生成は、秘密鍵暗号の共通鍵生成ほど簡単な処理ではない。 On the other hand, the generation of the public key and a private key of public key cryptography, not an easy process as the common key generation of secret key encryption. 特に、公開鍵及び秘密鍵を生成するためには、大きなビット長の素数が必要になるため、計算量の増加が避けられない。 In particular, in order to generate a public key and a private key, large prime bit length for the required increase in calculation amount it can not be avoided. この大きなビット長の素数を高速に生成するための方法として、メモリを利用したテーブル処理が存在するが、この場合、非常に多くの素数を記憶しておく必要があり、メモリ資源の限られた暗号装置(例えば処理機能を有するICカードを暗号装置として用いるもの)においてはこのテーブル処理は適切ではないとされてきた。 The prime of large bit length as a method for generating a high speed, but the table processing using the memory is present, in this case, it is necessary to store a very large number of prime numbers, with limited memory resources the table processing in the cryptographic device (e.g. an IC card having a processing function that is used as an encryption device) has been considered not appropriate. このような理由から従来では、公開鍵暗号の公開鍵及び秘密鍵は、通常、パーソナルコンピュータ等の高速なCPUと十分なメモリが存在する環境で生成する必要があった。 In conventional For this reason, public key and private key of the public key encryption it is usually had to be generated in an environment where high-speed CPU and sufficient memory such as a personal computer is present.
【0005】 [0005]
また、各ユーザの公開鍵を管理・公開するセンターが公開鍵及び秘密鍵を生成し、各ユーザに秘密鍵を配送する場合、安全性を考慮した鍵配送メカニズムが必須である。 In addition, the Center to manage and publish the public key of each user generates a public key and a private key, if you want to deliver the secret key to each user, a key delivery mechanism that takes into account the safety is essential. 従って、センターが大量の秘密鍵を配送及び管理することは、かなりの負担であった。 Therefore, it is center to deliver and manage a large number of secret key was a considerable burden.
【0006】 [0006]
また、個々のユーザがパーソナルコンピュータ等で公開鍵及び秘密鍵を生成し、秘密鍵を外部記憶装置に転送及び保持する場合、一時的であっても、パーソナルコンピュータのメモリ上に生成された鍵が存在することになり、それがオンラインの状態ならば、鍵が破壊あるいは改ざんされる可能性がある。 Also, individual users and generate public and private keys in a personal computer or the like, when transferring and holding the private key in the external storage device, even temporarily, key, which is generated in the memory of the personal computer will be present, it if an online state, it is possible that the key is destroyed or tampered with. また、秘密鍵生成機能の誤操作等により既に生成された鍵が破壊あるいは改ざんされる可能性がある。 Further, there is a possibility that a key already generated by the wrong operation of the secret key generation function is destroyed or tampered with. さらに、鍵が破壊あるいは改ざんなどされたことを検出することはできないという問題点もあった。 Furthermore, the key there is also a problem that it is impossible to detect that the destruction or alteration.
【0007】 [0007]
【発明が解決しようとする課題】 [Problems that the Invention is to Solve
従来、素数をもとに暗号鍵(公開鍵、秘密鍵、共通鍵)を生成する場合、大きなビット長の素数を生成する必要があるため、多量のコンピュータ資源を必要とする問題点があった。 Conventionally, the encryption key based on the prime number (public key, private key, a common key) when generating, since it is necessary to generate a prime number of large bit length, there is a problem that requires a large amount of computer resources .
【0008】 [0008]
また、従来、秘密鍵生成機能の再起動により既に生成された鍵が破壊される可能性があるという問題点があった。 Further, conventionally, there is a problem that there is a possibility that a key already generated by the re-activation of the private key generation function is destroyed.
また、従来、鍵が破壊あるいは改ざんなどされたことを検出することはできないという問題点があった。 Further, conventionally, the key there is a problem that it is impossible to detect that the destruction or alteration.
【0009】 [0009]
本発明は、上記事情を考慮してなされたものであり、自装置内でより少ないコンピュータ資源を利用して、暗号鍵生成のもととなる十分な大きさの素数を生成可能な暗号装置及び暗号鍵生成方法を提供することを目的とする。 The present invention has been made in view of these circumstances, the own device by using fewer computer resources, the encryption key generating cryptographic device and capable of generating a prime number large enough to be the original an object of the present invention is to provide an encryption key generation method.
【0010】 [0010]
また、本発明は、暗号鍵を安全に管理可能な暗号装置及び暗号鍵生成方法を提供することを目的とする。 The present invention also aims to provide a securely manage cryptographic device and the encryption key generation how the encryption key. また、本発明は、より少ないコンピュータ資源を利用してより大きい素数を生成可能な素数生成装置及び素数生成方法を提供することを目的とする。 The present invention also aims to provide a product capable prime generating apparatus and prime generation method prime number greater than by using fewer computer resources.
【0011】 [0011]
【課題を解決するための手段】 In order to solve the problems]
本発明(請求項1)は、自装置内で素数をもとに暗号鍵を生成する暗号装置であって、予め定められたnビット以下の値のすべての素数をもとに2nビット以下の第1の素数を生成する第1の素数生成手段と、前記nビット以下のすべての素数および前記第1の素数をもとに2nビットより大きい所定のビット長の第2の素数を生成する第2の素数生成手段と、前記所定のビット長の第2の素数を用いて暗号鍵を生成する暗号鍵生成手段とを備え、前記第2の素数生成手段としては、前記第2の素数の候補N i を前記nビット以下のすべての素数で試行割算し、いずれの素数でも割り切れないとき、所定のa i について第1式のフェルマーテストa i i −1 ≡1(mod N i )の関係を満たすか否かを計算し、第1式の関係を満たすとき、 The present invention (claim 1), own-device to prime at a cryptographic device for generating an encryption key on the basis of the 2n bit less based on all primes predetermined n bits following values the generating the first and the prime generation unit, the second prime number having a predetermined bit length greater than 2n bits based on all prime numbers and the first prime number equal to or less than the n bits to generate a first prime number comprises a second prime number generation unit, an encryption key generating means for generating a cipher key using the second prime number of the predetermined bit length, wherein the second prime number generation means, candidate of the second prime number the n i tried divided by all primes less than the n bits when not divisible in any prime, Fermat test of the first equation for a given a i a i n i -1 ≡1 of (mod n i) It calculates whether satisfy the relationship, when satisfying the first expression of the relationship, 2式の最大公約数gcd(a i ( i −1 ) /F i −1,N i )≠1の関係(但し、F i :第1の素数)を満たすか否かを計算し、第2式の関係を満たすとき、前記素数の候補N i から第2の素数N i を得ることを特徴とする。 Two formulas greatest common divisor gcd (a i (N i -1 ) / F i -1, N i) ≠ 1 relationship (although, F i: a first prime number) whether the calculated satisfies a first when meeting the two formulas relationship, characterized in that the candidate N i of the prime number to obtain a second prime number N i.
【0012】 [0012]
本発明(請求項2)は、自装置内で暗号鍵を生成する暗号装置であって、予め定められたnビット以下のすべての素数を用いて所定の2nビット以下の乱数を素数判定することにより2nビット以下の第1の素数を生成する第1の素数生成手段と、前記第1の素数をもとに該第1の素数より大きい素数候補を生成し、前記nビット以下のすべての素数を少なくとも用いた素数判定により該素数候補が合成数でないと判定された場合には該素数候補を新たな第1の素数とし該新たな第1の素数をもとに該素数候補より大きい新たな素数候補を生成する処理を再帰的に繰り返すとともに、素数候補が合成数であると判定された場合には前記合成数と判定された時点での第1の素数をもとに素数候補を生成し直しあらためて該処理を再帰的に繰り返 The present invention (claim 2) is a cryptographic device for generating an encryption key in the self-device, to primality the following random predetermined 2n bits using all primes less n bits to a predetermined first and prime generation unit generates the first prime greater prime candidate than the first prime on the basis of all primes following the n bits to generate a first prime number of the following 2n-bit by the plain number candidates by primality at least with the a new the plain number greater than the candidate based on the first prime the new and first prime new the plain number candidates if it is determined not to be a composite number of with repeated process of generating prime candidate recursively, if the prime number candidate is determined to be a composite number generates a prime candidate based on the first prime when it is determined that the composite number Repeat fix again the process recursively ことにより、2nビットより大きい所定のビット長の第2の素数を生成する第2の素数生成手段と、前記所定のビット長の素数を用いて暗号鍵を生成する暗号鍵生成手段とを備え、前記第2の素数生成手段による素数判定としては、前記素数候補N i を前記nビット以下のすべての素数で試行割算し、いずれの素数でも割り切れないとき、所定のa i について第1式のフェルマーテストa i i −1 ≡1(mod N i )の関係を満たすか否かを計算し、第1式の関係を満たすとき、第2式の最大公約数gcd(a i ( i −1 ) /F i It allows a cryptographic key generating means for generating a cipher key using the second prime number generating means for generating a second prime predetermined bit length greater than 2n bits, the prime of the predetermined bit length, Examples primality by the second prime generation unit, the prime candidate n i tried divided by all primes less than the n bits when not divisible in any prime, the first equation for a given a i whether satisfies the relationship Fermat test a i N i -1 ≡1 (mod N i) calculates, when satisfying the first expression of the relationship, the second expression of the greatest common divisor gcd (a i (N i - 1) / F i −1,N i )≠1の関係(但し、F i :第1の素数)を満たすか否かを計算し、第2式の関係を満たすとき、該素数候補N i を合成数でないと判定することを特徴とする。 -1, N i) ≠ 1 relationship (although, F i: first prime) to calculate whether meet, when satisfying the second equation of relationship, determined not to be a composite number the plain number candidate N i characterized in that it.
【0013】 [0013]
本発明(請求項3)は、自装置内で暗号鍵を生成する暗号装置であって、予め定められたnビット以下のすべての素数を用いて所定の2nビット以下の乱数を素数判定することにより2nビット以下の第1の素数を生成する第1の素数生成手段と、前記第1の素数生成手段により生成された2nビット以下の第1の素数および前記nビット以下のすべての素数をもとに2nビットより大きい所定のビット長の第2の素数を生成する第2の素数生成手段と、前記第1および第2の素数生成手段を用いて生成された0.4mビットの第2の素数および前記第2の素数をもとに0.5mビットの第3の素数を生成する第3の素数生成手段と、前記第1および第2の素数生成手段を用いて生成された他の0.4mビットの第2の素数、前記第3の素数 The present invention (claim 3) is a cryptographic device for generating an encryption key in the self-device, to primality the following random predetermined 2n bits using all primes less n bits to a predetermined a first prime number generating means for generating a first prime number below 2n bits, the first prime number and the n bits following all primes following 2n-bit generated by the first prime generation means also by Doo and a second prime number generating means for generating a second prime predetermined bit length greater than 2n bits, a second of said first and second 0.4m bits were generated using prime number generating means a third prime generation unit based on prime number and the second prime number to generate a third prime 0.5m bits, other generated using the first and second prime generation unit 0 second prime .4m bits, said third prime 成手段により生成された0.5mビットの第3の素数および前記nビット以下のすべての素数をもとにmビットの第4の素数を生成する第4の素数生成手段と、前記第4の素数生成手段により生成された前記mビットの第4の素数を用いて暗号鍵を生成する暗号鍵生成手段とを備え、前記第2の素数生成手段としては、前記第2の素数の候補N i を前記nビット以下のすべての素数で試行割算し、いずれの素数でも割り切れないとき、所定のa i について第1式のフェルマーテストa i i −1 ≡1(mod N i )の関係を満たすか否かを計算し、第1式の関係を満たすとき、第2式の最大公約数gcd(a i ( i −1 ) /F i −1,N i )≠1の関係(但し、F i :第1の素数)を満たすか否かを計算し、第2式の関係を満たすとき、前 A fourth prime number generating means for generating a fourth prime number of m-bit third prime and all primes following the n bits of 0.5m bits generated based on the formation means, said fourth and a cryptographic key generating means for generating a cipher key using the fourth prime number of the m bits generated by the prime generation unit, as the second prime number generation means, candidate N i of the second prime number the attempts divided by all primes less than the n bits when not divisible in any prime, the relationship Fermat test in the first equation for a given a i a i n i -1 ≡1 (mod n i) whether satisfied calculates, when satisfying the first expression of the relationship, the second expression of the greatest common divisor gcd (a i (N i -1 ) / F i -1, N i) ≠ 1 relationship (although, F i: whether satisfies a first prime number) is calculated, when satisfying the second equation of relationship, before 記素数の候補N i から第2の素数N i を得ることを特徴とする。 Characterized in that the candidate N i of the serial prime obtaining a second prime number N i.
【0016】 [0016]
本発明(請求項 )は、暗号装置内で素数をもとに暗号鍵を生成する暗号鍵生成方法であって、 前記暗号装置内でランダムアクセス可能な不揮発性メモリに格納された素数テーブルに格納された予め定められたnビット以下の値のすべての素数をもとに2nビット以下の第1の素数を生成し、前記不揮発性メモリに格納された素数テーブルに格納された nビット以下のすべての素数および前記第1の素数をもとに2nビットより大きい所定のビット長の第2の素数を生成し、 この第2の素数を生成する際に、前記第2の素数の候補N i を前記nビット以下のすべての素数で試行割算し、いずれの素数でも割り切れないとき、所定のa i について第1式のフェルマーテストa i i −1 ≡1(mod N i )の関係を満たすか否かを計算し、第1 The present invention (claim 4) is an encryption key generation method for generating a cryptographic key based on the prime number within the cryptographic device, the prime table stored in said random access nonvolatile memory in the cryptographic device all primes stored predetermined n bits following values to generate a first prime number of the following 2n-bit basis, the nonvolatile memory is stored with the stored prime table an n-bit following all prime and the first prime number based on generating a second prime predetermined bit length greater than 2n bits, in generating the second prime number, the second prime candidate N i the attempts divided by all primes less than the n bits when not divisible in any prime, the relationship Fermat test in the first equation for a given a i a i n i -1 ≡1 (mod n i) whether it satisfied calculated, first 式の関係を満たすとき、第2式の最大公約数gcd(a i ( i −1 ) /F i When satisfying the equation relationship, the second expression of the greatest common divisor gcd (a i (N i -1 ) / F i −1,N i )≠1の関係(但し、F i :第1の素数)を満たすか否かを計算し、第2式の関係を満たすとき、前記素数の候補N i から第2の素数N i を生成し、前記所定のビット長の第2の素数を用いて前記暗号装置内のコプロセッサにより暗号鍵を生成することを特徴とする。 -1, N i) ≠ 1 relationship (although, F i: whether satisfies a first prime number) is calculated, when satisfying the second equation of the relationship, the second prime number from the candidate N i of the prime number It generates N i, and generates the encryption key by the coprocessor in the encryption device using the second prime number of the predetermined bit length.
【0017】 [0017]
本発明(請求項 )は、暗号装置内で素数をもとに暗号鍵を生成する暗号鍵生成方法であって、 前記暗号装置内でランダムアクセス可能な不揮発性メモリに格納された素数テーブルに格納された予め定められたnビット以下のすべての素数を用いて所定の2nビット以下の乱数を素数判定することにより2nビット以下の第1の素数を生成する第1の素数生成ステップと、前記第1の素数をもとに該第1の素数より大きい素数候補を生成し、前記不揮発性メモリに格納された素数テーブルに格納された nビット以下のすべての素数を少なくとも用いた素数判定により該素数候補が合成数でないと判定された場合には該素数候補を新たな第1の素数とし該新たな第1の素数をもとに該素数候補より大きい新たな素数候補を生成する処理を再帰的 The present invention (claim 5) is a cryptographic key generating method for generating an encryption key based on the prime number within the cryptographic device, the prime table stored in said random access nonvolatile memory in the cryptographic device a first prime number generation step of generating a first prime number of the following 2n-bit by primality the following random predetermined 2n bits using all primes below predetermined n bits stored, the the first prime number based on to produce large prime candidate than the first prime, the said by primality of the non-volatile memory all stored stored in the prime table n bits following the prime least used were recursive processing of generating the plain number candidate is greater than the new prime candidates based on the first prime the new and first prime new the plain number candidate if the prime number candidate is determined not to be a composite number target に繰り返すとともに、素数候補が合成数であると判定された場合には前記第1の素数生成ステップにて合成数と判定された時点での第1の素数をもとに素数候補を生成し直しあらためて該処理を再帰的に繰り返すことにより、2nビットより大きい所定のビット長の第2の素数を生成する第2の素数生成ステップと、前記所定のビット長の素数を用いて前記暗号装置内のコプロセッサにより暗号鍵を生成する暗号鍵生成ステップとを有し、前記第2の素数生成ステップによる素数判定としては、前記素数候補N i を前記nビット以下のすべての素数で試行割算し、いずれの素数でも割り切れないとき、所定のa i について第1式のフェルマーテストa i i −1 ≡1(mod N i )の関係を満たすか否かを計算し、第1式の関係を満たすとき With repeated, if the prime number candidate is determined to be a composite number regenerate the prime candidate based on the first prime when it is determined that the composite number in the first prime generation step by repeating again the process recursively, a second prime number generation step of generating a second prime predetermined bit length greater than 2n bits, using a prime number of said predetermined bit length in the cryptographic device possess an encryption key generating step of generating an encryption key by the coprocessor, as the prime number determination by the second prime generation step, attempts dividing the prime candidate n i in all prime numbers below the n bits, when not divisible in any prime, calculate whether satisfy the Fermat test in the first equation for a given a i a i N i -1 ≡1 (mod N i), satisfy the first equation of relationship when 第2式の最大公約数gcd(a i ( i −1 ) /F i Second expression of the greatest common divisor gcd (a i (N i -1 ) / F i −1,N i )≠1の関係(但し、F i :第1の素数)を満たすか否かを計算し、第2式の関係を満たすとき、該素数候補N i を合成数でないと判定することを特徴とする。 -1, N i) ≠ 1 relationship (although, F i: first prime) to calculate whether meet, when satisfying the second equation of relationship, determined not to be a composite number the plain number candidate N i characterized in that it.
【0018】 [0018]
本発明(請求項 )は、暗号装置内で素数をもとに暗号鍵を生成する暗号鍵生成方法であって、 前記暗号装置内でランダムアクセス可能な不揮発性メモリに格納された素数テーブルに格納された予め定められたnビット以下のすべての素数を用いて所定の2nビット以下の乱数を素数判定することにより2nビット以下の第1の素数を生成する第1の素数生成ステップと、前記第1の素数生成ステップにて生成された2nビット以下の第1の素数および前記不揮発性メモリに格納された素数テーブルに格納された nビット以下のすべての素数をもとに2nビットより大きい所定のビット長の第2の素数を生成する第2の素数生成ステップと、前記第1および第2の素数生成ステップにより生成された0.4mビットの第2の素数および前記第 The present invention (Claim 6) is an encryption key generation method for generating a cryptographic key based on the prime number within the cryptographic device, the prime table stored in said random access nonvolatile memory in the cryptographic device a first prime number generation step of generating a first prime number of the following 2n-bit by primality the following random predetermined 2n bits using all primes below predetermined n bits stored, the first prime generation follows the generated 2n bits at step first prime and the predetermined greater than 2n-bit non-volatile memory all stored stored in the prime table n bits following the prime based a second prime number generation step of generating a second prime number bit length, second prime 0.4m bits generated by the first and second prime generation step and the second 2の素数をもとに前記暗号装置内のコプロセッサにより 0.5mビットの第3の素数を生成する第3の素数生成ステップと、前記第1および第2の素数生成ステップにより生成された他の0.4mビットの第2の素数、前記第3の素数生成ステップにより生成された0.5mビットの第3の素数および前記不揮発性メモリに格納された素数テーブルに格納された nビット以下のすべての素数をもとにmビットの第4の素数を生成する第4の素数生成ステップと、前記第4の素数生成ステップにて生成された前記mビットの第4の素数を用いて前記コプロセッサにより暗号鍵を生成する暗号鍵生成ステップとを有し、前記第2の素数生成ステップとしては、前記第2の素数の候補N i を前記nビット以下のすべての素数で試行割算し、いずれの The co-processor in the encryption device 2 prime numbers to the original and a third prime number generation step of generating a third prime 0.5m bits, other generated by the first and second prime number generation step the second of 0.4m bit prime number, the third third of 0.5m bits generated by the prime number generation step prime and the nonvolatile memory is stored with the stored prime table an n-bit following based on all of the prime numbers and the fourth prime number generation step of generating a fourth prime number of m bits, said co using the fourth prime number of the m bits generated by the fourth prime number generation step possess an encryption key generating step of generating a cryptographic key by a processor, as the second prime number generation step, attempts dividing the candidate n i of the second prime at all primes following the n bits, one of the 数でも割り切れないとき、所定のa i について第1式のフェルマーテストa i i −1 ≡1(mod N i )の関係を満たすか否かを計算し、第1式の関係を満たすとき、第2式の最大公約数gcd(a i ( i −1 ) /F i −1,N i )≠1の関係(但し、F i :第1の素数)を満たすか否かを計算し、第2式の関係を満たすとき、前記素数の候補N i から第2の素数N i を得ることを特徴とする。 When not divisible even number, calculate whether satisfying the relationship Fermat test in the first equation for a given a i a i N i -1 ≡1 (mod N i), when satisfying the first expression of the relationship, second expression of the greatest common divisor gcd (a i (N i -1 ) / F i -1, N i) ≠ 1 relationship (although, F i: a first prime number) whether the calculated meet, when satisfying the second equation of relationship, characterized in that the candidate N i of the prime number to obtain a second prime number N i.
【0021】 [0021]
本発明(請求項 )は、予め定められたnビット以下の値のすべての素数をもとに2nビット以下の素数を生成する第1の素数生成手段と、前記nビット以下のすべての素数および前記2nビット以下の素数をもとに2nビットより大きい前記所定のビット長の素数を生成する第2の素数生成手段とを備え、前記第2の素数生成手段としては、前記第2の素数の候補N i を前記nビット以下のすべての素数で試行割算し、いずれの素数でも割り切れないとき、所定のa i について第1式のフェルマーテストa i i −1 ≡1(mod N i )の関係を満たすか否かを計算し、第1式の関係を満たすとき、第2式の最大公約数gcd(a i ( i −1 ) /F i −1,N i )≠1の関係(但し、F i :第1の素数)を満たすか否かを計算し、第2式 The present invention (Claim 7), the first and prime generation unit, all primes following the n bits to generate all 2n bits following prime based on the prime number of predetermined n bits following values and a second prime number generating means for generating a prime number of 2n bits is greater than said predetermined bit length on the basis of the 2n bits following prime, as the second prime number generation means, the second prime number the candidate n i tried divided by all primes less than the n bits when not divisible in any prime, Fermat test of the first equation for a given a i a i n i -1 ≡1 (mod n i whether satisfies the relation calculated in), when satisfying the first expression of the relationship, the second expression of the greatest common divisor gcd (a i (N i -1 ) / F i -1, N i) of ≠ 1 relationship (however, F i: a first prime number) whether meet calculates, second equation 関係を満たすとき、前記素数の候補N i から第2の素数N i を得ることを特徴とする。 When satisfying the relationship, characterized in that the candidate N i of the prime number to obtain a second prime number N i.
【0022】 [0022]
本発明(請求項 )は、予め定められたnビット以下のすべての素数を用いて所定の2nビット以下の乱数を素数判定することにより2nビット以下の第1の素数を生成する第1の素数生成手段と、前記第1の素数をもとに該第1の素数より大きい素数候補を生成し、前記nビット以下のすべての素数を少なくとも用いた素数判定により該素数候補が合成数でないと判定された場合には該素数候補を新たな第1の素数とし該新たな第1の素数をもとに該素数候補より大きい新たな素数候補を生成する処理を再帰的に繰り返すとともに、素数候補が合成数であると判定された場合には前記合成数と判定された時点での第1の素数をもとに素数候補を生成し直しあらためて該処理を再帰的に繰り返すことにより、2nビットより大きい所定のビッ The present invention (Claim 8), the first for generating a first prime number of the following 2n-bit by primality the following random predetermined 2n bits using all primes less n bits to a predetermined a prime generation unit, wherein to produce large prime candidate than the first prime first prime the basis, if the n bits following the plain number candidate by using at least primality were all primes is not a composite number with repeated recursively processing of generating based on the plain number candidate is greater than the new prime candidate to first prime the new and first prime new the plain number candidates if it is determined, the prime candidate by but repeating the first prime generated back again the processing prime candidates on the basis of when it is determined that the composite number recursively if it is determined that the composite number, than 2n bits big predetermined bit ト長の第2の素数を生成する第2の素数生成手段とを備え、前記第2の素数生成手段による素数判定としては、前記素数候補N i を前記nビット以下のすべての素数で試行割算し、いずれの素数でも割り切れないとき、所定のa i について第1式のフェルマーテストa i i −1 ≡1(mod N i )の関係を満たすか否かを計算し、第1式の関係を満たすとき、第2式の最大公約数gcd(a i ( i −1 ) /F i −1,N i )≠1の関係(但し、F i :第1の素数)を満たすか否かを計算し、第2式の関係を満たすとき、該素数候補N i を合成数でないと判定することを特徴とする。 And a second prime number generating means for generating a second prime bets length, wherein the primality by the second prime generation unit, attempts split the prime candidate N i in all prime numbers below the n bits calculated and, when not divisible in any prime, calculate whether satisfying the relationship for a given a i first equation Fermat test a i N i -1 ≡1 (mod N i), the first equation when satisfying the relation, the second expression of the greatest common divisor gcd (a i (N i -1 ) / F i -1, N i) ≠ 1 relationship (although, F i: a first prime number) or not meet or a calculated, when satisfying the second equation of relationship, and wherein the determining is not a composite number the plain number candidate N i.
【0023】 [0023]
本発明(請求項 )は、予め定められたnビット以下のすべての素数を用いて所定の2nビット以下の乱数を素数判定することにより2nビット以下の第1の素数を生成する第1の素数生成手段と、前記第1の素数生成手段により生成された2nビット以下の第1の素数および前記nビット以下のすべての素数をもとに2nビットより大きい所定のビット長の第2の素数を生成する第2の素数生成手段と、前記第1および第2の素数生成手段を用いて生成された0.4mビットの第2の素数および前記第2の素数をもとに0.5mビットの第3の素数を生成する第3の素数生成手段と、前記第1および第2の素数生成手段を用いて生成された他の0.4mビットの第2の素数、前記第3の素数生成手段により生成された0.5mビットの第3 The present invention (Claim 9), the first for generating a first prime number of the following 2n-bit by primality the following random predetermined 2n bits using all primes less n bits to a predetermined a prime generation unit, the first prime number generating means of the following 2n bits produced by the first prime number and the second prime number having a predetermined bit length greater than 2n bits based on all primes following the n bits 0.5m bit and the second prime number generating means for generating, based on the second prime number and the second prime 0.4m bits generated using the first and second prime generation means a third prime generation means for generating a third prime, the first and second second prime other 0.4m bits generated using the prime number generation means, said third prime generation third 0.5m bits generated by means の素数および前記nビット以下のすべての素数をもとにmビットの第4の素数を生成する第4の素数生成手段とを備え、前記第2の素数生成手段としては、前記第2の素数の候補N i を前記nビット以下のすべての素数で試行割算し、いずれの素数でも割り切れないとき、所定のa i について第1式のフェルマーテストa i i −1 ≡1(mod N i )の関係を満たすか否かを計算し、第1式の関係を満たすとき、第2式の最大公約数gcd(a i ( i −1 ) /F i −1,N i )≠1の関係(但し、F i :第1の素数)を満たすか否かを計算し、第2式の関係を満たすとき、前記素数の候補N i から第2の素数N i を得ることを特徴とする。 And a fourth prime number generating means for generating a prime number and the fourth prime number of m bits on the basis of all primes following the n bits, wherein the second prime number generation means, the second prime number the candidate n i tried divided by all primes less than the n bits when not divisible in any prime, Fermat test of the first equation for a given a i a i n i -1 ≡1 (mod n i whether satisfies the relation calculated in), when satisfying the first expression of the relationship, the second expression of the greatest common divisor gcd (a i (N i -1 ) / F i -1, N i) of ≠ 1 relationship (however, F i: a first prime number) whether the calculated meet, when satisfying the second equation of relationship, characterized in that the candidate N i of the prime number to obtain a second prime number N i .
【0024】 [0024]
本発明(請求項10 )は、 暗号装置内でランダムアクセス可能な不揮発性メモリに格納された素数テーブルに格納された予め定められたnビット以下の値のすべての素数をもとに2nビット以下の第1の素数を生成し、前記不揮発性メモリに格納された素数テーブルに格納された nビット以下のすべての素数および前記2nビット以下の素数をもとに2nビットより大きい前記所定のビット長の素数を生成し、この第2の素数を生成する際に、前記第2の素数の候補N i を前記nビット以下のすべての素数で試行割算し、いずれの素数でも割り切れないとき、所定のa i について第1式のフェルマーテストa i i −1 ≡1(mod N i )の関係を満たすか否かを計算し、第1式の関係を満たすとき、第2式の最大公約数gcd(a i ( i The present invention (claim 10), 2n bits or less based on all primes randomly accessible predetermined n bits following the value stored in the stored prime table in non-volatile memory in the cryptographic device the first prime number to generate said non-volatile memory all stored stored in the prime table n bits following the prime and the 2n-bit greater than said predetermined bit length 2n bits the following prime number based on the prime generates, when generating the second prime number, the candidate n i of the second prime attempts divided by all primes less than the n bits when not divisible in any prime, predetermined About a i first equation Fermat test a i N i -1 ≡1 whether satisfy the relationship of (mod N i) calculates, when satisfying the first expression of the relationship, the greatest common divisor of the second equation gcd (a i (N i ) /F i 1) / F i −1,N i )≠1の関係(但し、F i :第1の素数)を満たすか否かを計算し、第2式の関係を満たすとき、前記素数の候補N i から第2の素数N i を生成することを特徴とする。 -1, N i) ≠ 1 relationship (although, F i: whether satisfies a first prime number) is calculated, when satisfying the second equation of the relationship, the second prime number from the candidate N i of the prime number and generating an N i.
【0025】 [0025]
本発明(請求項11 )は、 暗号装置内でランダムアクセス可能な不揮発性メモリに格納された素数テーブルに格納された予め定められたnビット以下のすべての素数を用いて所定の2nビット以下の乱数を素数判定することにより2nビット以下の第1の素数を生成する第1の素数生成ステップと、前記第1の素数をもとに該第1の素数より大きい素数候補を生成し、前記不揮発性メモリに格納された素数テーブルに格納された nビット以下のすべての素数を少なくとも用いた素数判定により該素数候補が合成数でないと判定された場合には該素数候補を新たな第1の素数とし該新たな第1の素数をもとに該素数候補より大きい新たな素数候補を生成する処理を再帰的に繰り返すとともに、素数候補が合成数であると判定された場合には前記 The present invention (Claim 11), the cryptographic device within a randomly accessible all the n bits following the predetermined stored in prime table stored in the nonvolatile memory prime below predetermined 2n bits using a first prime number generation step of generating a first prime number of the following 2n-bit by primality a random number, said to produce large prime candidate than the first prime first prime on the basis of the non first prime new the plain number candidates when the plain number candidate by using at least primality were all primes less n bits stored in the prime table stored in sexual memory is determined not to be a composite number and then with repeated recursively processing of generating the plain number candidate is greater than the new prime candidates based on the first prime the new, the if the prime number candidate is determined to be a composite number 第1の素数生成ステップにて合成数と判定された時点での第1の素数をもとに素数候補を生成し直しあらためて該処理を再帰的に繰り返すことにより、2nビットより大きい所定のビット長の第2の素数を生成する第2の素数生成ステップとを有し、前記第2の素数生成ステップによる素数判定としては、前記素数候補N i を前記nビット以下のすべての素数で試行割算し、いずれの素数でも割り切れないとき、所定のa i について第1式のフェルマーテストa i i −1 ≡1(mod N i )の関係を満たすか否かを計算し、第1式の関係を満たすとき、第2式の最大公約数gcd(a i ( i −1 ) /F i By repeating the first produced back again the processing prime candidates based on the prime number at the time it is determined that the composite number in the first prime generation step recursively, predetermined bit length greater than 2n bits second prime have a second prime number generation step of generating, as the prime number determination by the second prime generation step, attempts dividing the prime candidate n i in all prime numbers below the n-bit and, when not divisible in any prime, calculate whether satisfy the Fermat test in the first equation for a given a i a i N i -1 ≡1 (mod N i), the first equation of relationship when satisfying the second equation of the greatest common divisor gcd (a i (N i -1 ) / F i −1,N i )≠1の関係(但し、F i :第1の素数)を満たすか否かを計算し、第2式の関係を満たすとき、該素数候補N i を合成数でないと判定することを特徴とする。 -1, N i) ≠ 1 relationship (although, F i: first prime) to calculate whether meet, when satisfying the second equation of relationship, determined not to be a composite number the plain number candidate N i characterized in that it.
【0026】 [0026]
本発明(請求項12 )は、 暗号装置内でランダムアクセス可能な不揮発性メモリに格納された素数テーブルに格納された予め定められたnビット以下のすべての素数を用いて所定の2nビット以下の乱数を素数判定することにより2nビット以下の第1の素数を生成する第1の素数生成ステップと、前記第1の素数生成ステップにて生成された2nビット以下の第1の素数および前記不揮発性メモリに格納された素数テーブルに格納された nビット以下のすべての素数をもとに2nビットより大きい所定のビット長の第2の素数を生成する第2の素数生成ステップと、前記第1および第2の素数生成ステップにより生成された0.4mビットの第2の素数および前記第2の素数をもとに前記暗号装置内のコプロセッサにより 0.5mビットの The present invention (Claim 12), the cryptographic device within a randomly accessible all the n bits following the predetermined stored in prime table stored in the nonvolatile memory prime below predetermined 2n bits using first and prime generation step, the first prime number and the nonvolatile following 2n-bit generated by the first prime number generation step of generating a first prime number of the following 2n-bit by primality random numbers a second prime number generation step of generating a second prime predetermined bit length greater than 2n bits based on all primes have been the n bits following storage prime table stored in the memory, the first and the co-processor in the encryption device the second prime number and the second prime 0.4m bits produced by the second prime number generation step based on the 0.5m bits 第3の素数を生成する第3の素数生成ステップと、前記第1および第2の素数生成ステップにより生成された他の0.4mビットの第2の素数、前記第3の素数生成ステップにより生成された0.5mビットの第3の素数および前記不揮発性メモリに格納された素数テーブルに格納された nビット以下のすべての素数をもとにmビットの第4の素数を生成する第4の素数生成ステップとを有し、前記第2の素数生成ステップとしては、前記第2の素数の候補N i を前記nビット以下のすべての素数で試行割算し、いずれの素数でも割り切れないとき、所定のa i について第1式のフェルマーテストa i i −1 ≡1(mod N i )の関係を満たすか否かを計算し、第1式の関係を満たすとき、第2式の最大公約数gcd(a i ( i −1 ) Generated by the third and prime generation step, the first and second prime second prime other 0.4m bits generated by the generating step, said third prime number generation step of generating a third prime been 0.5m third bit prime and the non-volatile memory every n bits following stored in the stored prime table prime based fourth generating a fourth prime number of m bits possess a prime number generation step, as the second prime number generation step, a candidate n i of the second prime attempts divided by all primes less than the n bits when not divisible in any prime, whether satisfy the Fermat test first equation a i N i -1 ≡1 (mod N i) is calculated for a given a i, when satisfying the first expression of the relationship, the maximum common divisor of the second equation number gcd (a i (N i -1 ) / i −1,N i )≠1の関係(但し、F i :第1の素数)を満たすか否かを計算し、第2式の関係を満たすとき、前記素数の候補N i から第2の素数N i を得ることを特徴とする。 i -1, N i) ≠ 1 relationship (although, F i: first prime) to calculate whether meet, when satisfying the second equation of the relationship, the second from the candidate N i of the prime number wherein the obtaining a prime number N i.
【0027】 [0027]
本発明(請求項13 )は、 暗号装置のコンピュータに、 前記暗号装置内でランダムアクセス可能な不揮発性メモリに格納された素数テーブルに格納された予め定められたnビット以下の値のすべての素数をもとに2nビット以下の第1の素数を生成する手順と、前記不揮発性メモリに格納された素数テーブルに格納された nビット以下のすべての素数および前記第1の素数をもとに2nビットより大きい所定のビット長の第2の素数を生成する手順を実行させるためのプログラムであって、前記第2の素数を生成する手順としては、前記第2の素数の候補N i を前記nビット以下のすべての素数で試行割算し、いずれの素数でも割り切れないとき、所定のa i について第1式のフェルマーテストa i i −1 ≡1(mod N i )の関係を満た The present invention (Claim 13), the computer of the cryptographic device, all primes the cryptographic device within a randomly accessible predetermined n bits following the value stored in the stored prime table in non-volatile memory a step of generating a first prime number of the following 2n-bit on the basis of the 2n stored in prime table stored in the nonvolatile memory the n bits all of the following prime and the first prime number based on a program for executing the steps of generating a second prime predetermined bit length larger than the bit, as the procedure for generating a second prime number, said candidate n i of the second prime number n attempts divided by all of the following prime number bit when not divisible in any prime, satisfy the relationship of the first equation Fermat test for a given a i a i N i -1 ≡1 (mod N i) すか否かを計算し、第1式の関係を満たすとき、第2式の最大公約数gcd(a i ( i −1 ) /F i −1,N i )≠1の関係(但し、F i :第1の素数)を満たすか否かを計算し、第2式の関係を満たすとき、前記素数の候補N i から第2の素数N i を得る手順を含むプログラムを記録したコンピュータ読取り可能な記録媒体を要旨とする。 Calculated or carded whether, when satisfying the first expression of the relationship, the second expression of the greatest common divisor gcd (a i (N i -1 ) / F i -1, N i) ≠ 1 relationship (although, F i: whether satisfies a first prime number) is calculated, when satisfying the second equation relation, computer-readable recording a program including a procedure for obtaining a second prime number N i of candidates N i of the prime number and gist Do recording medium.
【0028】 [0028]
本発明(請求項14 )は、 暗号装置のコンピュータに、 前記暗号装置内でランダムアクセス可能な不揮発性メモリに格納された素数テーブルに格納された予め定められたnビット以下のすべての素数を用いて所定の2nビット以下の乱数を素数判定することにより2nビット以下の第1の素数を生成する第1の素数生成ステップと、前記第1の素数をもとに該第1の素数より大きい素数候補を生成し、前記不揮発性メモリに格納された素数テーブルに格納された nビット以下のすべての素数を少なくとも用いた素数判定により該素数候補が合成数でないと判定された場合には該素数候補を新たな第1の素数とし該新たな第1の素数をもとに該素数候補より大きい新たな素数候補を生成する処理を再帰的に繰り返すとともに、素数候補が合成数 The present invention (Claim 14), the computer of the cryptographic device, using all primes n bits below a predetermined stored in prime table stored in the random access nonvolatile memory within the cryptographic device larger prime number than the first and prime generation step, the first of the first prime number based on the prime number to generate a first prime number of the following 2n-bit by primality the following random numbers given 2n bits Te generates a candidate, the the plain number candidate if the plain number candidate is determined not to be a composite number by at least using primality were all primes less n bits stored in the prime table stored in non-volatile memory with repeated recursively processing for generating based on the plain number candidate is greater than the new prime candidate as a new first prime the new first prime prime candidate composite number であると判定された場合には前記第1の素数生成ステップにて合成数と判定された時点での第1の素数をもとに素数候補を生成し直しあらためて該処理を再帰的に繰り返すことにより、2nビットより大きい所定のビット長の第2の素数を生成する第2の素数生成ステップとを実行させるためのプログラムであって、前記第2の素数生成ステップとしては、前記素数候補N i を前記nビット以下のすべての素数で試行割算し、いずれの素数でも割り切れないとき、所定のa i について第1式のフェルマーテストa i i −1 ≡1(mod N i )の関係を満たすか否かを計算し、第1式の関係を満たすとき、第2式の最大公約数gcd(a i ( i −1 ) /F i −1,N i )≠1の関係(但し、F i :第1の素数)を満たすか否かを計算し、第 Recursively repeating that the first prime generated back again the processing prime candidates on the basis of when it is determined that composite number in the first prime generation step when it is determined that the Accordingly, a program for executing a second prime number generation step of generating a second prime predetermined bit length greater than 2n bits, as the second prime number generation step, the prime candidate N i the attempts divided by all primes less than the n bits when not divisible in any prime, the relationship Fermat test in the first equation for a given a i a i n i -1 ≡1 (mod n i) whether satisfied calculates, when satisfying the first expression of the relationship, the second expression of the greatest common divisor gcd (a i (N i -1 ) / F i -1, N i) ≠ 1 relationship (although, F i: whether the calculated satisfies a first prime number), the 式の関係を満たすとき、前記素数の候補N i から第2の素数N i を得るステップを含むプログラムを実行させるためのプログラムを記録したコンピュータ読取り可能な記録媒体を要旨とする。 When satisfying the equation relationship, and gist a computer-readable recording medium recording a program for executing a program including a step of obtaining a second prime number N i of candidates N i of the prime number.
【0029】 [0029]
本発明(請求項15 )は、 暗号装置のコンピュータに、 前記暗号装置内でランダムアクセス可能な不揮発性メモリに格納された素数テーブルに格納された予め定められたnビット以下のすべての素数を用いて所定の2nビット以下の乱数を素数判定することにより2nビット以下の第1の素数を生成する第1の素数生成ステップと、前記第1の素数生成ステップにて生成された2nビット以下の第1の素数および前記不揮発性メモリに格納された素数テーブルに格納された nビット以下のすべての素数をもとに2nビットより大きい所定のビット長の第2の素数を生成する第2の素数生成ステップと、前記第1および第2の素数生成ステップにより生成された0.4mビットの第2の素数および前記第2の素数をもとに前記暗号装置内のコプ The present invention (Claim 15), the computer of the cryptographic device, using all primes n bits below a predetermined stored in prime table stored in the random access nonvolatile memory within the cryptographic device a first prime number generation step of generating a first prime number of the following 2n-bit by primality predetermined 2n bits following random Te, the following 2n-bit generated by the first prime generation step generating a second prime number to generate a second prime number having a predetermined bit length greater than 2n bits 1 prime and all primes following the n bits stored in the prime table stored in the nonvolatile memory based on steps and, the first and second prime generation second 0.4m bits generated by the steps of primes and Kopu in said encryption device based on the second prime number ロセッサにより 0.5mビットの第3の素数を生成する第3の素数生成ステップと、前記第1および第2の素数生成ステップにより生成された他の0.4mビットの第2の素数、前記第3の素数生成ステップにより生成された0.5mビットの第3の素数および前記不揮発性メモリに格納された素数テーブルに格納された nビット以下のすべての素数をもとにmビットの第4の素数を生成する第4の素数生成ステップとを実行させるためのプログラムであって、前記第2の素数生成ステップとしては、前記第2の素数の候補N i を前記nビット以下のすべての素数で試行割算し、いずれの素数でも割り切れないとき、所定のa i について第1式のフェルマーテストa i i −1 ≡1(mod N i )の関係を満たすか否かを計算し、第1式の関 Third prime number generation step, the first and second prime second prime other 0.4m bits generated by the generating step of generating a third prime 0.5m bits by processors, the first 3 prime generating step third of 0.5m bits generated by prime and the non-volatile memory all stored stored in the prime table n bits following the prime on the basis of the fourth m-bit a program for executing the fourth prime number generation step of generating a prime number, as the second prime number generation step, a candidate n i of the second prime at all primes following the n bits attempted division, when not divisible in any prime, calculate whether satisfying the relationship for a given a i first equation Fermat test a i N i -1 ≡1 (mod N i), first expression of Seki を満たすとき、第2式の最大公約数gcd(a i ( i −1 ) /F i −1,N i )≠1の関係(但し、F i :第1の素数)を満たすか否かを計算し、第2式の関係を満たすとき、前記素数の候補N i から第2の素数N i を得るステップを含むプログラムを記録したコンピュータ読取り可能な記録媒体を要旨とする、好ましくは、前記プログラムはコンピュータに生成された前記素数を用いて暗号鍵を生成させる手順を含むものであるようにしてもよい。 When satisfying the second equation of the greatest common divisor gcd (a i (N i -1 ) / F i -1, N i) ≠ 1 relationship (although, F i: a first prime number) whether they meet the the calculated, when satisfying the second equation of relationship is summarized as computer-readable recording medium recording a program including a step of obtaining a second prime number N i of candidates N i of the prime number, preferably, the program may be those including the steps of generating an encryption key by using the prime number that is generated in the computer.
【0030】 [0030]
好ましくは、前記プログラムはコンピュータに生成された前記暗号鍵を用いて暗号化対象となるデータを暗号化させる手順を含むものであるようにしてもよい。 Preferably, the program may be the data to be encrypted using the encryption key generated in the computer as those including procedures for encrypting.
【0033】 [0033]
なお、以上の装置に係る発明は方法に係る発明としても成立し、方法に係る発明は装置に係る発明としても成立する。 Incidentally, the invention according to the above apparatus also an invention relating to the method, the invention according to the methods also an invention relating to the apparatus.
また、装置または方法に係る本発明は、コンピュータに当該発明に相当する手順を実行させるための(あるいはコンピュータを当該発明に相当する手段として機能させるための、あるいはコンピュータに当該発明に相当する機能を実現させるための)プログラムを記録したコンピュータ読取り可能な記録媒体としても成立する。 Further, the invention according to the apparatus or method, for the functioning of the (or a computer for executing a procedure corresponding to the invention in a computer as a means corresponding to the invention, or a function corresponding to the invention in a computer the order of) program for implementing also established as a computer-readable recording medium.
【0034】 [0034]
本発明(請求項1、2、3、 4、5、6、7〜12 )において、nビットは好ましくは2の倍数である。 In the present invention (Claim 1,2,3, 4,5,6,7~12), n bits are preferably multiples of 2. 例えばnビット=256=2 8の場合、256以下の素数は全部で53個である。 For example, in the case of n-bit = 256 = 2 8, 256 following primes are 53 in total. また、所定のビット長は、例えば256ビットあるいは384ビットである。 The predetermined bit length, for example, 256 bits or 384 bits. また、mは、例えば256あるいは384である。 Further, m is, for example, 256 or 384.
【0035】 [0035]
また、第2〜第4の素数生成では、前記nビット以下のすべての素数を用いる素数判定(エラトステネスのふるい)の次に少なくともフェルマーテストを行なうのが好ましい。 Further, in the second to fourth prime generation is preferably conducted at least Fermat test in the following primality using all primes following the n bits (Sieve of Eratosthenes).
【0036】 [0036]
また、好ましくは、前記暗号装置や前記素数生成装置は、プログラム記憶手段、プログラムを実行する演算手段、データの読み出し及び書き込み可能なメモリ手段及び外部との通信を行なう手段を備えても良い。 Also, preferably, the encryption device and the prime number generation device, a program storage means, arithmetic means for executing a program, may be provided with a means for communicating with the read and writable memory means and external data.
【0037】 [0037]
また、前記暗号装置や前記素数生成装置は、例えばパーソナルコンピュータで実現することができる。 Further, the encryption device and the prime number generation device, for example can be realized by a personal computer. あるいはICカードで実現することもできる。 Or it may be realized in the IC card. 本発明(請求項1、2、3、 )によれば、確定的素数判定方法と、第1の素数を素数判定するときに用いる(第1の素数) 1/2以下の素数を格納した素数テーブルとを組合わせることによって、暗号装置のメモリ容量に対応したサイズのテーブルを利用することが可能になる。 According to the present invention (claim 1, 2, 3, 4), stored and deterministic primality testing methods, the first prime number used when primality (the first prime number) 1/2 or less of primes by combining the prime table, it is possible to use a table size corresponding to the memory capacity of the cryptographic device.
【0038】 [0038]
したがって、豊富なメモリを持つパーソナルコンピュータのような暗号装置でなく、メモリ容量が限定されている暗号装置(例えばICカード)であっても装置上に容易に鍵(例えば公開鍵暗号における公開鍵及び秘密鍵)の生成機能を実装することが可能になる。 Therefore, instead of the cryptographic device such as a personal computer with extensive memory, the public key in easily key (e.g. public key encryption on even device a cipher memory capacity is limited device (e.g. an IC card) and it is possible to implement the function of generating a secret key).
【0039】 [0039]
また、扱うデータ量が少ないので、高速に鍵を生成することができる。 Also, treat the data amount is small, it is possible to generate a key at high speed.
また、確定的素数判定方法を用いるので、確実に素数を得ることができ、安全な鍵を得ることができる。 Further, since the use of deterministic primality methods, it can be obtained reliably prime, it is possible to obtain a secure key.
【0040】 [0040]
また、装置に鍵生成機能を持たせることにより、鍵に対する安全性を向上させ、鍵の管理を容易にすることができる。 Further, by providing the key generation function in the apparatus, to improve the security against the key, it is possible to facilitate the management of keys.
また、個々の暗号装置内で鍵を生成し、暗号装置内で暗号処理及び復号処理を行なうならば、鍵は決して暗号装置外に出ることがないので、鍵に対する高い安全性を保つことができる。 Also generates a key in the individual cryptographic device, if performing encryption processing and decryption processing in the encryption apparatus, the key is never to exit out of the cryptographic device, it is possible to maintain high security against key .
【0041】 [0041]
また、公開鍵暗号において、個々の暗号装置が秘密鍵および公開鍵を生成することにより、鍵を管理するセンターは、個々の暗号装置に対し鍵生成及び配送をする必要がなくなり、鍵生成及び管理に伴う処理の負担が軽減される。 Further, the public key cryptography, by individual encryption device generates a secret key and a public key, a center for managing a key, it is not necessary to the key generation and delivery to the individual encryption device, key generation and management the burden of processing is reduced due to the.
【0042】 [0042]
本発明(請求項7〜12 )によれば、確定的素数判定方法と、第1の素数を素数判定するときに用いる(第1の素数) 1/2以下の素数を格納した素数テーブルとを組合わせることによって、装置のメモリ容量に対応したサイズのテーブルを利用することが可能になる。 According to the present invention (Claim 7 to 12), a deterministic primality testing methods, and a prime table where the first prime number and stores the (first prime) 1/2 or less of the prime number used when primality by combining, it is possible to use a table size corresponding to the memory capacity of the device.
【0043】 [0043]
したがって、豊富なメモリを持つパーソナルコンピュータのような装置でなく、メモリ容量が限定されている装置(例えばICカード)であっても装置上に容易に素数生成機能を実装することが可能になる。 Therefore, not a device such as a personal computer with extensive memory, be a device memory capacity is limited (e.g., IC card) it is possible to easily implement the prime generation function on the device.
【0044】 [0044]
また、扱うデータ量が少ないので、高速に素数を生成することができる。 Further, since the small amount of data to be handled, it is possible to generate a prime fast. また、確定的素数判定方法を用いるので、確実に素数を得ることができる Further, since the use of deterministic primality methods, it can be obtained reliably prime.
【0047】 [0047]
【発明の実施の形態】 DETAILED DESCRIPTION OF THE INVENTION
以下、図面を参照しながら発明の実施の形態を説明する。 Hereinafter, an embodiment of the invention with reference to the drawings.
図1は、本発明の一実施形態に係る暗号装置の構成を示す図である。 Figure 1 is a diagram showing a configuration of a cryptographic device according to an embodiment of the present invention.
本実施形態の暗号装置1は、CPU2、プログラム記憶部3、演算部4、乱数生成部5、ランダムアクセス可能な不揮発メモリ6、不揮発性メモリ7、アドレス及びデータバス8を備えている。 Cryptographic apparatus 1 of this embodiment includes CPU 2, the program storage unit 3, operation section 4, the random number generator 5, a random accessible non-volatile memory 6, non-volatile memory 7, the address and data bus 8.
【0048】 [0048]
本実施形態では、プログラム記憶部3に格納されたプログラムをCPU2で実行する形で各機能を実現するものとしている。 In the present embodiment, it is assumed that realizing the functions the program stored in the program storage unit 3 in the form of running on CPU 2. このプログラムは、素数生成のためのサブプログラムと鍵生成のためのサブプログラムとを少なくとも含む。 This program includes at least a sub-program for the sub-program and key generation for prime generation. なお、素数生成のためのサブプログラムと、鍵生成のためのサブプログラムとを独立実施することも可能である。 Incidentally, a sub-program for prime generation, it is also possible to independently implement the sub-program for the key generation.
【0049】 [0049]
また、本実施形態では、処理速度を上げるために所定の演算については演算部4を利用する。 Further, in the present embodiment, the predetermined calculation in order to increase the processing speed using the calculation unit 4. 演算部4には、例えばコプロセッサを用いる。 The arithmetic unit 4, using, for example, co-processor. ただし、演算部4を設けなくても構わない。 However, it may be omitted arithmetic unit 4.
【0050】 [0050]
また、図1では、乱数生成部5を明に示しているが、乱数生成部5は独立のハードウェアで実現しても良いし、プログラムとCPU2で実現しても良い。 Further, FIG. 1 shows a random number generator 5 to Ming, to the random number generation unit 5 may be realized by separate hardware, program and may be realized by CPU 2. 本実施形態では、後者であるとする。 In the present embodiment, and the latter. なお、乱数は外部の装置から入力するようにしても構わない。 Incidentally, the random number may be inputted from an external device.
【0051】 [0051]
プログラム記憶部3は、例えばROMである。 The program storage unit 3 is, for example, a ROM.
なお、プログラム(本実施形態を実現するための手順を含むプログラム)を外部から(例えば、記録媒体から読み込んでもしくはネットワークを介して取得して)インストールする構成を採用することも可能である。 The program (the program that includes a procedure for implementing the present embodiment) from the outside (for example, acquire and via the Loading or network from a recording medium), it is also possible to adopt a structure to be installed. このような場合、プログラム記憶部3には、例えばEEPROMもしくはRAMもしくはハードディスク装置などを用いることができる。 In such a case, the program storage unit 3, can be used, for example EEPROM or RAM or a hard disk drive.
【0052】 [0052]
ランダムアクセス可能な不揮発性メモリ6は、例えばRAMである。 Randomly accessible nonvolatile memory 6 is, for example, a RAM. このメモリ6には、計算に必要なデータや計算途中のデータなどを格納する。 This memory 6, including storing data and calculation data during required for the calculation.
不揮発性メモリ7は、例えばEEPROMである。 Nonvolatile memory 7 is, for example, EEPROM. このメモリ7には、生成された鍵などを格納する。 This memory 7 stores, for example, generated key.
【0053】 [0053]
また、暗号装置1は、図示しない所望のインタフェースを介して外部からデータを入力し、また外部にデータを出力する。 The encryption apparatus 1 inputs the data from the outside via the desired interface (not shown), and outputs data to the outside. このインタフェースは、例えば、ユーザインタフェース、通信インタフェースなど、種々のものが考えられる。 This interface, for example, a user interface, such as communication interface, considered various ones. 例えば、暗号装置1がICカードである場合、所定の通信インタフェースを介して外部の計算機とデータの受け渡しを行なう。 For example, if the encryption device 1 is an IC card, it performs the transfer of external computer and data through a predetermined communication interface.
【0054】 [0054]
そして、暗号装置1、所望の暗号機能、すなわち例えばこのインタフェースを介して入力されたデータに対して暗号化あるいは復号化などの処理を行ない、あるいはデータの認証処理を行ない、また外部の表示装置、通信回線あるいは記憶装置に対して、入力されたデータあるいは処理したデータなどを出力する機能を有するものとする。 Then, the encryption device 1, the desired encryption function, that is, for example performs processing such as encryption or decoding on the inputted data via the interface, or performs authentication processing of the data, also external display device, the communication line or storage device, and has a function of outputting the like input data or processed data. この機能は、例えばプログラムにより実現する。 This feature, for example, realized by a program. また、この機能をサブプログラムとして上記の素数生成のためのサブプログラムと鍵生成のためのサブプログラムとを含むプログラムに組み込んで実施することも可能である。 It is also possible to implement include this feature in a program including the sub-program for the sub-program and key generation for the prime generation as a subprogram.
【0055】 [0055]
ところで、本実施形態では、素数判定に用いる素数を格納した素数テーブルを用いる。 Incidentally, in the present embodiment, a prime number table storing primes used for primality. この素数テーブルは、ランダムアクセス可能な不揮発性メモリ6に格納する。 The prime table is stored in the random access nonvolatile memory 6. ここでは、始めにワードサイズの2倍のビット長の素数を生成し、その素数を基にそれより大きい所定のサイズの素数を生成することを前提として、素数テーブルにはワードサイズ以下の素数を格納しておくものとする。 Here, to generate a prime number twice the bit length of the beginning word size, as intended to produce prime number larger predetermined size than based on the prime number, the following prime word size prime table it is assumed to be stored. 例えば、ワードサイズが8ビットである場合、256以下のすべての素数(53個の素数)を格納しておく。 For example, if the word size is 8 bits, storing 256 following all primes (53 primes).
【0056】 [0056]
図2に、公開鍵及び秘密鍵生成に用いる素数を生成する素数生成処理のフローチャートを示す。 Figure 2 shows a flow chart of a prime number generating process for generating a prime number used in the public and private keys generated.
処理1:まず、乱数生成部5においてワードサイズの2倍のビット長の奇数をランダムに生成する(ステップS1)。 Process 1: First, randomly generating odd 2 times the bit length of the word size in the random number generator 5 (step S1).
【0057】 [0057]
処理2:生成された奇数について、素数テーブルに格納されているワードサイズ以下の素数を用いて演算部4において試行割算(エラトステネスのふるい)を行なう(ステップS2)。 Process 2: produced odd, performing trial division (Sieve of Eratosthenes) in the arithmetic unit 4 using the following prime word size stored in the prime table (step S2).
【0058】 [0058]
処理3:生成された奇数が素数テーブル内の全ての素数で割り切れない場合、この奇数を素数と判定し、F に代入する。 Process 3: If the odd generated is not divisible by all prime in prime table, determines the odd prime, is substituted into F 0. 素数テーブル内のいずれかの素数で割り切れた場合、処理1に戻る(ステップS3)。 If divisible by any prime number in the prime table, the process returns to 1 (step S3).
【0059】 [0059]
処理4:以下の処理ループのためのパラメータi=0とする(ステップS4)。 Process 4: a parameter i = 0 for the following processing loop (step S4).
処理5:素数F を基に、乱数生成部5において、R <F を満たす乱数R を生成し(ステップS5)、N =2R +1で表される素数候補N を作る(ステップS6)。 Process 5: Based on the prime number F i, the random number generation unit 5, R i <F i to generate a random number R i satisfying (step S5), N i = 2R i F prime i represented by +1 candidate N i the make (step S6).
【0060】 [0060]
処理6:素数候補N に対し、素数判定の前処理として、素数テーブルに格納されている素数を用いて演算部4において試行割算を行なう(ステップS7)。 Process 6: to prime candidate N i, as a pretreatment for primality, performing trial division in the calculation unit 4 using the prime number stored in the prime table (step S7). 処理7:素数候補N が、素数テーブル内のいずれかの素数で割り切れた場合、素数候補N は合成数であると判定し、処理5に戻る(ステップS8)。 Processing 7: prime candidate N i is, when divided by any prime in prime table prime candidate N i is determined to be a composite number, the process returns to 5 (step S8). そして、F の値はそのままで、乱数生成部5においてR (R <F )を生成し直し、新しい素数候補N を生成する。 Then, the value of F i is intact, the random number generation unit 5 regenerates the R i (R i <F i ), to produce a new prime candidate N i.
【0061】 [0061]
処理8:素数候補N について、所定のa について、式(1)を満たすかどうか演算部4において計算する(フェルマーテスト)(ステップS9)。 Processing 8: For prime candidate N i, for a given a i, calculating the arithmetic unit 4 whether it satisfies the formula (1) (the Fermat test) (step S9). 満たさない場合、処理5に戻る(ステップS10)。 If not satisfied, the process returns to 5 (step S10).
【0062】 [0062]
【数1】 [Number 1]
【0063】 [0063]
処理9:素数候補N について、所定のa について、式(2)を満たすかどうか演算部4において計算する(ステップS11)。 Processing 9: The prime candidate N i, for a given a i, calculating the arithmetic unit 4 whether it satisfies the formula (2) (step S11). 満たさない場合、処理5に戻る(ステップS12)。 If not satisfied, the process returns to 5 (step S12).
【0064】 [0064]
【数2】 [Number 2]
【0065】 [0065]
処理10:素数候補N が所定のビットサイズに達していないならば、F =N 、i+=1(iを1増加)とし(ステップS13,S14)、処理5に戻る。 Processing 10: If prime candidate N i has not reached a predetermined bit size, F i = N i, i + = 1 and (i increased 1) (step S13, S14), the process returns to 5. 素数候補N が所定のビット長に達するように、R のビット長を増加(R <F )させることで調整する。 As prime candidate N i reaches a predetermined bit length is adjusted by increasing the bit length of R i (R i <F i ).
【0066】 [0066]
処理11:以上のようにして、素数候補N が所定のビットサイズに達したならば、素数N を得る。 Treatment 11: As described above, if prime candidate N i has reached a predetermined bit size, obtaining a prime number N i.
上記の処理8と処理9においては、a =2を用いるのが好ましい。 In the above processing 8 the process 9, preferable to use a i = 2. 上記の試行割算では、ワードサイズ以下の素数を含む前記素数テーブルを使用するが、F 以下の素数による試行割算を前処理として施すことで、殆どの合成数を除去することが可能である。 In the above trial division, but using the prime number table including the following prime word size, by performing trial division by F 0 following prime as a pretreatment, it can remove most number of synthetic is there. よって、素数判定にかける素数候補が絞られることにより、効率良く素数判定を行なうことができる。 Therefore, by prime candidates applied to the primality is narrowed, it is possible to perform efficiently primality.
【0067】 [0067]
また、上記の判定式では、a =2という小さな底の計算で処理するので計算が容易となる。 In the above determination formulas, it is easy to calculate because the processing in the calculation of the small base of a i = 2. 通常、底a は、2だけではなく、小さな素数から順に用いて素数判定処理を行なうが、a をこのように変化させなくても支障はない。 Usually, the bottom a i is not only 2, but carried out from a small prime number primality process sequentially with, there is no problem even without changing the a i in this manner. それは、a =2のときに、素数候補が素数であるにもかかわらず、素数ではないと判定されるケースは非常に小さいからである。 It is when a i = 2, even though the prime candidate is a prime number, case is determined not to be a prime number is very small.
【0068】 [0068]
よって、効率性と実用性を備えた底として、a =2を用いる。 Therefore, the bottom with efficiency and practicality, using a i = 2. 上記の処理11までの実行で、求められた素数のビットサイズがnビットとすると、(素数−1)にn/2ビット程度の素数を持たせることができる。 In execution until the above process 11, the bit size of the obtained prime to n bits, it is possible to have a prime number of about n / 2 bits to (prime -1). これにより、素因数分解法の一手法であるp−1法を回避できる。 This prevents the p-1 method is one technique of factoring method.
【0069】 [0069]
さらにp+1法に対処するためには、(素数+1)にも大きなビットサイズの素数を持たせる必要がある。 To further address the p + 1 method, it is necessary to provide a prime number larger bit size to (prime +1). 図2の処理を用いて素数を生成し、図3の処理でp±1法に対処できる素数を生成する。 To generate a prime number using the processing of FIG. 2, to generate a prime number that can deal with p ± 1 method in the process of FIG.
【0070】 [0070]
処理12:まず、図2の処理を用いて0.4nビットの素数(s,t)を生成する(ステップS21,S22)。 Processing 12: first generates a 0.4n bit prime (s, t) using the processing of FIG. 2 (step S21, S22).
処理13:0.5nビットの素数候補を、r=2at+1となるように生成する(ステップS23)。 Processing 13: 0.5n bit prime candidate to produce such that r = 2at + 1 (step S23).
【0071】 [0071]
処理14:素数候補に対し、素数判定の前処理として、素数テーブルに格納されている素数を用いて演算部4において試行割算を行なう(ステップS24)。 Processing 14: to prime candidate, as pretreatment primality performs trial division in the calculation unit 4 using the prime number stored in the prime table (step S24). 素数候補が、素数テーブル内のいずれかの素数で割り切れた場合、素数候補Nは合成数であると判定し、a+=1のようにaの値を調整し、処理13に戻る(ステップS25)。 Prime candidates, when divided by any prime in prime table prime candidate N is determined to be a composite number, adjust the value of a as a + = 1, the process returns to 13 (step S25) .
【0072】 [0072]
処理15:素数候補について、式(3)を満たすかどうか演算部4において計算する(ステップS26)。 Process 15: the prime candidate is calculated in the arithmetic unit 4 whether it satisfies the formula (3) (step S26). 満たさない場合、a+=1のようにaの値を調整し、処理13に戻る(ステップS27)。 If not satisfied, then adjust the value of a as a + = 1, the process returns to 13 (step S27).
【0073】 [0073]
【数3】 [Number 3]
【0074】 [0074]
処理16:素数候補について、式(4)を満たすかどうか演算部4において計算する(ステップS28)。 Process 16: the prime candidate is calculated in the arithmetic unit 4 whether it satisfies the formula (4) (step S28). 満たさない場合、a+=1のようにaの値を調整し、処理14に戻る(ステップS29)。 If not satisfied, then adjust the value of a as a + = 1, the process returns to 14 (step S29).
【0075】 [0075]
【数4】 [Number 4]
【0076】 [0076]
処理17:nビットの素数Nを、N=1+2(bs−r −1 (mod s))rとなるように生成し(ステップS30)、上記の処理14の試行割算および判定、処理15の計算および判断、処理16の計算および判断と同じ処理を行なう(ステップS31〜S36)。 Processing 17: n-bit prime number N, N = 1 + 2 ( bs-r -1 (mod s)) produced as a r (step S30), trial division and the determination in the processing 14, the processing 15 calculation and determination, performs the calculations and determines that the same treatment process 16 (step S31 to S36). この試行割算で素数候補Nが合成数と判定された場合およびいずれかの計算で素数判定式が成立しない場合、b+=1のようにbの値を調整し、再度、上記一連の処理を行なう。 If this attempt is divided by the prime candidate N is prime number judgment formula in the calculation of and any case where it is determined that the number of synthesis not satisfied, to adjust the value of b as b + = 1, again, the above-described series of processes carried out.
【0077】 [0077]
処理18:生成した素数Nが所定のビット長を持つならば終了する(ステップS37)。 Process 18: the generated prime N is completed if having a predetermined bit length (step S37). 所定のビット長に達していないならば処理17に戻り、素数候補Nが所定のビット長を持つようにb+=1のようにbの値を調整し素数判定を行なう。 Returning to the process 17 if does not reach the predetermined bit length, prime candidate N is adjusted to primality the value of b as b + = 1 so as to have a predetermined bit length.
【0078】 [0078]
さて、以上のようにして素数を生成したら、次に、これら素数をもとに公開鍵及び秘密鍵を生成する。 Well, if you generate the prime numbers in the manner described above, then, to generate a public key and private key on the basis of these prime numbers. 以下、各暗号方式における公開鍵及び秘密鍵の生成について説明する。 The following describes the generation of public and private keys in each cryptosystem.
【0079】 [0079]
RSA暗号における公開鍵及び秘密鍵の生成に際しては、上記の処理を用いて2個の素数p、qを生成し、n=pqを公開除数とし、ed=1 (mod lcm(p−1,q−1))なるe、dをそれぞれ、秘密べき指数、公開べき指数として用いる(lcmは最小公倍数を表す)。 Upon generation of the public and private keys in RSA cryptosystem, using the above process to generate a two prime numbers p, q, and n = pq as a public divisor, ed = 1 (mod lcm (p-1, q -1)) becomes e, respectively d, secret exponent, is used as the public exponent (lcm represents the least common multiple).
【0080】 [0080]
ラビン暗号における公開鍵及び秘密鍵で用いる素数p、qは、式(5)、式(6)の制限があるので、p、q各々について、上記処理16まで処理した後、処理17の代わりに次の処理17´を行なう。 Prime use a public key and a private key in Rabin encryption p, q has the formula (5), there is a limit of the formula (6), p, for q each, were treated to the process 16, instead of processing 17 carried out the following process 17 '.
【0081】 [0081]
【数5】 [Number 5]
【0082】 [0082]
処理17´:p=2F +1、q=2F +1、(p、qはnビットの素数候補)、F 、F は0.5nビットの素数、R 、R は0.4nビットの乱数である。 Processing 17': p = 2F p R p + 1, q = 2F q R q +1, (p, q is the n-bit prime number candidates), F p, F q is a 0.5n bit prime number, R p, R q is a random number of 0.4n bit. 、R は、処理17の各々(bs−r −1 (mod s))、rに相当する。 F p, R p, each processing 17 (bs-r -1 (mod s)), corresponding to r. とF について、4|F −1、4|F −3を満たすものを探す。 For F p R p and F q R q, 4 | Find satisfies the F q R q -3 | F p R p -1,4. そして、p、qについて、上記の処理14の試行割算および判定、処理15の計算および判断、処理16の計算および判断と同じ処理を行なう(ステップS31〜S36)。 Then, p, for q, trial division and the determination in the process 14, the calculation and determination process 15 performs the same processing as calculation and determination process 16 (step S31 to S36).
【0083】 [0083]
処理17´で生成されたp、qを用いて、n=pqを公開除数とし、ed=1(mod (1/2)・lcm(p−1,q−1))なるe、dをそれぞれ、秘密べき指数、公開べき指数として用いる。 With p, q that was generated in the process 17 ', the n = pq as a public divisor, ed = 1 (mod (1/2) · lcm (p-1, q-1)) becomes e, d respectively , secret exponent, used as the public exponent.
【0084】 [0084]
公開鍵暗号系で用いられるプラム整数m=pqは、素数p、qは、式(7)、式(8)の制限があるので、上記の処理17´におけるF とF について、2|F −1、2|F −1を満たすものを探す。 Plum integer m = pq used in public-key cryptography system, primes p, q of the formula (7), there is a limit of the formula (8), F in the above process 17 'p R p and F q R q for, 2 | Find satisfies the F q R q -1 | F p R p -1,2. そして、p、qについて、上記の処理14の試行割算および判定、処理15の計算および判断、処理16の計算および判断と同じ処理を行なう(ステップS31〜S36)。 Then, p, for q, trial division and the determination in the process 14, the calculation and determination process 15 performs the same processing as calculation and determination process 16 (step S31 to S36).
【0085】 [0085]
【数6】 [6]
【0086】 [0086]
DSAの鍵に必要な素数は、上記の処理17´において、素数候補がp=2R qq´+1となるように素数q´を生成し、p−1に2個の素数を持たせ、素数判定を行なう。 Required for DSA key prime, in the above process 17 ', the prime q'produced as the prime candidate is p = 2R p qq' + 1, to have a two prime numbers p-1, prime a determination is made. これにより、q|p−1を満たすp、qから、g=h (p−1)/q (mod p)>1なるgと乱数xを用いて、y=g (mod p)を算出し、p、q、g、yを公開鍵、xを秘密鍵として用いる。 Calculating p satisfying p-1, the q, with g = h (p-1) / q (mod p)> 1 becomes g and the random number x, y = g x a (mod p) | Thus, q and, p, q, g, public key y, using x as a secret key.
【0087】 [0087]
以上のように本実施形態によれば、確定的素数判定方法と、素数F を素数判定するときに用いる(F 1/2以下の素数を格納した素数テーブルとを組合わせることによって、暗号装置のメモリ容量に対応したサイズのテーブルを利用することが可能になる。 According to the present embodiment as described above, by combining a deterministic primality testing methods, and a prime table storing (F 0) 1/2 or less of the prime number used when primality primes F 0, it is possible to use the size of the table corresponding to the memory capacity of the cryptographic device.
【0088】 [0088]
したがって、豊富なメモリを持つパーソナルコンピュータのような暗号装置でなく、メモリ容量が限定されている暗号装置(例えばICカード)であっても装置上に容易に公開鍵暗号における公開鍵及び秘密鍵の生成機能を実装することが可能になる。 Therefore, instead of the cryptographic device such as a personal computer with extensive memory, the public and private keys in easily public key encryption on even device a cipher memory capacity is limited device (e.g. an IC card) it is possible to implement the generation.
【0089】 [0089]
また、扱うデータ量が少ないので、高速に鍵を生成することができる。 Also, treat the data amount is small, it is possible to generate a key at high speed.
また、確定的素数判定方法を用いるので、確実に素数を得ることができ、安全な鍵を得ることができる。 Further, since the use of deterministic primality methods, it can be obtained reliably prime, it is possible to obtain a secure key.
【0090】 [0090]
また、素因数分解による攻撃に強い鍵を得ることができる。 In addition, it is possible to obtain a strong key to attack by factoring.
また、装置に鍵生成機能を持たせることにより、鍵に対する安全性を向上させ、鍵の管理を容易にすることができる。 Further, by providing the key generation function in the apparatus, to improve the security against the key, it is possible to facilitate the management of keys.
【0091】 [0091]
また、個々の暗号装置内で鍵を生成し、暗号装置内で暗号処理及び復号処理を行なうならば、鍵は決して暗号装置外に出ることがないので、鍵に対する高い安全性を保つことができる。 Also generates a key in the individual cryptographic device, if performing encryption processing and decryption processing in the encryption apparatus, the key is never to exit out of the cryptographic device, it is possible to maintain high security against key .
【0092】 [0092]
なお、前述したように素数テーブルをメモリ6内に設ける代わりに、素数テーブルに相当するものをプログラムの中に作り込むようにしても良い。 Instead of providing the prime table as described above in the memory 6, it may be fabricated the equivalent of a prime number table in the program.
また、本実施形態では、素数をもとに公開鍵暗号における秘密鍵と公開鍵を生成するものについて説明したが、前述した方法で生成した素数をもとに共通鍵を生成しても構わない。 Further, in the present embodiment has been described as to generate a public key and private key in public-key cryptography based on the prime number, may be generated common key based on the prime number generated by the method described above .
【0093】 [0093]
次に、鍵生成プログラムの実行制御について説明する。 Next, a description will be given execution control of the key generation program.
暗号装置1において、鍵生成プログラムが起動され、一旦、鍵が生成されたならば、その鍵は不揮発性メモリ7に格納される。 In the encryption device 1, the key generation program is activated, once the key has been generated, the key is stored in the nonvolatile memory 7. 本実施形態では、それと同時に、同じく不揮発性メモリ7に存在する鍵生成制御ビットを立てるようにする。 In the present embodiment, at the same time, similarly to make a key generation control bits present in the non-volatile memory 7.
【0094】 [0094]
この鍵生成制御ビットにより、鍵生成プログラムの実行を制御する。 The key generation control bits to control the execution of the key generation program. つまり、鍵生成プログラムを実行するのに先だって、鍵生成制御ビットを調べ、鍵生成制御ビットがオフの状態ならば、鍵生成プログラムを実行させ、オンの状態ならば鍵生成プログラムを起動しない。 That is, prior to perform the key generation program, examines the key generation control bits, if the key generation control bit is off, to execute the key generation program, does not start the key generation program if the on state.
【0095】 [0095]
これによって、暗号装置1が生成した鍵に対し、鍵生成プログラムの再起動等により、既に生成された鍵が破壊されることを防ぐことができる。 Thus, with respect to key cryptographic apparatus 1 is generated by restarting the like of the key generation program, key already generated can be prevented from being destroyed.
その他の鍵生成プログラムの実行制御方法として、予め、暗号装置1内に保存されている秘密の認証コードと同一コードが入力されたときのみ鍵生成プログラムを起動する方法も考えられる。 As the execution control method of the other key generation program, advance, also conceivable to start only key generation program when the secret authentication code of the same code stored in the cryptographic device 1 is inputted. この方法は、認証コードをマスクに書き込んでおくかまたは発行時の初期段階で書き込み、後の鍵生成時に同一コードを入力し鍵生成プログラムを起動するものである。 This method is the authentication code written in the early stage of or issue is written into the mask, enter the same code when after key generation activates the key generation program. この鍵生成プログラムの実行制御方法は、既に生成された暗号鍵を変更する場合にも用いることもできる。 Execution control method of the key generation program can also be used to change the already encryption key generated. つまり、正しい認証コードを入力した場合にのみ、鍵生成プログラムが実行可能であり、生成された暗号鍵を不揮発性メモリ7に格納することができる。 That is, only if you enter a correct authentication code, the key generation program is executable, the generated encryption key may be stored in the nonvolatile memory 7.
【0096】 [0096]
次に、図4を参照しながら暗号装置9内に格納されている鍵の検証について説明する。 Next, a description will be given verification key stored in the encryption device 9 with reference to FIG.
まず、鍵が生成されたならば、直ちに、生成された鍵のハッシュ値を計算し、生成された鍵(図中11)と、そのハッシュ値(図中10)とを対応付けて不揮発性メモリ7に保存しておく。 First, if the key has been generated, immediately the generated hash value of the key computed, the generated key (figure 11), non-volatile memory in association with the hash value (Fig. 10) keep to 7.
【0097】 [0097]
しかして、暗号処理や復号処理あるいは認証処理にて鍵を使用する前に、不揮発性メモリ7に格納されている鍵(図中11)のハッシュ値を計算し(図中12)、予め不揮発性メモリ7に保存されていたハッシュ値(図中10)と一致判定部13において比較する。 Thus, before using the key in the encryption processing and the decryption processing or authentication processing, it calculates a hash value of the key (figure 11) stored in the nonvolatile memory 7 (figure 12), previously non-volatile hash value stored in the memory 7 are compared in matching determination section 13 (in FIG. 10). 一致したならば成功を示す制御信号を出力して暗号処理や復号処理の実行を可能とし、一致しないならば、失敗を示す制御信号を出力して暗号処理や復号処理の実行を不可とする。 It outputs a control signal indicating a success if matched to allow the execution of the encryption processing and decoding processing, if not identical, outputs a control signal indicating the failure to disable the execution of the encryption processing and decryption processing.
【0098】 [0098]
そして、制御信号が成功、すなわちハッシュ値の一致を示している場合にのみ、暗号処理を起動し、制御信号が失敗、すなわちハッシュ値の不一致を示している場合には、暗号処理を起動させない。 Then, only when the control signal is successful, that is, the coincidence of the hash value, and starts the encryption process, the control signal fails, i.e. when the identification information indicates a hash value mismatch is not started encryption process.
【0099】 [0099]
このように暗号装置9で生成された鍵を用いて暗号処理や復号処理を行なう際に、格納されている鍵の検証を行なうことによって、何らかの原因で破壊された鍵による暗号処理や復号処理を回避することができる。 In performing this way the encryption processing and decoding processing using the key generated by the encryption device 9, by performing the verification of the key stored, the encryption process and the decryption process with the key that was destroyed for some reason it can be avoided.
【0100】 [0100]
次に、図5を参照しながらユーザ側と公開鍵を管理・公開するセンター側との間でのユーザの鍵の正当性の確認について説明する。 Next, a description will check the validity of the user's key between the center side manages and exposes the user side and a public key with reference to FIG.
暗号装置19で生成された公開鍵及び秘密鍵については、センター17がそれらの正当性を確認する手段が必要である。 The public and private keys generated by the encryption device 19, a means is needed the center 17 to verify their validity. その一手法として、図5に示す方法がある。 As a method thereof, there is a method shown in FIG.
【0101】 [0101]
まず、センター17は、情報処理装置18から、暗号装置19により生成された公開鍵kを受け取る。 First, the center 17, the information processing apparatus 18, receives the public key k generated by the encryption device 19.
次に、センター17は、乱数Rを生成し(図中20)、その乱数Rを暗号装置19により生成された公開鍵kを用いて暗号化し(図中21)、情報処理装置18へ送信する(図中22)。 Next, the center 17 generates a random number R (figure 20), and transmits the random number R is encrypted using the public key k generated by the encryption device 19 (figure 21), to the information processing apparatus 18 (figure 22).
【0102】 [0102]
情報処理装置18は、外部インタフェース30を介して暗号装置19に公開鍵kで暗号化された乱数Rを送信する。 The information processing apparatus 18 transmits the random number R which has been encrypted with the public key k in the encryption device 19 via the external interface 30.
暗号装置19は、その公開鍵kで暗号化された乱数Rを、公開鍵とペアである秘密鍵を用いて復号化する(図中23)。 Cryptographic device 19, the encrypted random number R in the public key k, is decrypted using the private key is a public key paired (figure 23).
【0103】 [0103]
復号化された乱数Rは、暗号装置19から情報処理装置18を介してセンターに送信する(図中25)。 It decrypted random number R is transmitted from the encryptor 19 in the center through the information processing apparatus 18 (FIG. 25).
そして、センター17では、一致判定部26により自ら生成した乱数と暗号装置19から送信された乱数について検証を行なう。 Then, the center 17, the matching determination unit 26 performs the verification of the random number sent from the random number and the encryption device 19 generated by itself.
【0104】 [0104]
一致したならば、暗号装置19はセンター17が所有する公開鍵に対して正当な秘密鍵を保持しているので、センター17は暗号装置19に公開鍵証明書を発行する。 If a match was, because the encryption device 19 holds a valid private key to the public key owned by the center 17, the center 17 issues a public key certificate to the cryptographic device 19.
【0105】 [0105]
このように、個々の暗号装置が秘密鍵および公開鍵を生成することにより、鍵を管理するセンターは、個々の暗号装置に対し鍵生成及び配送をする必要がなくなり、鍵生成及び管理に伴う処理の負担が軽減される。 Thus, by each cryptographic device generates a secret key and a public key, a center for managing a key, it is not necessary to the key generation and delivery to the individual encryptor, processing associated with the key generation and management the burden of is reduced.
【0106】 [0106]
なお、本発明は、コンピュータに所定の手順を実行させるための(あるいはコンピュータを所定の手段として機能させるための、あるいはコンピュータに所定の機能を実現させるための)プログラムを記録したコンピュータ読取り可能な記録媒体として実施することもできる。 The present invention is a computer readable recording having recorded thereon a program (for realizing a predetermined function of, or the computer for the functioning of the or computer as predetermined means) for executing a predetermined procedure on the computer It may also be implemented as a medium.
本発明は、上述した実施の形態に限定されるものではなく、その技術的範囲において種々変形して実施することができる。 The present invention is not intended to be limited to the embodiments described above, it can be modified variously in the scope thereof.
【0107】 [0107]
【発明の効果】 【Effect of the invention】
本発明によれば、予め定められたnビット以下の値のすべての素数をもとに2nビット以下の素数を生成し、この生成された素数をもとに順次大きな素数を生成して所定のビット長の第2の素数生成するので、必要なメモリ容量を少なく済ませることができる。 According to the present invention, all the predetermined n bits following values ​​primes based on produces the following prime number 2n bits, predetermined the generated prime numbers to generate a sequence large prime number based on since generating a second prime number bit length, it is possible to dispense less memory capacity required.
【0108】 [0108]
したがって、メモリ容量が限定されている暗号装置に鍵生成機能を実装することが可能になる。 Therefore, it is possible to implement the key generation function in the cryptographic device memory capacity is limited. また、扱うデータ量が少ないので、高速に鍵を生成することができる。 Also, treat the data amount is small, it is possible to generate a key at high speed.
【0109】 [0109]
また、外部とのやり取りなしに暗号装置内で鍵を生成するので、鍵に対する安全性を向上させることができるとともに、鍵の管理を容易にすることができる。 Further, since generating the key within the cryptographic device without interaction with the outside, it is possible to improve safety for the key, it is possible to facilitate the management of keys. また、本発明によれば、暗号装置内で既に鍵が生成されている場合、再度鍵が生成されないようにするので、既に生成された鍵が新たに生成された鍵で破壊されるようなことを防ぐことができる。 Further, according to the present invention, if already key within the cryptographic device is generated, it as destroyed in so to not be generated again key, key key already generated is newly generated it is possible to prevent.
【0110】 [0110]
また、本発明によれば、暗号装置内で生成された鍵を用いて暗号処理や復号処理を行なう際に、格納されている鍵の検証を行なうことによって、何らかの原因で破壊された鍵による暗号処理や復号処理を回避することができる。 Further, according to the present invention, when performing the encryption process and decryption process using the key generated in the cryptographic device, by performing the verification of keys stored, encrypted with the key that was destroyed for some reason it is possible to avoid the processing and decoding processing.
【図面の簡単な説明】 BRIEF DESCRIPTION OF THE DRAWINGS
【図1】本発明の一実施形態に係る暗号化装置の構成を示す図【図2】同実施形態に係る素数生成手順を示すフローチャート【図3】同実施形態に係る素数生成手順を示すフローチャート【図4】同実施形態に係る暗号装置における鍵検証の一例を示す図【図5】同実施形態に係る鍵の正当性検証の一例を示す図【符号の説明】 Flowchart illustrating a prime generation procedure according to the flow chart Figure 3 the same embodiment showing the prime generation procedure according to Figure 2 shows the same embodiment showing the configuration of the encryption apparatus according to an embodiment of the invention; FIG Figure [eXPLANATION oF sYMBOLS] showing an example of the validity verification of the key according to FIG. 5 shows the same embodiment showing an example of a key verification in encryptor according to Figure 4 the embodiment
1…暗号装置2…CPU 1 ... cryptographic device 2 ... CPU
3…プログラム記憶部4…演算部5…乱数生成部6…ランダムアクセス可能な不揮発メモリ7…不揮発メモリ8…バス9…暗号装置12…ハッシュ値算出部13,26…一致判定部17…センター18…方法処理装置19…暗号装置 3 ... a program storage unit 4 ... arithmetic unit 5 ... random number generator unit 6 ... randomly accessible nonvolatile memory 7 ... nonvolatile memory 8 ... bus 9 ... encryptor 12 ... hash value calculating unit 13, 26 ... matching determining unit 17 ... Center 18 ... method processing device 19 ... cryptographic device

Claims (15)

  1. 自装置内で素数をもとに暗号鍵を生成する暗号装置であって、 A cryptographic device for generating an encryption key based on the prime number within the own device,
    予め定められたnビット以下の値のすべての素数をもとに2nビット以下の第1の素数を生成する第1の素数生成手段と、 A first prime number generating means for generating a first prime number below 2n bits all primes predetermined n bits following values ​​based on,
    前記nビット以下のすべての素数および前記第1の素数をもとに2nビットより大きい所定のビット長の第2の素数を生成する第2の素数生成手段と、 A second prime number generating means for generating a second prime predetermined bit length greater than 2n bits based on all prime numbers and the first prime number equal to or less than the n bits,
    前記所定のビット長の第2の素数を用いて暗号鍵を生成する暗号鍵生成手段とを備え And a cryptographic key generating means for generating a cipher key using the second prime number of the predetermined bit length,
    前記第2の素数生成手段は、 The second prime number generating means,
    前記第2の素数の候補N i を前記nビット以下のすべての素数で試行割算し、いずれの素数でも割り切れないとき、所定のa i について第1式のフェルマーテストa i i −1 ≡1(mod N i )の関係を満たすか否かを計算し、第1式の関係を満たすとき、第2式の最大公約数gcd(a i ( i −1 ) /F i −1,N i )≠1の関係(但し、F i :第1の素数)を満たすか否かを計算し、第2式の関係を満たすとき、前記素数の候補N i から第2の素数N i を得ることを特徴とする暗号装置。 Said candidate N i of the second prime attempts divided by all primes less than the n bits when not divisible in any prime, first equation Fermat test a i N i -1 for a given a i 1 (mod N i) whether to satisfy the relation to calculate the, when satisfying the first expression of the relationship, the second expression of the greatest common divisor gcd (a i (N i -1 ) / F i -1, N i) ≠ 1 relationship (although, F i: whether the calculated satisfies a first prime number), when satisfying the second equation relation, obtaining a second prime number N i of candidates N i of the prime number cryptographic apparatus characterized by.
  2. 自装置内で暗号鍵を生成する暗号装置であって、 A cryptographic device for generating an encryption key in the own device,
    予め定められたnビット以下のすべての素数を用いて所定の2nビット以下の乱数を素数判定することにより2nビット以下の第1の素数を生成する第1の素数生成手段と、 A first prime number generating means for generating a first prime number of the following 2n-bit by primality predetermined 2n bits following numbers using a predetermined n-bit all of the following prime number,
    前記第1の素数をもとに該第1の素数より大きい素数候補を生成し、前記nビット以下のすべての素数を少なくとも用いた素数判定により該素数候補が合成数でないと判定された場合には該素数候補を新たな第1の素数とし該新たな第1の素数をもとに該素数候補より大きい新たな素数候補を生成する処理を再帰的に繰り返すとともに、素数候補が合成数であると判定された場合には前記合成数と判定された時点での第1の素数をもとに素数候補を生成し直しあらためて該処理を再帰的に繰り返すことにより、2nビットより大きい所定のビット長の第2の素数を生成する第2の素数生成手段と、 If the based on the first prime number to generate a larger prime candidate than the first prime, the plain number candidate is determined not to be a composite number by at least using primality were all primes following the n bits with repeats the process of generating based on the plain number candidate is greater than the new prime candidate to first prime the new and first prime new the plain number candidate recursively, the prime candidate is a composite number first by repeating the generated back again the processing prime candidates based on recursively primes, predetermined bit length greater than 2n bits when it is determined that the composite number when it is determined that a second prime number generating means for generating a second prime,
    前記所定のビット長の素数を用いて暗号鍵を生成する暗号鍵生成手段とを備え And a cryptographic key generating means for generating a cipher key using the prime number of the predetermined bit length,
    前記第2の素数生成手段による素数判定は、 Primality by the second prime number generating means,
    前記素数候補N i を前記nビット以下のすべての素数で試行割算し、いずれの素数でも割り切れないとき、所定のa i について第1式のフェルマーテストa i i −1 ≡1(mod N i )の関係を満たすか否かを計算し、第1式の関係を満たすとき、第2式の最大公約数gcd(a i ( i −1 ) /F i The prime candidate N i tried divided by all primes less than the n bits when not divisible in any prime, Fermat test of the first equation for a given a i a i N i -1 ≡1 (mod N whether satisfy the relationship of i) calculates, when satisfying the first expression of the relationship, the second expression of the greatest common divisor gcd (a i (N i -1 ) / F i −1,N i )≠1の関係(但し、F i :第1の素数)を満たすか否かを計算し、第2式の関係を満たすとき、該素数候補N i を合成数でないと判定することを特徴とする暗号装置。 -1, N i) ≠ 1 relationship (although, F i: first prime) to calculate whether meet, when satisfying the second equation of relationship, determined not to be a composite number the plain number candidate N i cryptographic apparatus characterized by.
  3. 自装置内で暗号鍵を生成する暗号装置であって、 A cryptographic device for generating an encryption key in the own device,
    予め定められたnビット以下のすべての素数を用いて所定の2nビット以下の乱数を素数判定することにより2nビット以下の第1の素数を生成する第1の素数生成手段と、 A first prime number generating means for generating a first prime number of the following 2n-bit by primality predetermined 2n bits following numbers using a predetermined n-bit all of the following prime number,
    前記第1の素数生成手段により生成された2nビット以下の第1の素数および前記nビット以下のすべての素数をもとに2nビットより大きい所定のビット長の第2の素数を生成する第2の素数生成手段と、 Second generating a second prime predetermined bit length greater than 2n bits based on the first prime number and all primes following the n bits of the following 2n-bit generated by the first prime generation means and the prime generation means,
    前記第1および第2の素数生成手段を用いて生成された0.4mビットの第2の素数および前記第2の素数をもとに0.5mビットの第3の素数を生成する第3の素数生成手段と、 Third generating a third prime of 0.5m bits based on the second prime number and the second prime 0.4m bits generated using the first and second prime generation means and the prime generation means,
    前記第1および第2の素数生成手段を用いて生成された他の0.4mビットの第2の素数、前記第3の素数生成手段により生成された0.5mビットの第3の素数および前記nビット以下のすべての素数をもとにmビットの第4の素数を生成する第4の素数生成手段と、 Second prime other 0.4m bits generated using the first and second prime generation unit, the third prime and said 0.5m bit generated by said third prime generation means a fourth prime number generating means for generating a fourth prime number of m bits n bits all of the following prime number based on,
    前記第4の素数生成手段により生成された前記mビットの第4の素数を用いて暗号鍵を生成する暗号鍵生成手段とを備え And a cryptographic key generating means for generating a cipher key using the fourth prime number of the m bits generated by the fourth prime number generating means,
    前記第2の素数生成手段は、 The second prime number generating means,
    前記第2の素数の候補N i を前記nビット以下のすべての素数で試行割算し、いずれの素数でも割り切れないとき、所定のa i について第1式のフェルマーテストa i i −1 ≡1(mod N i )の関係を満たすか否かを計算し、第1式の関係を満たすとき、第2式の最大公約数gcd(a i ( i −1 ) /F i −1,N i )≠1の関係(但し、F i :第1の素数)を満たすか否かを計算し、第2式の関係を満たすとき、前記素数の候補N i から第2の素数N i を得ることを特徴とする暗号装置。 Said candidate N i of the second prime attempts divided by all primes less than the n bits when not divisible in any prime, first equation Fermat test a i N i -1 for a given a i 1 (mod N i) whether to satisfy the relation to calculate the, when satisfying the first expression of the relationship, the second expression of the greatest common divisor gcd (a i (N i -1 ) / F i -1, N i) ≠ 1 relationship (although, F i: whether the calculated satisfies a first prime number), when satisfying the second equation relation, obtaining a second prime number N i of candidates N i of the prime number cryptographic apparatus characterized by.
  4. 暗号装置内で素数をもとに暗号鍵を生成する暗号鍵生成方法であって、 An encryption key generation method for generating an encryption key based on the prime numbers in the cryptographic device,
    前記暗号装置内でランダムアクセス可能な不揮発性メモリに格納された素数テーブルに格納された予め定められたnビット以下の値のすべての素数をもとに2nビット以下の第1の素数を生成し、 It said at cryptographic device to generate all first prime following 2n-bit based on the prime number of random accessible predetermined n bits following the value stored in the stored prime table in non-volatile memory ,
    前記不揮発性メモリに格納された素数テーブルに格納された nビット以下のすべての素数および前記第1の素数をもとに2nビットより大きい所定のビット長の第2の素数を生成し、 Said non-volatile memory all stored stored in the prime table n bits following the prime and the first prime number based on generating a second prime predetermined bit length greater than 2n bits,
    この第2の素数を生成する際に、前記第2の素数の候補N i を前記nビット以下のすべての素数で試行割算し、いずれの素数でも割り切れないとき、所定のa i について第1式のフェルマーテストa i i −1 ≡1(mod N i )の関係を満たすか否かを計算し、第1式の関係を満たすとき、第2式の最大公約数gcd(a i ( i −1 ) /F i When generating the second prime number, the candidate N i of the second prime attempts divided by all primes less than the n bits when not divisible in any prime, for a given a i first calculates whether satisfies the relationship Fermat test a i N i -1 ≡1 of formula (mod N i), when satisfying the first expression of the relationship, the second expression of the greatest common divisor gcd (a i (N i -1) / F i −1,N i )≠1の関係(但し、F i :第1の素数)を満たすか否かを計算し、第2式の関係を満たすとき、前記素数の候補N i から第2の素数N i を生成し、 -1, N i) ≠ 1 relationship (although, F i: whether satisfies a first prime number) is calculated, when satisfying the second equation of the relationship, the second prime number from the candidate N i of the prime number to generate the N i,
    前記所定のビット長の第2の素数を用いて前記暗号装置内のコプロセッサにより暗号鍵を生成することを特徴とする暗号鍵生成方法。 Encryption key generating method and generating an encryption key by coprocessor in the cryptographic unit using the second prime number of the predetermined bit length.
  5. 暗号装置内で素数をもとに暗号鍵を生成する暗号鍵生成方法であって、 An encryption key generation method for generating an encryption key based on the prime numbers in the cryptographic device,
    前記暗号装置内でランダムアクセス可能な不揮発性メモリに格納された素数テーブルに格納された予め定められたnビット以下のすべての素数を用いて所定の2nビット以下の乱数を素数判定することにより2nビット以下の第1の素数を生成する第1の素数生成ステップと、 2n by primality the following random predetermined 2n bits using all primes below predetermined n bits stored in the prime table the stored within the cryptographic device on a randomly accessible nonvolatile memory a first prime number generation step of generating a following first prime number bit,
    前記第1の素数をもとに該第1の素数より大きい素数候補を生成し、前記不揮発性メモリに格納された素数テーブルに格納された nビット以下のすべての素数を少なくとも用いた素数判定により該素数候補が合成数でないと判定された場合には該素数候補を新たな第1の素数とし該新たな第1の素数をもとに該素数候補より大きい新たな素数候補を生成する処理を再帰的に繰り返すとともに、素数候補が合成数であると判定された場合には前記第1の素数生成ステップにて合成数と判定された時点での第1の素数をもとに素数候補を生成し直しあらためて該処理を再帰的に繰り返すことにより、2nビットより大きい所定のビット長の第2の素数を生成する第2の素数生成ステップと、 Wherein to produce large prime candidate than the first prime first prime based, at least using primality were all primes following the n bits stored in the prime table stored in non-volatile memory the process of generating the plain number candidate is greater than the new prime candidates based on the first prime the new and first prime new the plain number candidates when the plain number candidate is determined not to be a composite number together recursively repeated, generates a prime candidate based on the first prime when it is determined that the composite number in the first prime generation step when the prime candidate is determined to be a composite number by repeating to re again the process recursively, a second prime number generation step of generating a second prime predetermined bit length greater than 2n bits,
    前記所定のビット長の素数を用いて前記暗号装置内のコプロセッサにより暗号鍵を生成する暗号鍵生成ステップとを有し、 It possesses an encryption key generating step of generating an encryption key by coprocessor within the cryptographic device using prime of the predetermined bit length,
    前記第2の素数生成ステップによる素数判定は、 Primality by the second prime number generation step,
    前記素数候補N i を前記nビット以下のすべての素数で試行割算し、いずれの素数でも割り切れないとき、所定のa i について第1式のフェルマーテストa i i −1 ≡1(mod N i )の関係を満たすか否かを計算し、第1式の関係を満たすとき、第2式の最大公約数gcd(a i ( i −1 ) /F i The prime candidate N i tried divided by all primes less than the n bits when not divisible in any prime, Fermat test of the first equation for a given a i a i N i -1 ≡1 (mod N whether satisfy the relationship of i) calculates, when satisfying the first expression of the relationship, the second expression of the greatest common divisor gcd (a i (N i -1 ) / F i −1,N i )≠1の関係(但し、F i :第1の素数)を満たすか否かを計算し、第2式の関係を満たすとき、該素数候補N i を合成数でないと判定することを特徴とする暗号鍵生成方法。 -1, N i) ≠ 1 relationship (although, F i: first prime) to calculate whether meet, when satisfying the second equation of relationship, determined not to be a composite number the plain number candidate N i encryption key generating method characterized by.
  6. 暗号装置内で素数をもとに暗号鍵を生成する暗号鍵生成方法であって、 An encryption key generation method for generating an encryption key based on the prime numbers in the cryptographic device,
    前記暗号装置内でランダムアクセス可能な不揮発性メモリに格納された素数テーブルに格納された予め定められたnビット以下のすべての素数を用いて所定の2nビット以下の乱数を素数判定することにより2nビット以下の第1の素数を生成する第1の素数生成ステップと、 2n by primality the following random predetermined 2n bits using all primes below predetermined n bits stored in the prime table the stored within the cryptographic device on a randomly accessible nonvolatile memory a first prime number generation step of generating a following first prime number bit,
    前記第1の素数生成ステップにて生成された2nビット以下の第1の素数および前記不揮発性メモリに格納された素数テーブルに格納された nビット以下のすべての素数をもとに2nビットより大きい所定のビット長の第2の素数を生成する第2の素数生成ステップと、 Greater than 2n bits on the basis of the first prime number generation step first below generated 2n bits at prime and the non-volatile memory all stored stored in the prime table n bits following the prime a second prime number generation step of generating a second prime predetermined bit length,
    前記第1および第2の素数生成ステップにより生成された0.4mビットの第2の素数および前記第2の素数をもとに前記暗号装置内のコプロセッサにより 0.5mビットの第3の素数を生成する第3の素数生成ステップと、 A third prime 0.5m bits by the first and second of 0.4m bits generated by the prime number generation step second prime number and the second co-processor in the encryption device based on prime number a third prime number generating step of generating,
    前記第1および第2の素数生成ステップにより生成された他の0.4mビットの第2の素数、前記第3の素数生成ステップにより生成された0.5mビットの第3の素数および前記不揮発性メモリに格納された素数テーブルに格納された nビット以下のすべての素数をもとにmビットの第4の素数を生成する第4の素数生成ステップと、 Second prime other 0.4m bits generated by the first and second prime number generation step, a third prime and the non-volatile 0.5m bit generated by said third prime generation step a fourth prime number generation step of generating a fourth prime number of m bits on the basis of all primes have been the n bits following storage prime table stored in the memory,
    前記第4の素数生成ステップにて生成された前記mビットの第4の素数を用いて前記コプロセッサにより暗号鍵を生成する暗号鍵生成ステップとを有し、 It possesses an encryption key generating step of generating an encryption key by the coprocessor using a fourth prime number of the m bits generated by the fourth prime number generation step,
    前記第2の素数生成ステップは、 The second prime number generation step,
    前記第2の素数の候補N i を前記nビット以下のすべての素数で試行割算し、いずれの素数でも割り切れないとき、所定のa i について第1式のフェルマーテストa i i −1 ≡1(mod N i )の関係を満たすか否かを計算し、第1式の関係を満たすとき、第2式の最大公約数gcd(a i ( i −1 ) /F i −1,N i )≠1の関係(但し、F i :第1の素数)を満たすか否かを計算し、第2式の関係を満たすとき、前記素数の候補N i から第2の素数N i を得ることを特徴とする暗号鍵生成方法。 Said candidate N i of the second prime attempts divided by all primes less than the n bits when not divisible in any prime, first equation Fermat test a i N i -1 for a given a i 1 (mod N i) whether to satisfy the relation to calculate the, when satisfying the first expression of the relationship, the second expression of the greatest common divisor gcd (a i (N i -1 ) / F i -1, N i) ≠ 1 relationship (although, F i: whether the calculated satisfies a first prime number), when satisfying the second equation relation, obtaining a second prime number N i of candidates N i of the prime number encryption key generation method characterized by.
  7. 予め定められたnビット以下の値のすべての素数をもとに2nビット以下の素数を生成する第1の素数生成手段と、 A first prime number generating means for generating the following prime number 2n bits all primes predetermined n bits following values ​​based on,
    前記nビット以下のすべての素数および前記2nビット以下の素数をもとに2nビットより大きい前記所定のビット長の素数を生成する第2の素数生成手段とを備え And a second prime number generating means for generating a prime number of 2n bits is greater than said predetermined bit length based on the all primes and the 2n-bit following primes following the n bits,
    前記第2の素数生成手段は、 The second prime number generating means,
    前記第2の素数の候補N i を前記nビット以下のすべての素数で試行割算し、いずれの素数でも割り切れないとき、所定のa i について第1式のフェルマーテストa i i −1 ≡1(mod N i )の関係を満たすか否かを計算し、第1式の関係を満たすとき、第2式の最大公約数gcd(a i ( i −1 ) /F i −1,N i )≠1の関係(但し、F i :第1の素数)を満たすか否かを計算し、第2式の関係を満たすとき、前記素数の候補N i から第2の素数N i を得ることを特徴とする素数生成装置。 Said candidate N i of the second prime attempts divided by all primes less than the n bits when not divisible in any prime, first equation Fermat test a i N i -1 for a given a i 1 (mod N i) whether to satisfy the relation to calculate the, when satisfying the first expression of the relationship, the second expression of the greatest common divisor gcd (a i (N i -1 ) / F i -1, N i) ≠ 1 relationship (although, F i: whether the calculated satisfies a first prime number), when satisfying the second equation relation, obtaining a second prime number N i of candidates N i of the prime number prime generating apparatus characterized by.
  8. 予め定められたnビット以下のすべての素数を用いて所定の2nビット以下の乱数を素数判定することにより2nビット以下の第1の素数を生成する第1の素数生成手段と、 A first prime number generating means for generating a first prime number of the following 2n-bit by primality predetermined 2n bits following numbers using a predetermined n-bit all of the following prime number,
    前記第1の素数をもとに該第1の素数より大きい素数候補を生成し、前記nビット以下のすべての素数を少なくとも用いた素数判定により該素数候補が合成数でないと判定された場合には該素数候補を新たな第1の素数とし該新たな第1の素数をもとに該素数候補より大きい新たな素数候補を生成する処理を再帰的に繰り返すとともに、素数候補が合成数であると判定された場合には前記合成数と判定された時点での第1の素数をもとに素数候補を生成し直しあらためて該処理を再帰的に繰り返すことにより、2nビットより大きい所定のビット長の第2の素数を生成する第2の素数生成手段とを備え If the based on the first prime number to generate a larger prime candidate than the first prime, the plain number candidate is determined not to be a composite number by at least using primality were all primes following the n bits with repeats the process of generating based on the plain number candidate is greater than the new prime candidate to first prime the new and first prime new the plain number candidate recursively, the prime candidate is a composite number first by repeating the generated back again the processing prime candidates based on recursively primes, predetermined bit length greater than 2n bits when it is determined that the composite number when it is determined that and a second prime number generating means for generating a second prime,
    前記第2の素数生成手段による素数判定は、 Primality by the second prime number generating means,
    前記素数候補N i を前記nビット以下のすべての素数で試行割算し、いずれの素数でも割り切れないとき、所定のa i について第1式のフェルマーテストa i i −1 ≡1(mod N i )の関係を満たすか否かを計算し、第1式の関係を満たすとき、第2式の最大公約数gcd(a i ( i −1 ) /F i −1,N i )≠1の関係(但し、F i :第1の素数)を満たすか否かを計算し、第2式の関係を満たすとき、該素数候補N i を合成数でないと判定 することを特徴とする素数生成装置。 The prime candidate N i tried divided by all primes less than the n bits when not divisible in any prime, Fermat test of the first equation for a given a i a i N i -1 ≡1 (mod N whether satisfy the relationship of i) calculates, when satisfying the first expression of the relationship, the second expression of the greatest common divisor gcd (a i (N i -1 ) / F i -1, N i) ≠ 1 relationship (where, F i: first prime) to calculate whether meet, when satisfying the second equation relation, generating prime and judging not to the number of synthesis the plain number candidate N i apparatus.
  9. 予め定められたnビット以下のすべての素数を用いて所定の2nビット以下の乱数を素数判定することにより2nビット以下の第1の素数を生成する第1の素数生成手段と、 A first prime number generating means for generating a first prime number of the following 2n-bit by primality predetermined 2n bits following numbers using a predetermined n-bit all of the following prime number,
    前記第1の素数生成手段により生成された2nビット以下の第1の素数および前記nビット以下のすべての素数をもとに2nビットより大きい所定のビット長の第2の素数を生成する第2の素数生成手段と、 Second generating a second prime predetermined bit length greater than 2n bits based on the first prime number and all primes following the n bits of the following 2n-bit generated by the first prime generation means and the prime generation means,
    前記第1および第2の素数生成手段を用いて生成された0.4mビットの第2の素数および前記第2の素数をもとに0.5mビットの第3の素数を生成する第3の素数生成手段と、 Third generating a third prime of 0.5m bits based on the second prime number and the second prime 0.4m bits generated using the first and second prime generation means and the prime generation means,
    前記第1および第2の素数生成手段を用いて生成された他の0.4mビットの第2の素数、前記第3の素数生成手段により生成された0.5mビットの第3の素数および前記nビット以下のすべての素数をもとにmビットの第4の素数を生成する第4の素数生成手段とを備え Second prime other 0.4m bits generated using the first and second prime generation unit, the third prime and said 0.5m bit generated by said third prime generation means n bits all of the following prime number and a fourth prime number generating means for generating a fourth prime number of m bits based on,
    前記第2の素数生成手段は、 The second prime number generating means,
    前記第2の素数の候補N i を前記nビット以下のすべての素数で試行割算し、いずれの素数でも割り切れないとき、所定のa i について第1式のフェルマーテストa i i −1 ≡1(mod N i )の関係を満たすか否かを計算し、第1式の関係を満たすとき、第2式の最大公約数gcd(a i ( i −1 ) /F i −1,N i )≠1の関係(但し、F i :第1の素数)を満たすか否かを計算し、第2式の関係を満たすとき、前記素数の候補N i から第2の素数N i を得ることを特徴とする素数生成装置。 Said candidate N i of the second prime attempts divided by all primes less than the n bits when not divisible in any prime, first equation Fermat test a i N i -1 for a given a i 1 (mod N i) whether to satisfy the relation to calculate the, when satisfying the first expression of the relationship, the second expression of the greatest common divisor gcd (a i (N i -1 ) / F i -1, N i) ≠ 1 relationship (although, F i: whether the calculated satisfies a first prime number), when satisfying the second equation relation, obtaining a second prime number N i of candidates N i of the prime number prime generating apparatus characterized by.
  10. 暗号装置内でランダムアクセス可能な不揮発性メモリに格納された素数テーブルに格納された予め定められたnビット以下の値のすべての素数をもとに2nビット以下の第1の素数を生成し、 In the encryption apparatus to generate a first prime number all prime numbers based on the following 2n-bit random access predetermined n bits following the value stored in the stored prime table in the nonvolatile memory,
    前記不揮発性メモリに格納された素数テーブルに格納された nビット以下のすべての素数および前記2nビット以下の素数をもとに2nビットより大きい前記所定のビット長の素数を生成し、 Wherein generating a prime number of 2n bits is greater than said predetermined bit length nonvolatile memory all stored stored in the prime table n bits following the prime and the 2n-bit following prime based,
    この第2の素数を生成する際に、前記第2の素数の候補N i を前記nビット以下のすべての素数で試行割算し、いずれの素数でも割り切れないとき、所定のa i について第1式のフェルマーテストa i i −1 ≡1(mod N i )の関係を満たすか否かを計算し、第1式の関係を満たすとき、第2式の最大公約数gcd(a i ( i −1 ) /F i When generating the second prime number, the candidate N i of the second prime attempts divided by all primes less than the n bits when not divisible in any prime, for a given a i first calculates whether satisfies the relationship Fermat test a i N i -1 ≡1 of formula (mod N i), when satisfying the first expression of the relationship, the second expression of the greatest common divisor gcd (a i (N i -1) / F i −1,N i )≠1の関係(但し、F i :第1の素数)を満たすか否かを計算し、第2式の関係を満たすとき、前記素数の候補N i から第2の素数N i を生成することを特徴とする素数生成方法。 -1, N i) ≠ 1 relationship (although, F i: whether satisfies a first prime number) is calculated, when satisfying the second equation of the relationship, the second prime number from the candidate N i of the prime number prime generation method characterized by generating a N i.
  11. 暗号装置内でランダムアクセス可能な不揮発性メモリに格納された素数テーブルに格納された予め定められたnビット以下のすべての素数を用いて所定の2nビット以下の乱数を素数判定することにより2nビット以下の第1の素数を生成する第1の素数生成ステップと、 2n bit by primality the following random predetermined 2n bits using all primes predetermined n bits following stored on a randomly accessible prime table stored in non-volatile memory in the cryptographic device a first prime number generation step of generating a following first prime number,
    前記第1の素数をもとに該第1の素数より大きい素数候補を生成し、前記不揮発性メモリに格納された素数テーブルに格納された nビット以下のすべての素数を少なくとも用いた素数判定により該素数候補が合成数でないと判定された場合には該素数候補を新たな第1の素数とし該新たな第1の素数をもとに該素数候補より大きい新たな素数候補を生成する処理を再帰的に繰り返すとともに、素数候補が合成数であると判定された場合には前記第1の素数生成ステップにて合成数と判定された時点での第1の素数をもとに素数候補を生成し直しあらためて該処理を再帰的に繰り返すことにより、2nビットより大きい所定のビット長の第2の素数を生成する第2の素数生成ステップとを有し、 Wherein to produce large prime candidate than the first prime first prime based, at least using primality were all primes following the n bits stored in the prime table stored in non-volatile memory the process of generating the plain number candidate is greater than the new prime candidates based on the first prime the new and first prime new the plain number candidates when the plain number candidate is determined not to be a composite number together recursively repeated, generates a prime candidate based on the first prime when it is determined that the composite number in the first prime generation step when the prime candidate is determined to be a composite number by again repeating the process recursively re, have a second prime number generation step of generating a second prime predetermined bit length greater than 2n bits,
    前記第2の素数生成ステップによる素数判定は、 Primality by the second prime number generation step,
    前記素数候補N i を前記nビット以下のすべての素数で試行割算し、いずれの素数でも割り切れないとき、所定のa i について第1式のフェルマーテストa i i −1 ≡1(mo d N i )の関係を満たすか否かを計算し、第1式の関係を満たすとき、第2式の最大公約数gcd(a i ( i −1 ) /F i The prime candidate N i tried divided by all primes less than the n bits when not divisible in any prime, Fermat test of the first equation for a given a i a i N i -1 ≡1 (mo d calculates whether satisfies the relation N i), when satisfying the first expression of the relationship, the second expression of the greatest common divisor gcd (a i (N i -1 ) / F i −1,N i )≠1の関係(但し、F i :第1の素数)を満たすか否かを計算し、第2式の関係を満たすとき、該素数候補N i を合成数でないと判定することを特徴とする素数生成方法。 -1, N i) ≠ 1 relationship (although, F i: first prime) to calculate whether meet, when satisfying the second equation of relationship, determined not to be a composite number the plain number candidate N i prime generation method characterized by.
  12. 暗号装置内でランダムアクセス可能な不揮発性メモリに格納された素数テーブルに格納された予め定められたnビット以下のすべての素数を用いて所定の2nビット以下の乱数を素数判定することにより2nビット以下の第1の素数を生成する第1の素数生成ステップと、 2n bit by primality the following random predetermined 2n bits using all primes predetermined n bits following stored on a randomly accessible prime table stored in non-volatile memory in the cryptographic device a first prime number generation step of generating a following first prime number,
    前記第1の素数生成ステップにて生成された2nビット以下の第1の素数および前記不揮発性メモリに格納された素数テーブルに格納された nビット以下のすべての素数をもとに2nビットより大きい所定のビット長の第2の素数を生成する第2の素数生成ステップと、 Greater than 2n bits on the basis of the first prime number generation step first below generated 2n bits at prime and the non-volatile memory all stored stored in the prime table n bits following the prime a second prime number generation step of generating a second prime predetermined bit length,
    前記第1および第2の素数生成ステップにより生成された0.4mビットの第2の素数および前記第2の素数をもとに前記暗号装置内のコプロセッサにより 0.5mビットの第3の素数を生成する第3の素数生成ステップと、 A third prime 0.5m bits by the first and second of 0.4m bits generated by the prime number generation step second prime number and the second co-processor in the encryption device based on prime number a third prime number generating step of generating,
    前記第1および第2の素数生成ステップにより生成された他の0.4mビットの第2の素数、前記第3の素数生成ステップにより生成された0.5mビットの第3の素数および前記不揮発性メモリに格納された素数テーブルに格納された nビット以下のすべての素数をもとにmビットの第4の素数を生成する第4の素数生成ステップとを有し、 Second prime other 0.4m bits generated by the first and second prime number generation step, a third prime and the non-volatile 0.5m bit generated by said third prime generation step possess a fourth prime number generation step of generating a fourth prime number of m bits on the basis of all primes have been the n bits following storage prime table stored in the memory,
    前記第2の素数生成ステップは、 The second prime number generation step,
    前記第2の素数の候補N i を前記nビット以下のすべての素数で試行割算し、いずれの素数でも割り切れないとき、所定のa i について第1式のフェルマーテストa i i −1 ≡1(mod N i )の関係を満たすか否かを計算し、第1式の関係を満たすとき、第2式の最大公約数gcd(a i ( i −1 ) /F i −1,N i )≠1の関係(但し、F i :第1の素数)を満たすか否かを計算し、第2式の関係を満たすとき、前記素数の候補N i から第2の素数N i を得ることを特徴とする素数生成方法。 Said candidate N i of the second prime attempts divided by all primes less than the n bits when not divisible in any prime, first equation Fermat test a i N i -1 for a given a i 1 (mod N i) whether to satisfy the relation to calculate the, when satisfying the first expression of the relationship, the second expression of the greatest common divisor gcd (a i (N i -1 ) / F i -1, N i) ≠ 1 relationship (although, F i: whether the calculated satisfies a first prime number), when satisfying the second equation relation, obtaining a second prime number N i of candidates N i of the prime number prime generation method characterized by.
  13. 暗号装置のコンピュータに、 前記暗号装置内でランダムアクセス可能な不揮発性メモリに格納された素数テーブルに格納された予め定められたnビット以下の値のすべての素数をもとに2nビット以下の第1の素数を生成する手順と、前記不揮発性メモリに格納された素数テーブルに格納された nビット以下のすべての素数および前記第1の素数をもとに2nビットより大きい所定のビット長の第2の素数を生成する手順を実行させるためのプログラムであって、前記第2の素数を生成する手順としては、前記第2の素数の候補N i を前記nビット以下のすべての素数で試行割算し、いずれの素数でも割り切れないとき、所定のa i について第1式のフェルマーテストa i i −1 ≡1(mod N i )の関係を満たすか否かを計算し、第1式 The computer of the cryptographic device, the following 2n-bit based on all primes the cryptographic device within a randomly accessible predetermined n bits following the value stored in the stored prime table in non-volatile memory a step of generating a prime number, the said non-volatile memory all stored stored in the prime table n bits following the prime and the first predetermined bit length greater than 2n bits based on prime number a program for executing the steps of generating a second prime number, as the procedure for generating a second prime number, attempts split candidates n i of the second prime at all primes following the n bits calculated and, when not divisible in any prime, calculate whether satisfying the relationship for a given a i first equation Fermat test a i N i -1 ≡1 (mod N i), the first equation 関係を満たすとき、第2式の最大公約数gcd(a i ( i −1 ) /F i −1,N i )≠1の関係(但し、F i :第1の素数)を満たすか否かを計算し、第2式の関係を満たすとき、前記素数の候補N i から第2の素数N i を得る手順を含むプログラムを記録したコンピュータ読取り可能な記録媒体。 When satisfying the relation, the second expression of the greatest common divisor gcd (a i (N i -1 ) / F i -1, N i) ≠ 1 relationship (although, F i: a first prime number) or not meet or a calculated, when satisfying the second equation relation, computer-readable recording medium a program including a procedure for obtaining a second prime number N i of candidates N i of the prime number.
  14. 暗号装置のコンピュータに、 前記暗号装置内でランダムアクセス可能な不揮発性メモリに格納された素数テーブルに格納された予め定められたnビット以下のすべての素数を用いて所定の2nビット以下の乱数を素数判定することにより2nビット以下の第1の素数を生成する第1の素数生成ステップと、前記第1の素数をもとに該第1の素数より大きい素数候補を生成し、前記不揮発性メモリに格納された素数テーブルに格納された nビット以下のすべての素数を少なくとも用いた素数判定により該素数候補が合成数でないと判定された場合には該素数候補を新たな第1の素数とし該新たな第1の素数をもとに該素数候補より大きい新たな素数候補を生成する処理を再帰的に繰り返すとともに、素数候補が合成数であると判定された場合に The computer cryptographic device, the following random predetermined 2n bits using all primes below predetermined n bits stored in the prime table stored in the random access nonvolatile memory within the cryptographic device to produce large prime candidate than the first prime number and the first prime number generation step of generating a first prime number below 2n bits, the first prime number based on by primality, the nonvolatile memory a first prime new the plain number candidates when the plain number candidate by using at least primality were all primes less n bits stored in the stored prime table is determined not to be a composite number to the the process of generating based on the plain number candidate is greater than the new prime candidate new first prime with repeated recursively, if the prime number candidate is determined to be a composite number 前記第1の素数生成ステップにて合成数と判定された時点での第1の素数をもとに素数候補を生成し直しあらためて該処理を再帰的に繰り返すことにより、2nビットより大きい所定のビット長の第2の素数を生成する第2の素数生成ステップとを実行させるためのプログラムであって、前記第2の素数生成ステップとしては、前記素数候補N i を前記nビット以下のすべての素数で試行割算し、いずれの素数でも割り切れないとき、所定のa i について第1式のフェルマーテストa i i −1 ≡1(mod N i )の関係を満たすか否かを計算し、第1式の関係を満たすとき、第2式の最大公約数gcd(a i ( i −1 ) /F i −1,N i )≠1の関係(但し、F i :第1の素数)を満たすか否かを計算し、第2式の関係を満たすとき、前 By repeating the first prime generated back again the processing prime candidates based on at the time it is determined that the composite number in the first prime generation step recursively predetermined bit larger than 2n bits a program for executing a second prime number generation step of generating a second prime number length, as the second prime number generation step, all prime the prime candidate n i follows the n bits in attempting division, when not divisible in any prime, calculate whether satisfying the relationship for a given a i first equation Fermat test a i N i -1 ≡1 (mod N i), the when satisfying equation 1 relationship, the second expression of the greatest common divisor gcd (a i (N i -1 ) / F i -1, N i) ≠ 1 relationship (although, F i: a first prime number) the whether satisfied calculates, when satisfying the second equation of relationship, before 記素数の候補N i から第2の素数N i を得るステップを含むプログラムを実行させるためのプログラムを記録したコンピュータ読取り可能な記録媒体。 Computer-readable recording medium storing a program for executing a program including a step of obtaining a second prime number N i of candidates N i of the serial primes.
  15. 暗号装置のコンピュータに、 前記暗号装置内でランダムアクセス可能な不揮発性メモリに格納された素数テーブルに格納された予め定められたnビット以下のすべての素数を用いて所定の2nビット以下の乱数を素数判定することにより2nビット以下の第1の素数を生成する第1の素数生成ステップと、前記第1の素数生成ステップにて生成された2nビット以下の第1の素数および前記不揮発性メモリに格納された素数テーブルに格納された nビット以下のすべての素数をもとに2nビットより大きい所定のビット長の第2の素数を生成する第2の素数生成ステップと、前記第1および第2の素数生成ステップにより生成された0.4mビットの第2の素数および前記第2の素数をもとに前記暗号装置内のコプロセッサにより 0.5mビ The computer cryptographic device, the following random predetermined 2n bits using all primes below predetermined n bits stored in the prime table stored in the random access nonvolatile memory within the cryptographic device a first prime number generation step of generating a first prime number of the following 2n-bit by primality, the first prime number first generated 2n-bit or less in the step of generating primes and the non-volatile memory a second prime number generation step of generating a second prime predetermined bit length greater than 2n bits based on all primes less n bits stored in the stored prime table, the first and second 0.5m bi by the 0.4m bits generated by the prime number generation step second prime number and the second co-processor in the encryption apparatus on the basis of primes トの第3の素数を生成する第3の素数生成ステップと、前記第1および第2の素数生成ステップにより生成された他の0.4mビットの第2の素数、前記第3の素数生成ステップにより生成された0.5mビットの第3の素数および前記不揮発性メモリに格納された素数テーブルに格納された nビット以下のすべての素数をもとにmビットの第4の素数を生成する第4の素数生成ステップとを実行させるためのプログラムであって、前記第2の素数生成ステップとしては、前記第2の素数の候補N i を前記nビット以下のすべての素数で試行割算し、いずれの素数でも割り切れないとき、所定のa i について第1式のフェルマーテストa i i −1 ≡1(mod N i )の関係を満たすか否かを計算し、第1式の関係を満たすとき、第2式の Third and prime generation step, a second prime number, said third prime generation step of another 0.4m bits generated by the first and second prime number generation step of generating a third prime bets the generating a fourth prime number of m-bit third prime and all primes have been of n bits or less stored in the nonvolatile memory the stored prime table 0.5m bits generated based on the a 4 program for executing a prime number generation step of, as the second prime number generation step, attempts dividing the candidate n i of the second prime at all primes following the n bits, when not divisible in any prime, calculate whether satisfy the Fermat test in the first equation for a given a i a i N i -1 ≡1 (mod N i), satisfy the first equation of relationship when, in the second equation 大公約数gcd(a i ( i −1 ) /F i −1,N i )≠1の関係(但し、F i :第1の素数)を満たすか否かを計算し、第2式の関係を満たすとき、前記素数の候補N i から第2の素数N i を得るステップを含むプログラムを記録したコンピュータ読取り可能な記録媒体。 Large common divisor gcd (a i (N i -1 ) / F i -1, N i) ≠ 1 relationship (although, F i: a first prime number) whether the calculated meet, the second equation when satisfying the relationship, computer-readable recording medium a program including a step of obtaining a second prime number N i of candidates N i of the prime number.
JP34509197A 1996-12-26 1997-12-15 Encryptors and encryption key generation method, and prime generating apparatus and prime generation method, Expired - Fee Related JP3626340B2 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP8-348059 1996-12-26
JP34805996 1996-12-26
JP34509197A JP3626340B2 (en) 1996-12-26 1997-12-15 Encryptors and encryption key generation method, and prime generating apparatus and prime generation method,

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP34509197A JP3626340B2 (en) 1996-12-26 1997-12-15 Encryptors and encryption key generation method, and prime generating apparatus and prime generation method,

Publications (2)

Publication Number Publication Date
JPH10240128A JPH10240128A (en) 1998-09-11
JP3626340B2 true JP3626340B2 (en) 2005-03-09

Family

ID=26577962

Family Applications (1)

Application Number Title Priority Date Filing Date
JP34509197A Expired - Fee Related JP3626340B2 (en) 1996-12-26 1997-12-15 Encryptors and encryption key generation method, and prime generating apparatus and prime generation method,

Country Status (1)

Country Link
JP (1) JP3626340B2 (en)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4678968B2 (en) * 2001-03-13 2011-04-27 株式会社東芝 Prime number determination apparatus, method, and program
JP4664514B2 (en) * 2001-03-14 2011-04-06 株式会社東芝 Prime number generating apparatus and program
TWI244610B (en) 2001-04-17 2005-12-01 Matsushita Electric Ind Co Ltd Information security device, prime number generation device, and prime number generation method
JP2003051817A (en) * 2001-08-08 2003-02-21 Toshiba Corp Encryption/decryption device, digital signature generating/verifying device, method and program
US6718536B2 (en) * 2002-06-21 2004-04-06 Atmel Corporation Computer-implemented method for fast generation and testing of probable prime numbers for cryptographic applications
JP2005167870A (en) * 2003-12-05 2005-06-23 Sony Corp Method and apparatus for processing data
JP2005303676A (en) * 2004-04-12 2005-10-27 Canon Inc Image forming device, paired key generating method, and computer program
US8015393B2 (en) 2004-04-12 2011-09-06 Canon Kabushiki Kaisha Data processing device, encryption communication method, key generation method, and computer program
US7792303B2 (en) * 2004-07-14 2010-09-07 Intel Corporation Method of delivering direct proof private keys to devices using a distribution CD
JP5328186B2 (en) * 2008-03-21 2013-10-30 ルネサスエレクトロニクス株式会社 Data processing system and data processing method
JP5179933B2 (en) * 2008-04-18 2013-04-10 ルネサスエレクトロニクス株式会社 Data processing device
JP4802228B2 (en) * 2008-08-14 2011-10-26 東芝ソリューション株式会社 Key generation apparatus and program
EP2350910B1 (en) 2008-11-24 2018-07-25 Certicom Corp. System and method for hardware based security
TW201201041A (en) * 2010-06-21 2012-01-01 Zhe-Yang Zhou Data security method and system

Also Published As

Publication number Publication date
JPH10240128A (en) 1998-09-11

Similar Documents

Publication Publication Date Title
Harn Group-oriented (t, n) threshold digital signature scheme and digital multisignature
US6859535B1 (en) Digital content protection system
KR0151217B1 (en) Fair cryptosystems and the method of use
JP3193610B2 (en) Communications system
US6079018A (en) System and method for generating unique secure values for digitally signing documents
DE69635143T2 (en) A method and apparatus for creating and managing a private key in a public key cryptographic system
US4908861A (en) Data authentication using modification detection codes based on a public one way encryption function
US7328338B1 (en) Transaction verification protocol for smart cards
US5867578A (en) Adaptive multi-step digital signature system and method of operation thereof
CN101110141B (en) Method for key diversification on an ic card
Boneh et al. Efficient generation of shared RSA keys
US4825050A (en) Security transaction system for financial data
US6574611B1 (en) Information processing apparatus and method, information management apparatus and method, and information providing medium
US5201000A (en) Method for generating public and private key pairs without using a passphrase
US5265164A (en) Cryptographic facility environment backup/restore and replication in a public key cryptosystem
US5581616A (en) Method and apparatus for digital signature authentication
CA2334597C (en) Leak-resistant cryptographic indexed key update
CA2280775C (en) Cyclotomic polynomial construction of discrete logarithm cryptosystems over finite fields
KR100845018B1 (en) Authentication system and remotely- distributed storage system
JP3060071B2 (en) Computer network encryption key distribution system
US8364967B2 (en) Multi-step digital signature method and system
JP3570114B2 (en) Data validation methods and data verification system
US7036015B2 (en) Verification protocol
KR101066063B1 (en) System, apparatus and method for replacing a cryptographic key
Fiat Batch rsa

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040330

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040531

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20041202

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20071210

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081210

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091210

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091210

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101210

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101210

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111210

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121210

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131210

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees