JP4567364B2 - Parameter generating apparatus, encryption system, decryption system, encryption apparatus, encryption method, decryption method, and program - Google Patents

Parameter generating apparatus, encryption system, decryption system, encryption apparatus, encryption method, decryption method, and program Download PDF

Info

Publication number
JP4567364B2
JP4567364B2 JP2004118772A JP2004118772A JP4567364B2 JP 4567364 B2 JP4567364 B2 JP 4567364B2 JP 2004118772 A JP2004118772 A JP 2004118772A JP 2004118772 A JP2004118772 A JP 2004118772A JP 4567364 B2 JP4567364 B2 JP 4567364B2
Authority
JP
Japan
Prior art keywords
parameter
output
encryption
key
decryption
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 - Lifetime
Application number
JP2004118772A
Other languages
Japanese (ja)
Other versions
JP2004341502A (en
Inventor
将人 山道
裕一 布田
基司 大森
誠 館林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP2004118772A priority Critical patent/JP4567364B2/en
Publication of JP2004341502A publication Critical patent/JP2004341502A/en
Application granted granted Critical
Publication of JP4567364B2 publication Critical patent/JP4567364B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Description

本発明は、情報セキュリティ技術としての暗号技術に関し、特に、NTRU(エヌティーアールユー・クリプトシステムズ・インコーポレーテッドの登録商標)暗号のパラメータ生成に関する。   The present invention relates to a cryptographic technique as an information security technique, and more particularly to parameter generation of a NTRU (registered trademark of NTR Cryptosystems Incorporated) cipher.

送信装置と受信装置との間で秘匿通信を実現する方法として、公開鍵暗号を用いた暗号化通信がある。簡単に説明すると、送信装置が、通信内容を受信装置の公開鍵を用いて暗号化して送信し、受信装置は、暗号化された通信内容を受信し、それを自身の秘密鍵を用いて復号して元の通信内容を得る方法である(例えば、非特許文献1参照)。この方法を用いる一般的な暗号システムでは、送信装置および受信装置は、ともに複数存在する。まず、送信装置は、通信先受信装置の公開鍵を取得する。この公開鍵は、通信先受信装置が有する秘密鍵と対になるものであり暗号システムにおいて公開されている。そして、送信装置は、通信すべきデータ内容を上記のように取得した公開鍵で暗号化して送信する。一方で、受信装置は、上記のように暗号化された通信内容データを受信する。そして、受信装置は、暗号化された通信内容データを、自身の有する秘密鍵で復号して元の通信内容データを得る。   As a method for realizing secret communication between a transmission device and a reception device, there is encrypted communication using public key cryptography. Briefly, the transmission device encrypts the communication content using the public key of the reception device and transmits it, and the reception device receives the encrypted communication content and decrypts it using its own private key. Thus, the original communication content is obtained (see, for example, Non-Patent Document 1). In a general encryption system using this method, there are a plurality of transmission devices and reception devices. First, the transmitting device acquires the public key of the communication destination receiving device. This public key is paired with a secret key possessed by the communication destination receiving apparatus, and is made public in the cryptographic system. Then, the transmission device encrypts the data content to be communicated with the public key acquired as described above, and transmits it. On the other hand, the receiving device receives the communication content data encrypted as described above. Then, the receiving device decrypts the encrypted communication content data with its own private key to obtain the original communication content data.

なお、暗号は、送信装置と受信装置との間の秘匿通信を目的とするものであり、第三者による暗号解読に対する安全性が重要なのは言うまでもない。公開鍵暗号では、暗号化された通信内容データ(以降、「暗号文」と記述)から通信内容データ(以降、「平文」と記述)が解読される可能性と、受信装置が秘密に保持し、暗号文から平文を得る際に用いられる秘密鍵が解読される可能性とがある。一般に、公開鍵暗号では、第三者によるこれらの暗号解読の解読時間が十分に大きく(例えば、最新のコンピュータを用いて1000年かかる等)、現実的な時間内では解読できないことが求められる。   It should be noted that the encryption is for the purpose of secret communication between the transmission device and the reception device, and it goes without saying that security against decryption by a third party is important. With public key cryptography, the communication content data (hereinafter referred to as “plaintext”) may be decrypted from the encrypted communication content data (hereinafter referred to as “ciphertext”), and the receiving device keeps it secret. There is a possibility that the secret key used when obtaining the plaintext from the ciphertext may be decrypted. In general, in public key cryptography, it is required that the decryption time of these decryption by a third party is sufficiently long (for example, it takes 1000 years using the latest computer) and cannot be decrypted within a realistic time.

1996年、高速処理が可能な公開鍵暗号として、NTRU暗号が提案された(例えば、非特許文献2参照)。このNTRU暗号については、非特許文献2に詳細が記載されているのでここでは詳細な説明を省略する。NTRU暗号では、ある法の下でべき乗剰余演算を行うRSA(Rivest Shamir Adleman)暗号や楕円曲線上の点のスカラ倍演算を行う楕円曲線暗号に比べ、高速に演算可能な多項式演算で暗号化と復号化とを行う。このため、従来の公開鍵暗号よりもソフトウェアにより高速に処理することが可能である。   In 1996, NTRU encryption was proposed as public key encryption capable of high-speed processing (see, for example, Non-Patent Document 2). Details of this NTRU encryption are described in Non-Patent Document 2, and therefore detailed description thereof is omitted here. NTRU cryptography is encrypted with polynomial arithmetic that can be performed at high speed, compared to RSA (Rivest Shamir Adleman) cryptography that performs exponentiation and a elliptic multiplication that performs scalar multiplication of points on an elliptic curve. Perform decryption. For this reason, it is possible to perform processing at higher speed by software than conventional public key encryption.

従って、公開鍵暗号にNTRU暗号を用いた暗号システムでは、従来の公開鍵暗号を用いた暗号システムよりも、送信装置および受信装置の処理が高速に行えるという利点がある。   Therefore, an encryption system using NTRU encryption for public key encryption has an advantage that processing of a transmission apparatus and a reception apparatus can be performed at higher speed than an encryption system using conventional public key encryption.

なお、このNTRU暗号を用いて実際に暗号化や復号化を行うためには、非負整数のパラメータ、N、p、q、df、dg、dが必要であり(例えば、非特許文献2参照)、現在、これらのパラメータの具体的な値が提示されている(例えば、非特許文献5参照)。   Note that in order to actually perform encryption and decryption using this NTRU cipher, non-negative integer parameters, N, p, q, df, dg, and d are required (for example, see Non-Patent Document 2). Currently, specific values of these parameters are presented (for example, see Non-Patent Document 5).

このNTRU暗号では、第三者による平文や秘密鍵の暗号解読方法として、これらを総当りで探索する暗号解読と、LLL(Lenstra, Lenstra and Lovasz)アルゴリズムを用いた暗号解読とがある(例えば、非特許文献2参照)が、非特許文献5に提示されたパラメータを用いれば、これらの暗号解読の解読時間は十分に大きく、NTRU暗号は安全であることが示されている(例えば、非特許文献3、非特許文献4、非特許文献5参照)。   In this NTRU cipher, as a method of decrypting plaintext and private key by a third party, there are cryptanalysis that searches for them brute force and cryptanalysis using LLL (Lenstra, Lenstra and Lovasz) algorithm (for example, It has been shown that if the parameters presented in Non-Patent Document 5 are used, the decryption time of these cryptanalysis is sufficiently long, and the NTRU cipher is secure (for example, Non-Patent Document 2). (Ref. Literature 3, Non-Patent Literature 4, and Non-Patent Literature 5).

一方、このNTRU暗号は、公開鍵を用いて平文を暗号化して暗号文を生成し、正規の秘密鍵を用いて暗号文を復号して復号文を生成しても、復号文が元の平文と異なる場合が発生する(例えば、非特許文献2参照)。このことを復号エラーが発生するという。この復号エラーはNTRU暗号のパラメータにより、その発生確率が異なる(例えば、非特許文献5参照)。   On the other hand, this NTRU cipher encrypts a plaintext using a public key to generate a ciphertext, and decrypts a ciphertext using a regular secret key to generate a decrypted text. (For example, refer nonpatent literature 2). This is called a decoding error. The probability of occurrence of this decryption error varies depending on the parameters of the NTRU encryption (for example, see Non-Patent Document 5).

この復号エラーに関し、非特許文献2には、復号エラーが発生しないためには、NTRU暗号の公開鍵多項式hを生成するときに用いるランダム多項式g、乱数多項式r、平文多項式m、秘密鍵多項式fの演算結果の多項式(p・r×g+f×m)のすべての係数が−q/2からq/2の範囲に入ることが必要であることが示されている。しかし、このようにNTRU暗号のパラメータを選んだときの暗号解読に対する解読時間については不明であり、暗号解読に対して安全でかつ復号エラーが発生しないNTRU暗号のパラメータは知られていない。
岡本龍明、山本博資、「現代暗号」、シリーズ/情報科学の数学、産業図書、1997. Jeffery Hoffstein, Jill Pipher, and Joseph H. Silverman, ”NTRU: A ring based public key cryptosystem”, Lecture Notes in Computer Science, 1423, pp.267-288, Springer-Verlag, 1998. Joseph H. Silverman, ”NTRU Cryptosystems Technical Report #012, Estimated Breaking Times for NTRU Lattices”, [online]、1999年3月9日、[2003年2月18日検索]、インターネット<URL: http://www.ntru.com/cryptolab/pdf/NTRUTech012.pdf> Joseph H. Silverman, ”NTRU Cryptosystems Technical Report #013, Dimension-Reduced Lattices, Zero-Forced Lattices, and the NTRU Public Key Cryptosystem”, [online]、1999年3月9日、[2003年2月18日検索]、インターネット<URL: http://www.ntru.com/cryptolab/pdf/NTRUTech013.pdf> Joseph H. Silverman, ”NTRU Cryptosystems Technical Report #011, Wraps, Gaps, and Lattice Constants ”, [online]、1999年1月21日、[2003年4月18日検索]、インターネット<URL: http://www.ntru.com/cryptolab/pdf/NTRUTech011_v2.pdf>
With regard to this decryption error, Non-Patent Document 2 discloses that a random polynomial g, a random number polynomial r, a plaintext polynomial m, a secret key polynomial f, which are used when generating the public key polynomial h of the NTRU encryption, in order to prevent a decryption error from occurring. It is shown that all the coefficients of the polynomial (p · r × g + f × m) obtained as a result of the calculation need to fall within the range of −q / 2 to q / 2. However, the decryption time for decryption when the NTRU cipher parameters are selected in this way is unknown, and no NTRU cipher parameters that are safe against decryption and do not cause decryption errors are known.
Tatsuaki Okamoto, Hiroshi Yamamoto, “Contemporary Cryptography”, Series / Mathematics of Information Science, Industrial Books, 1997. Jeffery Hoffstein, Jill Pipher, and Joseph H. Silverman, “NTRU: A ring based public key cryptosystem”, Lecture Notes in Computer Science, 1423, pp.267-288, Springer-Verlag, 1998. Joseph H. Silverman, “NTRU Cryptosystems Technical Report # 012, Estimated Breaking Times for NTRU Lattices”, [online], March 9, 1999, [Search February 18, 2003], Internet <URL: http: // www.ntru.com/cryptolab/pdf/NTRUTech012.pdf> Joseph H. Silverman, “NTRU Cryptosystems Technical Report # 013, Dimension-Reduced Lattices, Zero-Forced Lattices, and the NTRU Public Key Cryptosystem”, [online], March 9, 1999, [February 18, 2003 search ], Internet <URL: http://www.ntru.com/cryptolab/pdf/NTRUTech013.pdf> Joseph H. Silverman, “NTRU Cryptosystems Technical Report # 011, Wraps, Gaps, and Lattice Constants”, [online], January 21, 1999, [April 18, 2003 search], Internet <URL: http: / /www.ntru.com/cryptolab/pdf/NTRUTech011_v2.pdf>

上述したように、高速処理が可能なNTRU暗号では、復号エラーが発生すると、受信装置が、送信装置の暗号化した平文を正しく得られない場合がある。すなわち、送信装置と受信装置との間で確実な暗号化通信ができないことになる。   As described above, in the NTRU cipher capable of high-speed processing, when a decryption error occurs, the receiving device may not be able to correctly obtain the plaintext encrypted by the transmitting device. That is, reliable encrypted communication cannot be performed between the transmission device and the reception device.

暗号システムにおいては、平文を相手に正しく伝えることが重要なのは言うまでもない。また、暗号は、第三者による暗号解読に対する安全性が重要なのは言うまでもない。
しかしながら、従来の技術では、復号エラーが発生しないNTRU暗号のパラメータを生成するための条件は示されているものの、その条件が定式化されておらず、復号エラーが発生しないNTRU暗号のパラメータを生成するのが困難である。
Needless to say, in a cryptographic system, it is important to convey plaintext correctly to the other party. In addition, it goes without saying that the security of decryption by a third party is important.
However, in the conventional technique, although the conditions for generating the parameters of the NTRU cipher that do not cause the decryption error are shown, the conditions are not formulated, and the parameters of the NTRU cipher that does not cause the decryption error are generated. Difficult to do.

また、第三者による暗号解読に対して安全であり、かつ復号エラーが発生しないNTRU暗号のパラメータを生成するための条件が知られておらず、そのようなNTRU暗号のパラメータを生成できない。そのため、暗号装置と復号装置との間で安全かつ確実な暗号化通信ができない。   Also, conditions for generating NTRU encryption parameters that are safe against decryption by a third party and that do not cause a decryption error are not known, and such NTRU encryption parameters cannot be generated. Therefore, secure and reliable encrypted communication cannot be performed between the encryption device and the decryption device.

そこで、本発明は上記の課題に鑑み、暗号装置と復号装置との間で安全かつ確実な暗号化通信ができるように、復号エラーが発生しないNTRU暗号のパラメータを生成するパラメータ生成装置を提供することを第1の目的とする。   Therefore, in view of the above problems, the present invention provides a parameter generation device that generates NTRU encryption parameters that do not cause a decryption error so that secure and reliable encrypted communication can be performed between the encryption device and the decryption device. This is the first purpose.

また、暗号装置と復号装置との間で安全かつ確実な暗号化通信ができるように、第三者による暗号解読に対して安全であり、かつ復号エラーが発生しないNTRU暗号のパラメータを生成するパラメータ生成装置を提供することを第2の目的とする。   Further, a parameter for generating a parameter of the NTRU cipher that is safe against decryption by a third party and does not cause a decryption error so that secure and reliable encrypted communication can be performed between the encryption device and the decryption device. A second object is to provide a generation device.

さらに、これらのパラメータ生成装置により生成されたパラメータを用いて、暗号装置と復号装置との間で安全かつ確実な暗号化通信ができる、暗号システム、暗号装置および復号装置を提供することを第3の目的とする。   Furthermore, it is a third object of the present invention to provide an encryption system, an encryption device, and a decryption device that can perform secure and reliable encrypted communication between the encryption device and the decryption device using the parameters generated by these parameter generation devices. The purpose.

本発明のある局面に係るパラメータ生成装置は、復号エラーの発生しないNTRU暗号のパラメータ組である出力パラメータを生成するパラメータ生成装置であって、予め与えられた復号エラー発生有無を判定するエラー条件情報に基づいて、復号エラーが発生しない出力パラメータを生成するエラー非発生出力パラメータ生成部を備えることを特徴とする。   A parameter generation device according to an aspect of the present invention is a parameter generation device that generates an output parameter that is a parameter set of an NTRU cipher that does not cause a decryption error, and is error condition information that determines whether or not a decryption error has occurred in advance And an error non-occurrence output parameter generation unit for generating an output parameter that does not cause a decoding error.

パラメータ生成装置は、エラー条件情報に基づいて、復号エラーが発生しないようなNTRU暗号のパラメータ組である出力パラメータを生成している。このため、生成された出力パラメータを用いて平文の暗号化処理および暗号文の復号化処理を行なうことにより、復号エラーが発生しなくなる。よって、復号エラーが発生しないNTRU暗号のパラメータを生成するパラメータ生成装置を提供することができる。   The parameter generation device generates an output parameter that is a parameter set of the NTRU encryption that does not cause a decryption error based on the error condition information. For this reason, decryption errors do not occur by performing plaintext encryption processing and ciphertext decryption processing using the generated output parameters. Therefore, it is possible to provide a parameter generation device that generates NTRU encryption parameters in which no decryption error occurs.

好ましくは、前記エラー非発生出力パラメータ生成部は、予め与えられた復号エラー発生有無を判定するエラー条件情報に基づいて、復号エラーが発生しない仮パラメータ組を生成する仮パラメータ生成部と、前記仮パラメータ組から計算される格子強度係数に基づき、前記仮パラメータ組から前記出力パラメータを生成する出力パラメータ生成部とを備える。また、前記仮パラメータ生成部は、外部から入力されたNTRU暗号のパラメータ組である入力パラメータと予め与えられた復号エラー発生有無を判定するエラー条件情報に基づいて、復号エラーが発生しない仮パラメータ組を生成することを特徴とする。さらに、前記出力パラメータ生成部は、前記格子強度係数に基づく安全性決定情報と第三者による暗号解読に対する安全性を示す安全性レベル情報とに基づいて、前記仮パラメータ組から前記出力パラメータを生成する。   Preferably, the error non-occurrence output parameter generation unit includes a temporary parameter generation unit that generates a temporary parameter set in which a decoding error does not occur, based on error condition information that determines whether or not a decoding error has occurred, An output parameter generation unit configured to generate the output parameter from the temporary parameter set based on a lattice strength coefficient calculated from the parameter set. Further, the temporary parameter generation unit is configured to generate a temporary parameter set that does not generate a decryption error based on an input parameter that is a parameter set of NTRU encryption input from the outside and error condition information that is determined in advance to determine whether or not a decryption error has occurred. Is generated. Further, the output parameter generation unit generates the output parameter from the temporary parameter set based on safety determination information based on the lattice strength coefficient and safety level information indicating security against decryption by a third party. To do.

パラメータ生成装置は、格子強度係数に基づく安全性決定情報が安全性レベル情報を満たすことができるように出力パラメータを生成することができる。このため、第三者による暗号解読に対して安全であり、かつ復号エラーが発生しないNTRU暗号のパラメータを生成するパラメータ生成装置を提供することができる。   The parameter generation device can generate the output parameter so that the safety determination information based on the lattice strength coefficient can satisfy the safety level information. Therefore, it is possible to provide a parameter generation device that generates parameters for NTRU encryption that is safe against decryption by a third party and does not cause a decryption error.

好ましくは、前記エラー条件情報は、前記非負整数p、前記非負整数q、前記非負整数d、前記非負整数dfに対し、復号エラーが発生しないための条件を表す条件式
2・p・d+2df−1<q/2
である。
Preferably, the error condition information is a conditional expression 2 · p · d + 2 df − representing a condition for preventing a decoding error with respect to the non-negative integer p, the non-negative integer q, the non-negative integer d, and the non-negative integer df. 1 <q / 2
It is.

このように、復号エラーが発生しないためのパラメータの条件を定式化することができる。このため、復号エラーが発生しないためのパラメータを簡便に求めることができる。
本発明の他の曲面に係る暗号システムは、平文をNTRU暗号で暗号化して暗号文を生成する暗号システムであって、上述のパラメータ生成装置と、前記パラメータ生成装置で生成された出力パラメータに基づいて公開鍵を生成する公開鍵生成手段と、前記公開鍵に基づいて、平文を暗号化する暗号化手段とを備えることを特徴とする。
In this way, it is possible to formulate parameter conditions for preventing a decoding error from occurring. For this reason, it is possible to easily obtain a parameter for preventing a decoding error from occurring.
An encryption system according to another curved surface of the present invention is an encryption system that generates a ciphertext by encrypting a plaintext with an NTRU cipher, and is based on the parameter generation device described above and an output parameter generated by the parameter generation device. A public key generating means for generating a public key, and an encrypting means for encrypting plaintext based on the public key.

上述のパラメータ生成装置に基づいて作成されたパラメータより求められた公開鍵を用いて平文の暗号化を行なっている。このため、暗号システムは、復号エラーが生じないような暗号文の生成を行なうことができる。   Plain text encryption is performed using a public key obtained from a parameter created based on the parameter generation apparatus described above. For this reason, the encryption system can generate a ciphertext that does not cause a decryption error.

本発明の他の局面に係る復号システムは、暗号文をNTRU暗号で復号化して復号文を生成する復号システムであって、上述のパラメータ生成装置と、前記パラメータ生成装置で生成された出力パラメータに基づいて秘密鍵を生成する秘密鍵生成手段と、前記秘密鍵に基づいて、暗号文を復号化する復号化手段とを備えることを特徴とする。   A decryption system according to another aspect of the present invention is a decryption system that generates a decrypted text by decrypting a ciphertext with an NTRU cipher, and includes the above-described parameter generation device and an output parameter generated by the parameter generation device. And a secret key generating unit that generates a secret key based on the secret key and a decrypting unit that decrypts the ciphertext based on the secret key.

上述のパラメータ生成装置に基づいて作成されたパラメータより求められた秘密鍵を用いて暗号文の復号化を行なっている。このため、復号システムは、復号エラーを生じさせることなく、暗号文を復号することができる。   The ciphertext is decrypted using the secret key obtained from the parameter created based on the above-described parameter generation device. For this reason, the decryption system can decrypt the ciphertext without causing a decryption error.

本発明のさらに他の曲面に係る暗号システムは、NTRU暗号を用いた暗号システムであって、復号エラーの発生しないNTRU暗号のパラメータ組である出力パラメータを生成して出力するパラメータ生成装置と、NTRU暗号の暗号鍵と復号鍵を生成して出力する鍵生成装置と、平文をNTRU暗号で暗号化した暗号文を生成する暗号装置と、前記暗号文を復号した復号文を生成する復号装置とを備え、前記パラメータ生成装置は、予め与えられた復号エラー発生有無を判定するエラー条件情報に基づいて、復号エラーが発生しない仮パラメータ組を生成する仮パラメータ生成部と、前記仮パラメータ組から計算される格子強度係数に基づき、前記仮パラメータ組から前記出力パラメータを生成して出力する出力パラメータ生成部とを備え、前記鍵生成装置は、前記パラメータ生成装置が出力した前記出力パラメータを入力として前記暗号鍵と前記復号鍵を生成し出力する生成鍵出力部を備え、前記暗号装置は、前記パラメータ生成装置が出力した出力パラメータと前記鍵生成装置が出力した前記暗号鍵を入力として、前記平文を暗号化して前記暗号文を生成する暗号化部を備え、前記復号装置は、前記パラメータ生成装置が出力した前記出力パラメータと前記鍵生成装置が出力した前記復号鍵を入力として、前記暗号文を復号して前記復号文を生成する復号化部を備えることを特徴とする。   A cryptographic system according to still another curved surface of the present invention is a cryptographic system using NTRU cryptography, which generates and outputs an output parameter that is a parameter set of NTRU cryptography that does not cause a decryption error, and NTRU A key generation device that generates and outputs an encryption key and a decryption key; an encryption device that generates a ciphertext obtained by encrypting a plaintext with an NTRU cipher; and a decryption device that generates a decrypted text obtained by decrypting the ciphertext. The parameter generation device is calculated from a provisional parameter generation unit that generates a provisional parameter set that does not cause a decoding error based on error condition information that determines whether or not a decoding error has occurred, and a provisional parameter set. An output parameter generation unit that generates and outputs the output parameter from the temporary parameter set based on the lattice strength coefficient The key generation device includes a generation key output unit that generates and outputs the encryption key and the decryption key with the output parameter output from the parameter generation device as an input. The encryption device outputs the encryption key and the decryption key. An encryption unit that encrypts the plaintext and generates the ciphertext using the output parameter and the encryption key output by the key generation device as inputs, and the decryption device outputs the output output by the parameter generation device A decryption unit that decrypts the ciphertext and generates the decrypted text using the parameter and the decryption key output from the key generation apparatus as input is provided.

パラメータ生成装置は、エラー条件情報に基づいて、復号エラーが発生しないようなNTRU暗号のパラメータ組である出力パラメータを生成している。鍵生成装置は、生成された出力パラメータを入力として暗号鍵と復号鍵を生成している。暗号装置および復号装置は、暗号鍵および復号鍵を用いて暗号化処理および復号化処理をそれぞれ行なっている。このため、復号エラーが発生しない暗号システムを提供することができる。   The parameter generation device generates an output parameter that is a parameter set of the NTRU encryption that does not cause a decryption error based on the error condition information. The key generation device generates an encryption key and a decryption key by using the generated output parameter as an input. The encryption device and the decryption device perform encryption processing and decryption processing using the encryption key and the decryption key, respectively. For this reason, it is possible to provide an encryption system in which no decryption error occurs.

なお、本発明は、このような特徴的な手段を備えるパラメータ生成装置、暗号システムおよび復号システムとして実現することができるだけでなく、特徴的な手段をステップとするパラメータ生成方法、暗号化方法、復号化方法として実現したり、当該ステップをコンピュータに実行させるプログラムとして実現したりすることもできる。そして、そのようなプログラムは、CD−ROM(Compact Disc-Read Only Memory)等の記録媒体やインターネット等の通信ネットワークを介して流通させることができるのは言うまでもない。   The present invention can be realized not only as a parameter generation device, an encryption system, and a decryption system having such characteristic means, but also as a parameter generation method, encryption method, and decryption having characteristic means as steps. It can also be realized as a computerization method or as a program for causing a computer to execute the steps. Needless to say, such a program can be distributed via a recording medium such as a CD-ROM (Compact Disc-Read Only Memory) or a communication network such as the Internet.

本発明によると、暗号装置と復号装置との間で安全かつ確実な暗号化通信ができるように、第三者による暗号解読に対して安全であり、かつ復号エラーが発生しないNTRU暗号のパラメータを生成するパラメータ生成装置を提供することができる。   According to the present invention, the parameters of the NTRU cipher that are safe against decryption by a third party and that do not cause a decryption error so that secure and reliable encrypted communication can be performed between the encryption device and the decryption device. A parameter generating device for generating can be provided.

また、これらのパラメータ装置またはパラメータ変換装置により生成されたパラメータを用いて、暗号装置と復号装置との間で安全かつ確実な暗号化通信ができる、暗号システム、暗号装置および復号装置を提供することができる。   Also provided are an encryption system, an encryption device, and a decryption device that can perform secure and reliable encrypted communication between the encryption device and the decryption device using parameters generated by these parameter devices or parameter conversion devices. Can do.

以上により、従来技術では達成できなかったパラメータ生成装置、暗号システム、暗号装置、および復号装置を提供することができ、その実用的価値は大きい。   As described above, it is possible to provide a parameter generation device, an encryption system, an encryption device, and a decryption device that could not be achieved by the prior art, and its practical value is great.

以下、本発明に係るパラメータ生成装置およびパラメータ変換装置の実施の形態について、図面を用いて説明する。   Hereinafter, embodiments of a parameter generation device and a parameter conversion device according to the present invention will be described with reference to the drawings.

本発明に係るパラメータ生成装置およびパラメータ変換装置は、NTRU暗号のパラメータを扱う。このNTRU暗号については、非特許文献2に詳しく述べられているので、ここでは詳細な説明を省略するが、以下に簡単に説明する。   The parameter generation device and parameter conversion device according to the present invention handle NTRU encryption parameters. Since this NTRU cipher is described in detail in Non-Patent Document 2, a detailed description thereof will be omitted here, but will be briefly described below.

(1)NTRU暗号のパラメータ
NTRU暗号は、非負整数のパラメータ、N、p、q、df、dg、dを持つ。非特許文献2には、NTRU暗号のパラメータの例として、(N,p,q,df,dg,d)=(107,3,64,15,12,5)、(N,p,q,df,dg,d)=(167,3,128,61,20,18)、(N,p,q,df,dg,d)=(503,3,256,216,72,55)の3つの例が挙げられている。
(1) NTRU cipher parameters The NTRU cipher has non-negative integer parameters N, p, q, df, dg, d. In Non-Patent Document 2, as examples of NTRU encryption parameters, (N, p, q, df, dg, d) = (107, 3, 64, 15, 12, 5), (N, p, q, df, dg, d) = (167, 3, 128, 61, 20, 18), (N, p, q, df, dg, d) = (503, 3, 256, 216, 72, 55) Two examples are given.

以下に、これらのパラメータの意味を説明する。
(i)パラメータN
NTRU暗号は、多項式の演算により暗号化と復号化を行う公開鍵暗号方式である。NTRU暗号で扱う多項式の次元は、上記パラメータNにより決まる。
The meaning of these parameters will be described below.
(I) Parameter N
NTRU encryption is a public key cryptosystem that performs encryption and decryption by polynomial operations. The dimension of the polynomial handled in the NTRU encryption is determined by the parameter N.

NTRU暗号で扱う多項式は、上記パラメータNに対し、(N−1)次元以下の整数係数多項式であり、例えばN=5のとき、X^4+X^3+1等の多項式である。ここで、「X^a」はXのa乗を意味することとする。また、暗号化時または復号化時に用いられる公開鍵h、秘密鍵f、平文m、乱数r、暗号文cはいずれも、(N−1)次元以下の多項式として表現される(以降、それぞれを公開鍵多項式h、秘密鍵多項式f、平文多項式m、乱数多項式r、暗号文多項式cと呼ぶ)。   The polynomial handled in the NTRU cryptography is an integer coefficient polynomial of (N−1) dimensions or less with respect to the parameter N, for example, a polynomial such as X ^ 4 + X ^ 3 + 1 when N = 5. Here, “X ^ a” means X to the power of a. Also, the public key h, the secret key f, the plaintext m, the random number r, and the ciphertext c used at the time of encryption or decryption are all expressed as polynomials of (N−1) dimensions or less (hereinafter, Public key polynomial h, secret key polynomial f, plaintext polynomial m, random number polynomial r, and ciphertext polynomial c).

そして、多項式演算は、上記パラメータNに対し、「X^N=1」という関係式を用いて、演算結果が常に(N−1)次元以下の多項式になるように演算される。例えば、N=5の場合、多項式X^4+X^2+1と多項式X^3+Xの積は、多項式と多項式の積を「×」、整数と多項式の積(または整数と整数の積)を「・」とすると、X^5=1という関係から、
(X^4+X^2+1)×(X^3+X)
=X^7+2・X^5+2・X^3+X
=X^2×1+2・1+2・X^3+X
=2・X^3+X^2+X+2
というように、常に(N−1)次元以下の多項式になるように演算される。
The polynomial calculation is performed so that the calculation result is always a polynomial of (N−1) dimensions or less using the relational expression “X ^ N = 1” with respect to the parameter N. For example, when N = 5, the product of the polynomial X ^ 4 + X ^ 2 + 1 and the polynomial X ^ 3 + X is “×” for the product of the polynomial and the polynomial, and “·” for the product of the integer and the polynomial (or the product of the integer and the integer). Then, from the relationship X ^ 5 = 1,
(X ^ 4 + X ^ 2 + 1) × (X ^ 3 + X)
= X ^ 7 + 2, X ^ 5 + 2, X ^ 3 + X
= X ^ 2 × 1 + 2 ・ 1 + 2 ・ X ^ 3 + X
= 2 · X ^ 3 + X ^ 2 + X + 2
In this way, the calculation is always made to be a polynomial of (N-1) dimensions or less.

(ii)パラメータp、q
NTRU暗号では、非負整数のパラメータp、qを用いる。非特許文献2に記載の通り、このパラメータp、qは互いに素となる必要がある。
(Ii) Parameters p and q
The NTRU encryption uses non-negative integer parameters p and q. As described in Non-Patent Document 2, the parameters p and q need to be relatively prime.

(iii)パラメータdf、dg、d
NTRU暗号で扱う秘密鍵多項式f、公開鍵多項式を生成するときに秘密鍵多項式fと共に用いるランダム多項式g、および平文を暗号化するときに用いる乱数多項式rの選び方は、それぞれパラメータdf、dg、dにより決まる。
(Iii) Parameters df, dg, d
The selection method of the secret key polynomial f handled in the NTRU cryptography, the random polynomial g used together with the secret key polynomial f when generating the public key polynomial, and the random number polynomial r used when encrypting the plaintext is determined by parameters df, dg, d, respectively. It depends on.

まず、秘密鍵多項式fは、df個の係数が「1」であり、かつ(df−1)個の係数が「−1」であり、かつ他の係数は「0」となるように選ばれる。すなわち、乱数多項式fは(N−1)次元以下の多項式であり、0次元(定数項)から(N−1)次元まで、N個の係数がある。このN個の係数のうち、df個の係数が「1」であり、かつ(df−1)個の係数が「−1」であり、かつ(N−2df+1)個の係数が0となるように乱数多項式fが選ばれる。   First, the secret key polynomial f is selected such that df coefficients are “1”, (df−1) coefficients are “−1”, and the other coefficients are “0”. . That is, the random number polynomial f is a polynomial of (N−1) dimensions or less, and there are N coefficients from 0 dimension (constant term) to (N−1) dimensions. Of the N coefficients, df coefficients are “1”, (df−1) coefficients are “−1”, and (N−2df + 1) coefficients are 0. A random number polynomial f is selected.

そして、ランダム多項式gは、dg個の係数が「1」であり、かつdg個の係数が「−1」であり、かつ他の係数は「0」となるように選ばれる。また、乱数多項式rは、d個の係数が「1」であり、かつd個の係数が「−1」であり、かつ他の係数は「0」となるように選ばれる。   The random polynomial g is selected such that dg coefficients are “1”, dg coefficients are “−1”, and the other coefficients are “0”. The random number polynomial r is selected such that d coefficients are “1”, d coefficients are “−1”, and other coefficients are “0”.

(2)NTRU暗号の復号エラー
ところで、このNTRU暗号は、平文多項式mを暗号化して暗号文多項式cを生成したとき、暗号文多項式cを復号して得られる復号文多項式m'が平文多項式mと異なる場合が発生する。この場合は、復号時に正しく平文多項式mが得られないことになる。このことを復号エラーが発生するという。
(2) Decryption Error of NTRU Cipher In the NTRU cipher, when the plaintext polynomial m is encrypted to generate the ciphertext polynomial c, the decrypted text polynomial m ′ obtained by decrypting the ciphertext polynomial c is the plaintext polynomial m. And a different case occurs. In this case, the plaintext polynomial m cannot be obtained correctly at the time of decryption. This is called a decoding error.

非特許文献2には、公開鍵多項式hを生成するときに用いられるランダム多項式g、乱数多項式r、平文多項式m、秘密鍵多項式fの演算結果の多項式(p・r×g+f×m)のいずれかの次数の係数の値が−q/2からq/2の間に入らなかったとき、復号エラーが発生することが記載されている。非特許文献2に挙げられた上述の3つのパラメータにおいては、非特許文献5に記載の通り、小さい発生確率(10^(−5)程度)ではあるが復号エラーが発生してしまう。   In Non-Patent Document 2, any one of a random polynomial g, a random polynomial r, a plaintext polynomial m, and a polynomial (p · r × g + f × m) obtained as a result of the operation of the secret key polynomial f used when generating the public key polynomial h is disclosed. It is described that a decoding error occurs when the value of the coefficient of the order does not fall between −q / 2 and q / 2. In the above-mentioned three parameters listed in Non-Patent Document 2, as described in Non-Patent Document 5, a decoding error occurs although the probability of occurrence is low (about 10 ^ (-5)).

(実施の形態1)
本発明の実施の形態1に係るパラメータ生成装置1について説明する。
<パラメータ生成装置1の概要>
最初に、図1を用いてパラメータ生成装置1の概要を説明する。
(Embodiment 1)
A parameter generation device 1 according to Embodiment 1 of the present invention will be described.
<Outline of Parameter Generation Device 1>
First, an outline of the parameter generation device 1 will be described with reference to FIG.

このパラメータ生成装置1には、あるパラメータのNTRU暗号の格子強度係数GL、その格子強度係数GLを持つNTRU暗号の解読時間評価式EF、復号エラーが発生しないパラメータの条件式ED、および初期安全性決定式IFが予め与えられている。   The parameter generation device 1 includes an NTRU cipher lattice strength coefficient GL of a certain parameter, an NTRU cipher decryption time evaluation formula EF having the lattice strength coefficient GL, a conditional expression ED of a parameter that does not cause a decryption error, and initial security. A determinant IF is given in advance.

そして、このパラメータ生成装置1は、外部より、NTRU暗号が達成すべき安全性レベルを示す安全性レベル情報SLIを入力として受ける。パラメータ生成装置1は、総当りの探索による解読とLLLアルゴリズムによる解読とに対して安全性レベル情報SLIが示す安全性レベルを達成し、かつ復号エラーが発生しないNTRU暗号のパラメータ組PSを、予め与えられている格子強度係数GLと解読時間評価式EFと条件式EDと初期安全性決定式IFとを用いて生成して、外部へ出力する装置である。   The parameter generation apparatus 1 receives as input the security level information SLI indicating the security level that the NTRU cipher should achieve. The parameter generation device 1 obtains a parameter set PS of the NTRU cipher in advance that achieves the security level indicated by the security level information SLI with respect to the brute force search and the LLL algorithm. This is a device that generates and outputs the lattice strength coefficient GL, the decoding time evaluation formula EF, the conditional formula ED, and the initial safety determination formula IF to the outside.

以上が、パラメータ生成装置1の概要であるが、以下に、格子強度係数GL、解読時間評価式EF、条件式ED、初期安全性決定式IFの与え方について説明した後、パラメータ生成装置1の詳細について説明を行う。   The above is the outline of the parameter generation device 1. After describing how to give the lattice strength coefficient GL, the decoding time evaluation formula EF, the conditional formula ED, and the initial safety determination formula IF, the parameter generation device 1 Details will be described.

<格子強度係数GL、解読時間評価式EF、条件式ED>
ここでは、まず、格子強度係数GL、解読時間評価式EF、復号エラーが発生しないパラメータの条件式EDについてその内容を説明して、その与え方について説明する。
<Lattice strength coefficient GL, decoding time evaluation formula EF, conditional formula ED>
Here, first, the contents of the lattice strength coefficient GL, the decoding time evaluation formula EF, and the conditional expression ED for parameters that do not cause a decoding error will be described, and how to give them will be described.

(格子強度係数GLと解読時間評価式EF)
NTRU暗号における、LLLアルゴリズムを用いた解読時間Tの解読時間評価式EFは、NTRU暗号のパラメータdf、dg、qにより定まるものであって、パラメータdf、dg、qから計算される格子強度係数GLの値により類別される。非特許文献3には、格子強度係数GLが、NTRU暗号のパラメータdf、dg、qから、
GL=(4・pi・e・|f|・|g|/q)^(0.5)
のように導出されることが記載されている。また、非特許文献3には、その格子強度係数GLが一定ならば、そのようなパラメータdf、dg、qをもつNTRU暗号に対しては、ある定数A、Bが存在して、LLLアルゴリズムを用いた解読の解読時間TがパラメータNに対し次の解読時間評価式EFを満たすことが記載されている。
(Lattice strength coefficient GL and decoding time evaluation formula EF)
The decryption time evaluation formula EF of the decryption time T using the LLL algorithm in the NTRU cipher is determined by the parameters df, dg, q of the NTRU cipher, and is calculated from the parameters df, dg, q. Categorized by the value of. In Non-Patent Document 3, the lattice strength coefficient GL is obtained from parameters df, dg, q of NTRU encryption.
GL = (4 · pi · e · | f | · | g | / q) ^ (0.5)
It is described that it is derived as follows. Also, in Non-Patent Document 3, if the lattice strength coefficient GL is constant, there are certain constants A and B for NTRU ciphers having such parameters df, dg, and q, and the LLL algorithm is It is described that the decoding time T of the used decoding satisfies the following decoding time evaluation formula EF for the parameter N.

EF:log(T)≧A・N+B
ここで、log(T)は解読時間Tの自然対数である。また、piは円周率、eは自然対数の底、|f|は秘密鍵多項式fのノルム、|g|はランダム多項式gのノルムを表す。具体的には、
|f|=(2・df−1)^(0.5)
|g|=(2・dg)^(0.5)
である。
EF: log (T) ≧ A · N + B
Here, log (T) is a natural logarithm of the decoding time T. Also, pi represents the circular ratio, e represents the base of the natural logarithm, | f | represents the norm of the secret key polynomial f, and | g | represents the norm of the random polynomial g. In particular,
| F | = (2 · df−1) ^ (0.5)
| G | = (2 · dg) ^ (0.5)
It is.

なお、非特許文献3には、上述の解読時間評価式EFにおける定数A、Bについて、パラメータNの値が小さいときの解読時間Tを実測し、その実測データを用いて近似することによりその定数A、Bの値を導けることが記載されている。   In Non-Patent Document 3, the constants A and B in the above-described decryption time evaluation formula EF are measured by measuring the decryption time T when the value of the parameter N is small, and approximating it using the actual measurement data. It is described that the values of A and B can be derived.

また、非特許文献4には、格子強度係数GLの値が大きくなれば、LLLアルゴリズムを用いたNTRU暗号の解読は、より難しくなることが記載されている。従って、いま、ある格子強度係数GL1の値に対し、格子強度係数GL1の値をとるようなパラメータdf、dg、qをもつNTRU暗号に対する、LLLアルゴリズムを用いた解読の解読時間Tの解読時間評価式EF1が、
EF1:log(T)≧A・N+B (A、B:定数)
で与えられているとする。すると、以上の議論により、別のパラメータdf、dg、qから導出される格子強度係数GLの値が、もし、上記の格子強度係数GL1の値よりも大きければ、その別のパラメータdf、dg、qをもつNTRU暗号の解読時間Tは、少なくとも上記の解読時間評価式EF1を満たすことが導ける。
Non-Patent Document 4 describes that if the value of the lattice strength coefficient GL increases, it becomes more difficult to decipher the NTRU cipher using the LLL algorithm. Therefore, the decryption time evaluation of the decryption time T of the decryption using the LLL algorithm for the NTRU cipher having parameters df, dg and q that take the value of the lattice strength coefficient GL1 for a certain lattice strength coefficient GL1. Formula EF1 is
EF1: log (T) ≧ A · N + B (A, B: constant)
Suppose that Then, according to the above discussion, if the value of the lattice strength coefficient GL derived from another parameter df, dg, q is larger than the value of the lattice strength coefficient GL1, the other parameter df, dg, It can be derived that the decryption time T of the NTRU cipher having q satisfies at least the decryption time evaluation formula EF1.

(復号エラーが発生しないパラメータの条件式ED)
非特許文献2には、NTRU暗号の復号プロセスにおいて計算される多項式、p・r×g+f×mの全ての係数が、−q/2からq/2の範囲に収まっていれば、正しく復号処理を行うことができ、復号エラーが発生しないことが記載されている。
(Conditional expression ED for parameters that do not cause decoding errors)
In Non-Patent Document 2, if all coefficients of the polynomial, p · r × g + f × m, calculated in the decryption process of the NTRU cipher are within the range of −q / 2 to q / 2, the decryption process is correctly performed. It is described that a decoding error does not occur.

(格子強度係数GLと解読時間評価式EFの与え方)
まず、パラメータdf、dg、qの値を決定する。ここでは、一例として、df=34、dg=34、q=512とする。そして、このパラメータdf、dg、qから上記格子強度係数GLの値を計算し、その格子強度係数GLを、予め式格納部110に与えておく。上記例では、格子強度係数GLはGL=2.12となる。
(Grating intensity coefficient GL and decoding time evaluation formula EF)
First, the values of parameters df, dg, q are determined. Here, as an example, df = 34, dg = 34, and q = 512. Then, the value of the lattice strength coefficient GL is calculated from the parameters df, dg, q, and the lattice strength coefficient GL is given to the equation storage unit 110 in advance. In the above example, the lattice strength coefficient GL is GL = 2.12.

次に、解読時間評価式EFとして、上記格子強度係数GLの値に対し、その値をとるパラメータdf、dg、qをもつNTRU暗号の解読時間Tの解読時間評価式EFを、以下のようにして求め、予め式格納部110に与えておく。   Next, as the decryption time evaluation formula EF, the decryption time evaluation formula EF for the decryption time T of the NTRU cipher having parameters df, dg, q taking the values of the lattice strength coefficient GL is as follows. And is given to the expression storage unit 110 in advance.

すなわち、上記解読時間評価式EFは、パラメータdf、dg、qから計算される格子強度係数GLの値が2.12以上であるときには、LLLアルゴリズムを用いたNTRU暗号の解読時間Tを、少なく見積もることなく評価できる式である。   That is, the above-described decryption time evaluation formula EF estimates the decryption time T of the NTRU cipher using the LLL algorithm when the value of the lattice strength coefficient GL calculated from the parameters df, dg, and q is 2.12 or more. It is an expression that can be evaluated without any problem.

(i)パラメータNが小さいところでの解読時間Tを導出
まず、決定したパラメータdf、dg、qに対し、非特許文献3に記載の方法で、LLLアルゴリズムを用いた場合の解読時間Tの実測データを実験により求める。ここで、図2に示す解読時間Tの実測データは、1000MIPSの処理能力をもつコンピュータを用いて求めたものであり、解読時間Tの単位は秒である。なお、MIPS(Million Instruction Per Second)とは、コンピュータの処理能力を表す単位であり、1MIPSとは、1秒間に100万命令を実行できる処理能力を表す。本例ではパラメータNとして70から90までの値に対して解読時間が実測可能であったことを示している。
(I) Derivation of decoding time T when parameter N is small First, measured data of decoding time T when the LLL algorithm is used for the determined parameters df, dg, and q by the method described in Non-Patent Document 3. Is obtained by experiment. Here, the actual measurement data of the decoding time T shown in FIG. 2 is obtained using a computer having a processing capacity of 1000 MIPS, and the unit of the decoding time T is seconds. Note that MIPS (Million Instruction Per Second) is a unit representing the processing capability of a computer, and 1 MIPS represents a processing capability capable of executing one million instructions per second. In this example, it is shown that the decoding time can be actually measured for the values of 70 to 90 as the parameter N.

(ii)近似による解読時間評価式の導出
次に、(i)により導出した実測データを用い、解読時間評価式EF
EF:log(T)=A・N+B
の定数A、Bを求める。これは、例えば、X=N、Y=log(T)として、Y=A・X+Bの係数A、Bを最小二乗法により求める。
(Ii) Derivation of decoding time evaluation formula by approximation Next, using the measured data derived by (i), the decoding time evaluation formula EF
EF: log (T) = A · N + B
Constants A and B are obtained. For example, assuming that X = N and Y = log (T), the coefficients A and B of Y = A · X + B are obtained by the least square method.

ここで、図2に示す解読時間Tの実測データの場合、定数A、Bは、概ね、A=0.093、B=−3.8となる。
基本的には、これにより導出された解読時間評価式EF
EF:log(T)=0.093N−3.8
を式格納部110に与えてもよいが、以下に詳細を述べる実施の形態1では、解読時間評価式EFにおける解読時間Tの値を、MIPSyear値として扱っている。なお、MIPSyearとはコンピュータの処理量を示す単位であり、1MIPSの処理能力を持つコンピュータが1年間で処理できる処理量が1MIPSyearである。
Here, in the actual measurement data of the decoding time T shown in FIG. 2, the constants A and B are approximately A = 0.093 and B = −3.8.
Basically, the decoding time evaluation formula EF derived from this
EF: log (T) = 0.093N-3.8
In the first embodiment described in detail below, the value of the decryption time T in the decryption time evaluation formula EF is treated as a MIPSyear value. Note that MIPSyear is a unit indicating the processing amount of a computer, and a processing amount that can be processed by a computer having a processing capability of 1 MIPS in one year is 1 MIPSyear.

従って、ここでは、導出された解読時間評価式EFを、解読時間TがMIPSyear値を表す場合の式に変形する。MIPSyear値を表す解読時間Tは、
非特許文献3に記載の方法に従い、解読時間Tに、実測データを求めたコンピュータの処理能力値1000MIPSを乗じ、1年間の秒数31557600(1年間=365.25日)で割ることにより求められる。
Therefore, here, the derived decryption time evaluation formula EF is transformed into an expression in the case where the decryption time T represents a MIPSyear value. The decoding time T representing the MIPSyear value is
According to the method described in Non-Patent Document 3, the decoding time T is multiplied by the processing capacity value 1000 MIPS of the computer for which the actual measurement data was obtained, and divided by the number of seconds in one year 31557600 (one year = 365.25 days). .

すなわち、T’=1000T/31557600とし、上述の解読時間評価式EFに代入することにより、次のように変形した解読時間評価式EFを求めることができる。変形後の解読時間評価式EFは、式格納部110に与えられる。   That is, by setting T ′ = 1000T / 31557600 and substituting it into the above-described decryption time evaluation formula EF, the following modified decryption time evaluation formula EF can be obtained. The modified decoding time evaluation formula EF is given to the formula storage unit 110.

EF:log(T’)=0.093N−14.2
なお、最小二乗法は周知の技術である。このため、その詳細な説明はここでは繰返さない。
EF: log (T ′) = 0.093N−14.2
The least square method is a well-known technique. Therefore, detailed description thereof will not be repeated here.

(復号エラーが発生しないパラメータの条件式EDの与え方)
次に、条件式EDの与え方について述べる。
まず、p=3とし、dg>dとする。このpの値は、NTRU暗号のパラメータの典型的な値である。
(How to give conditional expression ED for parameters that do not cause decoding errors)
Next, how to give the conditional expression ED will be described.
First, p = 3 and dg> d. The value of p is a typical value of the NTRU encryption parameter.

このとき、条件式ED
ED:6・d+2・df−1<q/2
を予め式格納部110に与えておく。この条件式は、理論的に復号エラーが発生しないパラメータの条件式である。
At this time, conditional expression ED
ED: 6 · d + 2 · df −1 <q / 2
Is given to the expression storage unit 110 in advance. This conditional expression is a conditional expression of a parameter that does not theoretically cause a decoding error.

以下に、その理由について説明する。
まず、上述したように、多項式p・r×g+f×mの全ての係数が、−q/2からq/2の範囲に収まっていれば、復号エラーは発生しない。
The reason will be described below.
First, as described above, if all the coefficients of the polynomial p · r × g + f × m are within the range of −q / 2 to q / 2, no decoding error occurs.

このとき、多項式r×gを考えると、多項式の積は、非特許文献2に記載の通り、多項式aのk次の係数をa(k)で表すと、
(r×g)(k)
=r(0)・g(k)+r(1)・g(k−1)+...
+r(N−1)・g(k−(N−1)(mod N))
である。そして、乱数多項式rは、d個の係数が「1」であり、かつd個の係数が「−1」であり、かつ他の係数は「0」となる多項式である。そして、ランダム多項式gは、dg個の係数が「1」であり、かつdg個の係数が「−1」であり、かつ他の係数は「0」となる多項式である。
At this time, when considering the polynomial r × g, the product of the polynomial is represented by a (k) as expressed in a non-patent document 2, where the k-th order coefficient of the polynomial a is represented by a (k).
(R x g) (k)
= R (0) .g (k) + r (1) .g (k-1) +. . .
+ R (N-1) .g (k- (N-1) (mod N))
It is. The random number polynomial r is a polynomial in which d coefficients are “1”, d coefficients are “−1”, and other coefficients are “0”. The random polynomial g is a polynomial in which dg coefficients are “1”, dg coefficients are “−1”, and other coefficients are “0”.

従って、多項式r×gのk次の係数(r×g)(k)の値は、dg>dであるので、
(r×g)(k)
=1・g(i1)+1・g(i2)+...+1・g(id)
−1・g(j1)−1・g(j2)−...−1・g(jd)
というように、d個の1・g(in)という項(1≦n≦d)とd個の−1・g(jn)という項(1≦n≦d)とで表される。
Therefore, the value of the k-th order coefficient (r × g) (k) of the polynomial r × g is dg> d.
(R x g) (k)
= 1 · g (i1) + 1 · g (i2) +. . . + 1 · g (id)
−1 · g (j1) −1 · g (j2) −. . . −1 · g (jd)
Thus, it is expressed by d terms 1 · g (in) (1 ≦ n ≦ d) and d terms −1 · g (jn) (1 ≦ n ≦ d).

よって、(r×g)(k)は、g(in)が全て1であり(1≦n≦d)、かつg(jn)が全て−1であるようなとき(1≦n≦d)最大値を取り、その値は、高々2dである(最小値も、せいぜい−2dである。)。   Therefore, (r × g) (k) is such that g (in) is all 1 (1 ≦ n ≦ d) and g (jn) is all −1 (1 ≦ n ≦ d). The maximum value is taken and the value is at most 2d (the minimum value is at most -2d).

同様に、多項式f×mのk次の係数の値も、その値は高々2df−1である(最小値も、せいぜい−2df+1である。)。
今、p=3であるので、以上により、多項式p・r×g+f×mの最も大きい係数の値は、高々3・2d+2df−1である。そして、最も大きい係数がq/2を超えなければ、多項式p・r×g+f×mの全ての係数は、−q/2からq/2の範囲に収まっていることになるので、復号エラーは発生しない。
Similarly, the value of the k-th order coefficient of the polynomial f × m is at most 2df−1 (the minimum value is at most −2df + 1).
Now, since p = 3, the value of the largest coefficient of the polynomial p · r × g + f × m is 3 · 2d + 2df−1 at most. If the largest coefficient does not exceed q / 2, all the coefficients of the polynomial p · r × g + f × m are within the range of −q / 2 to q / 2. Does not occur.

従って、以下の条件式EDが導かれる。
ED:6・d+2・df−1<q/2
この条件式を満たせば、以上の議論から復号エラーは理論的に発生しない。
Therefore, the following conditional expression ED is derived.
ED: 6 · d + 2 · df −1 <q / 2
If this conditional expression is satisfied, a decoding error does not theoretically occur from the above discussion.

<初期安全性決定式IF>
詳細は後述するが、パラメータ生成装置1は、まず、総当り探索の解読に対し安全であるパラメータdf、dg、dを選ぶために、第1のパラメータ生成部102において、安全性レベル情報SLIに応じた十分大きい値であるパラメータNを選ぶ必要がある。
<Initial safety determinant IF>
Although details will be described later, the parameter generation device 1 first uses the first parameter generation unit 102 to set the safety level information SLI in order to select parameters df, dg, and d that are safe for decoding the brute force search. It is necessary to select a parameter N that is a sufficiently large value.

ここでは、そのために、初期安全性決定式IFの一例として、非特許文献3に挙げられている、df=61、dg=20、q=128の場合のNTRU暗号におけるLLLアルゴリズムによる解読に必要な解読時間の評価式を用いる。すなわち、初期安全性決定式IFは、
IF:log(T)=0.2002N−18.884
で示される。そして、この初期安全性決定式IFを、式格納部110へ与えておく。
Here, for this purpose, as an example of the initial safety determination formula IF, it is necessary for the decryption by the LLL algorithm in the NTRU cipher in the case of df = 61, dg = 20, q = 128, which is cited in Non-Patent Document 3. The evaluation formula for decoding time is used. That is, the initial safety determinant IF is
IF: log (T) = 0.002N−18.884
Indicated by Then, this initial safety determination formula IF is given to the formula storage unit 110.

初期安全性決定式IFは、df=61、dg=20、q=128の場合のNTRU暗号における、LLLアルゴリズムによる解読に必要な解読時間の評価式であるlog(T)=0.2002N−7.608という式を、TがMIPSyearを表すように変換した式である。   The initial security determinant IF is log (T) = 0.002N−7, which is an evaluation formula of the decryption time necessary for decryption by the LLL algorithm in the NTRU cipher in the case of df = 61, dg = 20, and q = 128. .608 is converted so that T represents MIPSyear.

次に、パラメータ生成装置1の詳細について説明を行う。
<パラメータ生成装置1の構成>
パラメータ生成装置1は、図1に示すように、入力部101と、第1のパラメータ生成部102と、第2のパラメータ生成部103と、第3のパラメータ生成部104と、安全性判定部105と、安全性増加部106と、出力部107と、第1のパラメータ変更部108と、第2のパラメータ変更部109と、式格納部110とを備えている。以下にそれぞれの構成要素について説明する。
Next, details of the parameter generation device 1 will be described.
<Configuration of Parameter Generating Device 1>
As illustrated in FIG. 1, the parameter generation device 1 includes an input unit 101, a first parameter generation unit 102, a second parameter generation unit 103, a third parameter generation unit 104, and a safety determination unit 105. A safety increase unit 106, an output unit 107, a first parameter change unit 108, a second parameter change unit 109, and an expression storage unit 110. Each component will be described below.

(1)入力部101
入力部101は、外部から安全性レベル情報SLIを受け取り、安全性レベル情報SLIを第1のパラメータ生成部102と第2のパラメータ生成部103と安全性増加部106と第2のパラメータ変更部109とに出力する。
(1) Input unit 101
The input unit 101 receives the safety level information SLI from the outside, and receives the safety level information SLI from the first parameter generation unit 102, the second parameter generation unit 103, the safety increase unit 106, and the second parameter change unit 109. And output.

ここで、安全性レベル情報SLIとは、達成すべき暗号の安全性レベルを表す情報であり、例えば、暗号の安全性が1024ビットRSA暗号に相当する安全性レベルであることを示す情報である。ここでは、一例として、安全性レベル情報SLIは、暗号解読アルゴリズムの処理量とする。SLIは(10^12)MIPSyearであるとして以降の説明を行う。   Here, the security level information SLI is information indicating the security level of the encryption to be achieved, for example, information indicating that the security of the encryption is a safety level corresponding to the 1024-bit RSA encryption. . Here, as an example, the security level information SLI is a processing amount of a decryption algorithm. The following description will be made assuming that SLI is (10 ^ 12) MIPSyear.

(2)第1のパラメータ生成部102
第1のパラメータ生成部102は、入力部101から安全性レベル情報SLIを受け取り、式格納部110から初期安全性決定式IFを読み取り、安全性レベル情報SLIに応じた十分大きい値である、NTRU暗号のパラメータNを選ぶ。そして、第1のパラメータ生成部102は、選んだパラメータNに対し、パラメータpをp=3とし、その他のパラメータq、df、dg、dの値を仮に0として、パラメータ組PS=(N,p,q,df,dg,d)を生成して第2のパラメータ生成部103へ出力する。
(2) First parameter generation unit 102
The first parameter generation unit 102 receives the safety level information SLI from the input unit 101, reads the initial safety determination formula IF from the formula storage unit 110, and has a sufficiently large value according to the safety level information SLI. Select encryption parameter N. Then, for the selected parameter N, the first parameter generation unit 102 sets the parameter p to p = 3, sets the values of the other parameters q, df, dg, and d to 0, and sets the parameter set PS = (N, p, q, df, dg, d) are generated and output to the second parameter generation unit 103.

具体的には、パラメータNは、初期安全性決定式IFの値が安全性レベル情報SLIの表す安全性レベルとなるようにパラメータNを選ぶ。
例えば、安全性レベル情報SLIが(10^12)MIPSyearであり、式格納部110に格納されている初期安全性決定式IFが
IF:log(T)=0.2002N−18.884
であるとき、安全性レベル情報SLIをTに代入した結果
IF:log(10^12)=0.2002N−18.884
を計算することにより、N=233が導出される。
Specifically, the parameter N is selected so that the value of the initial safety determination formula IF is the safety level represented by the safety level information SLI.
For example, the safety level information SLI is (10 ^ 12) MIPSyear, and the initial safety determination formula IF stored in the formula storage unit 110 is IF: log (T) = 0.002N-18.884.
Is the result of substituting safety level information SLI into T IF: log (10 ^ 12) = 0.002N-18.884
N = 233 is derived by calculating.

(3)第2のパラメータ生成部103
第2のパラメータ生成部103は、第1のパラメータ生成部102または第1のパラメータ変更部108からパラメータ組PSを受け取り、入力部101から安全性レベル情報SLIを受け取る。第2のパラメータ生成部103は、パラメータ組PSの中のパラメータNに基づき後述する方法によりパラメータ候補集合DSを導出する。第2のパラメータ生成部103は、後述する方法によりパラメータ候補集合DSの要素数がパラメータdf、dg、dを選ぶのに不十分か否か(例えば、要素数が3以上か否か)を判別する。不十分であれば、第2のパラメータ生成部103は、パラメータ組PSを第1のパラメータ変更部108へ出力する。十分であれば、第2のパラメータ生成部103は、パラメータdf、dg、dをパラメータ候補集合DSから選択する。第2のパラメータ生成部103は、これらのパラメータdf、dg、dを用いて新たにパラメータ組PS=(N,p,q,df,dg,d)を生成して、第3パラメータ生成部104へ出力する。
(3) Second parameter generation unit 103
The second parameter generation unit 103 receives the parameter set PS from the first parameter generation unit 102 or the first parameter change unit 108 and receives the safety level information SLI from the input unit 101. The second parameter generation unit 103 derives a parameter candidate set DS by a method described later based on the parameter N in the parameter set PS. The second parameter generation unit 103 determines whether or not the number of elements of the parameter candidate set DS is insufficient to select the parameters df, dg, and d (for example, whether the number of elements is 3 or more) by a method described later. To do. If it is insufficient, the second parameter generation unit 103 outputs the parameter set PS to the first parameter change unit 108. If sufficient, the second parameter generation unit 103 selects the parameters df, dg, and d from the parameter candidate set DS. The second parameter generation unit 103 newly generates a parameter set PS = (N, p, q, df, dg, d) using these parameters df, dg, d, and a third parameter generation unit 104. Output to.

以下に、パラメータ候補集合DSの導出方法と、パラメータdf、dg、dの選択方法とについて詳細に説明する。
(i)パラメータ候補集合DSの導出方法
第2のパラメータ生成部103は、安全性レベル情報SLIとパラメータNとに対し、
(C(N,k)・C(N−k,k))^(0.5)≧SLI
を満たす整数k(1≦k≦N)のパラメータ候補集合DSを導出する。ここで、C(a,b)はa個の中からb個を選ぶ組み合わせの数である。
Hereinafter, a method for deriving the parameter candidate set DS and a method for selecting the parameters df, dg, and d will be described in detail.
(I) Method for Deriving Parameter Candidate Set DS The second parameter generation unit 103 determines whether the safety level information SLI and the parameter N are
(C (N, k) · C (N−k, k)) ^ (0.5) ≧ SLI
A parameter candidate set DS of integer k (1 ≦ k ≦ N) that satisfies is derived. Here, C (a, b) is the number of combinations for selecting b out of a.

パラメータ候補集合DSの導出は、例えば、以下のようにして行なわれる。すなわち、第2のパラメータ生成部103は、k=1からk=N/2まで昇順にkを選択し、上記不等式の左辺に代入する。第2のパラメータ生成部103は、上述の不等式を満たすすべてのkを、パラメータ候補集合DSの要素とする。   The parameter candidate set DS is derived as follows, for example. That is, the second parameter generation unit 103 selects k in ascending order from k = 1 to k = N / 2, and substitutes it into the left side of the inequality. The second parameter generation unit 103 sets all k satisfying the above inequality as elements of the parameter candidate set DS.

なお、非特許文献5に記載の通り、上述の不等式の左辺は、dg=k(またはdf=k)としたときには、NTRU暗号の秘密鍵を総当りで探索する暗号解読の解読時間を示し、d=kとしたときには、NTRU暗号の平文を総当りで探索する暗号解読の解読時間を示す。すなわち、ここでは、パラメータ候補集合DSの中からパラメータdf、dg、dを選べば、平文や秘密鍵を総当りで探索する解読の解読時間が入力部101に入力された安全性レベル情報SLIが表す安全性レベルを達成するように、パラメータ候補集合DSが導出される。   As described in Non-Patent Document 5, when dg = k (or df = k), the left side of the above inequality indicates the decryption time for cryptanalysis that searches for the secret key of the NTRU cipher with brute force, When d = k, the decryption time for cryptanalysis for searching the plaintext of the NTRU cipher with brute force is shown. That is, here, if the parameters df, dg, and d are selected from the parameter candidate set DS, the security level information SLI input to the input unit 101 is the decryption time for decryption to search for plaintext and secret keys with brute force. A parameter candidate set DS is derived so as to achieve the security level that it represents.

(ii)パラメータdf、dg、dの選択方法
第2のパラメータ生成部103は、パラメータdf、dg、dを、dg>dとなるように、パラメータ候補集合DSから任意に選択する。ここでは、第2のパラメータ生成部103は、df>dg>dとなるように、パラメータ候補集合DSからランダムに選択してそれぞれdf、dg、dに割り当てることとする。
(Ii) Parameter df, dg, d Selection Method The second parameter generation unit 103 arbitrarily selects the parameters df, dg, d from the parameter candidate set DS so that dg> d. Here, the second parameter generation unit 103 selects at random from the parameter candidate set DS so that df>dg> d, and assigns them to df, dg, and d, respectively.

なお、パラメータ候補集合DSは、十分大きいNに対しては、その要素数がパラメータdf、dg、dを選ぶのに十分な数となる。実際に、SLI=10^12とすると、N=10のときにはDSの要素は無いが、N=30のときにはDS={8,9,10,11,12}(8以上12以下の5個の整数)となり、N=100のときにはDS={4,5,6,...,50}(4以上50以下の47個の整数)となる。   It should be noted that the parameter candidate set DS is sufficiently large for selecting a parameter df, dg, or d for a sufficiently large N. Actually, if SLI = 10 ^ 12, there is no DS element when N = 10, but DS = {8, 9, 10, 11, 12} (5 to 12) when N = 30. Integer), and when N = 100, DS = {4, 5, 6,. . . , 50} (47 integers from 4 to 50).

(4)第3のパラメータ生成部104
第3のパラメータ生成部104は、第2のパラメータ生成部103からパラメータ組PSを受け取り、式格納部110から復号エラーが発生しないためのパラメータの条件式EDを読み取る。第3のパラメータ生成部104は、パラメータ組PSの中のパラメータdf、dg、dに対し、条件式EDを満たし、かつ、パラメータqが2の冪となるような最小のqをパラメータqとして選ぶ。第3のパラメータ生成部104は、選んだパラメータqに対し、新たにパラメータ組PS=(N,p,q,df,dg,d)を生成して安全性判定部105へ出力する。
(4) Third parameter generation unit 104
The third parameter generation unit 104 receives the parameter set PS from the second parameter generation unit 103, and reads from the expression storage unit 110 a parameter conditional expression ED for preventing a decoding error from occurring. The third parameter generation unit 104 selects, as the parameter q, the minimum q that satisfies the conditional expression ED for the parameters df, dg, and d in the parameter set PS and that the parameter q is a power of 2. . The third parameter generation unit 104 newly generates a parameter set PS = (N, p, q, df, dg, d) for the selected parameter q and outputs it to the safety determination unit 105.

例えば、df=50、dg=24、d=16で、条件式EDが
ED:6d+2df−1<(q/2)
のとき、この条件式を解くとq>294となる。この条件式q>294を満たしかつq=2^i(iは自然数)を満たす最小のqは512であるので、パラメータqは、q=512とされる。なお、パラメータqを2の冪とするのは、パラメータp(p=3)とパラメータqとを互いに素になるように選ぶためである。pとqが互いに素になることは、非特許文献2に記載の通り、NTRU暗号のパラメータp、qの条件である。
For example, when df = 50, dg = 24, d = 16, the conditional expression ED is ED: 6d + 2df-1 <(q / 2)
When this conditional expression is solved, q> 294. Since the minimum q that satisfies the conditional expression q> 294 and satisfies q = 2 ^ i (i is a natural number) is 512, the parameter q is set to q = 512. The reason why the parameter q is a power of 2 is to select the parameter p (p = 3) and the parameter q so as to be relatively prime. The fact that p and q are relatively prime is a condition for parameters p and q of NTRU encryption as described in Non-Patent Document 2.

(5)安全性判定部105
安全性判定部105は、第3のパラメータ生成部104または第2のパラメータ変更部109からパラメータ組PSを受け取る。安全性判定部105は、パラメータ組PSの中のパラメータN、p、q、df、dgを持つNTRU暗号の格子強度係数SLを、パラメータdf、dg、qを用いて以下の式により導出する。
(5) Safety determination unit 105
The safety determination unit 105 receives the parameter set PS from the third parameter generation unit 104 or the second parameter change unit 109. The security determination unit 105 derives the lattice strength coefficient SL of the NTRU cipher having parameters N, p, q, df, and dg in the parameter set PS using the parameters df, dg, and q according to the following expression.

SL=(4・pi・e・|f|・|g|/q)^(0.5)
ここで、piは円周率、eは自然対数の底、|f|=(2df−1)^(0.5)、|g|=(2dg)^(0.5)を表す。
SL = (4 · pi · e · | f | · | g | / q) ^ (0.5)
Here, pi represents the circular ratio, e represents the base of the natural logarithm, and | f | = (2df-1) ^ (0.5), | g | = (2dg) ^ (0.5).

安全性判定部105は、式格納部110から格子強度係数GLを読み取り、GL≦SLならば、パラメータ組PSを安全性増加部106へ出力する。GL>SLであれば、安全性判定部105は、パラメータ組PSを第2のパラメータ変更部109へ出力する。   The safety determination unit 105 reads the lattice strength coefficient GL from the equation storage unit 110, and outputs the parameter set PS to the safety increase unit 106 if GL ≦ SL. If GL> SL, the safety determination unit 105 outputs the parameter set PS to the second parameter change unit 109.

(6)安全性増加部106
安全性増加部106は、安全性判定部105からパラメータ組PSを受け取り、入力部101から安全性レベル情報SLIを受け取り、式格納部110より解読時間評価式EFを読み取る。安全性増加部106は、パラメータ組PSの中のパラメータNと解読時間評価式EFとからNTRU暗号の解読時間Tを導出する。
(6) Safety increase unit 106
The safety increase unit 106 receives the parameter set PS from the safety determination unit 105, receives the safety level information SLI from the input unit 101, and reads the decoding time evaluation formula EF from the formula storage unit 110. The security increase unit 106 derives the decryption time T of the NTRU cipher from the parameter N in the parameter set PS and the decryption time evaluation formula EF.

例えば、N=400、解読時間評価式EFが、
EF:log(T)=0.093N−14.2
であるとき、解読時間Tはおよそ9.7×10^9である。
For example, N = 400, the decoding time evaluation formula EF is
EF: log (T) = 0.093N-14.2
The decoding time T is approximately 9.7 × 10 9.

安全性増加部106は、導出した解読時間Tが、安全性レベル情報SLIが表す安全性レベルを達成しているか否かを
T≧SLI
を満たすか否かによって判定する。T<SLIならば、安全性増加部106は、解読時間TがT≧SLIとなるようにパラメータNを増加させ、増加させたパラメータNに対し、新たにパラメータ組PS=(N,p,q,df,dg,d)を生成する。
The safety increase unit 106 determines whether the derived decryption time T has achieved the safety level represented by the safety level information SLI. T ≧ SLI
Judgment is made based on whether or not the above is satisfied. If T <SLI, the security increase unit 106 increases the parameter N so that the decoding time T satisfies T ≧ SLI, and newly sets the parameter set PS = (N, p, q for the increased parameter N. , Df, dg, d).

例えば、安全性増加部106は、安全性レベル情報SLIを解読時間評価式EFのTに代入した式
EF:log(SLI)=0.040N−6.2
を計算してパラメータNを導出することにより、新たなパラメータ組PSを生成する。
For example, the safety increasing unit 106 substitutes the safety level information SLI into T of the decoding time evaluation formula EF. EF: log (SLI) = 0.040N−6.2
And a parameter N is derived to generate a new parameter set PS.

安全性増加部106は、パラメータ組PSの中のパラメータNに対し、パラメータNが素数か否かを判定する。パラメータNが素数でないならば、安全性増加部106は、パラメータNを増加させて素数となるようにして、増加させたパラメータNに対し、新たにパラメータ組PS=(N,p,q,df,dg,d)を生成する。   The safety increase unit 106 determines whether the parameter N is a prime number with respect to the parameter N in the parameter set PS. If the parameter N is not a prime number, the safety increasing unit 106 increases the parameter N so as to be a prime number, and newly adds a parameter set PS = (N, p, q, df) to the increased parameter N. , Dg, d).

例えば、PS=(450,3,512,50,24,16)の場合、パラメータNはN=450であるが素数ではないので、450を超える素数のうち最小のものである451を新たにパラメータNの値として、PS=(451,3,512,50,24,16)とする。   For example, in the case of PS = (450, 3, 512, 50, 24, 16), the parameter N is N = 450 but not a prime number. As the value of N, PS = (451, 3, 512, 50, 24, 16).

これは、パラメータNが合成数であると、NTRU暗号の安全性が低下することが知られているため、これを避ける目的で行われるものである。なお、素数か否かを判定する方法は、例えば、非特許文献1に記載されており、ここでの説明は繰返さない。   This is done for the purpose of avoiding the fact that the security of the NTRU cipher is lowered when the parameter N is a composite number. In addition, the method of determining whether it is a prime number is described in the nonpatent literature 1, for example, and description here is not repeated.

最後に、安全性増加部106は、パラメータ組PSを出力部107へ出力する。
(7)出力部107
出力部107は、安全性増加部106からパラメータ組PSを受け取って外部へ出力する。
Finally, the safety increase unit 106 outputs the parameter set PS to the output unit 107.
(7) Output unit 107
The output unit 107 receives the parameter set PS from the safety increase unit 106 and outputs it to the outside.

(8)第1のパラメータ変更部108
第1のパラメータ変更部108は、第2のパラメータ生成部103または第2のパラメータ変更部109からパラメータ組PSを受け取り、パラメータ組PSの中のパラメータNを増加させる。ここでは、一例として、Nを10増加させるとする。そして、増加させたパラメータNに対し、新たにパラメータ組PS=(N,p,q,df,dg,d)を生成して第2のパラメータ生成部103へ出力する。
(8) First parameter changing unit 108
The first parameter change unit 108 receives the parameter set PS from the second parameter generation unit 103 or the second parameter change unit 109, and increases the parameter N in the parameter set PS. Here, as an example, it is assumed that N is increased by 10. Then, for the increased parameter N, a new parameter set PS = (N, p, q, df, dg, d) is generated and output to the second parameter generation unit 103.

(9)第2のパラメータ変更部109
第2のパラメータ変更部109は、入力部101から安全性レベル情報SLIを受け取り、安全性判定部105からパラメータ組PSを受け取り、第2のパラメータ生成部103と同様にして、パラメータ候補集合DSを生成する。第2のパラメータ変更部109は、パラメータ組PSの中のパラメータdgとパラメータ候補集合DSの要素の最大値Mとを比較する。dg<Mであれば、第2のパラメータ変更部109は、パラメータdgを、パラメータ候補集合DSの要素のうち、より大きい値に変更し、変更したパラメータdgに対し、新たにパラメータ組PS=(N,p,q,df,dg,d)を生成して安全性判定部105へ出力する。dg≧Mであれば、第2のパラメータ変更部109は、パラメータ組PSを第1パラメータ変更部108へ出力する。
(9) Second parameter changing unit 109
The second parameter change unit 109 receives the safety level information SLI from the input unit 101, receives the parameter set PS from the safety determination unit 105, and sets the parameter candidate set DS in the same manner as the second parameter generation unit 103. Generate. The second parameter changing unit 109 compares the parameter dg in the parameter set PS with the maximum value M of the elements of the parameter candidate set DS. If dg <M, the second parameter changing unit 109 changes the parameter dg to a larger value among the elements of the parameter candidate set DS, and newly sets the parameter set PS = ( N, p, q, df, dg, d) are generated and output to the safety judgment unit 105. If dg ≧ M, the second parameter changing unit 109 outputs the parameter set PS to the first parameter changing unit 108.

(10)式格納部110
式格納部110は、図3に示すように、予め、格子強度係数GL、解読時間評価式EF、復号エラーが発生しないパラメータの条件式ED、および初期安全性決定式IFを格納している。ここでは、上述のとおり、格子強度係数GLとして、
GL=2.12
解読時間評価式EFとして
EF:log(T)=0.93N−14.2
条件式EDとして、
ED:6d+2df−1<(q/2)
初期安全性決定式IFとして
IF:log(T)=0.2002N−18.884
が、予め与えられているものとする。
(10) Expression storage unit 110
As shown in FIG. 3, the expression storage unit 110 stores in advance a lattice strength coefficient GL, a decoding time evaluation expression EF, a parameter conditional expression ED that does not cause a decoding error, and an initial safety determination expression IF. Here, as described above, as the lattice strength coefficient GL,
GL = 2.12
As the decoding time evaluation formula EF: EF: log (T) = 0.93N-14.2
As conditional expression ED,
ED: 6d + 2df-1 <(q / 2)
As an initial safety determinant IF: IF: log (T) = 0.002N−18.884
Is given in advance.

ここで、上記解読時間評価式EFは、上述したとおり、パラメータdf、dg、qから計算される格子強度係数の値が、上記格子強度係数GLの値以上であるとき(この場合は2.12以上であるとき)に、LLLアルゴリズムを用いた解読の解読時間Tを、少なく見積もることなく評価できる式である。   Here, as described above, when the value of the lattice strength coefficient calculated from the parameters df, dg, q is equal to or greater than the value of the lattice strength coefficient GL, the decoding time evaluation formula EF (in this case, 2.12). (When it is the above), it is an expression that can be evaluated without underestimating the decoding time T of decoding using the LLL algorithm.

また、条件式EDは、上述したとおり、NTRU暗号において、復号エラーが発生しないためのパラメータ条件を表す式である。初期安全性決定式IFは、まず、総当り探索の解読に対し安全であるパラメータdf、dg、dを選ぶために、第1のパラメータ生成部102において、安全性レベル情報SLIに応じた十分大きい値であるパラメータNを選ぶために用いられる式である。   In addition, the conditional expression ED is an expression representing a parameter condition for preventing a decryption error from occurring in the NTRU cipher as described above. First, the initial safety determination formula IF is sufficiently large according to the safety level information SLI in the first parameter generation unit 102 in order to select parameters df, dg, and d that are safe for decoding the brute force search. This is an expression used to select a parameter N which is a value.

<パラメータ生成装置1の動作>
以上に述べたパラメータ生成装置1の動作について、図4、図5に示すフローチャートを用いて説明する。
<Operation of Parameter Generator 1>
The operation of the parameter generating apparatus 1 described above will be described using the flowcharts shown in FIGS.

パラメータ生成装置1は、あるパラメータのNTRU暗号の格子強度係数GL、その格子強度係数GLを持つNTRU暗号の解読時間評価式EF、および復号エラーが発生しないパラメータの条件式EDが予め与えられており、外部より安全性レベル情報SLIが入力されると、以下の処理を行う。   The parameter generation device 1 is given in advance a NTRU cipher lattice strength coefficient GL of a certain parameter, a NTRU cipher decryption time evaluation formula EF having the lattice strength coefficient GL, and a conditional expression ED of a parameter that does not cause a decryption error. When the safety level information SLI is input from the outside, the following processing is performed.

入力部101は、外部から安全性レベル情報SLIを受け取り、安全性レベル情報SLIを第1のパラメータ生成部102と第2のパラメータ生成部103と安全性増加部106と第2のパラメータ変更部109とに出力する(ステップS101)。   The input unit 101 receives the safety level information SLI from the outside, and receives the safety level information SLI from the first parameter generation unit 102, the second parameter generation unit 103, the safety increase unit 106, and the second parameter change unit 109. (Step S101).

第1のパラメータ生成部102は、入力部101から安全性レベル情報SLIを受け取り、式格納部110から初期安全性決定式IFを読み取り、安全性レベル情報SLIに応じた十分大きい値である、NTRU暗号のパラメータNを選ぶ(ステップS102)。   The first parameter generation unit 102 receives the safety level information SLI from the input unit 101, reads the initial safety determination formula IF from the formula storage unit 110, and has a sufficiently large value according to the safety level information SLI. The encryption parameter N is selected (step S102).

第1のパラメータ生成部102は、選ばれたパラメータNに対し、パラメータp=3とし、その他のパラメータq、df、dg、dの値を仮に0として、パラメータ組PS=(N,p,q,df,dg,d)を生成して第2のパラメータ生成部103へ出力する(ステップS103)。   The first parameter generation unit 102 sets the parameter p = 3 for the selected parameter N, sets the values of the other parameters q, df, dg, d to 0, and sets the parameter set PS = (N, p, q , Df, dg, d) are generated and output to the second parameter generation unit 103 (step S103).

第2のパラメータ生成部103は、第1のパラメータ生成部102または第1のパラメータ変更部108からパラメータ組PSを受け取り、入力部101から安全性レベル情報SLIを受け取る(ステップS104)。   The second parameter generation unit 103 receives the parameter set PS from the first parameter generation unit 102 or the first parameter change unit 108, and receives the safety level information SLI from the input unit 101 (step S104).

第2のパラメータ生成部103は、パラメータ候補集合DSを生成する(ステップS105)。
第2のパラメータ生成部103は、DSの要素数がパラメータdf、dg、dを選ぶのに不十分か否かを判別する(ステップS106)。
The second parameter generation unit 103 generates a parameter candidate set DS (step S105).
The second parameter generation unit 103 determines whether or not the number of DS elements is insufficient to select the parameters df, dg, and d (step S106).

DSの要素数が不十分であれば(ステップS106でYes)、第2のパラメータ生成部103は、パラメータ組PSを第1パラメータ変更部108へ出力する。(ステップS107)。   If the number of DS elements is insufficient (Yes in step S106), the second parameter generation unit 103 outputs the parameter set PS to the first parameter change unit 108. (Step S107).

第1のパラメータ変更部108は、第2のパラメータ生成部103または第2のパラメータ変更部109からパラメータ組PSを受け取り、パラメータ組PSの中のパラメータNを増加させ、増加させたパラメータNに対し、新たにパラメータ組PS=(N,p,q,df,dg,d)を生成して第2のパラメータ生成部103へ出力する。そして、処理をステップS104へ移す(ステップS108)。   The first parameter change unit 108 receives the parameter set PS from the second parameter generation unit 103 or the second parameter change unit 109, increases the parameter N in the parameter set PS, and increases the parameter N with respect to the increased parameter N , A new parameter set PS = (N, p, q, df, dg, d) is generated and output to the second parameter generation unit 103. Then, the process proceeds to step S104 (step S108).

DSの要素数が十分であれば(ステップS106でNo)、第2のパラメータ生成部103は、パラメータ候補集合DSの要素からパラメータdf、dg、dを選び、選んだパラメータdf、dg、dに対し、新たにパラメータ組PS=(N,p,q,df,dg,d)を生成して第3パラメータ生成部104へ出力する(ステップS109)。   If the number of DS elements is sufficient (No in step S106), the second parameter generation unit 103 selects parameters df, dg, d from the elements of the parameter candidate set DS, and sets the selected parameters df, dg, d to In contrast, a new parameter set PS = (N, p, q, df, dg, d) is generated and output to the third parameter generation unit 104 (step S109).

第3のパラメータ生成部104は、第2のパラメータ生成部103からパラメータ組PSを受け取り、式格納部110から復号エラーが発生しないパラメータの条件式EDを読み取る(ステップS110)。   The third parameter generation unit 104 receives the parameter set PS from the second parameter generation unit 103, and reads from the expression storage unit 110 the conditional expression ED of a parameter that does not cause a decoding error (step S110).

第3のパラメータ生成部104は、パラメータ組PSの中のパラメータdf、dg、dに対し、条件式EDを満たし、かつ、パラメータqが2の冪となるような最小のqをパラメータqとして選び、選んだパラメータqに対し、新たにパラメータ組PS=(N,p,q,df,dg,d)を生成して安全性判定部105へ出力する(ステップS111)。   The third parameter generation unit 104 selects, as the parameter q, the minimum q that satisfies the conditional expression ED for the parameters df, dg, and d in the parameter set PS and that the parameter q is a power of 2. For the selected parameter q, a new parameter set PS = (N, p, q, df, dg, d) is generated and output to the safety determination unit 105 (step S111).

安全性判定部105は、第3のパラメータ生成部104または第2のパラメータ変更部109からパラメータ組PSを受け取り、パラメータ組PSの中のパラメータN、p、q、df、dgをもつNTRU暗号の格子強度係数SLを導出する(ステップS112)。   The security determination unit 105 receives the parameter set PS from the third parameter generation unit 104 or the second parameter change unit 109, and uses the NTRU cipher with parameters N, p, q, df, and dg in the parameter set PS. A lattice strength coefficient SL is derived (step S112).

安全性判定部105は、式格納部110から格子強度係数GLを読み取り、GL≦SLを満たすか否かを判定する(ステップS113)。
GL≦SLの場合には(ステップS113でYes)、安全性判定部105は、パラメータ組PSを安全性増加部106へ出力する(ステップS114)。
The safety determination unit 105 reads the lattice strength coefficient GL from the expression storage unit 110 and determines whether or not GL ≦ SL is satisfied (step S113).
If GL ≦ SL (Yes in step S113), the safety determination unit 105 outputs the parameter set PS to the safety increase unit 106 (step S114).

安全性増加部106は、安全性判定部105からパラメータ組PSを受け取り、入力部101から安全性レベル情報SLIを受け取り、式格納部110より解読時間評価式EFを読み取る(ステップS115)。   The safety increase unit 106 receives the parameter set PS from the safety determination unit 105, receives the safety level information SLI from the input unit 101, and reads the decoding time evaluation formula EF from the formula storage unit 110 (step S115).

安全性増加部106は、パラメータ組PSの中のパラメータNと解読時間評価式EFとからNTRU暗号の解読時間Tを導出する(ステップS116)。
安全性増加部106は、導出した解読時間Tが、T<SLIを満たすか否かを判断する(S117)。
The security increasing unit 106 derives the NTRU decryption time T from the parameter N in the parameter set PS and the decryption time evaluation formula EF (step S116).
The security increase unit 106 determines whether or not the derived decoding time T satisfies T <SLI (S117).

T<SLIであれば(ステップS117でYes)、安全性増加部106は、解読時間TがT≧SLIとなるようにパラメータNを増加させ、増加させたパラメータNに対し、新たにパラメータ組PS=(N,p,q,df,dg,d)を生成する(ステップS118)。   If T <SLI (Yes in step S117), the security increase unit 106 increases the parameter N so that the decoding time T satisfies T ≧ SLI, and newly sets the parameter set PS for the increased parameter N. = (N, p, q, df, dg, d) is generated (step S118).

T≧SLIであるか(ステップS117でNo)、ステップS118の処理の後、安全性増加部106は、パラメータNが素数であるか否かを判断する(ステップS119)。
パラメータNが素数でなければ(ステップS119でNo)、安全性増加部106は、パラメータNを増加させ、増加させたパラメータNが素数となるようにし、増加させたパラメータNに対し、新たにパラメータ組PS=(N,p,q,df,dg,d)を生成する(ステップS120)。
Whether T ≧ SLI is satisfied (No in step S117), and after the process of step S118, the safety increase unit 106 determines whether the parameter N is a prime number (step S119).
If the parameter N is not a prime number (No in step S119), the safety increasing unit 106 increases the parameter N so that the increased parameter N becomes a prime number, and a new parameter is added to the increased parameter N. A set PS = (N, p, q, df, dg, d) is generated (step S120).

パラメータNが素数であるか(ステップS119でYes)、パラメータNを素数にする処理(ステップS120)の後、安全性増加部106は、パラメータ組PSを出力部107へ出力する(ステップS121)。   Whether the parameter N is a prime number (Yes in step S119), or after the process of making the parameter N a prime number (step S120), the safety increasing unit 106 outputs the parameter set PS to the output unit 107 (step S121).

出力部107は、安全性増加部106からパラメータ組PSを受け取り、パラメータ組PSを外部へ出力して処理を終了する(ステップS122)。
GL>SLの場合には(ステップS113でNo)、第2のパラメータ変更部109は、入力部101から安全性レベル情報SLIを受け取り、安全性判定部105からパラメータ組PSを受け取り、パラメータ候補集合DSを生成する(ステップS123)。
The output unit 107 receives the parameter set PS from the safety increase unit 106, outputs the parameter set PS to the outside, and ends the process (step S122).
If GL> SL (No in step S113), the second parameter changing unit 109 receives the safety level information SLI from the input unit 101, receives the parameter set PS from the safety determining unit 105, and sets the parameter candidate set. A DS is generated (step S123).

第2のパラメータ変更部109は、パラメータ組PSの中のパラメータdgとパラメータ候補集合DSの要素の最大値Mとを比較する(ステップS124)。
dg<Mであれば(ステップS124でYes)、第2のパラメータ変更部109は、パラメータdgを、パラメータ候補集合DSの要素のうち、より大きい値に変更し、変更したパラメータdgに対し、新たにパラメータ組PS=(N,p,q,df,dg,d)を生成し、パラメータ組PSを安全性判定部105へ出力する(ステップS125)。その後、処理をステップS112へ移す。
The second parameter changing unit 109 compares the parameter dg in the parameter set PS with the maximum value M of the elements of the parameter candidate set DS (step S124).
If dg <M (Yes in step S124), the second parameter changing unit 109 changes the parameter dg to a larger value among the elements of the parameter candidate set DS, and newly sets the changed parameter dg. Parameter set PS = (N, p, q, df, dg, d) is generated, and the parameter set PS is output to the safety determination unit 105 (step S125). Thereafter, the process proceeds to step S112.

dg≧Mであれば(ステップS124でNo)、第2のパラメータ変更部109は、パラメータ組PSを第1のパラメータ変更部108へ出力する(ステップS126)。その後、処理をステップS108へ移す。   If dg ≧ M (No in step S124), the second parameter changing unit 109 outputs the parameter set PS to the first parameter changing unit 108 (step S126). Thereafter, the process proceeds to step S108.

<パラメータ生成装置1の動作検証>
以下に、実施の形態1におけるパラメータ生成装置1の全体の動作について説明する。
まず、第1のパラメータ生成部102が、安全性レベル情報SLIに応じた十分大きい値である、パラメータNを選んでいる(ステップS102)。
<Operation verification of parameter generation device 1>
Hereinafter, the overall operation of the parameter generation device 1 according to the first embodiment will be described.
First, the first parameter generation unit 102 selects a parameter N that is a sufficiently large value according to the safety level information SLI (step S102).

そして、第2のパラメータ生成部103が、NTRU暗号を総当りで探索する解読に対し、安全性レベル情報SLIの表す安全性レベルを達成するパラメータ候補集合DSを生成している(ステップS105)。また、第2のパラメータ生成部103が、このパラメータ候補集合DSの要素から、安全性レベル情報SLIの表す安全性レベルを達成するパラメータdf、dg、dを選んでいる(ステップS109)。   Then, the second parameter generation unit 103 generates a parameter candidate set DS that achieves the security level represented by the security level information SLI for the brute force search for the NTRU cipher (step S105). Further, the second parameter generation unit 103 selects parameters df, dg, and d that achieve the safety level represented by the safety level information SLI from the elements of the parameter candidate set DS (step S109).

なお、パラメータ候補集合DSの要素数が不十分な場合は、第1のパラメータ変更部108が、パラメータNを増加させている(ステップS108)。上述したように、一般に、パラメータNが増加すれば、パラメータ候補集合DSの要素数も大きくなるので、必ずパラメータdf、dg、dは選ぶことができる。   When the number of elements in the parameter candidate set DS is insufficient, the first parameter changing unit 108 increases the parameter N (step S108). As described above, generally, as the parameter N increases, the number of elements in the parameter candidate set DS increases, so the parameters df, dg, and d can always be selected.

そして、第3のパラメータ生成部104が、復号エラーが発生しないパラメータの条件式EDを満たすように、パラメータqを選ぶことにより、パラメータ組PS=(N,p,q,df,dg,d)の値が決まる(ステップS111)。   Then, the third parameter generation unit 104 selects the parameter q so as to satisfy the conditional expression ED of the parameter that does not cause a decoding error, whereby the parameter set PS = (N, p, q, df, dg, d). Is determined (step S111).

ここで、パラメータqの値は、条件式EDを満たすように選ぶと、同程度のパラメータdf、dg、dをもつ、非特許文献2や非特許文献3に記載のNTRU暗号におけるパラメータqに比べ、一般に大きくなる。すなわち、格子強度係数GLの値が小さくなるので、同程度のパラメータdf、dg、dをもつ非特許文献2や非特許文献3に記載のNTRU暗号に比べ、LLLアルゴリズムによる解読に対する安全性レベル(解読時間)が下がる可能性がある。   Here, when the value of the parameter q is selected so as to satisfy the conditional expression ED, it is compared with the parameter q in the NTRU encryption described in Non-Patent Document 2 and Non-Patent Document 3 having the same parameters df, dg, and d. Generally larger. That is, since the value of the lattice strength coefficient GL is small, the level of security against decryption by the LLL algorithm (compared to the NTRU ciphers described in Non-Patent Document 2 and Non-Patent Document 3 having comparable parameters df, dg, d) ( (Decoding time) may be reduced.

従って、予め格納されている格子強度係数GLに基づき、安全性判定部105が、生成されたパラメータ組PSをもつNTRU暗号の解読時間が、その格子強度係数GLに基づく解読時間評価式EFで評価可能か否かを判断する(ステップS113)。評価可能であれば、安全性増加部106が、安全性レベル情報SLIの表す安全性レベルを達成するようにパラメータNを増加させている(ステップS118)。   Therefore, based on the lattice strength coefficient GL stored in advance, the security judgment unit 105 evaluates the decryption time of the NTRU cipher having the generated parameter set PS with the decryption time evaluation formula EF based on the lattice strength coefficient GL. It is determined whether or not it is possible (step S113). If the evaluation is possible, the safety increase unit 106 increases the parameter N so as to achieve the safety level represented by the safety level information SLI (step S118).

なお、NTRU暗号の解読時間が、その格子強度係数GLに基づく解読時間評価式EFで評価不可能であると判断された場合には、第2のパラメータ変更部109が、パラメータdgをより大きい値にすることにより(ステップS125)、そのパラメータをもつNTRU暗号の格子強度係数の値を大きくして、解読時間評価式EFで評価できるようにする。そのようにしても、解読時間評価式EFで評価できない場合には、第1のパラメータ変更部108が、パラメータNを増加させ(ステップS108)、もう一度パラメータdf、dg、d、qの生成を行うようにしている(ステップS109以降)。   When it is determined that the decryption time of the NTRU cipher cannot be evaluated by the decryption time evaluation formula EF based on the lattice strength coefficient GL, the second parameter changing unit 109 sets the parameter dg to a larger value. (Step S125), the value of the lattice strength coefficient of the NTRU cipher having the parameter is increased so that the evaluation can be performed using the decryption time evaluation formula EF. Even in such a case, when the evaluation cannot be performed using the decoding time evaluation formula EF, the first parameter changing unit 108 increases the parameter N (step S108), and again generates the parameters df, dg, d, and q. (Step S109 and subsequent steps).

今、パラメータNを大きくとれば、一般にパラメータ候補集合DSは大きい要素をもつようになる。よって、ステップS109で、パラメータdf、dg、dをもう一度選び直すときには、パラメータdf、dの値を変えずに、パラメータdgのみ値を大きくとることができる。そして、パラメータdgの値は、復号エラー発生の条件式には関与しないので、復号エラーが発生しないことを保証したまま、格子強度係数GLの値を大きくして、解読時間評価式EFで評価できるようにすることが可能となる。   Now, if the parameter N is increased, the parameter candidate set DS generally has large elements. Therefore, when the parameters df, dg, and d are selected again in step S109, only the parameter dg can be increased without changing the values of the parameters df and d. Since the value of the parameter dg is not related to the conditional expression for the occurrence of a decoding error, the value of the lattice strength coefficient GL can be increased and the decoding time evaluation expression EF can be evaluated while ensuring that no decoding error occurs. It becomes possible to do so.

以上により、高々有限回の繰り返し回数で、総当りの探索による解読とLLLアルゴリズムによる解読とに対し、入力された安全性レベル情報SLIの表す安全性を達成し、かつ、復号エラーが発生しないNTRU暗号のパラメータ組PSを生成することができる。   As described above, the NTRU that achieves the security represented by the input security level information SLI for the decoding by the brute force search and the decoding by the LLL algorithm with no finite number of repetitions and no decoding error occurs. A cryptographic parameter set PS can be generated.

<実施の形態1における効果>
従来の技術では、第三者による暗号解読に対して安全であり、かつ復号エラーが発生しないNTRU暗号のパラメータを生成するための条件が知られておらず、そのようなNTRU暗号のパラメータを生成できなかった。そのため、暗号装置と復号装置との間で安全かつ確実な暗号化通信ができなかった。
<Effect in Embodiment 1>
In the prior art, conditions for generating NTRU cipher parameters that are safe against decryption by a third party and that do not cause a decryption error are not known, and such NTRU cipher parameters are generated. could not. Therefore, secure and reliable encrypted communication cannot be performed between the encryption device and the decryption device.

しかしながら、このパラメータ生成装置は、上述したように、理論的に復号エラーが発生しないようにパラメータqを決定し、また入力された安全性レベルを達成するようにパラメータNを決定するようにしたので、安全かつ理論的に復号エラーが発生しないNTRU暗号のパラメータを生成できるようになった。   However, as described above, the parameter generation apparatus determines the parameter q so that a decoding error does not theoretically occur, and determines the parameter N so as to achieve the input security level. It is now possible to generate NTRU encryption parameters that are safe and theoretically free from decryption errors.

(実施の形態2)
本発明の実施の形態2に係るパラメータ変換装置2について、実施の形態1に係るパラメータ生成装置1との差異点を中心に説明する。
(Embodiment 2)
The parameter conversion device 2 according to the second embodiment of the present invention will be described focusing on differences from the parameter generation device 1 according to the first embodiment.

<パラメータ変換装置2の概要>
最初に、図6を用いて本実施の形態の概要を説明する。
このパラメータ変換装置2は、実施の形態1におけるパラメータ生成装置1を変形して構成したパラメータ変換装置である。パラメータ変換装置2は、NTRU暗号のパラメータ組IPSを入力としたとき、パラメータ組IPSを、総当りの探索による解読とLLLアルゴリズムによる解読とに対し、入力された安全性レベル情報SLIを達成し、かつ復号エラーが発生しないNTRU暗号のパラメータ組PSへ変換して出力する点が、パラメータ生成装置1と異なる。
<Outline of Parameter Conversion Device 2>
First, the outline of the present embodiment will be described with reference to FIG.
The parameter conversion device 2 is a parameter conversion device configured by modifying the parameter generation device 1 according to the first embodiment. When the parameter conversion device 2 receives the NTRU cipher parameter set IPS, the parameter conversion device 2 achieves the input security level information SLI for the brute force search and the LLL algorithm for the parameter set IPS. In addition, the parameter generation apparatus 1 is different from the parameter generation apparatus 1 in that it is converted into an NTRU cipher parameter set PS in which no decryption error occurs.

なお、実施の形態1におけるパラメータ生成装置1と同様にして、あるパラメータに対するNTRU暗号の格子強度係数GL、その格子強度係数GLを持つNTRU暗号の解読時間評価式EF、および復号エラーが発生しないパラメータの条件式EDが予め与えられている。   As in the parameter generation device 1 in the first embodiment, the NTRU cipher lattice strength coefficient GL for a certain parameter, the NTRU cipher decryption time evaluation formula EF having the lattice strength coefficient GL, and a parameter that does not cause a decryption error The conditional expression ED is given in advance.

<パラメータ変換装置2の構成>
パラメータ変換装置2は、図6に示すように、入力部101bと、第2のパラメータ生成部103bと、第3のパラメータ生成部104bと、安全性判定部105と、安全性増加部106と、出力部107と、第1のパラメータ変更部108と、第2のパラメータ変更部109と、式格納部110とを備える。
<Configuration of Parameter Conversion Device 2>
As shown in FIG. 6, the parameter conversion apparatus 2 includes an input unit 101b, a second parameter generation unit 103b, a third parameter generation unit 104b, a safety determination unit 105, a safety increase unit 106, An output unit 107, a first parameter change unit 108, a second parameter change unit 109, and an expression storage unit 110 are provided.

このパラメータ変換装置2は、入力部101bが異なることと、第1のパラメータ生成部が存在しないことと、第2のパラメータ生成部103bの入出力が異なることと、および第3のパラメータ生成部104bの入出力が異なることとが、実施の形態1におけるパラメータ生成装置1と異なる。   In this parameter conversion device 2, the input unit 101b is different, the first parameter generation unit is not present, the input / output of the second parameter generation unit 103b is different, and the third parameter generation unit 104b. Is different from the parameter generation device 1 according to the first embodiment.

ここでは、パラメータ生成装置1との差異点を中心に説明を行う。
(1)入力部101b
入力部101bは、外部から安全性レベル情報SLIとNTRU暗号のパラメータ組IPSを受け取り、安全性レベル情報SLIを第2のパラメータ生成部103bと安全性増加部106と第2のパラメータ変更部109とに出力する。また、入力部101bは、パラメータ組IPSをパラメータ組PSとして第3のパラメータ生成部104bへ出力する。
Here, the description will focus on differences from the parameter generation device 1.
(1) Input unit 101b
The input unit 101b receives the security level information SLI and the NTRU cipher parameter set IPS from the outside, and receives the security level information SLI from the second parameter generation unit 103b, the security increase unit 106, and the second parameter change unit 109. Output to. The input unit 101b outputs the parameter set IPS as the parameter set PS to the third parameter generation unit 104b.

(2)第2のパラメータ生成部103b
第2のパラメータ生成部103bは、第1のパラメータ変更部108からパラメータ組PSを受け取り、入力部101bから安全性レベル情報SLIを受け取る。そして、第2のパラメータ生成部103bは、第2のパラメータ生成部103と同様にして、パラメータ候補集合DSを生成する。そして、第2のパラメータ生成部103bは、第2のパラメータ生成部103と同様にして、パラメータ候補集合DSの要素数がパラメータdf、dg、dを選ぶのに不十分か否か(例えば、要素数が3以上か否か)を判別し、不十分であれば、パラメータ組PSを第1パラメータ変更部108へ出力する。不十分でなければ、第2のパラメータ生成部103bは、パラメータdf、dg、dを、パラメータ候補集合DSから選び、選んだパラメータdf、dg、dに対し、新たにパラメータ組PS=(N,p,q,df,dg,d)を生成してパラメータ組PSを第3パラメータ生成部104bへ出力する。
(2) Second parameter generation unit 103b
The second parameter generation unit 103b receives the parameter set PS from the first parameter change unit 108, and receives the safety level information SLI from the input unit 101b. Then, the second parameter generation unit 103b generates a parameter candidate set DS in the same manner as the second parameter generation unit 103. Then, the second parameter generation unit 103b, like the second parameter generation unit 103, determines whether or not the number of elements of the parameter candidate set DS is insufficient to select the parameters df, dg, d (for example, the element Whether the number is 3 or more) is determined. If the number is insufficient, the parameter set PS is output to the first parameter changing unit 108. If not sufficient, the second parameter generation unit 103b selects the parameters df, dg, and d from the parameter candidate set DS, and newly sets the parameter set PS = (N, p, q, df, dg, d) are generated and the parameter set PS is output to the third parameter generation unit 104b.

(3)第3のパラメータ生成部104b
第3のパラメータ生成部104bは、入力部101bまたは第2のパラメータ生成部103bからパラメータ組PSを受け取り、式格納部110から復号エラーが発生しないパラメータの条件式EDを読み取る。そして、第3のパラメータ生成部104bは、第3のパラメータ生成部104と同様にして、パラメータ組PSの中のパラメータdf、dg、dに対し、条件式EDを満たし、かつ、パラメータqが2の冪となるような最小のqをパラメータqとして選ぶ。そして、第3のパラメータ生成部104bは、選んだパラメータqに対し、新たにパラメータ組PS=(N,p,q,df,dg,d)を生成し、パラメータ組PSを安全性判定部105へ出力する。
(3) Third parameter generation unit 104b
The third parameter generation unit 104b receives the parameter set PS from the input unit 101b or the second parameter generation unit 103b, and reads the conditional expression ED of the parameter that does not cause a decoding error from the expression storage unit 110. Then, the third parameter generation unit 104b satisfies the conditional expression ED for the parameters df, dg, and d in the parameter set PS, and the parameter q is 2 in the same manner as the third parameter generation unit 104. As a parameter q, the minimum q that satisfies the above is selected. Then, the third parameter generation unit 104b newly generates a parameter set PS = (N, p, q, df, dg, d) for the selected parameter q, and sets the parameter set PS as the safety determination unit 105. Output to.

<パラメータ変換装置2の動作>
以上に述べたパラメータ変換装置2の動作について、図7、図8に示すフローチャートを用いて説明する。
<Operation of Parameter Conversion Device 2>
The operation of the parameter conversion apparatus 2 described above will be described using the flowcharts shown in FIGS.

パラメータ変換装置2には、実施の形態1のパラメータ生成装置1と同様にして、あるパラメータのNTRU暗号の格子強度係数GL、その格子強度係数GLを持つNTRU暗号の解読時間評価式EF、および復号エラーが発生しないパラメータの条件式EDが予め与えられている。パラメータ変換装置2は、外部より安全性レベル情報SLIおよびNTRU暗号のパラメータ組IPSが入力されると、以下の処理を行う。   Similarly to the parameter generation device 1 according to the first embodiment, the parameter conversion device 2 includes the NTRU cipher lattice strength coefficient GL of a certain parameter, the NTRU cipher decryption time evaluation formula EF having the lattice strength coefficient GL, and decryption. A conditional expression ED for a parameter that does not cause an error is given in advance. When the security level information SLI and the NTRU cipher parameter set IPS are input from the outside, the parameter conversion device 2 performs the following processing.

入力部101bは、外部から安全性レベル情報SLIとNTRU暗号のパラメータ組IPSを受け取る。入力部101bは、安全性レベル情報SLIを第2のパラメータ生成部103bと安全性増加部106と第2のパラメータ変更部109とに出力する。また、入力部101bは、パラメータ組IPSをパラメータ組PSとして第3のパラメータ生成部104bへ出力し、処理をステップS210へ移す(ステップS201)。   The input unit 101b receives the security level information SLI and the NTRU cipher parameter set IPS from the outside. The input unit 101b outputs the safety level information SLI to the second parameter generation unit 103b, the safety increase unit 106, and the second parameter change unit 109. Also, the input unit 101b outputs the parameter set IPS as the parameter set PS to the third parameter generation unit 104b, and moves the process to step S210 (step S201).

第2のパラメータ生成部103bは、第1のパラメータ変更部108からパラメータ組PSを受け取り、入力部101bから安全性レベル情報SLIを受け取る(ステップS204)。   The second parameter generation unit 103b receives the parameter set PS from the first parameter change unit 108, and receives the safety level information SLI from the input unit 101b (step S204).

第2のパラメータ生成部103bは、パラメータ候補集合DSを生成する(ステップS205)。
第2のパラメータ生成部103bは、パラメータ候補集合DSの要素数がパラメータdf、dg、dを選ぶのに不十分か否かを判別する(ステップS206)。
The second parameter generation unit 103b generates a parameter candidate set DS (step S205).
The second parameter generation unit 103b determines whether or not the number of elements of the parameter candidate set DS is insufficient to select the parameters df, dg, d (step S206).

パラメータ候補集合DSの要素数が不十分であれば(ステップS206でYes)、第2のパラメータ生成部103bは、パラメータ組PSを第1パラメータ変更部108へ出力する(ステップS207)。   If the number of elements in the parameter candidate set DS is insufficient (Yes in step S206), the second parameter generation unit 103b outputs the parameter set PS to the first parameter change unit 108 (step S207).

第1のパラメータ変更部108は、第2のパラメータ生成部103bまたは第2のパラメータ変更部109からパラメータ組PSを受け取る。第1のパラメータ変更部108は、パラメータ組PSの中のパラメータNを増加させ、増加させたパラメータNに対し、新たにパラメータ組PS=(N,p,q,df,dg,d)を生成して第2のパラメータ生成部103bへ出力する。そして、処理をステップS204へ移す(ステップS208)。   The first parameter changing unit 108 receives the parameter set PS from the second parameter generating unit 103b or the second parameter changing unit 109. The first parameter changing unit 108 increases the parameter N in the parameter set PS, and newly generates a parameter set PS = (N, p, q, df, dg, d) for the increased parameter N. And output to the second parameter generation unit 103b. Then, the process proceeds to step S204 (step S208).

パラメータ候補集合DSの要素数が十分であれば(ステップS206でNo)、第2のパラメータ生成部103bは、パラメータ候補集合DSの要素からパラメータdf、dg、dを選ぶ。第2のパラメータ生成部103bは、選んだパラメータdf、dg、dに対し、新たにパラメータ組PS=(N,p,q,df,dg,d)を生成して第3パラメータ生成部104bへ出力する(ステップS209)。   If the number of elements in the parameter candidate set DS is sufficient (No in step S206), the second parameter generation unit 103b selects parameters df, dg, and d from the elements in the parameter candidate set DS. The second parameter generation unit 103b newly generates a parameter set PS = (N, p, q, df, dg, d) for the selected parameters df, dg, and d, and sends it to the third parameter generation unit 104b. Output (step S209).

第3のパラメータ生成部104bは、入力部101bからパラメータ組PSを受け取り、式格納部110から復号エラーが発生しないパラメータの条件式EDを読み取る(ステップS210)。   The third parameter generation unit 104b receives the parameter set PS from the input unit 101b, and reads the conditional expression ED of the parameter that does not cause a decoding error from the expression storage unit 110 (step S210).

第3のパラメータ生成部104bは、パラメータ組PSの中のパラメータdf、dg、dに対し、条件式EDを満たし、かつ、パラメータqが2の冪となるような最小のqをパラメータqとして選ぶ。第3のパラメータ生成部104bは、選んだパラメータqに対し、新たにパラメータ組PS=(N,p,q,df,dg,d)を生成して安全性判定部105へ出力する(ステップS211)。   The third parameter generation unit 104b selects, as the parameter q, the minimum q that satisfies the conditional expression ED for the parameters df, dg, and d in the parameter set PS and that the parameter q is a power of 2. . The third parameter generation unit 104b newly generates a parameter set PS = (N, p, q, df, dg, d) for the selected parameter q and outputs it to the safety determination unit 105 (step S211). ).

安全性判定部105は、第3のパラメータ生成部104bまたは第2のパラメータ変更部109からパラメータ組PSを受け取り、パラメータ組PSの中のパラメータN、p、q、df、dgをもつNTRU暗号の格子強度係数SLを導出する(ステップS212)。   The security judgment unit 105 receives the parameter set PS from the third parameter generation unit 104b or the second parameter change unit 109, and uses the NTRU cipher with parameters N, p, q, df, dg in the parameter set PS. A lattice strength coefficient SL is derived (step S212).

安全性判定部105は、式格納部110から格子強度係数GLを読み取り、GL≦SLを満たすか否かを判定する(ステップS213)。
GL≦SLであれば(ステップS213でYes)、安全性判定部105は、パラメータ組PSを安全性増加部106へ出力する(ステップS214)。
The safety determination unit 105 reads the lattice strength coefficient GL from the expression storage unit 110 and determines whether or not GL ≦ SL is satisfied (step S213).
If GL ≦ SL (Yes in step S213), the safety determining unit 105 outputs the parameter set PS to the safety increasing unit 106 (step S214).

安全性増加部106は、安全性判定部105からパラメータ組PSを受け取り、入力部101bから安全性レベル情報SLIを受け取り、式格納部110より解読時間評価式EFを読み取る(ステップS215)。   The safety increase unit 106 receives the parameter set PS from the safety determination unit 105, receives the safety level information SLI from the input unit 101b, and reads the decoding time evaluation formula EF from the formula storage unit 110 (step S215).

安全性増加部106は、パラメータ組PSの中のパラメータNと解読時間評価式EFとからNTRU暗号の解読時間Tを導出する(ステップS216)。
安全性増加部106は、導出した解読時間Tが、T<SLIを満たすか否かを判断する(ステップS217)。
The security increase unit 106 derives the decryption time T of the NTRU cipher from the parameter N in the parameter set PS and the decryption time evaluation formula EF (step S216).
The safety increase unit 106 determines whether or not the derived decryption time T satisfies T <SLI (step S217).

T<SLIであれば(ステップS217でYes)、安全性増加部106は、解読時間TがT≧SLIとなるようにパラメータNを増加させ、増加させたパラメータNに対し、新たにパラメータ組PS=(N,p,q,df,dg,d)を生成する(ステップS218)。   If T <SLI (Yes in step S217), the security increasing unit 106 increases the parameter N so that the decoding time T satisfies T ≧ SLI, and newly sets the parameter set PS for the increased parameter N. = (N, p, q, df, dg, d) is generated (step S218).

T≧SLIであるか(ステップS217でNo)、ステップS218の処理の後、安全性増加部106は、パラメータNが素数であるか否かを判断する(ステップS219)。
パラメータNが素数でなければ(ステップS219でNo)、安全性増加部106は、パラメータNを増加させ、増加させたパラメータNが素数となるようにし、増加させたパラメータNに対し、新たにパラメータ組PS=(N,p,q,df,dg,d)を生成する(ステップS220)。
Whether T ≧ SLI is satisfied (No in step S217), and after the process of step S218, the safety increase unit 106 determines whether the parameter N is a prime number (step S219).
If the parameter N is not a prime number (No in step S219), the safety increase unit 106 increases the parameter N so that the increased parameter N becomes a prime number, and a new parameter is added to the increased parameter N. A set PS = (N, p, q, df, dg, d) is generated (step S220).

パラメータNが素数であるか(ステップS219でYes)、パラメータNを素数にする処理(ステップS220)の後、安全性増加部106は、パラメータ組PSを出力部107へ出力する(ステップS221)。   Whether the parameter N is a prime number (Yes in step S219), or after the process of making the parameter N a prime number (step S220), the safety increase unit 106 outputs the parameter set PS to the output unit 107 (step S221).

出力部107は、安全性増加部106からパラメータ組PSを受け取り、パラメータ組PSを外部へ出力して処理を終了する(ステップS222)。
GL>SLの場合には(ステップS213でNo)、第2のパラメータ変更部109は、入力部101bから安全性レベル情報SLIを受け取り、安全性判定部105からパラメータ組PSを受け取り、パラメータ候補集合DSを生成する(ステップS223)。
The output unit 107 receives the parameter set PS from the safety increase unit 106, outputs the parameter set PS to the outside, and ends the process (step S222).
If GL> SL (No in step S213), the second parameter changing unit 109 receives the safety level information SLI from the input unit 101b, receives the parameter set PS from the safety determining unit 105, and sets the parameter candidate set. A DS is generated (step S223).

第2のパラメータ変更部109は、パラメータ組PSの中のパラメータdgとパラメータ候補集合DSの要素の最大値Mとを比較する(ステップS224)。
dg<Mであれば(ステップS224でYes)、第2のパラメータ変更部109は、パラメータdgを、パラメータ候補集合DSの要素のうち、より大きい値に変更し、変更したパラメータdgに対し、新たにパラメータ組PS=(N,p,q,df,dg,d)を生成し、パラメータ組PSを安全性判定部105へ出力する(ステップS225)。その後、処理をステップS212へ移す。
The second parameter changing unit 109 compares the parameter dg in the parameter set PS with the maximum value M of the elements of the parameter candidate set DS (step S224).
If dg <M (Yes in step S224), the second parameter changing unit 109 changes the parameter dg to a larger value among the elements of the parameter candidate set DS, and newly sets the changed parameter dg. Parameter set PS = (N, p, q, df, dg, d) is generated, and the parameter set PS is output to the safety judgment unit 105 (step S225). Thereafter, the process proceeds to step S212.

dg≧Mであれば(ステップS224でNo)、第2のパラメータ変更部109は、パラメータ組PSを第1のパラメータ変更部108へ出力する(ステップS226)。その後、処理をステップS208へ移す。   If dg ≧ M (No in step S224), the second parameter changing unit 109 outputs the parameter set PS to the first parameter changing unit 108 (step S226). Thereafter, the process proceeds to step S208.

<パラメータ変換装置2の動作検証>
以下に、実施の形態2におけるパラメータ変換装置2の全体の動作について説明する。
まず、入力部101bが、入力されたNTRU暗号のパラメータ組IPSをパラメータ組PSとして第3のパラメータ生成部104bに出力している(ステップS201)。
<Operation verification of parameter converter 2>
Hereinafter, the overall operation of the parameter conversion apparatus 2 according to the second embodiment will be described.
First, the input unit 101b outputs the input NTRU cipher parameter set IPS as the parameter set PS to the third parameter generation unit 104b (step S201).

そして、第2のパラメータ生成部103bは、実施の形態1と同様にして、NTRU暗号を総当りで探索する解読に対し、安全性レベル情報SLIの表す安全性レベルを達成するパラメータ候補集合DSを生成する(ステップS205)。   Then, in the same way as in the first embodiment, the second parameter generation unit 103b determines a parameter candidate set DS that achieves the security level represented by the security level information SLI for the cryptanalysis that searches the NTRU cipher in a brute force manner. Generate (step S205).

そして、第3のパラメータ生成部104bが、復号エラーが発生しないパラメータの条件式EDを満たすように、パラメータqを選ぶことにより、パラメータ組PS=(N,p,q,df,dg,d)の値が決まる(ステップS211)。   Then, the third parameter generation unit 104b selects the parameter q so as to satisfy the conditional expression ED of the parameter in which no decoding error occurs, whereby the parameter set PS = (N, p, q, df, dg, d). Is determined (step S211).

ここで、実施の形態1と同様に、パラメータqの値を、条件式EDを満たすように選ぶと、LLLアルゴリズムによる解読に対する安全性レベル(解読時間)が下がる可能性がある。このため、安全性判定部105が、予め格納されている格子強度係数GLに基づき、生成されたパラメータ組PSをもつNTRU暗号の解読時間が、その格子強度係数GLに基づく解読時間評価式EFで評価可能か否かを判断する(ステップS213)。評価可能であれば、安全性増加部106が、安全性レベル情報SLIの表す安全性レベルを達成するようにパラメータNを増加させている(ステップS218)。   Here, as in the first embodiment, if the value of the parameter q is selected so as to satisfy the conditional expression ED, the security level (decoding time) against decoding by the LLL algorithm may be lowered. For this reason, the security judgment unit 105 calculates the decryption time of the NTRU cipher having the generated parameter set PS based on the lattice strength coefficient GL stored in advance by the decryption time evaluation formula EF based on the lattice strength coefficient GL. It is determined whether or not evaluation is possible (step S213). If the evaluation is possible, the safety increasing unit 106 increases the parameter N so as to achieve the safety level represented by the safety level information SLI (step S218).

なお、評価できない場合には、第2のパラメータ変更部109が、パラメータdgをより大きい値にすることにより(ステップS225)、そのパラメータをもつNTRU暗号の格子強度係数の値を大きくして、解読時間評価式EFで評価できるようにする。そうしても評価できない場合には、第1のパラメータ変更部108が、パラメータNを増加させ(ステップS208)、もう一度パラメータdf、dg、d、qの生成を行うようにしている(ステップS209以降)。   If the evaluation cannot be performed, the second parameter changing unit 109 increases the value of the lattice strength coefficient of the NTRU cipher having the parameter by setting the parameter dg to a larger value (step S225). The time evaluation formula EF enables evaluation. If the evaluation cannot be performed even after that, the first parameter changing unit 108 increases the parameter N (step S208), and again generates the parameters df, dg, d, and q (after step S209). ).

今、パラメータNを大きくとれば、一般にパラメータ候補集合DSは大きい要素をもつようになる。よって、パラメータdf、dg、dをもう一度選び直すときには(ステップS209)、パラメータdf、dの値を変えずに、パラメータdgのみ値を大きくとることができる。そして、パラメータdgの値は、復号エラー発生の条件式には関与しないので、復号エラーが発生しないことを保証したまま、安全強度指標GLの値を大きくして、解読時間評価式EFで評価できるようにすることが可能となる。   Now, if the parameter N is increased, the parameter candidate set DS generally has large elements. Therefore, when the parameters df, dg, d are selected again (step S209), only the parameter dg can be increased without changing the values of the parameters df, d. Since the value of the parameter dg is not related to the conditional expression for occurrence of a decoding error, the value of the safety strength index GL can be increased and evaluated by the decoding time evaluation expression EF while ensuring that no decoding error occurs. It becomes possible to do so.

以上により、高々有限回の繰り返し回数で、入力されたNTRU暗号のパラメータIPSを、総当りの探索による解読とLLLアルゴリズムによる解読に対し、入力された安全性レベル情報SLIの表す安全性レベルを達成し、かつ、復号エラーが発生しないNTRU暗号のパラメータ組PSに変換することができる。   As described above, the security level represented by the input security level information SLI is achieved for the decryption by the brute force search and the decryption by the LLL algorithm for the input NTRU cipher parameter IPS with a finite number of repetitions at most. In addition, it is possible to convert the parameter set PS to the NTRU cipher that does not cause a decryption error.

<実施の形態2における効果>
従来の技術では、第三者による暗号解読に対して安全であり、かつ復号エラーが発生しないNTRU暗号のパラメータを生成するための条件が知られておらず、そのようなNTRU暗号のパラメータを生成できなかった。そのため、暗号装置と復号装置との間で安全かつ確実な暗号化通信ができなかった。
<Effect in Embodiment 2>
In the prior art, conditions for generating NTRU cipher parameters that are safe against decryption by a third party and that do not cause a decryption error are not known, and such NTRU cipher parameters are generated. could not. Therefore, secure and reliable encrypted communication cannot be performed between the encryption device and the decryption device.

しかしながら、このパラメータ変換装置は、上述したように、入力されたNTRU暗号のパラメータに対し、理論的に復号エラーが発生しないようにパラメータqを決定し、また入力された安全性レベルを達成するようにパラメータNを決定するようにしたので、安全でかつ理論的に復号エラーが発生しないNTRU暗号のパラメータに変換できるようになった。   However, as described above, the parameter conversion apparatus determines the parameter q so that a decryption error does not theoretically occur for the input NTRU encryption parameter, and achieves the input security level. Since the parameter N is determined, the parameter can be converted into the NTRU encryption parameter which is safe and theoretically causes no decryption error.

(実施の形態3)
本発明に係る実施の形態3としての暗号システム3について説明する。
<暗号システム3の構成>
この暗号システム3は、図11に示すように、暗号装置31、復号装置32、および通信路33から構成され、実施の形態1におけるパラメータ生成装置1または実施の形態2におけるパラメータ変換装置2によって生成された、第三者による暗号解読に対して安全であり、かつ復号エラーが発生しないNTRU暗号のパラメータを利用して、暗号化通信を行うシステムである。
(Embodiment 3)
An encryption system 3 as Embodiment 3 according to the present invention will be described.
<Configuration of encryption system 3>
As shown in FIG. 11, the encryption system 3 includes an encryption device 31, a decryption device 32, and a communication channel 33, and is generated by the parameter generation device 1 in the first embodiment or the parameter conversion device 2 in the second embodiment. This is a system for performing encrypted communication using parameters of NTRU encryption that is safe against decryption by a third party and does not cause a decryption error.

<暗号装置31の構成>
暗号装置31は、平文多項式mを暗号化し、暗号文多項式cを生成する装置であり、図12に示すように、パラメータ記憶部311、公開鍵記憶部312、および暗号化部313を備える。
<Configuration of Encryption Device 31>
The encryption device 31 is a device that encrypts the plaintext polynomial m and generates a ciphertext polynomial c, and includes a parameter storage unit 311, a public key storage unit 312, and an encryption unit 313 as shown in FIG.

(1)パラメータ記憶部311
パラメータ記憶部311は、実施の形態1におけるパラメータ生成装置1または実施の形態2におけるパラメータ変換装置2によって生成されたNTRU暗号のパラメータである、パラメータN、パラメータp、パラメータq、パラメータdf、パラメータdg、パラメータdを、予め記憶している。
(1) Parameter storage unit 311
The parameter storage unit 311 is a parameter N, a parameter p, a parameter q, a parameter df, a parameter dg, which are parameters of the NTRU cipher generated by the parameter generation device 1 in the first embodiment or the parameter conversion device 2 in the second embodiment. , Parameter d is stored in advance.

(2)公開鍵記憶部312
公開鍵記憶部312は、予め復号装置32の公開鍵多項式hを取得し、記憶している。
この公開鍵多項式hは、パラメータNに対し、(N−1)次元以下の多項式で表される多項式である。
(2) Public key storage unit 312
The public key storage unit 312 acquires and stores the public key polynomial h of the decryption device 32 in advance.
This public key polynomial h is a polynomial expressed with respect to the parameter N by a polynomial of (N-1) dimensions or less.

(3)暗号化部313
暗号化部313は、パラメータ記憶部311からパラメータN、パラメータp、パラメータq、パラメータdを受け取り、公開鍵記憶部312から、公開鍵多項式hを受け取り、外部から、パラメータNに対し、(N−1)次元以下の多項式で表される平文多項式mを受け取る。
(3) Encryption unit 313
The encryption unit 313 receives the parameter N, the parameter p, the parameter q, and the parameter d from the parameter storage unit 311, receives the public key polynomial h from the public key storage unit 312, and (N− 1) Receive a plaintext polynomial m expressed by a polynomial of a dimension or less.

暗号化部313は、パラメータN、パラメータdを用いて、d個の係数が「1」であり、かつd個の係数が「−1」であり、かつ他の係数は「0」となるように、(N−1)次元の乱数多項式rをランダムに選ぶ。   The encryption unit 313 uses the parameter N and the parameter d so that the d coefficients are “1”, the d coefficients are “−1”, and the other coefficients are “0”. Then, the (N-1) -dimensional random number polynomial r is selected at random.

暗号化部313は、平文多項式mに対し、乱数多項式r、公開鍵多項式h、パラメータN、パラメータp、パラメータqを用いて、NTRU暗号の暗号化処理を行い、暗号文多項式cを計算する。   The encryption unit 313 performs NTRU encryption processing on the plaintext polynomial m using the random number polynomial r, the public key polynomial h, the parameter N, the parameter p, and the parameter q, and calculates the ciphertext polynomial c.

この暗号文多項式cの演算方法の詳細は、非特許文献2に記載されているため、ここでは説明を省略する。暗号化部313は、生成された暗号文多項式cを通信路33を介して復号装置32へ送信する。   Since the details of the method of calculating the ciphertext polynomial c are described in Non-Patent Document 2, description thereof is omitted here. The encryption unit 313 transmits the generated ciphertext polynomial c to the decryption device 32 via the communication path 33.

<復号装置32の構成>
復号装置32は、暗号文多項式cを復号化し、復号文多項式m’を計算する装置であり、図13に示すように、パラメータ記憶部321、鍵生成部322、秘密鍵記憶部323、復号化部324とを備える。
<Configuration of Decoding Device 32>
The decryption device 32 is a device that decrypts the ciphertext polynomial c and calculates the decrypted text polynomial m ′. As shown in FIG. 13, the parameter storage unit 321, the key generation unit 322, the secret key storage unit 323, the decryption Part 324.

(1)パラメータ記憶部321
パラメータ記憶部321は、暗号装置31のパラメータ記憶部311が記憶するNTRU暗号のパラメータと同じNTRU暗号のパラメータを記憶している。
(1) Parameter storage unit 321
The parameter storage unit 321 stores the same NTRU encryption parameters as the NTRU encryption parameters stored in the parameter storage unit 311 of the encryption device 31.

すなわち、パラメータ記憶部321は、パラメータ記憶部311が記憶するものと同じパラメータN、パラメータp、パラメータq、パラメータdf、パラメータdg、パラメータdを、予め記憶している。   That is, the parameter storage unit 321 stores in advance the same parameters N, parameters p, parameters q, parameters df, parameters dg, and parameters d as those stored by the parameter storage unit 311.

(2)鍵生成部322
鍵生成部322は、パラメータ記憶部321からパラメータN、パラメータp、パラメータq、パラメータdf、パラメータdgを受け取り、パラメータN、パラメータp、パラメータq、パラメータdf、パラメータdgを用いて、(N−1)次元以下の多項式で表される秘密鍵多項式f、および公開鍵多項式hを生成する。なお、この秘密鍵多項式fおよび公開鍵多項式hの生成方法は、非特許文献2に記載されているため、ここでは説明を省略する。
(2) Key generation unit 322
The key generation unit 322 receives the parameter N, the parameter p, the parameter q, the parameter df, and the parameter dg from the parameter storage unit 321, and uses the parameter N, the parameter p, the parameter q, the parameter df, and the parameter dg to (N−1). ) A secret key polynomial f and a public key polynomial h expressed by a polynomial of dimension or less are generated. Since the method for generating the secret key polynomial f and the public key polynomial h is described in Non-Patent Document 2, description thereof is omitted here.

そして、鍵生成部322は、公開鍵多項式hを公開することにより暗号装置31が取得できるようにする。また、鍵生成部322は、秘密鍵多項式fを秘密鍵記憶部323に記憶する。   Then, the key generation unit 322 makes the encryption device 31 obtainable by making the public key polynomial h public. The key generation unit 322 stores the secret key polynomial f in the secret key storage unit 323.

(3)秘密鍵記憶部323
秘密鍵記憶部323は、予め復号装置32の秘密鍵多項式fを記憶している。
この秘密鍵多項式fは、パラメータNに対し、(N−1)次元以下の多項式で表される多項式である。
(3) Secret key storage unit 323
The secret key storage unit 323 stores the secret key polynomial f of the decryption device 32 in advance.
The secret key polynomial f is a polynomial expressed with respect to the parameter N by a polynomial of (N-1) dimensions or less.

(4)復号化部324
復号化部324は、パラメータ記憶部321から、パラメータN、パラメータp、パラメータqを受け取り、秘密鍵記憶部323から、秘密鍵多項式fを受け取り、通信路33を介して暗号装置31から暗号文多項式cを受け取る。
(4) Decoding unit 324
The decryption unit 324 receives the parameter N, the parameter p, and the parameter q from the parameter storage unit 321, receives the secret key polynomial f from the secret key storage unit 323, and transmits the ciphertext polynomial from the encryption device 31 via the communication path 33. c is received.

復号化部324は、暗号文多項式cに対し、秘密鍵多項式f、パラメータN、パラメータp、パラメータqを用いて、NTRU暗号の復号化処理を行い、復号文多項式m’を計算する。このNTRU暗号の復号化処理の詳細は、非特許文献2に記載されているため、ここでは説明を省略する。   The decryption unit 324 performs NTRU decryption processing on the ciphertext polynomial c using the secret key polynomial f, the parameter N, the parameter p, and the parameter q, and calculates the decrypted text polynomial m ′. Details of the decryption process of the NTRU cipher are described in Non-Patent Document 2, and thus the description thereof is omitted here.

復号化部324は、生成した復号文多項式m’を外部へ出力する。
<暗号システム3の動作>
以上に述べた暗号システム3の動作について説明する。図14は、暗号システム3の動作を示すフローチャートである。
The decryption unit 324 outputs the generated decrypted text polynomial m ′ to the outside.
<Operation of cryptographic system 3>
The operation of the cryptographic system 3 described above will be described. FIG. 14 is a flowchart showing the operation of the cryptographic system 3.

暗号システム3は、実施の形態1におけるパラメータ生成装置1または実施の形態2におけるパラメータ変換装置2によって生成された、NTRU暗号のパラメータのうち、少なくともパラメータN、パラメータp、パラメータq、パラメータdを暗号装置31のパラメータ記憶部311に記憶しており、少なくともパラメータN、パラメータp、パラメータq、パラメータdf、パラメータdgを復号装置32のパラメータ記憶部321に記憶している(ステップS301)。   The encryption system 3 encrypts at least the parameter N, the parameter p, the parameter q, and the parameter d among the NTRU encryption parameters generated by the parameter generation device 1 in the first embodiment or the parameter conversion device 2 in the second embodiment. It is stored in the parameter storage unit 311 of the device 31, and at least the parameter N, the parameter p, the parameter q, the parameter df, and the parameter dg are stored in the parameter storage unit 321 of the decoding device 32 (step S301).

復号装置32の鍵生成部322は、パラメータ記憶部321からパラメータN、パラメータp、パラメータq、パラメータdf、パラメータdgを受け取る。鍵生成部322は、秘密鍵多項式f、および公開鍵多項式hを生成して、公開鍵多項式hを公開することにより暗号装置31が取得できるようにする。また、鍵生成部322は、秘密鍵多項式fを秘密鍵記憶部323に記憶する(ステップS302)。   The key generation unit 322 of the decryption device 32 receives the parameter N, the parameter p, the parameter q, the parameter df, and the parameter dg from the parameter storage unit 321. The key generation unit 322 generates the secret key polynomial f and the public key polynomial h, and makes the cryptographic device 31 obtainable by making the public key polynomial h public. The key generation unit 322 stores the secret key polynomial f in the secret key storage unit 323 (step S302).

暗号装置31の公開鍵記憶部312は、復号装置32の公開鍵多項式hを取得し、記憶する(ステップS303)。
暗号装置31の暗号化部313は、パラメータ記憶部311からパラメータN、パラメータp、パラメータq、パラメータdを受け取り、公開鍵記憶部312から、公開鍵多項式hを受け取り、外部から、パラメータNに対し、(N−1)次元以下の多項式で表される平文多項式mを受け取る(ステップS304)。
The public key storage unit 312 of the encryption device 31 acquires and stores the public key polynomial h of the decryption device 32 (step S303).
The encryption unit 313 of the encryption device 31 receives the parameter N, the parameter p, the parameter q, and the parameter d from the parameter storage unit 311, receives the public key polynomial h from the public key storage unit 312, and externally outputs the parameter N to the parameter N , (N−1) plaintext polynomial m expressed by a polynomial of dimension or less is received (step S304).

暗号装置31の暗号化部313は、パラメータN、パラメータdを用いて、d個の係数が「1」であり、かつd個の係数が「−1」であり、かつ他の係数は「0」となるように、(N−1)次元の乱数多項式rをランダムに選ぶ。暗号化部313は、平文多項式mに対し、乱数多項式r、公開鍵多項式h、パラメータN、パラメータp、パラメータqを用いて、NTRU暗号の暗号化処理を行い、暗号文多項式cを計算する(ステップS305)。   The encryption unit 313 of the encryption device 31 uses the parameter N and the parameter d, the d coefficients are “1”, the d coefficients are “−1”, and the other coefficients are “0”. The (N-1) -dimensional random number polynomial r is selected at random so that The encryption unit 313 performs an NTRU encryption process on the plaintext polynomial m using the random number polynomial r, the public key polynomial h, the parameter N, the parameter p, and the parameter q, and calculates the ciphertext polynomial c ( Step S305).

暗号装置31の暗号化部313は、暗号文多項式cを通信路33を介して復号装置32へ送信する(ステップS306)。
復号装置32の復号化部324は、パラメータ記憶部321から、パラメータN、パラメータp、パラメータqを受け取り、秘密鍵記憶部323から、秘密鍵多項式fを受け取り、通信路33を介して暗号装置31から暗号文多項式cを受け取る(ステップS307)。
The encryption unit 313 of the encryption device 31 transmits the ciphertext polynomial c to the decryption device 32 via the communication path 33 (step S306).
The decryption unit 324 of the decryption device 32 receives the parameter N, the parameter p, and the parameter q from the parameter storage unit 321, receives the secret key polynomial f from the secret key storage unit 323, and receives the secret key polynomial f through the communication path 33. The ciphertext polynomial c is received from (step S307).

復号装置32の復号化部324は、暗号文多項式cに対し、秘密鍵多項式f、パラメータN、パラメータp、パラメータqを用いて、NTRU暗号の復号化処理を行い、復号文多項式m’を計算する(ステップS308)。   The decryption unit 324 of the decryption device 32 decrypts the NTRU cipher using the secret key polynomial f, the parameter N, the parameter p, and the parameter q for the ciphertext polynomial c, and calculates the decrypted text polynomial m ′. (Step S308).

復号装置32の復号化部324は、復号文多項式m’を外部へ出力して処理を終了する(ステップS309)。   The decryption unit 324 of the decryption device 32 outputs the decrypted text polynomial m ′ to the outside and ends the processing (step S309).

<暗号システム3の動作検証>
まず、復号装置32は、実施の形態1におけるパラメータ生成装置1または実施の形態2におけるパラメータ変換装置2によって生成されたNTRU暗号のパラメータを用いて、秘密鍵多項式f、公開鍵多項式hを生成している(ステップS302)。
<Operation verification of cryptographic system 3>
First, the decryption device 32 generates the secret key polynomial f and the public key polynomial h using the NTRU encryption parameters generated by the parameter generation device 1 in the first embodiment or the parameter conversion device 2 in the second embodiment. (Step S302).

そして、暗号装置31が、実施の形態1におけるパラメータ生成装置1または実施の形態2におけるパラメータ変換装置2によって生成されたNTRU暗号のパラメータを用いて、平文多項式mを暗号化している(ステップS305)。   Then, the encryption device 31 encrypts the plaintext polynomial m using the NTRU encryption parameters generated by the parameter generation device 1 in the first embodiment or the parameter conversion device 2 in the second embodiment (step S305). .

以上により、実施の形態1におけるパラメータ生成装置1または実施の形態2におけるパラメータ変換装置2によって生成されたパラメータを用いて、秘密鍵多項式f、公開鍵多項式hを生成して暗号化が行なわれる。このため、本実施の形態に係る暗号化通信では、第三者による暗号解読に対して安全であり、かつ復号エラーが発生しないことがいえる。   As described above, the secret key polynomial f and the public key polynomial h are generated and encrypted using the parameters generated by the parameter generation device 1 in the first embodiment or the parameter conversion device 2 in the second embodiment. For this reason, it can be said that the encrypted communication according to the present embodiment is safe against decryption by a third party and does not cause a decryption error.

<実施の形態3における効果>
従来の技術では、第三者による暗号解読に対して安全であり、かつ復号エラーが発生しないNTRU暗号のパラメータを生成するための条件が知られておらず、そのようなNTRU暗号のパラメータを生成できなかった。そのため、暗号装置と復号装置との間で安全かつ確実な暗号化通信ができなかった。
<Effect in Embodiment 3>
In the prior art, conditions for generating NTRU cipher parameters that are safe against decryption by a third party and that do not cause a decryption error are not known, and such NTRU cipher parameters are generated. could not. Therefore, secure and reliable encrypted communication cannot be performed between the encryption device and the decryption device.

しかしながら、この暗号システムは、上述したように、実施の形態1におけるパラメータ生成装置1または実施の形態2におけるパラメータ変換装置2によって生成されたパラメータを用いて、秘密鍵多項式f、公開鍵多項式hを生成して暗号化をおこなっているため、暗号装置と復号装置との間で安全かつ確実な暗号化通信ができるようになった。   However, as described above, this cryptographic system uses the parameters generated by the parameter generation device 1 in the first embodiment or the parameter conversion device 2 in the second embodiment to generate the secret key polynomial f and the public key polynomial h. Since it is generated and encrypted, secure and reliable encrypted communication can be performed between the encryption device and the decryption device.

(実施の形態4)
本発明の実施の形態4に係る暗号システム4について説明する。
<暗号システム4の構成>
暗号システム4は、図15に示すように、暗号装置41、復号装置42および通信路33、43を備えている。
(Embodiment 4)
A cryptographic system 4 according to Embodiment 4 of the present invention will be described.
<Configuration of encryption system 4>
The encryption system 4 includes an encryption device 41, a decryption device 42, and communication paths 33 and 43 as shown in FIG.

<暗号装置41の構成>
暗号装置41は、平文多項式mを暗号化し、暗号文多項式cを生成する装置であり、図16に示すように、パラメータ生成装置1、暗号化部313および公開鍵記憶部411を備えている。
<Configuration of Encryption Device 41>
The encryption device 41 is a device that encrypts the plaintext polynomial m and generates a ciphertext polynomial c, and includes a parameter generation device 1, an encryption unit 313, and a public key storage unit 411 as shown in FIG.

(1)パラメータ生成装置1、暗号化部313
パラメータ生成装置1は、実施の形態1で説明したパラメータ生成装置1と同様の構成を有し、暗号化部313は、実施の形態3で説明した暗号化部313と同様の構成を有する。このため、そられの詳細な説明はここでは繰返さない。
(1) Parameter generation device 1 and encryption unit 313
The parameter generation device 1 has the same configuration as the parameter generation device 1 described in the first embodiment, and the encryption unit 313 has the same configuration as the encryption unit 313 described in the third embodiment. Therefore, detailed description thereof will not be repeated here.

(2)公開鍵記憶部411
公開鍵記憶部411は、復号装置42の公開鍵多項式hを受信し、記憶する記憶部である。
(2) Public key storage unit 411
The public key storage unit 411 is a storage unit that receives and stores the public key polynomial h of the decryption device 42.

<通信路43の構成>
通信路43は、暗号装置41と復号装置42との間で、パラメータ組PSを送受信するために用いられるセキュアな通信路である。
<Configuration of communication path 43>
The communication channel 43 is a secure communication channel used for transmitting and receiving the parameter set PS between the encryption device 41 and the decryption device 42.

<復号装置42の構成>
復号装置42は、暗号文多項式cを復号化し、復号文多項式m’を計算する装置であり、図17に示すように、パラメータ受信部421、鍵生成部422、秘密鍵記憶部323および復号化部324を備えている。
<Configuration of Decoding Device 42>
The decryption device 42 is a device that decrypts the ciphertext polynomial c and calculates the decrypted text polynomial m ′. As shown in FIG. 17, the parameter reception unit 421, the key generation unit 422, the secret key storage unit 323, and the decryption Part 324 is provided.

(1)パラメータ受信部421
パラメータ受信部421は、暗号装置41のパラメータ生成装置1が生成するNTRU暗号のパラメータを通信路43を介して受信する処理部である。
(1) Parameter receiving unit 421
The parameter receiving unit 421 is a processing unit that receives the NTRU encryption parameter generated by the parameter generating device 1 of the encryption device 41 via the communication path 43.

(2)鍵生成部422
鍵生成部422は、実施の形態3で説明した鍵生成部322の構成に加え、生成した公開鍵多項式hを、通信路33を介して暗号装置41に送信する処理部である。
(2) Key generation unit 422
The key generation unit 422 is a processing unit that transmits the generated public key polynomial h to the encryption device 41 via the communication path 33 in addition to the configuration of the key generation unit 322 described in the third embodiment.

(3)秘密鍵記憶部323、復号化部324
秘密鍵記憶部323および復号化部324は、実施の形態1と同様の構成を有する。このため、その詳細な説明は、ここでは繰返さない。
(3) Secret key storage unit 323 and decryption unit 324
The secret key storage unit 323 and the decryption unit 324 have the same configuration as in the first embodiment. Therefore, detailed description thereof will not be repeated here.

<暗号システム4の動作>
以上に述べた暗号システム4の動作について説明する。図18は、暗号システム4の動作を示すフローチャートである。
<Operation of cryptographic system 4>
The operation of the cryptographic system 4 described above will be described. FIG. 18 is a flowchart showing the operation of the cryptographic system 4.

暗号装置41のパラメータ生成装置1は、NTRU暗号のパラメータ(パラメータN、パラメータp、パラメータq、パラメータd、パラメータdf、パラメータdgを生成する(ステップS401)。   The parameter generation device 1 of the encryption device 41 generates NTRU encryption parameters (parameter N, parameter p, parameter q, parameter d, parameter df, and parameter dg) (step S401).

復号装置42のパラメータ受信部421は、パラメータ生成装置1より、パラメータN、パラメータp、パラメータq、パラメータdf、パラメータdgを受信する(ステップS402)。   The parameter receiving unit 421 of the decoding device 42 receives the parameter N, the parameter p, the parameter q, the parameter df, and the parameter dg from the parameter generating device 1 (step S402).

鍵生成部422は、パラメータ受信部421より、パラメータN、パラメータp、パラメータq、パラメータdf、パラメータdgを取得し、秘密鍵多項式f、および公開鍵多項式hを生成する。鍵生成部422は、公開鍵多項式hを暗号装置41の公開鍵記憶部411に送信する。また、鍵生成部422は、秘密鍵多項式fを秘密鍵記憶部323に記憶する(ステップS403)。   The key generation unit 422 acquires the parameter N, the parameter p, the parameter q, the parameter df, and the parameter dg from the parameter reception unit 421, and generates a secret key polynomial f and a public key polynomial h. The key generation unit 422 transmits the public key polynomial h to the public key storage unit 411 of the encryption device 41. The key generation unit 422 stores the secret key polynomial f in the secret key storage unit 323 (step S403).

暗号装置41の公開鍵記憶部411は、復号装置32の公開鍵多項式hを取得し、記憶する(ステップS404)。
暗号装置41の暗号化部313は、パラメータ生成装置1からパラメータN、パラメータp、パラメータq、パラメータdを受け取り、公開鍵記憶部411から、公開鍵多項式hを受け取り、外部から、パラメータNに対し、(N−1)次元以下の多項式で表される平文多項式mを受け取る(ステップS405)。
The public key storage unit 411 of the encryption device 41 acquires and stores the public key polynomial h of the decryption device 32 (step S404).
The encryption unit 313 of the encryption device 41 receives the parameter N, the parameter p, the parameter q, and the parameter d from the parameter generation device 1, receives the public key polynomial h from the public key storage unit 411, and receives the parameter N from the outside. , A plaintext polynomial m represented by a polynomial of (N-1) dimensions or less is received (step S405).

暗号装置41の暗号化部313は、パラメータN、パラメータdを用いて、d個の係数が「1」であり、かつd個の係数が「−1」であり、かつ他の係数は「0」となるように、(N−1)次元の乱数多項式rをランダムに選び、平文多項式mに対し、乱数多項式r、公開鍵多項式h、パラメータN、パラメータp、パラメータqを用いて、NTRU暗号の暗号化処理を行い、暗号文多項式cを計算する(ステップS406)。   The encryption unit 313 of the encryption device 41 uses the parameter N and the parameter d, the d coefficients are “1”, the d coefficients are “−1”, and the other coefficients are “0”. The (N-1) -dimensional random number polynomial r is randomly selected so that the random number polynomial r, the public key polynomial h, the parameter N, the parameter p, and the parameter q are used for the plaintext polynomial m. The ciphertext polynomial c is calculated (step S406).

暗号装置41の暗号化部313は、暗号文多項式cを通信路33を介して復号装置42へ送信する(ステップS407)。
復号装置42の復号化部324は、パラメータ受信部421から、パラメータN、パラメータp、パラメータqを受け取り、秘密鍵記憶部323から、秘密鍵多項式fを受け取り、通信路33を介して暗号装置41から暗号文多項式cを受け取る(ステップS408)。
The encryption unit 313 of the encryption device 41 transmits the ciphertext polynomial c to the decryption device 42 via the communication path 33 (step S407).
The decryption unit 324 of the decryption device 42 receives the parameter N, the parameter p, and the parameter q from the parameter reception unit 421, receives the secret key polynomial f from the secret key storage unit 323, and receives the secret key polynomial f through the communication path 33. The ciphertext polynomial c is received from (step S408).

復号装置42の復号化部324は、暗号文多項式cに対し、秘密鍵多項式f、パラメータN、パラメータp、パラメータqを用いて、NTRU暗号の復号化処理を行い、復号文多項式m’を計算する(ステップS409)。   The decryption unit 324 of the decryption device 42 decrypts the NTRU cipher using the secret key polynomial f, the parameter N, the parameter p, and the parameter q with respect to the ciphertext polynomial c, and calculates the decrypted text polynomial m ′. (Step S409).

復号装置42の復号化部324は、復号文多項式m’を外部へ出力して処理を終了する(ステップS410)。
本実施の形態によると、実施の形態3に係る暗号システム3と異なり、予め作成されたパラメータをパラメータ記憶部311、421に記憶しておくのではなく、暗号装置41のパラメータ生成装置1が動的に生成したパラメータを用いて、平文多項式mの暗号化処理および暗号文多項式cの復号化処理を行なうようにしている。このため、パラメータを定期的に変化させることができ、暗号化通信の安全性を高めることが可能になる。
The decryption unit 324 of the decryption device 42 outputs the decrypted text polynomial m ′ to the outside and ends the processing (step S410).
According to the present embodiment, unlike the cryptographic system 3 according to the third embodiment, the parameter generation device 1 of the cryptographic device 41 is activated instead of storing parameters created in advance in the parameter storage units 311 and 421. The plaintext polynomial m is encrypted and the ciphertext polynomial c is decrypted using the generated parameters. For this reason, it is possible to periodically change the parameters, and it is possible to improve the security of encrypted communication.

<変形例>
上記に説明した実施の形態は、本発明の実施の一例であり、本発明はこの実施の形態に何ら限定されるものではなく、その旨を逸脱しない範囲において種々なる態様で実施し得るものである。以下のような場合も本発明に含まれる。
<Modification>
The embodiment described above is an example of the implementation of the present invention, and the present invention is not limited to this embodiment, and can be implemented in various modes without departing from the scope of the present invention. is there. The following cases are also included in the present invention.

(1)式格納部110に格納される格子強度係数GLおよび解読時間評価式EFは、図10に示す通り複数の組が格納され、安全性判定部105がGL≦SLを満たす格子強度係数GLと、解読時間評価式EFとの組を読み取ってもよい。   (1) The lattice strength coefficient GL and the decoding time evaluation formula EF stored in the expression storage unit 110 are stored as a plurality of sets as shown in FIG. 10, and the safety determination unit 105 satisfies the lattice strength coefficient GL satisfying GL ≦ SL. And the decoding time evaluation formula EF may be read.

また、式格納部110に格納される格子強度係数GLおよび解読時間評価式EFは、後で変更できるようにしてもよい。
(2)第1のパラメータ生成部102におけるパラメータNの選択方法は、この方法に限定されず、Nが十分大きくとれる方法であれば任意の方法でよい。例えば、F(x)=10・log(x)等の単調増加関数Fに対し、N=F(SLI)からパラメータNを選択してもよい。また、例えば、パラメータNは固定値であってもよい。
Further, the lattice strength coefficient GL and the decoding time evaluation formula EF stored in the formula storage unit 110 may be changed later.
(2) The method of selecting the parameter N in the first parameter generation unit 102 is not limited to this method, and any method may be used as long as N is sufficiently large. For example, the parameter N may be selected from N = F (SLI) for a monotonically increasing function F such as F (x) = 10 · log (x). For example, the parameter N may be a fixed value.

(3)第2のパラメータ生成部103におけるパラメータdf、dg、dの選択方法は、この方法に限定されず、総当りで探索する解読に対し、秘密鍵の安全性レベルと平文の安全性レベルとが安全性レベル情報SLIが表す安全性レベルを達成し、かつdg>dとなるように選択すれば、どのような方法でもよい。   (3) The selection method of the parameters df, dg, d in the second parameter generation unit 103 is not limited to this method, and the security level of the secret key and the security level of the plaintext for the brute force search Can achieve any of the safety levels represented by the safety level information SLI, and any method can be selected so that dg> d.

(4)また、パラメータ組PSの中のパラメータq、df、dg、dは、第2のパラメータ生成部103が上述の方法でパラメータdf、dg、dを選択し、第3のパラメータ生成部104が条件式EDにパラメータdf、dg、dの値を適用してパラメータqの値を決定することにより生成する以外にも、パラメータqが外部から予め与えられており、条件式EDとパラメータqの値とから導出される関係式に基づいて、dg>dとなるようにパラメータdf、dg、dを選択することにより生成してもよい。   (4) The parameters q, df, dg, and d in the parameter set PS are selected by the second parameter generator 103 using the method described above, and the third parameter generator 104 is selected. Is generated by applying the values of the parameters df, dg, d to the conditional expression ED and determining the value of the parameter q, the parameter q is given in advance from the outside, and the conditional expression ED and the parameter q It may be generated by selecting the parameters df, dg, and d so that dg> d based on the relational expression derived from the values.

具体的には、例えばパラメータqとしてq=256が外部から予め与えられている場合、条件式EDとパラメータqの値とから、
6d+2df−1<128
という関係式を満たし、かつdg>dとなるようにパラメータdf、dg、dを選び、パラメータ組PSの中のパラメータq、df、dg、dを生成してもよい。
Specifically, for example, when q = 256 is given in advance as the parameter q from the outside, from the conditional expression ED and the value of the parameter q,
6d + 2df-1 <128
The parameters df, dg, and d may be selected so that the relational expression is satisfied and dg> d, and the parameters q, df, dg, and d in the parameter set PS may be generated.

なお、この場合、パラメータdf、dg、dでは、総当りで探索する解読に対して、秘密鍵や平文の解読時間が安全性レベル情報SLIが表す安全性レベルを達成していない可能性がある。そのため、安全性増加部106が、上述のように、LLLアルゴリズムによる解読時間Tが安全性レベル情報SLIを達成するようにパラメータNを増加させた後、第2のパラメータ生成部103の構成において説明した秘密鍵や平文を総当りで探索する暗号解読の解読時間が、安全性レベル情報SLIが表す安全性レベルを達成するようにパラメータNを増加させてもよい。   In this case, with the parameters df, dg, d, there is a possibility that the security level represented by the security level information SLI is not achieved with respect to the decryption searched for brute force. . Therefore, as described above, the security increasing unit 106 increases the parameter N so that the decoding time T according to the LLL algorithm achieves the safety level information SLI, and then the configuration of the second parameter generating unit 103 is described. The parameter N may be increased so that the decryption time for cryptanalysis that searches the secret key or plaintext in a brute force manner achieves the security level represented by the security level information SLI.

また、秘密鍵や平文を総当りで探索する暗号解読の解読時間が、安全性レベル情報SLIが表す安全性レベルを達成するようにパラメータNを増加させた後、LLLアルゴリズムによる解読時間Tが安全性レベル情報SLIを達成するようにパラメータNを増加させてもよい。   Also, after the parameter N is increased so that the decryption time for cryptanalysis that searches for the secret key and plaintext with brute force reaches the security level represented by the security level information SLI, the decryption time T by the LLL algorithm is secure. The parameter N may be increased to achieve the sex level information SLI.

(5)第3のパラメータ生成部104におけるパラメータqの選択方法は、この方法に限定されず、条件式EDを満たし、かつパラメータpと互いに素になるように選択すれば、どのような方法でもよい。   (5) The method for selecting the parameter q in the third parameter generation unit 104 is not limited to this method, and any method can be used as long as it satisfies the conditional expression ED and is selected so as to be relatively prime with the parameter p. Good.

(6)第1のパラメータ生成部102が生成するパラメータp、およびパラメータ変換装置2が扱うパラメータ組IPS、PSの中のパラメータpは、p=3に限定されず、他のものでもよい。   (6) The parameter p generated by the first parameter generation unit 102 and the parameter p in the parameter set IPS, PS handled by the parameter conversion device 2 are not limited to p = 3, and may be other.

例えば、ある非負整数kに対してp=kとした場合、式格納部110に格納される条件式EDを
ED:2・k・d+2df−1<q/2
とすれば、同様の効果が得られる。
For example, when p = k is set for a certain non-negative integer k, the conditional expression ED stored in the expression storage unit 110 is expressed as ED: 2 · k · d + 2df-1 <q / 2.
Then, the same effect can be obtained.

(7)上記変形例(6)に関し、さらに、ある多項式bに対してp=bとしてもよい。例えば、p=(X+2)とした場合、式格納部110に格納される条件式EDを
ED:6d+2df−1<q/2
とすれば、同様の効果が得られる。
(7) With respect to the modification (6), p = b may be set for a certain polynomial b. For example, when p = (X + 2), the conditional expression ED stored in the expression storage unit 110 is ED: 6d + 2df-1 <q / 2
Then, the same effect can be obtained.

何故ならば、上述した通り、多項式p×r×g+f×mの全ての係数が、−q/2からq/2の範囲に収まっていれば、復号エラーは発生しない。
このとき、多項式r×gを考えると、その係数の最大値は、高々2dである(最小値も、せいぜい−2dである。)。
This is because, as described above, if all the coefficients of the polynomial p × r × g + f × m are within the range of −q / 2 to q / 2, no decoding error occurs.
At this time, considering the polynomial r × g, the maximum value of the coefficient is at most 2d (the minimum value is also −2d at most).

今、p=(X+2)なので、多項式aのk次の係数をa(k)で表すと、
p(0)=2、p(1)=1、p(i)=0 (i>1)
であるので、
(p×(r×g))(k)
=p(0)・(r×g)(k)+p(1)・(r×g)(k−1)+
...+p(N−1)・(r×g)(k−(N−1)(mod N))
=(r×g)(k)+2・(r×g)(k−1)
である。
Now, since p = (X + 2), the k-th order coefficient of the polynomial a is represented by a (k).
p (0) = 2, p (1) = 1, p (i) = 0 (i> 1)
So
(P × (r × g)) (k)
= P (0). (R * g) (k) + p (1). (R * g) (k-1) +
. . . + P (N-1). (R * g) (k- (N-1) (mod N))
= (R * g) (k) + 2 * (r * g) (k-1)
It is.

よって、多項式p×r×gを考えると、その係数の最大値は、3・2dである。一方、多項式f×mの係数の値は、その値が高々2df−1である(最小値も、せいぜい−2df+1である。)。   Therefore, considering the polynomial p × r × g, the maximum value of the coefficient is 3 · 2d. On the other hand, the value of the coefficient of the polynomial f × m is at most 2df−1 (the minimum value is also −2df + 1 at most).

従って、上述の実施の形態で説明したのと同様にして、多項式p×r×g+f×mの最も大きい係数の値は、高々3・2d+2df−1であることが導くことができ、ここから、復号エラーが理論的に発しない条件式EDとして、
ED:6d+2df−1<q/2
を導くことができる。
Accordingly, it can be derived that the value of the largest coefficient of the polynomial p × r × g + f × m is 3 · 2d + 2df−1 at most, as described in the above embodiment. As a conditional expression ED that does not cause a decoding error theoretically,
ED: 6d + 2df-1 <q / 2
Can guide you.

なお、多項式bはb=(X+2)に限定されないことはもちろんである。その場合、上述の処理を行えば、条件式EDを導くことができ、同様の効果が得られる。   Of course, the polynomial b is not limited to b = (X + 2). In that case, if the above-described processing is performed, the conditional expression ED can be derived, and the same effect can be obtained.

(8)パラメータ変換装置2において、パラメータ組IPSを外部より入力する以外にも、入力部101bが、安全性レベル情報SLIが表す安全性レベルを達成するパラメータ組IPSのリストを保持するようにしてもよい。この場合には、入力部101bへ外部より入力されるデータは、安全性レベル情報SLIだけになる。すなわち、入力部101bは、図9に示すようなパラメータ組IPSのリストを保持しており、外部から安全性レベル情報SLIが入力されると、このSLIに関連付けられたパラメータ組IPSをパラメータ組PSとして第3のパラメータ生成部105へ出力するようにしてもよい。   (8) In the parameter conversion device 2, in addition to inputting the parameter set IPS from the outside, the input unit 101b holds a list of parameter sets IPS that achieve the safety level represented by the safety level information SLI. Also good. In this case, only the safety level information SLI is input from the outside to the input unit 101b. That is, the input unit 101b holds a list of parameter sets IPS as shown in FIG. 9, and when safety level information SLI is input from the outside, the parameter set IPS associated with this SLI is changed to the parameter set PS. May be output to the third parameter generation unit 105.

(9)非特許文献4には、Zero−Run Latticeを用いる解読により、LLLアルゴリズムの解読時間が減少する可能性があることが記載されているが、解読時間評価式EFは、このZero−Run Latticeを用いた解読を考慮した、LLLアルゴリズムの解読時間としてもよい。   (9) Non-Patent Document 4 describes that there is a possibility that the decoding time of the LLL algorithm may be reduced by decoding using Zero-Run Lattice, but the decoding time evaluation expression EF is this Zero-Run. It is good also as the decoding time of the LLL algorithm in consideration of decoding using Lattice.

(10)暗号システム3において、秘密鍵多項式fおよび公開鍵多項式hは、復号装置32の鍵生成部322で生成されなくてもよい。例えば、秘密鍵多項式fおよび公開鍵多項式hが鍵管理サーバ等の復号装置32の外部で生成され、秘密鍵記憶部323および公開鍵記憶部312へそれぞれ入力されるようにしてもよい。   (10) In the cryptographic system 3, the secret key polynomial f and the public key polynomial h need not be generated by the key generation unit 322 of the decryption device 32. For example, the secret key polynomial f and the public key polynomial h may be generated outside the decryption device 32 such as a key management server and input to the secret key storage unit 323 and the public key storage unit 312 respectively.

(11)暗号システム3は、さらにパラメータ生成装置1またはパラメータ変換装置2を備え、パラメータ生成装置1またはパラメータ変換装置2が出力したNTRU暗号のパラメータが、パラメータ記憶部311、321に入力されるようにしてもよい。   (11) The encryption system 3 further includes the parameter generation device 1 or the parameter conversion device 2 so that the NTRU encryption parameters output from the parameter generation device 1 or the parameter conversion device 2 are input to the parameter storage units 311 and 321. It may be.

(12)暗号システム3の暗号装置31が、さらに、パラメータ生成装置1またはパラメータ変換装置2を備えるようにしてもよい。この場合、暗号装置31がNTRU暗号のパラメータを生成し、生成されたNTRU暗号のパラメータが、パラメータ記憶部311に入力され、通信路33を介して復号装置32へ送信される。復号装置32は、NTRU暗号のパラメータを受信し、パラメータ記憶部321に記憶する。   (12) The encryption device 31 of the encryption system 3 may further include the parameter generation device 1 or the parameter conversion device 2. In this case, the encryption device 31 generates an NTRU encryption parameter, and the generated NTRU encryption parameter is input to the parameter storage unit 311 and transmitted to the decryption device 32 via the communication path 33. The decryption device 32 receives the NTRU encryption parameters and stores them in the parameter storage unit 321.

(13)パラメータ記憶部311に記憶されるNTRU暗号パラメータは、パラメータN、p、q、df、dg、dのうち、少なくとも、パラメータN、パラメータp、パラメータq、パラメータdを含めば、どのようなものでもよい。また、パラメータ記憶部321に記憶されるNTRU暗号パラメータは、少なくとも、パラメータN、パラメータp、パラメータq、パラメータdf、パラメータdgを含めば、どのようなものでもよい。例えば、p=2であってもよい。その場合には、すべての多項式の係数は、1または0であるとする。このようにすることにより、多項式間の演算を高速に行なうことができ、これにより、パラメータ生成処理、パラメータ変換処理、暗号化処理および復号化処理を高速に行なうことができるようになる。   (13) NTRU encryption parameters stored in the parameter storage unit 311 may be any one of parameters N, p, q, df, dg, and d, including at least parameter N, parameter p, parameter q, and parameter d. It may be anything. The NTRU encryption parameters stored in the parameter storage unit 321 may be any as long as at least the parameter N, the parameter p, the parameter q, the parameter df, and the parameter dg are included. For example, p = 2 may be sufficient. In that case, the coefficients of all polynomials are assumed to be 1 or 0. By doing so, operations between polynomials can be performed at high speed, and thereby parameter generation processing, parameter conversion processing, encryption processing, and decryption processing can be performed at high speed.

(14)実施の形態4に示した暗号システム4の暗号装置41において、パラメータ生成装置1の代わりに、パラメータ変換装置2を使用するようにしてもよい。
(15)実施の形態4に示した暗号システム4の暗号装置41において、パラメータ生成装置1の代わりに、パラメータ生成装置1で生成されるのと同様のパラメータを受信するパラメータ受信装置を設けるようにしてもよい。
(14) In the encryption device 41 of the encryption system 4 shown in the fourth embodiment, the parameter conversion device 2 may be used instead of the parameter generation device 1.
(15) In the cryptographic device 41 of the cryptographic system 4 shown in the fourth embodiment, a parameter receiving device that receives parameters similar to those generated by the parameter generating device 1 is provided instead of the parameter generating device 1. May be.

(16)本発明は、上記に示す方法であるとしてもよい。また、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしてもよいし、前記コンピュータプログラムからなるデジタル信号であるとしてもよい。   (16) The present invention may be the method described above. Further, the present invention may be a computer program that realizes these methods by a computer, or may be a digital signal composed of the computer program.

また、本発明は、前記コンピュータプログラム又は前記デジタル信号をコンピュータ読み取り可能な記録媒体、例えば、半導体メモリ、ハードディスクドライブ、CD−ROM、DVD−ROM(Digital Versatile Disc−ROM)、DVD−RAM等、に記録したものとしてもよい。   The present invention also relates to a computer-readable recording medium such as a semiconductor memory, a hard disk drive, a CD-ROM, a DVD-ROM (Digital Versatile Disc-ROM), a DVD-RAM, etc. It may be recorded.

(17)上記実施の形態および上記変形例をそれぞれ組み合わせてもよい。   (17) You may combine the said embodiment and the said modification, respectively.

本発明は、暗号化処理および復号化処理に適用でき、特に、電子署名、電子認証技術、暗号化通信等に適用できる。   The present invention can be applied to encryption processing and decryption processing, and in particular, can be applied to electronic signatures, electronic authentication technology, encrypted communication, and the like.

本発明の実施の形態1におけるパラメータ生成装置1の構成を示す図である。It is a figure which shows the structure of the parameter production | generation apparatus 1 in Embodiment 1 of this invention. パラメータNにおける解読時間Tの実測データを示す図である。It is a figure which shows the actual measurement data of the decoding time T in the parameter N. 本発明の実施の形態1における式格納部110に格納されている式およびデータを説明するための図である。It is a figure for demonstrating the formula and data which are stored in the formula storage part 110 in Embodiment 1 of this invention. 本発明の実施の形態1におけるパラメータ生成装置1の処理の前半部を示すフローチャートである。It is a flowchart which shows the first half part of the process of the parameter generation apparatus 1 in Embodiment 1 of this invention. 本発明の実施の形態1におけるパラメータ生成装置1の処理の後半部を示すフローチャートである。It is a flowchart which shows the second half part of the process of the parameter generation apparatus 1 in Embodiment 1 of this invention. 本発明の実施の形態2におけるパラメータ変換装置2の構成を示す図である。It is a figure which shows the structure of the parameter converter 2 in Embodiment 2 of this invention. 本発明の実施の形態2におけるパラメータ変換装置2の処理の前半部を示すフローチャートである。It is a flowchart which shows the first half of the process of the parameter converter 2 in Embodiment 2 of this invention. 本発明の実施の形態2におけるパラメータ変換装置2の処理の処理の後半部を示すフローチャートである。It is a flowchart which shows the latter half part of the process of the process of the parameter converter 2 in Embodiment 2 of this invention. 安全性レベル情報とその安全性レベルを達成するNTRU暗号のパラメータ組とを示す図である。It is a figure which shows the security level information and the parameter set of the NTRU encryption which achieves the security level. 本発明の変形例(1)における式格納部110に格納されている式およびデータを説明するための図である。It is a figure for demonstrating the formula and data which are stored in the formula storage part 110 in the modification (1) of this invention. 本発明の実施の形態3における暗号システム3の構成を示す図である。It is a figure which shows the structure of the encryption system 3 in Embodiment 3 of this invention. 本発明の実施の形態3における暗号装置31の構成を示す図である。It is a figure which shows the structure of the encryption apparatus 31 in Embodiment 3 of this invention. 本発明の実施の形態3における復号装置32の構成を示す図である。It is a figure which shows the structure of the decoding apparatus 32 in Embodiment 3 of this invention. 本発明の実施の形態3における暗号システム3の動作を示すフローチャートである。It is a flowchart which shows operation | movement of the encryption system 3 in Embodiment 3 of this invention. 本発明の実施の形態4における暗号システム4の構成を示す図である。It is a figure which shows the structure of the encryption system 4 in Embodiment 4 of this invention. 本発明の実施の形態4における暗号装置41の構成を示す図である。It is a figure which shows the structure of the encryption apparatus 41 in Embodiment 4 of this invention. 本発明の実施の形態4における復号装置42の構成を示す図である。It is a figure which shows the structure of the decoding apparatus 42 in Embodiment 4 of this invention. 本発明の実施の形態4における暗号システム4の動作を示すフローチャートである。It is a flowchart which shows operation | movement of the encryption system 4 in Embodiment 4 of this invention.

符号の説明Explanation of symbols

1 パラメータ生成装置
2 パラメータ変換装置
3,4 暗号システム
31,41 暗号装置
32,42 復号装置
33,43 通信路
101,101b 入力部
102 第1のパラメータ生成部
103,103b 第2のパラメータ生成部
104,104b 第3のパラメータ生成部
105 安全性判定部
106 安全性増加部
107 出力部
108 第1のパラメータ変更部
109 第2のパラメータ変更部
110 式格納部
311,321 パラメータ記憶部
312,411 公開鍵記憶部
313 暗号化部
322,422 鍵生成部
323 秘密鍵記憶部
324 復号化部
421 パラメータ受信部
DESCRIPTION OF SYMBOLS 1 Parameter generation apparatus 2 Parameter conversion apparatus 3, 4 Cryptographic system 31, 41 Encryption apparatus 32, 42 Decoding apparatus 33, 43 Communication path 101, 101b Input part 102 1st parameter generation part 103, 103b 2nd parameter generation part 104 104b Third parameter generation unit 105 Safety determination unit 106 Safety increase unit 107 Output unit 108 First parameter change unit 109 Second parameter change unit 110 Expression storage unit 311, 321 Parameter storage unit 312, 411 Public key Storage unit 313 Encryption unit 322, 422 Key generation unit 323 Private key storage unit 324 Decryption unit 421 Parameter reception unit

Claims (34)

復号エラーの発生しないNTRU暗号のパラメータ組である出力パラメータを生成するパラメータ生成装置であって、
予め与えられた復号エラー発生有無を判定するエラー条件情報に基づいて、復号エラーが発生しない出力パラメータを生成するエラー非発生出力パラメータ生成部を備え、
前記エラー非発生出力パラメータ生成部は、
予め与えられた復号エラー発生有無を判定するエラー条件情報に基づいて、復号エラーが発生しない仮パラメータ組を生成する仮パラメータ生成部と、
前記仮パラメータ組から計算される格子強度係数に基づき、前記仮パラメータ組から前記出力パラメータを生成する出力パラメータ生成部とを備える
ことを特徴とするパラメータ生成装置。
A parameter generation device that generates an output parameter that is a parameter set of an NTRU cipher that does not cause a decryption error,
An error non-occurrence output parameter generation unit that generates an output parameter that does not cause a decoding error, based on error condition information that determines whether or not a decoding error has occurred in advance,
The error non-occurrence output parameter generation unit,
A temporary parameter generation unit that generates a temporary parameter set in which a decoding error does not occur, based on error condition information that determines whether or not a decoding error has occurred in advance;
Based on said grating strength factor calculated from the temporary parameter set, the features and to Rupa parameter generating apparatus further comprising an output parameter generation unit for generating the output parameter from the temporary parameter set.
前記仮パラメータ生成部は、外部から入力されたNTRU暗号のパラメータ組である入力パラメータと予め与えられた復号エラー発生有無を判定するエラー条件情報に基づいて、復号エラーが発生しない仮パラメータ組を生成する
ことを特徴とする請求項に記載のパラメータ生成装置。
The temporary parameter generation unit generates a temporary parameter set that does not cause a decryption error based on an input parameter that is a parameter set of NTRU encryption input from the outside and error condition information that is determined in advance to determine whether or not a decryption error has occurred. The parameter generation device according to claim 1 , wherein:
前記出力パラメータ生成部は、前記格子強度係数に基づく安全性決定情報と第三者による暗号解読に対する安全性を示す安全性レベル情報とに基づいて、前記仮パラメータ組から前記出力パラメータを生成する
ことを特徴とする請求項またはに記載のパラメータ生成装置。
The output parameter generation unit generates the output parameter from the temporary parameter set based on security determination information based on the lattice strength coefficient and security level information indicating security against decryption by a third party. parameter generating apparatus according to claim 1 or 2, characterized in.
前記出力パラメータ生成部は、前記安全性決定情報を保持する安全性決定情報保持手段を備え、前記安全性決定情報は、外部より与えられる
ことを特徴とする請求項に記載のパラメータ生成装置。
The parameter generation apparatus according to claim 3 , wherein the output parameter generation unit includes a safety determination information holding unit that holds the safety determination information, and the safety determination information is given from outside.
前記仮パラメータ組および前記出力パラメータは、NTRU暗号における次元N、非負整数p、非負整数q、秘密鍵多項式fにおける係数の値が1となる係数の数を規定する非負整数df、公開鍵多項式を生成するときに用いるランダム多項式gの係数の値が1となる係数の数を規定する非負整数dg、および平文を暗号化する時に用いる乱数多項式rの係数の値が1となる係数の数を規定する非負整数dの組から構成される
ことを特徴とする請求項に記載のパラメータ生成装置。
The temporary parameter set and the output parameter include a dimension N in the NTRU cipher, a non-negative integer p, a non-negative integer q, a non-negative integer df that defines the number of coefficients whose coefficient value in the secret key polynomial f is 1, and a public key polynomial. A non-negative integer dg that defines the number of coefficients for which the coefficient value of the random polynomial g used for generation is 1 and the number of coefficients for which the coefficient value of the random polynomial r used for encryption of plaintext is 1 are specified. The parameter generation device according to claim 4 , wherein the parameter generation device includes a set of non-negative integers d.
前記出力パラメータ生成部は、さらに、前記格子強度係数に基づいて、前記安全性決定情報保持手段に格納された前記安全性決定情報よりいずれか1つを選択する安全性決定情報選択手段を備える
ことを特徴とする請求項に記載のパラメータ生成装置。
The output parameter generation unit further includes safety decision information selection means for selecting one of the safety decision information stored in the safety decision information holding means based on the lattice strength coefficient. The parameter generation device according to claim 5 .
前記仮パラメータ生成部は、前記安全性レベル情報と前記次元Nに基づいて前記仮パラメータ組に含まれる前記非負整数df、前記非負整数dg、前記非負整数dを生成する
ことを特徴とする請求項またはに記載のパラメータ生成装置。
The temporary parameter generation unit generates the non-negative integer df, the non-negative integer dg, and the non-negative integer d included in the temporary parameter set based on the safety level information and the dimension N. The parameter generation device according to 5 or 6 .
前記仮パラメータ生成部は、前記エラー条件情報に基づいて前記仮パラメータ組に含まれる前記非負整数qを生成する
ことを特徴とする請求項からのいずれか1項に記載のパラメータ生成装置。
The temporary parameter generating unit, a parameter generating device according to any one of claims 5 to 7, characterized in that to generate the non-negative integer q included in the formal parameter sets based on the error condition information.
前記出力パラメータ生成部は、前記安全性レベル情報と前記安全性決定情報に基づいて前記出力パラメータ組に含まれる前記次元Nを生成する
ことを特徴とする請求項からに記載のパラメータ生成装置。
Said output parameter generating unit, a parameter generating device according to 8 claim 5, characterized in that to generate the dimension N included in the output parameter set based on the safety determination information and the security level information .
前記エラー条件情報は、復号エラーが発生しないための条件を表す条件式である
ことを特徴とする請求項1〜のいずれか1項に記載のパラメータ生成装置。
It said error condition information, parameter generating apparatus according to any one of claims 1 to 9, characterized in that a conditional expression representing the condition for decoding error does not occur.
前記エラー条件情報は、前記非負整数p、前記非負整数q、前記非負整数d、前記非負整数dfに対し、復号エラーが発生しないための条件を表す条件式
2・p・d+2df−1<q/2
である
ことを特徴とする請求項10のいずれか1項に記載のパラメータ生成装置。
The error condition information includes a conditional expression 2 · p · d + 2 df −1 <q representing a condition for preventing a decoding error from occurring with respect to the non-negative integer p, the non-negative integer q, the non-negative integer d, and the non-negative integer df. / 2
Parameter generating device according to any one of claims 5 to 10, characterized in that it.
前記出力パラメータ生成部は、1つ以上の格子強度係数と安全性決定情報の組を格納する格子強度係数格納手段を備え、
前記格子強度係数と安全性決定情報は、外部から与えられる
ことを特徴とする請求項に記載のパラメータ生成装置。
The output parameter generation unit includes lattice strength coefficient storage means for storing a set of one or more lattice strength coefficients and safety determination information,
The parameter generation apparatus according to claim 3 , wherein the lattice strength coefficient and the safety determination information are given from outside.
前記出力パラメータ生成部は、さらに、前記格子強度係数に基づく前記安全性決定情報から、前記安全性決定情報を選択する安全性決定情報選択手段を備える
ことを特徴とする請求項12に記載のパラメータ生成装置。
The parameter according to claim 12 , wherein the output parameter generation unit further includes safety determination information selection means for selecting the safety determination information from the safety determination information based on the lattice strength coefficient. Generator.
前記出力パラメータ生成部は、
前記格子強度係数と前記安全性決定情報とに基づいて、前記仮パラメータ組を変更するか否かを判定する変更判定手段と、
前記変更判定手段が前記仮パラメータ組を変更すると判断したとき、前記仮パラメータ組から変更仮パラメータ組を生成する仮パラメータ組変更手段と、
前記安全性レベル情報に基づいて前記変更仮パラメータ組から前記出力パラメータを生成する生成手段とを備える
ことを特徴とする請求項12に記載のパラメータ生成装置。
The output parameter generation unit
Based on the lattice strength coefficient and the safety determination information, change determination means for determining whether to change the temporary parameter set;
Temporary parameter set changing means for generating a changed temporary parameter set from the temporary parameter set when the change determining means determines to change the temporary parameter set;
The parameter generation device according to claim 12 , further comprising: generation means for generating the output parameter from the changed temporary parameter set based on the safety level information.
前記仮パラメータ変更手段は、前記仮パラメータ組に含まれるNTRU暗号における次元N、非負整数p、非負整数q、秘密鍵多項式fにおける係数の値が1となる係数の数を規定する非負整数df、公開鍵多項式を生成するときに用いるランダム多項式gの係数の値が1となる係数の数を規定する非負整数dgを変更して前記変更仮パラメータ組を生成する
ことを特徴とする請求項14に記載のパラメータ生成装置。
The temporary parameter set changing means is a non-negative integer df that defines the number N of coefficients in the dimension N, non-negative integer p, non-negative integer q, and secret key polynomial f in the NTRU cipher included in the temporary parameter set. , claim and generates the modified temporary parameter set by changing the non-negative integer dg which the value of the coefficient of the random polynomial g defines the number of coefficients to be 1 used when generating the public key polynomial 14 The parameter generation device described in 1.
前記NTRU暗号は、
加算、減算および乗算が定義されたN次元配列の集合である環Rに対して、前記環Rのイデアルpおよびqを選択する選択ステップと、
前記環Rの元fおよびgを生成し、f(mod q)の逆数である元Fqと、f(mod p)の逆数である元Fpとを生成する生成ステップと、
前記元gと、前記元Fqの積とmod qで合同である元hとを公開鍵として生成する公開鍵生成ステップと、
前記元fおよび前記元Fpを得ることのできる情報(情報は、f、Fpの両方にかかる)を秘密鍵として生成する秘密鍵生成ステップと、
前記公開鍵および前記環Rからランダムに選択した元iを使用して、前記平文を暗号化して前記暗号文を生成する暗号化ステップと、
前記秘密鍵を使用して前記暗号文を復号化して前記復号文を生成する復号化ステップとを含む方法により平文の暗号化および暗号文の復号化が行なわれる暗号方式である
ことを特徴とする請求項1〜15のいずれか1項に記載のパラメータ生成装置。
The NTRU cipher is
A selection step of selecting ideals p and q of the ring R for a ring R that is a set of N-dimensional arrays in which addition, subtraction, and multiplication are defined;
Generating the elements f and g of the ring R, generating an element Fq that is the reciprocal of f (mod q), and an element Fp that is the reciprocal of f (mod p);
A public key generation step of generating, as a public key, the element g and an element h that is congruent with the product of the element Fq and mod q;
A secret key generation step of generating information that can obtain the element f and the element Fp (the information depends on both f and Fp) as a secret key;
Using the public key and the element i randomly selected from the ring R to encrypt the plaintext to generate the ciphertext; and
And a decrypting step of decrypting the ciphertext using the secret key to generate the decrypted text, wherein the plaintext is encrypted and the ciphertext is decrypted. The parameter generation device according to any one of claims 1 to 15 .
平文をNTRU暗号で暗号化して暗号文を生成する暗号システムであって、
請求項1〜16のいずれか1項に記載のパラメータ生成装置と、
前記パラメータ生成装置で生成された出力パラメータに基づいて公開鍵を生成する公開鍵生成手段と、
前記公開鍵に基づいて、平文を暗号化する暗号化手段とを備える
ことを特徴とする暗号システム。
An encryption system that generates plaintext by encrypting plaintext with NTRU encryption,
The parameter generation device according to any one of claims 1 to 16 ,
Public key generation means for generating a public key based on the output parameter generated by the parameter generation device;
An encryption system comprising: encryption means for encrypting plaintext based on the public key.
暗号文をNTRU暗号で復号化して復号文を生成する復号システムであって、
請求項1〜16のいずれか1項に記載のパラメータ生成装置と、
前記パラメータ生成装置で生成された出力パラメータに基づいて秘密鍵を生成する秘密鍵生成手段と、
前記秘密鍵に基づいて、暗号文を復号化する復号化手段とを備える
ことを特徴とする復号システム。
A decryption system for decrypting a ciphertext with an NTRU cipher to generate a decrypted text,
The parameter generation device according to any one of claims 1 to 16 ,
A secret key generating means for generating a secret key based on the output parameter generated by the parameter generating device;
A decrypting system comprising decrypting means for decrypting a ciphertext based on the secret key.
NTRU暗号を用いた暗号システムであって、
復号エラーの発生しないNTRU暗号のパラメータ組である出力パラメータを生成して出力するパラメータ生成装置と、
NTRU暗号の暗号鍵と復号鍵を生成して出力する鍵生成装置と、
平文をNTRU暗号で暗号化した暗号文を生成する暗号装置と、
前記暗号文を復号した復号文を生成する復号装置とを備え、
前記パラメータ生成装置は、
予め与えられた復号エラー発生有無を判定するエラー条件情報に基づいて、復号エラーが発生しない仮パラメータ組を生成する仮パラメータ生成部と、
前記仮パラメータ組から計算される格子強度係数に基づき、前記仮パラメータ組から前記出力パラメータを生成して出力する出力パラメータ生成部とを備え、
前記鍵生成装置は、
前記パラメータ生成装置が出力した前記出力パラメータを入力として前記暗号鍵と前記復号鍵を生成し出力する生成鍵出力部を備え、
前記暗号装置は、
前記パラメータ生成装置が出力した出力パラメータと前記鍵生成装置が出力した前記暗号鍵を入力として、前記平文を暗号化して前記暗号文を生成する暗号化部を備え、
前記復号装置は、
前記パラメータ生成装置が出力した前記出力パラメータと前記鍵生成装置が出力した前記復号鍵を入力として、前記暗号文を復号して前記復号文を生成する復号化部を備える
ことを特徴とする、暗号システム。
An encryption system using NTRU encryption,
A parameter generation device that generates and outputs an output parameter that is a parameter set of an NTRU cipher that does not cause a decryption error;
A key generation device that generates and outputs an NTRU encryption key and decryption key;
An encryption device that generates ciphertext obtained by encrypting plaintext with NTRU encryption;
A decryption device that generates a decrypted text obtained by decrypting the ciphertext,
The parameter generation device includes:
A temporary parameter generation unit that generates a temporary parameter set in which a decoding error does not occur, based on error condition information that determines whether or not a decoding error has occurred in advance;
An output parameter generation unit that generates and outputs the output parameter from the temporary parameter set based on a lattice strength coefficient calculated from the temporary parameter set;
The key generation device includes:
A generation key output unit configured to generate and output the encryption key and the decryption key with the output parameter output from the parameter generation device as an input;
The encryption device is:
An encryption unit that generates the ciphertext by encrypting the plaintext with the output parameter output by the parameter generation device and the encryption key output by the key generation device as inputs;
The decoding device
A decryption unit configured to decrypt the ciphertext and generate the decrypted text by using the output parameter output from the parameter generation device and the decryption key output from the key generation device as inputs; system.
NTRU暗号を用いた暗号化システムであって、
復号エラーの発生しないNTRU暗号のパラメータ組である出力パラメータを生成して出力するパラメータ生成装置と、
NTRU暗号の暗号鍵を生成して出力する鍵生成装置と、
平文をNTRU暗号で暗号化した暗号文を生成する暗号装置とを備え、
前記パラメータ生成装置は、
予め与えられた復号エラー発生有無を判定するエラー条件情報に基づいて、復号エラーが発生しない仮パラメータ組を生成する仮パラメータ生成部と、
前記仮パラメータ組から計算される格子強度係数に基づき、前記仮パラメータ組から前記出力パラメータを生成して出力する出力パラメータ生成部とを備え、
前記鍵生成装置は、
前記パラメータ生成装置が出力した前記出力パラメータを入力として前記暗号鍵を生成し出力する生成鍵出力部を備え、
前記暗号装置は、
前記パラメータ生成装置が出力した前記出力パラメータと前記鍵生成装置が出力した前記暗号鍵を入力として、前記平文を暗号化して前記暗号文を生成する暗号化部を備える
ことを特徴とする暗号化システム。
An encryption system using NTRU encryption,
A parameter generation device that generates and outputs an output parameter that is a parameter set of an NTRU cipher that does not cause a decryption error;
A key generation device that generates and outputs an NTRU encryption key;
An encryption device that generates ciphertext obtained by encrypting plaintext with NTRU cipher,
The parameter generation device includes:
A temporary parameter generation unit that generates a temporary parameter set in which a decoding error does not occur, based on error condition information that determines whether or not a decoding error has occurred in advance;
An output parameter generation unit that generates and outputs the output parameter from the temporary parameter set based on a lattice strength coefficient calculated from the temporary parameter set;
The key generation device includes:
A generation key output unit configured to generate and output the encryption key with the output parameter output from the parameter generation device as an input;
The encryption device is:
An encryption system comprising: an encryption unit that encrypts the plaintext and generates the ciphertext by using the output parameter output from the parameter generation device and the encryption key output from the key generation device as inputs. .
平文をNTRU暗号で暗号化して暗号文を生成する暗号装置であって、
予め与えられた復号エラー発生有無を判定するエラー条件情報に基づいて、復号エラーが発生しない仮パラメータ組を生成する仮パラメータ生成部と、
前記仮パラメータ組から計算される格子強度係数に基づき、前記仮パラメータ組から、復号エラーの発生しないNTRU暗号のパラメータ組である出力パラメータを生成して出力する出力パラメータ生成部と、
前記出力パラメータを復号装置へ送信するパラメータ送信部と、
前記復号装置から前記出力パラメータに基づいて生成されたNTRU暗号の暗号鍵を受信する暗号鍵受信部と、
前記出力パラメータと前記暗号鍵に基づいて、前記平文を暗号化して前記暗号文を生成する暗号文生成部とを備える
ことを特徴とする暗号装置。
An encryption device that generates plaintext by encrypting plaintext with NTRU encryption,
A temporary parameter generation unit that generates a temporary parameter set in which a decoding error does not occur, based on error condition information that determines whether or not a decoding error has occurred in advance;
An output parameter generation unit that generates and outputs an output parameter that is a parameter set of an NTRU cipher that does not cause a decryption error from the temporary parameter set based on a lattice strength coefficient calculated from the temporary parameter set;
A parameter transmitter for transmitting the output parameter to a decoding device;
An encryption key receiving unit for receiving an NTRU encryption key generated based on the output parameter from the decryption device;
An encryption apparatus comprising: a ciphertext generation unit that generates the ciphertext by encrypting the plaintext based on the output parameter and the encryption key.
パラメータ生成装置と鍵生成装置と暗号装置とから構成される暗号化システムが、平文をNTRU暗号で暗号化した暗号文を生成する暗号化方法であって、
前記パラメータ生成装置が備える仮パラメータ生成部が、予め与えられた復号エラー発生有無を判定するエラー条件情報に基づいて、復号エラーが発生しない仮パラメータ組を生成するステップと、
前記パラメータ生成装置が備える出力する出力パラメータ生成部が、前記仮パラメータ組から計算される格子強度係数に基づき、前記仮パラメータ組から、復号エラーの発生しないNTRU暗号のパラメータ組である出力パラメータを生成して出力するステップと、
前記鍵生成装置が備える生成鍵出力部が、前記出力パラメータに基づいてNTRU暗号の暗号鍵を生成するステップと、
前記暗号装置が備える暗号化部が、前記出力パラメータと前記暗号鍵に基づいて、前記平文を暗号化して暗号文を生成するステップとを含む
ことを特徴とする暗号化方法。
An encryption system including a parameter generation device, a key generation device, and an encryption device is an encryption method for generating a ciphertext obtained by encrypting plaintext with NTRU encryption,
A temporary parameter generation unit provided in the parameter generation device generates a temporary parameter set in which a decoding error does not occur, based on error condition information for determining whether or not a decoding error has occurred in advance;
The output parameter generation unit that is provided in the parameter generation device generates an output parameter that is a parameter set of NTRU encryption that does not cause a decryption error from the temporary parameter set, based on a lattice strength coefficient calculated from the temporary parameter set. And output step,
A generation key output unit included in the key generation device generates an NTRU encryption key based on the output parameter;
An encryption method, comprising: an encryption unit included in the encryption device generating a ciphertext by encrypting the plaintext based on the output parameter and the encryption key.
コンピュータを、NTRU暗号を用いた暗号化システムを構成する、Configuring the computer with an encryption system using NTRU encryption;
復号エラーの発生しないNTRU暗号のパラメータ組である出力パラメータを生成して出力するパラメータ生成装置と、A parameter generation device that generates and outputs an output parameter that is a parameter set of an NTRU cipher that does not cause a decryption error;
NTRU暗号の暗号鍵を生成して出力する鍵生成装置と、A key generation device that generates and outputs an NTRU encryption key;
平文をNTRU暗号で暗号化した暗号文を生成する暗号装置として機能させるためのプログラムであって、A program for functioning as an encryption device that generates ciphertext obtained by encrypting plaintext with NTRU ciphertext,
前記コンピュータを、前記パラメータ生成装置が備える、The parameter generation device includes the computer.
予め与えられた復号エラー発生有無を判定するエラー条件情報に基づいて、復号エラーが発生しない仮パラメータ組を生成する仮パラメータ生成部と、A temporary parameter generation unit that generates a temporary parameter set in which a decoding error does not occur, based on error condition information that determines whether or not a decoding error has occurred in advance;
前記仮パラメータ組から計算される格子強度係数に基づき、前記仮パラメータ組から前記出力パラメータを生成して出力する出力パラメータ生成部として機能させ、Based on the lattice strength coefficient calculated from the temporary parameter set, function as an output parameter generation unit that generates and outputs the output parameter from the temporary parameter set,
前記コンピュータを、前記鍵生成装置が備える、The key generation device includes the computer.
前記パラメータ生成装置が出力した前記出力パラメータを入力として前記暗号鍵を生成し出力する生成鍵出力部として機能させ、Function as a generation key output unit that generates and outputs the encryption key with the output parameter output from the parameter generation device as an input;
前記コンピュータを、前記暗号装置が備える、The encryption device includes the computer.
前記パラメータ生成装置が出力した前記出力パラメータと前記鍵生成装置が出力した前記暗号鍵を入力として、前記平文を暗号化して前記暗号文を生成する暗号化部として機能させるためのプログラム。A program for functioning as an encryption unit that encrypts the plaintext and generates the ciphertext by using the output parameter output from the parameter generation device and the encryption key output from the key generation device as inputs.
NTRU暗号を用いた復号化システムであって、
復号エラーの発生しないNTRU暗号のパラメータ組である出力パラメータを生成して出力するパラメータ生成装置と、
NTRU暗号の復号鍵を生成して出力する鍵生成装置と、
暗号文をNTRU暗号で復号した復号文を生成する復号装置とから構成される復号化システムであって、
前記パラメータ生成装置は、
予め与えられた復号エラー発生有無を判定するエラー条件情報に基づいて、復号エラーが発生しない仮パラメータ組を生成する仮パラメータ生成部と、
前記仮パラメータ組から計算される格子強度係数に基づき、前記仮パラメータ組から前記出力パラメータを生成して出力する出力パラメータ生成部とを備え、
前記鍵生成装置は、
前記パラメータ生成装置が出力した前記出力パラメータを入力として前記復号鍵を生成し出力する生成鍵出力部を備え、
前記復号装置は、
前記パラメータ生成装置が出力した前記出力パラメータと前記鍵生成装置が出力した前記復号鍵を入力として、前記暗号文を復号して前記復号文を生成する復号化部を備える
ことを特徴とする復号化システム。
A decryption system using NTRU encryption,
A parameter generation device that generates and outputs an output parameter that is a parameter set of an NTRU cipher that does not cause a decryption error;
A key generation device that generates and outputs a decryption key for NTRU encryption;
A decryption system including a decryption device that generates a decrypted text obtained by decrypting a ciphertext using the NTRU cipher,
The parameter generation device includes:
A temporary parameter generation unit that generates a temporary parameter set in which a decoding error does not occur, based on error condition information that determines whether or not a decoding error has occurred in advance;
An output parameter generation unit that generates and outputs the output parameter from the temporary parameter set based on a lattice strength coefficient calculated from the temporary parameter set;
The key generation device includes:
A generation key output unit that generates and outputs the decryption key with the output parameter output from the parameter generation device as an input;
The decoding device
A decryption unit configured to decrypt the ciphertext and generate the decrypted text by using the output parameter output from the parameter generation device and the decryption key output from the key generation device as inputs; system.
パラメータ生成装置と、鍵生成装置と、復号装置とから構成される復号化システムが、暗号文をNTRU暗号で復号した復号文を生成する復号化方法であって、
前記パラメータ生成装置が備える仮パラメータ生成部が、予め与えられた復号エラー発生有無を判定するエラー条件情報に基づいて、復号エラーが発生しない仮パラメータ組を生成するステップと、
前記パラメータ生成装置が備える出力パラメータ生成部が、前記仮パラメータ組から計算される格子強度係数に基づき、前記仮パラメータ組から、復号エラーの発生しないNTRU暗号のパラメータ組である出力パラメータを生成して出力するステップと、
前記鍵生成装置が備える生成鍵出力部が、前記出力パラメータに基づいてNTRU暗号の復号鍵を生成するステップと、
前記復号装置が備える復号化部が、前記出力パラメータと前記復号鍵に基づいて、前記暗号文を復号して復号文を生成するステップとを含む
ことを特徴とする復号化方法。
A decryption system including a parameter generation device, a key generation device, and a decryption device is a decryption method for generating a decrypted text obtained by decrypting a ciphertext with the NTRU cipher.
A temporary parameter generation unit provided in the parameter generation device generates a temporary parameter set in which a decoding error does not occur, based on error condition information for determining whether or not a decoding error has occurred in advance;
An output parameter generation unit included in the parameter generation device generates an output parameter that is a parameter set of the NTRU cipher that does not cause a decryption error from the temporary parameter set based on a lattice strength coefficient calculated from the temporary parameter set. Output step;
A generation key output unit included in the key generation device generates a decryption key for NTRU encryption based on the output parameter;
A decrypting method comprising: a decrypting unit included in the decrypting device decrypting the ciphertext based on the output parameter and the decryption key to generate a decrypted text.
コンピュータを、NTRU暗号を用いた復号化システムを構成する、Configuring the computer with a decryption system using the NTRU cipher;
復号エラーの発生しないNTRU暗号のパラメータ組である出力パラメータを生成して出力するパラメータ生成装置と、A parameter generation device that generates and outputs an output parameter that is a parameter set of an NTRU cipher that does not cause a decryption error;
NTRU暗号の復号鍵を生成して出力する鍵生成装置と、A key generation device that generates and outputs a decryption key for NTRU encryption;
暗号文をNTRU暗号で復号した復号文を生成する復号装置として機能させるためのプログラムであって、A program for causing a decryption device to generate a decrypted text obtained by decrypting a ciphertext using the NTRU cipher,
前記コンピュータを、前記パラメータ生成装置が備える、The parameter generation device includes the computer.
予め与えられた復号エラー発生有無を判定するエラー条件情報に基づいて、復号エラーが発生しない仮パラメータ組を生成する仮パラメータ生成部と、A temporary parameter generation unit that generates a temporary parameter set in which a decoding error does not occur, based on error condition information that determines whether or not a decoding error has occurred in advance;
前記仮パラメータ組から計算される格子強度係数に基づき、前記仮パラメータ組から前記出力パラメータを生成して出力する出力パラメータ生成部として機能させ、Based on the lattice strength coefficient calculated from the temporary parameter set, function as an output parameter generation unit that generates and outputs the output parameter from the temporary parameter set,
前記コンピュータを、前記鍵生成装置が備える、The key generation device includes the computer.
前記パラメータ生成装置が出力した前記出力パラメータを入力として前記復号鍵を生成し出力する生成鍵出力部として機能させ、Function as a generation key output unit that generates and outputs the decryption key with the output parameter output from the parameter generation device as an input;
前記コンピュータを、前記復号装置が備える、The decoding device includes the computer.
前記パラメータ生成装置が出力した前記出力パラメータと前記鍵生成装置が出力した前記復号鍵を入力として、前記暗号文を復号して前記復号文を生成する復号化部として機能させるためのプログラム。A program for functioning as a decryption unit that receives the output parameter output from the parameter generation device and the decryption key output from the key generation device as input and generates the decrypted text by decrypting the ciphertext.
NTRU暗号を用いた暗号化システムであって、
外部から入力されたNTRU暗号のパラメータ組である入力パラメータを、復号エラーの発生しないNTRU暗号のパラメータ組である出力パラメータに変換して出力するパラメータ変換装置と、
NTRU暗号の暗号鍵と復号鍵を生成して出力する鍵生成装置と、
平文をNTRU暗号で暗号化した暗号文を生成する暗号装置と、
前記暗号文を復号した復号文を生成する復号装置とを備え、
前記パラメータ変換装置は、
前記入力パラメータと予め与えられた復号エラー発生有無を判定するエラー条件情報に基づいて、復号エラーが発生しない仮パラメータ組を生成する仮パラメータ生成部と、
前記仮パラメータ組から計算される格子強度係数に基づき、前記仮パラメータ組から前記出力パラメータを生成して出力する出力パラメータ生成部とを備え、
前記鍵生成装置は、
前記パラメータ変換装置が出力した前記出力パラメータを入力として前記暗号鍵と前記復号鍵を生成し出力する生成鍵出力部を備え、
前記暗号装置は、
前記パラメータ変換装置が出力した出力パラメータと前記鍵生成装置が出力した前記暗号鍵を入力として、前記平文を暗号化して前記暗号文を生成する暗号化部を備え、
前記復号装置は、
前記パラメータ変換装置が出力した前記出力パラメータと前記鍵生成装置が出力した前記復号鍵を入力として、前記暗号文を復号して前記復号文を生成する復号化部を備える
ことを特徴とする暗号化システム。
An encryption system using NTRU encryption,
A parameter conversion device that converts an input parameter that is a parameter set of NTRU cipher input from the outside into an output parameter that is a parameter set of NTRU cipher that does not cause a decryption error; and
A key generation device that generates and outputs an NTRU encryption key and decryption key;
An encryption device that generates ciphertext obtained by encrypting plaintext with NTRU encryption;
A decryption device that generates a decrypted text obtained by decrypting the ciphertext,
The parameter converter is
A temporary parameter generation unit that generates a temporary parameter set in which a decoding error does not occur based on the input parameter and error condition information that is determined in advance to determine whether or not a decoding error has occurred;
An output parameter generation unit that generates and outputs the output parameter from the temporary parameter set based on a lattice strength coefficient calculated from the temporary parameter set;
The key generation device includes:
A generation key output unit that generates and outputs the encryption key and the decryption key with the output parameter output from the parameter conversion device as an input;
The encryption device is:
An encryption unit that encrypts the plaintext and generates the ciphertext by using the output parameter output from the parameter conversion device and the encryption key output from the key generation device as inputs; and
The decoding device
And a decryption unit configured to decrypt the ciphertext and generate the decrypted text by using the output parameter output from the parameter conversion device and the decryption key output from the key generation device as inputs. system.
NTRU暗号を用いた暗号化システムであって、
外部から入力されたNTRU暗号のパラメータ組である入力パラメータから、復号エラーの発生しないNTRU暗号のパラメータ組である出力パラメータを生成して出力するパラメータ生成装置と、
NTRU暗号の暗号鍵を生成して出力する鍵生成装置と、
平文をNTRU暗号で暗号化した暗号文を生成する暗号装置とを備え、
前記パラメータ生成装置は、
前記入力パラメータと予め与えられた復号エラー発生有無を判定するエラー条件情報とに基づいて、復号エラーが発生しない仮パラメータ組を生成する仮パラメータ生成部と、
前記仮パラメータ組から計算される格子強度係数に基づき、前記仮パラメータ組から前記出力パラメータを生成して出力する出力パラメータ生成部とを備え、
前記鍵生成装置は、
前記パラメータ生成装置が出力した前記出力パラメータを入力として前記暗号鍵を生成し出力する生成鍵出力部を備え、
前記暗号装置は、
前記パラメータ生成装置が出力した前記出力パラメータと前記鍵生成装置が出力した前記暗号鍵とを入力として、前記平文を暗号化して前記暗号文を生成する暗号化部を備える
ことを特徴とする暗号化システム。
An encryption system using NTRU encryption,
A parameter generation device that generates and outputs an output parameter that is a parameter set of the NTRU cipher that does not cause a decryption error from an input parameter that is a parameter set of the NTRU cipher input from the outside;
A key generation device that generates and outputs an NTRU encryption key;
An encryption device that generates ciphertext obtained by encrypting plaintext with NTRU cipher,
The parameter generation device includes:
A temporary parameter generation unit that generates a temporary parameter set that does not cause a decoding error based on the input parameter and error condition information that is determined in advance to determine whether or not a decoding error has occurred;
An output parameter generation unit that generates and outputs the output parameter from the temporary parameter set based on a lattice strength coefficient calculated from the temporary parameter set;
The key generation device includes:
A generation key output unit configured to generate and output the encryption key with the output parameter output from the parameter generation device as an input;
The encryption device is:
An encryption unit comprising: an encryption unit configured to encrypt the plaintext and generate the ciphertext by using the output parameter output from the parameter generation device and the encryption key output from the key generation device as inputs. system.
平文をNTRU暗号で暗号化した暗号文を生成する暗号装置であって、
予め与えられたNTRU暗号のパラメータ組である入力パラメータと予め与えられた復号エラー発生有無を判定するエラー条件情報とに基づいて、復号エラーが発生しない仮パラメータ組を生成する仮パラメータ生成部と、
前記仮パラメータ組から計算される格子強度係数に基づき、前記仮パラメータ組から、復号エラーの発生しないNTRU暗号のパラメータ組である出力パラメータを生成して出力する出力パラメータ生成部と、
前記出力パラメータを復号装置へ送信するパラメータ送信部と、
前記復号装置から前記出力パラメータに基づいて生成されたNTRU暗号の暗号鍵を受信する暗号鍵受信部と、
前記出力パラメータと前記暗号鍵に基づいて、前記平文を暗号化して前記暗号文を生成する暗号文生成部とを備える
ことを特徴とする暗号装置。
An encryption device that generates ciphertext obtained by encrypting plaintext with NTRU cipher,
A temporary parameter generation unit that generates a temporary parameter set that does not cause a decryption error based on an input parameter that is a parameter set of a NTRU cipher given in advance and error condition information that determines whether or not a decryption error occurs;
An output parameter generation unit that generates and outputs an output parameter that is a parameter set of an NTRU cipher that does not cause a decryption error from the temporary parameter set based on a lattice strength coefficient calculated from the temporary parameter set;
A parameter transmitter for transmitting the output parameter to a decoding device;
An encryption key receiving unit for receiving an NTRU encryption key generated based on the output parameter from the decryption device;
An encryption apparatus comprising: a ciphertext generation unit that generates the ciphertext by encrypting the plaintext based on the output parameter and the encryption key.
暗号装置が、平文をNTRU暗号で暗号化した暗号文を生成する暗号化方法であって、
前記暗号装置が備える仮パラメータ生成部が、予め与えられたNTRU暗号のパラメータ組である入力パラメータと予め与えられた復号エラー発生有無を判定するエラー条件情報に基づいて、復号エラーが発生しない仮パラメータ組を生成するステップと、
前記暗号装置が備える出力パラメータ生成部が、前記仮パラメータ組から計算される格子強度係数に基づき、前記仮パラメータ組から、復号エラーの発生しないNTRU暗号のパラメータ組である出力パラメータを生成して出力するステップと、
前記暗号装置が備える暗号鍵受信部が、前記出力パラメータに基づいてNTRU暗号の暗号鍵を生成するステップと、
前記暗号装置が備える暗号文生成部が、前記出力パラメータと前記暗号鍵に基づいて、前記平文を暗号化して暗号文を生成するステップとを含む
ことを特徴とする暗号化方法。
An encryption device is an encryption method for generating a ciphertext obtained by encrypting plaintext with NTRU encryption,
The temporary parameter generation unit included in the encryption device has a temporary parameter that does not cause a decryption error based on an input parameter that is a pre-given NTRU cipher parameter set and error condition information that is given in advance to determine whether or not a decryption error has occurred. Generating a tuple;
An output parameter generation unit included in the encryption device generates and outputs an output parameter that is a parameter set of the NTRU cipher that does not cause a decryption error from the temporary parameter set based on a lattice strength coefficient calculated from the temporary parameter set. And steps to
An encryption key receiving unit included in the encryption device generating an NTRU encryption key based on the output parameter;
An encryption method comprising: a ciphertext generation unit included in the encryption device encrypting the plaintext and generating a ciphertext based on the output parameter and the encryption key.
コンピュータを、NTRU暗号を用いた暗号化システムを構成する、Configuring the computer with an encryption system using NTRU encryption;
外部から入力されたNTRU暗号のパラメータ組である入力パラメータから、復号エラーの発生しないNTRU暗号のパラメータ組である出力パラメータを生成して出力するパラメータ生成装置と、A parameter generation device that generates and outputs an output parameter that is a parameter set of the NTRU cipher that does not cause a decryption error from an input parameter that is a parameter set of the NTRU cipher input from outside
NTRU暗号の暗号鍵を生成して出力する鍵生成装置と、A key generation device that generates and outputs an NTRU encryption key;
平文をNTRU暗号で暗号化した暗号文を生成する暗号装置として機能させるためのプログラムであって、A program for functioning as an encryption device that generates ciphertext obtained by encrypting plaintext with NTRU ciphertext,
前記コンピュータを、前記パラメータ生成装置が備える、The parameter generation device includes the computer.
前記入力パラメータと予め与えられた復号エラー発生有無を判定するエラー条件情報とに基づいて、復号エラーが発生しない仮パラメータ組を生成する仮パラメータ生成部と、A temporary parameter generation unit that generates a temporary parameter set in which a decoding error does not occur, based on the input parameter and error condition information that is determined in advance to determine whether or not a decoding error has occurred;
前記仮パラメータ組から計算される格子強度係数に基づき、前記仮パラメータ組から前記出力パラメータを生成して出力する出力パラメータ生成部として機能させ、Based on the lattice strength coefficient calculated from the temporary parameter set, function as an output parameter generation unit that generates and outputs the output parameter from the temporary parameter set,
前記コンピュータを、前記鍵生成装置が備える、The key generation device includes the computer.
前記パラメータ生成装置が出力した前記出力パラメータを入力として前記暗号鍵を生成し出力する生成鍵出力部として機能させ、Function as a generation key output unit that generates and outputs the encryption key with the output parameter output from the parameter generation device as an input;
前記コンピュータを、前記暗号装置が備える、The encryption device includes the computer.
前記パラメータ生成装置が出力した前記出力パラメータと前記鍵生成装置が出力した前記暗号鍵とを入力として、前記平文を暗号化して前記暗号文を生成する暗号化部として機能させるためのプログラム。A program for functioning as an encryption unit that generates the ciphertext by encrypting the plaintext with the output parameter output from the parameter generation device and the encryption key output from the key generation device as inputs.
NTRU暗号を用いた復号化システムであって、
外部から入力されたNTRU暗号のパラメータ組である入力パラメータから、復号エラーの発生しないNTRU暗号のパラメータ組である出力パラメータを生成して出力するパラメータ生成装置と、
NTRU暗号の復号鍵を生成して出力する鍵生成装置と、
暗号文をNTRU暗号で復号した復号文を生成する復号装置とを備え、
前記パラメータ生成装置は、
前記入力パラメータと予め与えられた復号エラー発生有無を判定するエラー条件情報に基づいて、復号エラーが発生しない仮パラメータ組を生成する仮パラメータ生成部と、
前記仮パラメータ組から計算される格子強度係数に基づき、前記仮パラメータ組から前記出力パラメータを生成して出力する出力パラメータ生成部とを備え、
前記鍵生成装置は、
前記パラメータ生成装置が出力した前記出力パラメータを入力として前記復号鍵を生成し出力する生成鍵出力部を備え、
前記復号装置は、
前記パラメータ生成装置が出力した前記出力パラメータと前記鍵生成装置が出力した前記復号鍵を入力として、前記暗号文を復号して前記復号文を生成する復号化部を備える
ことを特徴とする復号化システム。
A decryption system using NTRU encryption,
A parameter generation device that generates and outputs an output parameter that is a parameter set of the NTRU cipher that does not cause a decryption error from an input parameter that is a parameter set of the NTRU cipher input from the outside;
A key generation device that generates and outputs a decryption key for NTRU encryption;
A decryption device for generating a decrypted text obtained by decrypting a ciphertext with the NTRU cipher,
The parameter generation device includes:
A temporary parameter generation unit that generates a temporary parameter set in which no decoding error occurs, based on the input parameter and error condition information that determines whether or not a decoding error has occurred in advance;
An output parameter generation unit that generates and outputs the output parameter from the temporary parameter set based on a lattice strength coefficient calculated from the temporary parameter set;
The key generation device includes:
A generation key output unit that generates and outputs the decryption key with the output parameter output from the parameter generation device as an input;
The decoding device
A decryption unit that decrypts the ciphertext and generates the decrypted text by using the output parameter output from the parameter generation device and the decryption key output from the key generation device as inputs; system.
パラメータ生成装置と、鍵生成装置と、復号装置とから構成される復号化システムが、暗号文をNTRU暗号で復号した復号文を生成する復号化方法であって、
前記パラメータ生成装置が備える仮パラメータ生成部が、予め与えられたNTRU暗号のパラメータ組である入力パラメータと予め与えられた復号エラー発生有無を判定するエラー条件情報に基づいて、復号エラーが発生しない仮パラメータ組を生成するステップと、
前記パラメータ生成装置が備える出力パラメータ生成部が、前記仮パラメータ組から計算される格子強度係数に基づき、前記仮パラメータ組から、復号エラーの発生しないNTRU暗号のパラメータ組である出力パラメータを生成して出力するステップと、
前記鍵生成装置が備える生成鍵出力部が、前記出力パラメータに基づいてNTRU暗号の復号鍵を生成するステップと、
前記復号装置が備える復号化部が、前記出力パラメータと前記復号鍵に基づいて、前記暗号文を復号して復号文を生成するステップとを含む
ことを特徴とする復号化方法。
A decryption system including a parameter generation device, a key generation device, and a decryption device is a decryption method for generating a decrypted text obtained by decrypting a ciphertext with the NTRU cipher.
A temporary parameter generation unit included in the parameter generation apparatus is configured to generate a temporary error that does not generate a decryption error based on an input parameter that is a parameter set of a NTRU cipher given in advance and error condition information that is determined in advance as to whether or not a decryption error has occurred. Generating a parameter set;
An output parameter generation unit included in the parameter generation device generates an output parameter that is a parameter set of the NTRU cipher that does not cause a decryption error from the temporary parameter set based on a lattice strength coefficient calculated from the temporary parameter set. Output step;
A generation key output unit included in the key generation device generates a decryption key for NTRU encryption based on the output parameter;
A decrypting method comprising: a decrypting unit included in the decrypting device decrypting the ciphertext based on the output parameter and the decryption key to generate a decrypted text.
コンピュータを、NTRU暗号を用いた復号化システムを構成する、Configuring the computer with a decryption system using the NTRU cipher;
外部から入力されたNTRU暗号のパラメータ組である入力パラメータから、復号エラーの発生しないNTRU暗号のパラメータ組である出力パラメータを生成して出力するパラメータ生成装置と、A parameter generation device that generates and outputs an output parameter that is a parameter set of the NTRU cipher that does not cause a decryption error from an input parameter that is a parameter set of the NTRU cipher input from outside
NTRU暗号の復号鍵を生成して出力する鍵生成装置と、A key generation device that generates and outputs a decryption key for NTRU encryption;
暗号文をNTRU暗号で復号した復号文を生成する復号装置として機能させるためのプログラムであって、A program for causing a decryption device to generate a decrypted text obtained by decrypting a ciphertext using the NTRU cipher,
前記コンピュータを、前記パラメータ生成装置が備える、The parameter generation device includes the computer.
前記入力パラメータと予め与えられた復号エラー発生有無を判定するエラー条件情報に基づいて、復号エラーが発生しない仮パラメータ組を生成する仮パラメータ生成部と、A temporary parameter generation unit that generates a temporary parameter set in which a decoding error does not occur based on the input parameter and error condition information that is determined in advance to determine whether or not a decoding error has occurred;
前記仮パラメータ組から計算される格子強度係数に基づき、前記仮パラメータ組から前記出力パラメータを生成して出力する出力パラメータ生成部として機能させ、Based on the lattice strength coefficient calculated from the temporary parameter set, function as an output parameter generation unit that generates and outputs the output parameter from the temporary parameter set,
前記コンピュータを、前記鍵生成装置が備える、The key generation device includes the computer.
前記パラメータ生成装置が出力した前記出力パラメータを入力として前記復号鍵を生成し出力する生成鍵出力部として機能させ、Function as a generation key output unit that generates and outputs the decryption key with the output parameter output from the parameter generation device as an input;
前記コンピュータを、前記復号装置が備える、The decoding device includes the computer.
前記パラメータ生成装置が出力した前記出力パラメータと前記鍵生成装置が出力した前記復号鍵を入力として、前記暗号文を復号して前記復号文を生成する復号化部として機能させるためのプログラム。A program for functioning as a decryption unit that receives the output parameter output from the parameter generation device and the decryption key output from the key generation device as input and generates the decrypted text by decrypting the ciphertext.
JP2004118772A 2003-04-24 2004-04-14 Parameter generating apparatus, encryption system, decryption system, encryption apparatus, encryption method, decryption method, and program Expired - Lifetime JP4567364B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004118772A JP4567364B2 (en) 2003-04-24 2004-04-14 Parameter generating apparatus, encryption system, decryption system, encryption apparatus, encryption method, decryption method, and program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2003119973 2003-04-24
JP2004118772A JP4567364B2 (en) 2003-04-24 2004-04-14 Parameter generating apparatus, encryption system, decryption system, encryption apparatus, encryption method, decryption method, and program

Publications (2)

Publication Number Publication Date
JP2004341502A JP2004341502A (en) 2004-12-02
JP4567364B2 true JP4567364B2 (en) 2010-10-20

Family

ID=33543211

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004118772A Expired - Lifetime JP4567364B2 (en) 2003-04-24 2004-04-14 Parameter generating apparatus, encryption system, decryption system, encryption apparatus, encryption method, decryption method, and program

Country Status (1)

Country Link
JP (1) JP4567364B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100535962C (en) * 2004-05-12 2009-09-02 松下电器产业株式会社 Encryption system, encryption device, decryption device, program, and integrated circuit
JP5768732B2 (en) * 2012-01-27 2015-08-26 富士通株式会社 Encryption key generation method, encryption key generation apparatus, and encryption key generation program
JPWO2021029173A1 (en) * 2019-08-09 2021-02-18

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1998008323A1 (en) * 1996-08-19 1998-02-26 Ntru Cryptosystems, Inc. Public key cryptosystem method and apparatus
JP2003124927A (en) * 2001-10-15 2003-04-25 Sony Corp Mutual authentication system, mutual authentication method, mutual authentication equipment and storage medium
JP2003195755A (en) * 2001-10-19 2003-07-09 Matsushita Electric Ind Co Ltd Array output device, array output method, encryption device and decryption device

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1998008323A1 (en) * 1996-08-19 1998-02-26 Ntru Cryptosystems, Inc. Public key cryptosystem method and apparatus
JP2003124927A (en) * 2001-10-15 2003-04-25 Sony Corp Mutual authentication system, mutual authentication method, mutual authentication equipment and storage medium
JP2003195755A (en) * 2001-10-19 2003-07-09 Matsushita Electric Ind Co Ltd Array output device, array output method, encryption device and decryption device

Also Published As

Publication number Publication date
JP2004341502A (en) 2004-12-02

Similar Documents

Publication Publication Date Title
JP4786531B2 (en) Encryption system, encryption device, decryption device, program, and integrated circuit
Perlner et al. Quantum resistant public key cryptography: a survey
KR101024768B1 (en) Parameter generation apparatus, encryption system, decryption system, encryption apparatus, decryption apparatus, encryption method, decryption method, and program thereof
US9413729B2 (en) Symmetric encryption apparatus and storage medium, and symmetric decryption apparatus and storage medium
JP4620669B2 (en) Signature generation apparatus, signature verification apparatus, method thereof, and integrated circuit
KR20140114933A (en) System and method for providing compressed encryption and decryption in homomorphic cryptography based on intergers
US20100046746A1 (en) Parameter generating device and cryptographic processing system
KR20190081259A (en) Method for Key Generation, Encryption and Decryption for Public Key Encryption Scheme Based on Module-Wavy and Module-LWE
US20050220299A1 (en) Public key cryptographic methods and systems
JP2011227193A (en) Public key encryption method capable of computing ring homomorphism, public key encryption system capable of computing ring homomorphism, transmission device, processing device, reception device, and program and recording medium thereof
JP4567364B2 (en) Parameter generating apparatus, encryption system, decryption system, encryption apparatus, encryption method, decryption method, and program
US20160072622A1 (en) Method and apparatus for scalar multiplication secure against differential power attacks
US20060251248A1 (en) Public key cryptographic methods and systems with preprocessing
EP1734493B1 (en) Padding application method to ensure the security of the ntru encryption
US20080019508A1 (en) Public key cryptographic methods and systems with rebalancing
JP4685621B2 (en) Key generation apparatus, encryption apparatus, decryption apparatus, multiplicative knapsack cryptosystem, multiplicative knapsack cipher decryption method and program
JP5297918B2 (en) Encrypted numeric binary conversion system, method and program
US20210226791A1 (en) Encryption system, encryption apparatus, decryption apparatus, encryption method, decryption method, and program
Kuang et al. A new symmetric homomorphic functional encryption over a hidden ring for polynomial public key encapsulations
Reddy et al. Analysis and performance characteristics of cryptosystem using image files
Téllez et al. Supersingular Isogeny and Ring Learning With Errors-Based Diffie-Hellman Cryptosystems: A Performance and Security Comparison
Hovd The handling of noise and security of two fully homomorphic encryption schemes
JP4237306B2 (en) Hyperelliptic curve C generation device, encryption management device, data transmission device, and data reception device
JP2012227652A (en) Device, method, system, and program for verifying decryption result
JP2003233306A (en) Method and system for evaluating safety of public key encryption and program for evaluating safety of public key encryption and memory medium storing program for evaluating safety of public key encryption

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070208

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100601

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100623

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100805

R150 Certificate of patent or registration of utility model

Ref document number: 4567364

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20130813

Year of fee payment: 3