JP2010245683A - Cryptographic system, key generator, encryption device, decryption device, and encryption processing method - Google Patents

Cryptographic system, key generator, encryption device, decryption device, and encryption processing method Download PDF

Info

Publication number
JP2010245683A
JP2010245683A JP2009090102A JP2009090102A JP2010245683A JP 2010245683 A JP2010245683 A JP 2010245683A JP 2009090102 A JP2009090102 A JP 2009090102A JP 2009090102 A JP2009090102 A JP 2009090102A JP 2010245683 A JP2010245683 A JP 2010245683A
Authority
JP
Japan
Prior art keywords
key information
control unit
calculating
computer
ciphertext
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2009090102A
Other languages
Japanese (ja)
Inventor
Mototsugu Nishioka
玄次 西岡
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2009090102A priority Critical patent/JP2010245683A/en
Publication of JP2010245683A publication Critical patent/JP2010245683A/en
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide a public key encryption method which is IND-CCA security on a standard computer model and does not damage security reduction even in a multiuser environment. <P>SOLUTION: A key generator 110 prepares a public key and a secret key designed to return encryption security to the difficulty of a Diffie-Hellman decision problem and to the security of a family of functions satisfying a specific condition. An encryption device 130 generates cryptography from a message sentence by using the public key prepared by the key generator 110. Then, a decryption device 150 decrypts the cryptography generated by the encryption device 130 by using the secret key prepared by the key generator 110. <P>COPYRIGHT: (C)2011,JPO&INPIT

Description

本発明は、メッセージ文を暗号化又は復号化する技術に関する。   The present invention relates to a technique for encrypting or decrypting a message text.

非特許文献1では、公開鍵暗号の安全性の概念が記載されており、IND−CCA安全であることが最高レベルの安全性であると考えられている。実際には、公開鍵暗号がIND−CCA安全であることは、ランダムオラクルモデル、または、標準計算機モデル上で証明が与えられる。   Non-Patent Document 1 describes the concept of security of public key cryptography, and IND-CCA security is considered to be the highest level of security. In practice, public key cryptography is proved to be IND-CCA secure on a random oracle model or standard computer model.

ランダムオラクルモデルは、ランダム関数へのオラクルアクセスを前提としているため非現実のモデルである。よって、ランダムオラクルモデル上の安全性証明は現実システムでの安全性を完全に保証する訳ではなく、ひとつの指標と考えられている。しかし、実用性に優れた多様なバリエーションの公開鍵暗号方法を設計することが容易であり、実用化されている公開鍵暗号の多くはランダムオラクルモデル上でIND−CCA安全性が与えられている。   The random oracle model is an unreal model because it assumes an oracle access to a random function. Therefore, the safety proof on the random oracle model is not guaranteed completely in the real system, but is considered as an index. However, it is easy to design various variations of public key cryptosystems with excellent practicality, and many of the public key cryptosystems in practical use are given IND-CCA security on a random oracle model. .

一方、標準計算機モデルは、現実の計算機システムに近いため、このモデル上での安全性証明は現実世界での安全性証明に等しいと考えられている。このように、安全性の観点からは、標準計算機モデル上でIND−CCA安全であることが望ましいが、実用的な方式設計が難しく、ランダムオラクルモデルに比べるとバリエーションが非常に少ない。非特許文献3に記載されている公開鍵暗号方式が、標準計算機モデル上でIND−CCA安全で、かつ、実用性を備えた方式として代表的なものである。   On the other hand, since the standard computer model is close to an actual computer system, the safety proof on this model is considered to be equivalent to the safety proof in the real world. As described above, from the viewpoint of safety, it is desirable that the IND-CCA is safe on the standard computer model, but practical system design is difficult, and there are very few variations compared to the random oracle model. The public key cryptosystem described in Non-Patent Document 3 is a typical scheme that is IND-CCA secure and practical on a standard computer model.

ところで、非特許文献1に記載されているIND−CCA安全の概念は、単一の送信者及び受信者に対して、ターゲットとなる暗号文がひとつ与えられた状況において定式化されている(以下、シングルユーザ環境と呼ぶ)。   By the way, the concept of the IND-CCA security described in Non-Patent Document 1 is formulated in a situation where a single ciphertext is given to a single sender and receiver (hereinafter, referred to as a target ciphertext). Called a single-user environment).

しかし、現実世界では、同報メール通信など、同一のメッセージ文が複数の相手に対して送られている場合も少なくない。また、メールの返信などでは、同一メッセージ文の全体又は一部を含んだ新たなメッセージ文から暗号文が作成されることも多い。非特許文献2では、このようなマルチユーザ環境において、識別不能性の検証を行っている。   However, in the real world, there are many cases where the same message text is sent to a plurality of other parties, such as broadcast mail communication. Also, when replying to e-mails, ciphertexts are often created from new message texts that include all or part of the same message text. In Non-Patent Document 2, verification of indistinguishability is performed in such a multi-user environment.

非特許文献2によると、シングルユーザ環境において識別不能性が示されれば、マルチユーザ環境においても識別不能性は示されるが、一般にはセキュリティ・リダクションは大きく劣化することが記載されている。ここで、セキュリティ・リダクションとは、暗号の安全性を計算量的困難性が予想される問題に帰着する際の帰着効率を意味する。セキュリティ・リダクションが悪い場合、暗号の安全性のためのパラメータ(鍵の長さなど)を大きく選ぶ必要性があり、暗号の効率性を大きく損なう場合が多い。   According to Non-Patent Document 2, it is described that if indistinguishability is shown in a single user environment, indistinguishability is also shown in a multi-user environment, but security reduction is generally greatly deteriorated. Here, security reduction means reduction efficiency when reducing the security of encryption to a problem that is expected to be computationally difficult. When security reduction is poor, it is necessary to select a large parameter (key length, etc.) for the security of the encryption, and the efficiency of the encryption is often greatly impaired.

よって、実用上の観点から、計算量的困難性が十分に予想された問題に効率良く帰着するように公開鍵暗号をデザインすることが望ましい。非特許文献2によると、弱い安全性(IND−CPA)をもつElgamal暗号はマルチユーザ環境においてもセキュリティ・リダクションを全く損なわないことが示されている。   Therefore, from a practical point of view, it is desirable to design public key cryptography so as to efficiently result in a problem in which computational difficulty is sufficiently predicted. According to Non-Patent Document 2, it is shown that Elgamal encryption having weak security (IND-CPA) does not impair security reduction even in a multi-user environment.

M. Bellare, A. Desai, D. Pointcheval and P. Rogaway. Relations among notions of security for public-key encryption schemes: http://www.cse.ucsd.edu/~mihir/crypto-research-papers.htmlM. Bellare, A. Desai, D. Pointcheval and P. Rogaway. Relations among notions of security for public-key encryption schemes: http://www.cse.ucsd.edu/~mihir/crypto-research-papers.html M. Bellare, P. Boldyreva, and S.Micali. Public-key Encryption in a Multi-User Setting: Security Proofs and Improvements: http://www.cse.ucsd.edu/~mihir/crypto-research-papers.htmlM. Bellare, P. Boldyreva, and S. Micali.Public-key Encryption in a Multi-User Setting: Security Proofs and Improvements: http://www.cse.ucsd.edu/~mihir/crypto-research-papers. html R.Cramer and V.Shoup. A Practical Public Key Cryptosystem Provably Secure against Adaptive Chosen Ciphertext Attack: http://www.shoup.net/papers/R. Cramer and V. Shoup. A Practical Public Key Cryptosystem Provably Secure against Adaptive Chosen Ciphertext Attack: http://www.shoup.net/papers/

以上に記載したように、非特許文献3では、標準計算機モデル上でIND−CCA安全な公開鍵暗号方法が記載されている。   As described above, Non-Patent Document 3 describes an IND-CCA secure public key encryption method on a standard computer model.

しかしながら、非特許文献3に記載の標準計算機モデル上でIND−CCA安全な公開鍵暗号方法は部分的にはマルチユーザ環境においてもセキュリティ・リダクションを損なわないが完全ではないことが示されており、標準計算機モデル上で強い安全性(IND−CCA)を持つ公開鍵暗号方法で、マルチユーザ環境においてもセキュリティ・リダクションを全く損なわない方法は知られていない。   However, it has been shown that the IND-CCA secure public key encryption method on the standard computer model described in Non-Patent Document 3 partially does not impair security reduction even in a multi-user environment, but is not perfect. There is no known public key cryptography method having strong security (IND-CCA) on a standard computer model and that does not impair security reduction even in a multi-user environment.

そこで、本発明は、標準計算機モデル上でIND−CCA安全であり、また、マルチユーザ環境においてもセキュリティ・リダクションを損なわない公開鍵暗号方法を提供することを目的とする。   Accordingly, an object of the present invention is to provide a public key encryption method that is IND-CCA safe on a standard computer model and that does not impair security reduction even in a multi-user environment.

以上の課題を解決するため、本発明は、暗号の安全性を、Diffie−Hellman決定問題の困難性と、特定の条件を満たす関数族の安全性に帰着するように、公開鍵暗号を設計する。   In order to solve the above problems, the present invention designs public key cryptography so that the security of the cipher is reduced to the difficulty of the Diffie-Hellman decision problem and the security of a function family that satisfies a specific condition. .

例えば、本発明は、第一の鍵情報を用いて、メッセージ文を暗号化した暗号文を生成し、第二の鍵情報を用いて、当該暗号文の復号化を行う少なくとも一つ以上のコンピュータを備える暗号システムであって、
前記コンピュータの制御部が、
セキュリティパラメータkの入力を受け付ける処理と、
For example, the present invention generates at least one computer that encrypts a message text using the first key information and decrypts the cipher text using the second key information. An encryption system comprising:
A control unit of the computer,
A process of accepting an input of a security parameter k;

Figure 2010245683
Figure 2010245683

および and

Figure 2010245683
Figure 2010245683

をランダムに作成する処理と(但し、Gは素数qを位数とする乗法群であり、Zはqを法とする剰余環を表す)、
(x,x,y,y,g,g)を用いて、
(Where G is a multiplicative group with the prime number q as the order, and Z q represents a remainder ring modulo q),
(X 1 , x 2 , y 1 , y 2 , g 1 , g 2 )

Figure 2010245683
Figure 2010245683

を計算する処理と、
一方向性置換πと落とし戸π−1の組(π,π−1)を作成する処理と、
第一の鍵情報pkおよび第二の鍵情報skを、
The process of calculating
A process of creating a pair (π, π −1 ) of unidirectional substitution π and trapdoor π −1 ;
The first key information pk and the second key information sk are

Figure 2010245683
Figure 2010245683

として生成する処理と、を行うこと、
但し、Fは、下記の(5)式で示され、fσは、G4上の関数である。
Processing to generate as
However, F k is expressed by the following equation (5), and f σ is a function on G4.

Figure 2010245683
Figure 2010245683

を特徴とする。   It is characterized by.

以上のように、本発明によれば、標準計算機モデル上でIND−CCA安全であり、また、マルチユーザ環境においてもセキュリティ・リダクションを損なわない公開鍵暗号方法を提供することができる。   As described above, according to the present invention, it is possible to provide a public key encryption method that is IND-CCA safe on a standard computer model and that does not impair security reduction even in a multi-user environment.

暗号システムの概略図。Schematic diagram of a cryptographic system. 鍵生成装置の概略図。Schematic of a key generation device. コンピュータの概略図。Schematic diagram of a computer. 暗号化装置の概略図。1 is a schematic diagram of an encryption device. 復号化装置の概略図。Schematic of a decoding apparatus. 暗号システムでの動作手順を説明するためのシーケンス図。The sequence diagram for demonstrating the operation | movement procedure in a cryptographic system.

図1は、本発明の一実施形態である暗号システム100の概略図である。図示するように、暗号システム100は、鍵生成装置110と、暗号化装置130と、復号化装置150と、を備え、これらは、通信回線170を介して、相互に情報の送受信を行うことができるようにされている。   FIG. 1 is a schematic diagram of an encryption system 100 according to an embodiment of the present invention. As shown in the figure, the encryption system 100 includes a key generation device 110, an encryption device 130, and a decryption device 150, which can transmit and receive information to and from each other via a communication line 170. It has been made possible.

そして、本実施形態では、公開鍵暗号Π=(K,E,D)において、公開鍵暗号Πの鍵生成手段K、暗号化手段E、および、復号化手段Dは、それぞれ鍵生成装置110、暗号化装置130、および、復号化装置150により実現される。   In the present embodiment, in the public key cipher Π = (K, E, D), the key generation means K, the encryption means E, and the decryption means D of the public key cipher 、 are the key generation device 110, This is realized by the encryption device 130 and the decryption device 150.

図2は、鍵生成装置110の概略図である。図示するように、鍵生成装置110は、情報の入力を受け付ける入力部111と、論理演算、べき乗算、剰余演算、ハッシュ関数演算、ランダム関数演算を含む各種演算、および、鍵生成装置110の各部の制御を行う制御部112と、記憶部117と、通信回線170を介して暗号化装置130又は復号化装置150と通信を行う通信部121と、情報を出力する出力部122と、を備える。   FIG. 2 is a schematic diagram of the key generation device 110. As illustrated, the key generation device 110 includes an input unit 111 that receives input of information, various operations including logical operation, power multiplication, remainder operation, hash function operation, and random function operation, and each unit of the key generation device 110. A control unit 112 that performs the above control, a storage unit 117, a communication unit 121 that communicates with the encryption device 130 or the decryption device 150 via the communication line 170, and an output unit 122 that outputs information.

ここで、制御部112は、乱数の生成を行う乱数生成部113と、公開鍵及び秘密鍵の生成を行う演算部114と、一方向性置換π及び落とし戸π−1を生成する落とし戸付き一方向性置換生成部115と、を備える。 Here, the control unit 112 includes a random number generation unit 113 that generates a random number, a calculation unit 114 that generates a public key and a secret key, and a trap with a one-way replacement π and a trap door π −1. A unidirectional replacement generation unit 115.

また、記憶部117は、演算部114で生成した公開鍵及び秘密鍵を記憶する鍵情報記憶領域118と、制御部112での各種演算に必要な情報を記憶する一時情報記憶領域119と、を備える。   The storage unit 117 includes a key information storage area 118 that stores the public key and the secret key generated by the calculation unit 114, and a temporary information storage area 119 that stores information necessary for various calculations by the control unit 112. Prepare.

以上に記載した鍵生成装置110は、例えば、図3(コンピュータ900の概略図)に示すような、CPU(Central Processing Unit)901と、メモリ902と、HDD(Hard Disk Drive)等の外部記憶装置903と、CD(Compact Disk)やDVD(Digital Versatile Disk)等の可搬性を有する記憶媒体904に対して情報を読み書きする読書装置905と、キーボードやマウスなどの入力装置906と、ディスプレイなどの出力装置907と、通信ネットワークに接続するためのNIC(Network Interface Card)等の通信装置908と、を備えた一般的なコンピュータ900で実現できる。   The key generation device 110 described above includes, for example, an external storage device such as a CPU (Central Processing Unit) 901, a memory 902, and an HDD (Hard Disk Drive) as shown in FIG. 3 (schematic diagram of the computer 900). 903, a reading device 905 that reads / writes information from / to a portable storage medium 904 such as a CD (Compact Disk) or a DVD (Digital Versatile Disk), an input device 906 such as a keyboard or a mouse, and an output such as a display This can be realized by a general computer 900 including a device 907 and a communication device 908 such as a NIC (Network Interface Card) for connecting to a communication network.

例えば、入力部111は、CPU901が入力装置906を利用することで実現可能であり、制御部112は、外部記憶装置903に記憶されている所定のプログラムをメモリ902にロードしてCPU901で実行することで実現可能であり、記憶部117は、CPU901がメモリ902又は外部記憶装置903を利用することにより実現可能であり、通信部121は、CPU901が通信装置908を利用することで実現可能であり、出力部122は、CPU901が出力装置907を利用することで実現可能である。   For example, the input unit 111 can be realized by the CPU 901 using the input device 906, and the control unit 112 loads a predetermined program stored in the external storage device 903 into the memory 902 and executes it by the CPU 901. The storage unit 117 can be realized by the CPU 901 using the memory 902 or the external storage device 903, and the communication unit 121 can be realized by the CPU 901 using the communication device 908. The output unit 122 can be realized by the CPU 901 using the output device 907.

この所定のプログラムは、読書装置905を介して記憶媒体904から、あるいは、通信装置908を介してネットワークから、外部記憶装置903にダウンロードされ、それから、メモリ902上にロードされてCPU901により実行されるようにしてもよい。また、読書装置905を介して記憶媒体904から、あるいは、通信装置908を介してネットワークから、メモリ902上に直接ロードされ、CPU901により実行されるようにしてもよい。   The predetermined program is downloaded from the storage medium 904 via the reading device 905 or from the network via the communication device 908 to the external storage device 903, and then loaded onto the memory 902 and executed by the CPU 901. You may do it. Alternatively, the program may be directly loaded on the memory 902 from the storage medium 904 via the reading device 905 or from the network via the communication device 908 and executed by the CPU 901.

図4は、暗号化装置130の概略図である。図示するように、暗号化装置130は、情報の入力を受け付ける入力部131と、論理演算、べき乗算、剰余演算、ハッシュ関数演算、ランダム関数演算を含む各種演算、および、暗号化装置130の各部の制御を行う制御部132と、記憶部138と、通信回線170を介して鍵生成装置110又は復号化装置150と通信を行う通信部142と、情報を出力する出力部143と、を備える。   FIG. 4 is a schematic diagram of the encryption device 130. As illustrated, the encryption device 130 includes an input unit 131 that receives input of information, various operations including logical operation, power multiplication, remainder operation, hash function operation, and random function operation, and each unit of the encryption device 130. A control unit 132 that performs the above control, a storage unit 138, a communication unit 142 that communicates with the key generation device 110 or the decryption device 150 via the communication line 170, and an output unit 143 that outputs information.

ここで、制御部132は、乱数の生成を行う乱数生成部133と、メッセージ文の入力を受け付け、当該メッセージ文の暗号文を生成する処理を制御する演算部134と、(π、σ)を入力として、π(σ)を出力する(一方向性置換πの計算を行う)第一関数計算部135と、(σ、x)を入力として、fσ(x)を出力する第二関数計算部136と、を備える。 Here, the control unit 132 includes a random number generation unit 133 that generates a random number, a calculation unit 134 that receives input of a message text and controls processing to generate a ciphertext of the message text, and (π, σ). First function calculation unit 135 that outputs π (σ) as input (calculates unidirectional substitution π), and second function calculation that outputs f σ (x) as input Part 136.

また、記憶部138は、鍵生成装置110で生成された公開鍵を記憶する鍵情報記憶領域139と、制御部132での各種演算に必要な情報を記憶する一時情報記憶領域140と、を備える。   In addition, the storage unit 138 includes a key information storage area 139 that stores the public key generated by the key generation apparatus 110, and a temporary information storage area 140 that stores information necessary for various calculations in the control unit 132. .

以上に記載した暗号化装置130は、例えば、図3に示すような一般的なコンピュータ900で実現できる。   The encryption device 130 described above can be realized by, for example, a general computer 900 as shown in FIG.

例えば、入力部131は、CPU901が入力装置906を利用することで実現可能であり、制御部132は、外部記憶装置903に記憶されている所定のプログラムをメモリ902にロードしてCPU901で実行することで実現可能であり、記憶部138は、CPU901がメモリ902又は外部記憶装置903を利用することにより実現可能であり、通信部142は、CPU901が通信装置908を利用することで実現可能であり、出力部143は、CPU901が出力装置907を利用することで実現可能である。   For example, the input unit 131 can be realized by the CPU 901 using the input device 906, and the control unit 132 loads a predetermined program stored in the external storage device 903 into the memory 902 and executes it by the CPU 901. The storage unit 138 can be realized by the CPU 901 using the memory 902 or the external storage device 903, and the communication unit 142 can be realized by the CPU 901 using the communication device 908. The output unit 143 can be realized by the CPU 901 using the output device 907.

この所定のプログラムは、読書装置905を介して記憶媒体904から、あるいは、通信装置908を介してネットワークから、外部記憶装置903にダウンロードされ、それから、メモリ902上にロードされてCPU901により実行されるようにしてもよい。また、読書装置905を介して記憶媒体904から、あるいは、通信装置908を介してネットワークから、メモリ902上に直接ロードされ、CPU901により実行されるようにしてもよい。   The predetermined program is downloaded from the storage medium 904 via the reading device 905 or from the network via the communication device 908 to the external storage device 903, and then loaded onto the memory 902 and executed by the CPU 901. You may do it. Alternatively, the program may be directly loaded on the memory 902 from the storage medium 904 via the reading device 905 or from the network via the communication device 908 and executed by the CPU 901.

図5は、復号化装置150の概略図である。図示するように、復号化装置150は、情報の入力を受け付ける入力部151と、論理演算、べき乗算、剰余演算、ハッシュ関数演算、ランダム関数演算を含む各種演算、および、復号化装置150の各部の制御を行う制御部152と、記憶部158と、通信回線170を介して鍵生成装置110又は暗号化装置130と通信を行う通信部162と、情報を出力する出力部163と、を備える。   FIG. 5 is a schematic diagram of the decoding device 150. As illustrated, the decoding device 150 includes an input unit 151 that receives input of information, various operations including logical operation, power multiplication, remainder operation, hash function operation, and random function operation, and each unit of the decoding device 150. A control unit 152 that performs the above control, a storage unit 158, a communication unit 162 that communicates with the key generation device 110 or the encryption device 130 via the communication line 170, and an output unit 163 that outputs information.

ここで、制御部152は、暗号文の入力を受け付け、当該暗号文の復号処理を制御する演算部153と、関数計算器A303は、(π−1、y)を入力として、π(y)を出力する(落とし戸π−1の計算を行う)第一関数計算部154と、(σ、x)を入力として、fσ(x)を出力する第二関数計算部155と、演算部153が算出した値の検証を行う検査部156と、を備える。 Here, the control unit 152 receives the input of the ciphertext, the calculation unit 153 that controls the decryption process of the ciphertext, and the function calculator A303 receives (π −1 , y) as an input, and π (y) and outputs a (the calculation of trapdoor [pi -1) and the first function calculating unit 154, (sigma, x) as input, the second function calculating unit 155 outputs f sigma (the x), calculating unit 153 And an inspection unit 156 for verifying the value calculated by.

また、記憶部158は、鍵生成装置110で生成された秘密鍵を記憶する鍵情報記憶領域159と、制御部152での各種演算に必要な情報を記憶する一時情報記憶領域160と、を備える。   In addition, the storage unit 158 includes a key information storage area 159 that stores the secret key generated by the key generation apparatus 110 and a temporary information storage area 160 that stores information necessary for various calculations in the control unit 152. .

以上に記載した復号化装置150は、例えば、図3に示すような一般的なコンピュータ900で実現できる。   The decoding device 150 described above can be realized by, for example, a general computer 900 as shown in FIG.

例えば、入力部151は、CPU901が入力装置906を利用することで実現可能であり、制御部152は、外部記憶装置903に記憶されている所定のプログラムをメモリ902にロードしてCPU901で実行することで実現可能であり、記憶部158は、CPU901がメモリ902又は外部記憶装置903を利用することにより実現可能であり、通信部162は、CPU901が通信装置908を利用することで実現可能であり、出力部163は、CPU901が出力装置907を利用することで実現可能である。   For example, the input unit 151 can be realized by the CPU 901 using the input device 906, and the control unit 152 loads a predetermined program stored in the external storage device 903 into the memory 902 and executes it by the CPU 901. The storage unit 158 can be realized by the CPU 901 using the memory 902 or the external storage device 903, and the communication unit 162 can be realized by the CPU 901 using the communication device 908. The output unit 163 can be realized by the CPU 901 using the output device 907.

この所定のプログラムは、読書装置905を介して記憶媒体904から、あるいは、通信装置908を介してネットワークから、外部記憶装置903にダウンロードされ、それから、メモリ902上にロードされてCPU901により実行されるようにしてもよい。また、読書装置905を介して記憶媒体904から、あるいは、通信装置908を介してネットワークから、メモリ902上に直接ロードされ、CPU901により実行されるようにしてもよい。   The predetermined program is downloaded from the storage medium 904 via the reading device 905 or from the network via the communication device 908 to the external storage device 903, and then loaded onto the memory 902 and executed by the CPU 901. You may do it. Alternatively, the program may be directly loaded on the memory 902 from the storage medium 904 via the reading device 905 or from the network via the communication device 908 and executed by the CPU 901.

図6は、暗号システム100での動作手順を説明するためのシーケンス図である。   FIG. 6 is a sequence diagram for explaining an operation procedure in the cryptographic system 100.

1.鍵生成装置110での処理。   1. Processing in the key generation device 110.

まず、鍵生成装置100の演算部114は、入力部111を介して、1(kはセキュリティパラメータで正の整数)の入力を受け付ける(S10)。なお、入力された値は、一時情報記憶領域119に記憶される。 First, the calculation unit 114 of the key generation device 100 receives an input of 1 k (k is a positive integer as a security parameter) via the input unit 111 (S10). The input value is stored in the temporary information storage area 119.

次に、鍵生成装置100の乱数生成部113が、   Next, the random number generation unit 113 of the key generation device 100

Figure 2010245683
Figure 2010245683

および and

Figure 2010245683
Figure 2010245683

をランダムに作成し、一時情報記憶領域119に記録する(S11、S12)。但し、Gは素数qを位数とする乗法群であり、Zはqを法とする剰余環を表す。 Are randomly generated and recorded in the temporary information storage area 119 (S11, S12). Here, G is a multiplicative group with the prime number q as the order, and Z q represents a remainder ring modulo q.

次に、鍵生成装置100の演算部114は、一時情報記憶領域119に記憶された(x,x,y,y,g,g)を用いて、 Next, the calculation unit 114 of the key generation device 100 uses (x 1 , x 2 , y 1 , y 2 , g 1 , g 2 ) stored in the temporary information storage area 119,

Figure 2010245683
Figure 2010245683

を計算し、一時情報記憶領域119に記録する(S13)。 Is calculated and recorded in the temporary information storage area 119 (S13).

さらに、鍵生成装置100の落とし戸付き一方向性置換生成部115が、一方向性置換πと落とし戸π−1の組(π,π−1)を作成し、一時情報記憶領域119に記録する(S14)。 Furthermore, the unidirectional replacement generation unit with trapdoor 115 of the key generation device 100 creates a pair (π, π −1 ) of the unidirectional replacement π and the trapdoor π −1 and records it in the temporary information storage area 119. (S14).

そして、鍵生成装置100の演算部114が、一時情報記憶領域119に記憶された値から公開鍵pkおよび秘密鍵skを、   Then, the calculation unit 114 of the key generation device 100 obtains the public key pk and the secret key sk from the values stored in the temporary information storage area 119.

Figure 2010245683
Figure 2010245683

と設定し、出力部122を介して(pk,sk)を出力する(S15)。但し、Fは、下記の(10)式で示され、fσは、G4上の関数である。 And (pk, sk) is output via the output unit 122 (S15). However, F k is expressed by the following equation (10), and f σ is a function on G4.

Figure 2010245683
Figure 2010245683

なお、公開鍵pk又は秘密鍵skについては、通信部121を介して,暗号化装置130又は復号化装置150に送信することも可能である。   The public key pk or the secret key sk can be transmitted to the encryption device 130 or the decryption device 150 via the communication unit 121.

2.暗号化装置130での処理。   2. Processing in the encryption device 130.

暗号化装置130の演算部134は、入力部131又は通信部142を介して取得した公開鍵pkを鍵情報記憶領域139に記憶する(S16)。   The computing unit 134 of the encryption device 130 stores the public key pk acquired via the input unit 131 or the communication unit 142 in the key information storage area 139 (S16).

次に、暗号化装置130の演算部134は、入力部131又は通信部142を介して、メッセージ文mを取得し、一時情報記憶領域140に記憶する(S17)。   Next, the computing unit 134 of the encryption device 130 acquires the message text m via the input unit 131 or the communication unit 142 and stores it in the temporary information storage area 140 (S17).

そして、暗号化装置130の乱数生成部133は、   Then, the random number generator 133 of the encryption device 130

Figure 2010245683
Figure 2010245683

をランダムに選ぶ(S18)。 Is randomly selected (S18).

次に、暗号化装置130の演算部134は、公開鍵pk(の一部)であるg、gから、 Next, the calculation unit 134 of the encryption device 130 uses g 1 and g 2 (part of the public key pk) as follows:

Figure 2010245683
Figure 2010245683

を計算し、一時情報記憶領域140に記憶する(S19)。 Is calculated and stored in the temporary information storage area 140 (S19).

次に、暗号化装置130の乱数生成部133が、   Next, the random number generator 133 of the encryption device 130

Figure 2010245683
Figure 2010245683

をランダムに選ぶ(S20)。 Are randomly selected (S20).

そして、暗号化装置130の第一関数計算部135が、一方向性関数πを用いて、π(σ)を計算する(S21)。   Then, the first function calculation unit 135 of the encryption device 130 calculates π (σ) using the one-way function π (S21).

さらに、暗号化装置130の演算部134が、公開鍵(の一部)hから、 Further, the calculation unit 134 of the encryption device 130 obtains the public key (part) h 1 from

Figure 2010245683
Figure 2010245683

を計算し、一時情報記憶領域140に記憶する(S22)。 Is calculated and stored in the temporary information storage area 140 (S22).

また、暗号化装置130の演算部134は、メッセージ文m及び公開鍵(の一部)hから、 In addition, the calculation unit 134 of the encryption device 130 obtains the message sentence m and the public key (part) h 2 from

Figure 2010245683
Figure 2010245683

を計算し、一時情報記憶領域140に記憶する(S23)。 Is calculated and stored in the temporary information storage area 140 (S23).

そして、暗号化装置130の第二関数計算部136が、   Then, the second function calculation unit 136 of the encryption device 130

Figure 2010245683
Figure 2010245683

を計算し、一時情報記憶領域140に記憶する(S24)。 Is calculated and stored in the temporary information storage area 140 (S24).

さらに、暗号化装置130の演算部134は、一時情報記憶領域140に記憶された各値からCを、   Further, the calculation unit 134 of the encryption device 130 calculates C from each value stored in the temporary information storage area 140.

Figure 2010245683
Figure 2010245683

と設定し、メッセージ文mに対する暗号文Cとして、出力部143から出力する(S25)。 And output from the output unit 143 as ciphertext C for the message text m (S25).

なお、暗号文Cについては、通信部142を介して復号化装置150に送信することも可能である。   Note that the ciphertext C can be transmitted to the decryption device 150 via the communication unit 142.

3.復号化装置150での処理。   3. Processing in the decryption device 150.

復号化装置150の演算部153は、入力部151又は通信部162を介して取得した秘密鍵skを鍵情報記憶領域159に記憶する(S26)。   The calculation unit 153 of the decryption apparatus 150 stores the secret key sk acquired via the input unit 151 or the communication unit 162 in the key information storage area 159 (S26).

次に、復号化装置150の演算部153は、入力部151又は通信部162を介して、暗号文Cを取得し、一時情報記憶領域160に記憶する(S27)。   Next, the arithmetic unit 153 of the decryption device 150 acquires the ciphertext C via the input unit 151 or the communication unit 162 and stores it in the temporary information storage area 160 (S27).

次に、復号化装置150の演算部153及び第一関数計算部154は、   Next, the calculation unit 153 and the first function calculation unit 154 of the decoding device 150 are:

Figure 2010245683
Figure 2010245683

を計算し、一時情報記憶領域160に記憶する(S28)。 Is calculated and stored in the temporary information storage area 160 (S28).

さらに、復号化装置150の演算部153は、   Further, the calculation unit 153 of the decryption device 150 includes:

Figure 2010245683
Figure 2010245683

を計算し、一時情報記憶領域160に記憶する(S29)。 Is calculated and stored in the temporary information storage area 160 (S29).

そして、復号化装置150の第二関数計算部155は、   Then, the second function calculation unit 155 of the decoding device 150

Figure 2010245683
Figure 2010245683

を計算する(S30)。 Is calculated (S30).

そして、復号化装置150の検査部156は、ステップS30で計算した値の検査(検証)を行い(S31)、もし検査(検証)に成功すれば、ステップS29において、一時情報記憶領域160に記憶されたmを暗号文Cに対するメッセージ文として出力部163から出力する。一方、検査(検証)に失敗した場合はエラーメッセージを出力部163から出力する。   Then, the inspection unit 156 of the decoding device 150 performs inspection (verification) of the value calculated in step S30 (S31). If the inspection (verification) succeeds, the inspection unit 156 stores the temporary information storage area 160 in step S29. The output m is output from the output unit 163 as a message text for the ciphertext C. On the other hand, if the inspection (verification) fails, an error message is output from the output unit 163.

ここで、本実施形態における公開鍵暗号方法では、Diffie−Hellman決定問題の計算量的困難性及び関数族Fの条件(A)、(B)の仮定のもとで、IND−CCA安全であることが証明可能である(IND−CCA安全の定義については、非特許文献1などに記載されている)。 Here, in the public key encryption method in the present embodiment, IND-CCA is secure under the assumption of the computational difficulty of the Diffie-Hellman decision problem and the conditions (A) and (B) of the function family F k. (It is described in Non-Patent Document 1 etc. regarding the definition of IND-CCA safety).

Diffie−Hellman決定問題とは、ランダムに与えられたインスタンス(g,X,Y,K)(ここで、g,X,Y,K∈Gであり、Gは素位数をもつ乗法群)に対して、X=g,Y=gとしたとき、K=gabか否かを判定する問題である。なお、Diffie−Hellman決定問題の困難性は、Elgamal暗号やCramer−Shoup公開鍵暗号など多くの暗号の安全性の根拠として利用されている。 The Diffie-Hellman decision problem is a randomly given instance (g, X, Y, K) (where g, X, Y, K∈G, and G is a multiplicative group having a prime number). On the other hand, when X = g a and Y = g b , it is a problem of determining whether K = g ab or not. The difficulty of the Diffie-Hellman decision problem is used as a basis for the security of many ciphers such as Elgamal cipher and Cramer-Shoup public key cipher.

また、関数族Fの条件(A)とは、「σの値をランダムに選んだとき、σの値を知ることなく、任意のxに対して、fσ(x)の値を予測することが困難である。」ことを意味する。 Further, the condition (A) of the function family F k is “when the value of σ is randomly selected, the value of f σ (x) is predicted for an arbitrary x without knowing the value of σ. It is difficult. "

さらに、関数族Fの条件(B)とは、「攻撃者が、π(σ)の値とfσ’(x)の値を手に入れたとき(πは一方向性置換)、σ’がσと一致するか否かを判定することが困難である。」ことを意味する。 Furthermore, the condition (B) of the function family F k is that “when the attacker obtains the value of π (σ) and the value of f σ ′ (x) (π is a unidirectional substitution), 'It is difficult to determine whether or not σ matches σ.'

加えて、Diffie−Hellman決定問題は、ランダム自己帰着性と呼ばれる性質を持つため、インスタンスが複数与えられた場合の計算量的困難性とひとつ与えられた場合の計算量的困難性は同一である。従って、条件(A’)、(B’)の性質を持つように、関数族Fを選ぶとき、本実施形態で述べた公開鍵暗号方法は、マルチユーザ環境においてセキュリティ・リダクションを劣化させないことが証明される。 In addition, since the Diffie-Hellman decision problem has a property called random self-reduction, the computational difficulty when multiple instances are given is the same as the computational difficulty when one instance is given . Therefore, when the function family F k is selected so as to have the properties of the conditions (A ′) and (B ′), the public key encryption method described in the present embodiment does not deteriorate security reduction in a multi-user environment. Is proved.

そして、関数族Fの条件(A’)とは、「σ,・・・,σ(nは自然数)の値をランダムに選んだとき、これらの値を一切知ることなく、何れのi(iは、1≦i≦nなる自然数)、および、任意のxに対して、 And the condition (A ′) of the function family F k is that any one of “σ 1 ,..., Σ n (n is a natural number) is selected at random without knowing these values. For i (i is a natural number 1 ≦ i ≦ n) and any x,

Figure 2010245683
Figure 2010245683

の値を予測することが困難である。」ことを意味する。 It is difficult to predict the value of. "Means.

また、関数族Fの条件(B’)とは、「攻撃者が、π),・・・,π)(nは自然数)の値と、 In addition, the condition (B ′) of the function family F k is “the attacker is the value of π 11 ),..., Π nn ) (n is a natural number)

Figure 2010245683
Figure 2010245683

の値を手に入れたとき(πは一方向性置換)、全てのi(iは、1≦i≦nなる自然数)についても、σ’がσと一致するか否かを判定することが困難である。」ことを意味する。 Is obtained (π i is a one-way replacement), and for all i (i is a natural number 1 ≦ i ≦ n), it is determined whether or not σ ′ i matches σ i Difficult to do. "Means.

以上に記載した実施形態では、公開鍵暗号の鍵生成、暗号化、復号化の各手段の実現方法について述べたが、具体的には、公開鍵暗号は、暗号通信をベースとした、電子ショッピングシステム、電子メールシステム、会員用情報配信システム、コンテンツ配信システム、の他、ファイル暗号システムなど様々なシステムに適用される。   In the embodiment described above, the method for realizing each of the key generation, encryption, and decryption means of public key cryptography has been described. Specifically, public key cryptography is electronic shopping based on cryptographic communication. The system is applied to various systems such as a file encryption system in addition to a system, an electronic mail system, a member information distribution system, a content distribution system.

また、実施例における各計算は、CPUがメモリ内の各プログラムを実行することにより行われる他、いずれかがハードウエア化された演算装置であって、他の演算装置や、CPUと、データのやりとりを行うものであってもよい。   In addition, each calculation in the embodiment is performed by the CPU executing each program in the memory, and any one of them is an arithmetic device implemented in hardware, and the other arithmetic device, the CPU, and the data An exchange may be performed.

さらに、以上に記載した実施形態においては、鍵生成装置110、暗号化装置130及び復号化装置150で暗号システム100を構成しているが、このような態様に限定されず、鍵生成装置110での処理を暗号化装置130及び復号化装置150の何れか一方で行うことにより、鍵生成装置110を不要にすることも可能である。   Furthermore, in the embodiment described above, the encryption system 100 is configured by the key generation device 110, the encryption device 130, and the decryption device 150. However, the present invention is not limited to this, and the key generation device 110 It is possible to eliminate the key generation device 110 by performing either of the encryption device 130 and the decryption device 150.

100 暗号システム
110 鍵生成装置
111 入力部
112 制御部
117 記憶部
121 通信部
122 出力部
130 暗号化装置
131 入力部
132 制御部
138 記憶部
142 通信部
143 出力部
150 復号化装置
151 入力部
152 制御部
158 記憶部
162 通信部
163 出力部
DESCRIPTION OF SYMBOLS 100 Encryption system 110 Key generation apparatus 111 Input part 112 Control part 117 Storage part 121 Communication part 122 Output part 130 Encryption apparatus 131 Input part 132 Control part 138 Storage part 142 Communication part 143 Output part 150 Decryption apparatus 151 Input part 152 Control Unit 158 storage unit 162 communication unit 163 output unit

Claims (13)

第一の鍵情報を用いて、メッセージ文を暗号化した暗号文を生成し、第二の鍵情報を用いて、当該暗号文の復号化を行う少なくとも一つ以上のコンピュータを備える暗号システムであって、
前記コンピュータの制御部が、
セキュリティパラメータkの入力を受け付ける処理と、
Figure 2010245683
および
Figure 2010245683
をランダムに作成する処理と(但し、Gは素数qを位数とする乗法群であり、Zはqを法とする剰余環を表す)、
(x,x,y,y,g,g)を用いて、
Figure 2010245683
を計算する処理と、
一方向性置換πと落とし戸π−1の組(π,π−1)を作成する処理と、
第一の鍵情報pkおよび第二の鍵情報skを、
Figure 2010245683
として生成する処理と、を行うこと、
但し、Fは、下記の(5)式で示され、fσは、G4上の関数である。
Figure 2010245683
を特徴とする暗号システム。
An encryption system including at least one computer that generates ciphertext obtained by encrypting a message text using first key information and decrypts the ciphertext using second key information. And
A control unit of the computer,
A process of accepting an input of a security parameter k;
Figure 2010245683
and
Figure 2010245683
(Where G is a multiplicative group with the prime number q as the order, and Z q represents a remainder ring modulo q),
(X 1 , x 2 , y 1 , y 2 , g 1 , g 2 )
Figure 2010245683
The process of calculating
A process of creating a pair (π, π −1 ) of unidirectional substitution π and trapdoor π −1 ;
The first key information pk and the second key information sk are
Figure 2010245683
Processing to generate as
However, F k is expressed by the following equation (5), and f σ is a function on G4.
Figure 2010245683
A cryptographic system characterized by
請求項1に記載の暗号システムであって、
前記コンピュータの制御部が、
メッセージ文mの入力を受け付ける処理と、
Figure 2010245683
をランダムに選ぶ処理と、
第一の鍵情報pkから、
Figure 2010245683
を計算する処理と、
Figure 2010245683
をランダムに選ぶ処理と、
一方向性関数πを用いて、π(σ)を計算する処理と、
第一の鍵情報pkから、
Figure 2010245683
を計算する処理と、
メッセージ文m及び第一の鍵情報pkから、
Figure 2010245683
を計算する処理と、
Figure 2010245683
を計算する処理と、
暗号文Cを、
Figure 2010245683
として生成する処理と、を行うこと、
を特徴とする暗号システム。
The cryptographic system according to claim 1,
A control unit of the computer,
A process of accepting an input of a message sentence m;
Figure 2010245683
A process of randomly selecting
From the first key information pk,
Figure 2010245683
The process of calculating
Figure 2010245683
A process of randomly selecting
A process of calculating π (σ) using a one-way function π;
From the first key information pk,
Figure 2010245683
The process of calculating
From the message sentence m and the first key information pk,
Figure 2010245683
The process of calculating
Figure 2010245683
The process of calculating
Ciphertext C
Figure 2010245683
Processing to generate as
A cryptographic system characterized by
請求項2に記載の暗号システムであって、
前記コンピュータの制御部が、
前記暗号文Cの入力を受け付ける処理と、
落とし戸π−1を用いて、
Figure 2010245683
を計算する処理と、
Figure 2010245683
を計算する処理と、
Figure 2010245683
が成立するか否かを検査し、成立する場合には、算出したmを暗号文Cに対するメッセージ文とする処理と、を行うこと、
を特徴とする暗号システム。
The cryptographic system according to claim 2,
A control unit of the computer,
Processing for accepting input of the ciphertext C;
Using the trapdoor π −1 ,
Figure 2010245683
The process of calculating
Figure 2010245683
The process of calculating
Figure 2010245683
Whether or not is satisfied, and if it is satisfied, the calculated m is used as a message for the ciphertext C.
A cryptographic system characterized by
請求項1〜3の何れか一項に記載の暗号システムであって、
前記関数Fは、
σの値をランダムに選んだとき、σの値を知ることなく、任意のxに対して、fσ(x)の値を予測することが困難であるという第一の条件と、
攻撃者が、π(σ)の値とfσ’(x)の値を手に入れたとき(πは一方向性置換)、σ’がσと一致するか否かを判定することが困難であるという第二の条件と、
を満たすものであること、
を特徴とする暗号システム。
The cryptographic system according to any one of claims 1 to 3,
The function F k is
a first condition that when the value of σ is randomly selected, it is difficult to predict the value of f σ (x) for any x without knowing the value of σ ;
When an attacker obtains the value of π (σ) and the value of f σ ′ (x) (π is a one-way replacement), it is difficult to determine whether σ ′ matches σ. A second condition that
Satisfying
A cryptographic system characterized by
請求項1〜3の何れか一項に記載の暗号システムであって、
前記関数Fは、
σ,・・・,σ(nは自然数)の値をランダムに選んだとき、これらの値を一切知ることなく、何れのi(iは、1≦i≦nなる自然数)、および、任意のxに対して、
Figure 2010245683
の値を予測することが困難であるという第三の条件と、
攻撃者が、π),・・・,π)(nは自然数)の値と、
Figure 2010245683
の値を手に入れたとき(πは一方向性置換)、全てのi(iは、1≦i≦nなる自然数)についても、σ’がσと一致するか否かを判定することが困難であるという第四の条件と、
を満たすものであること、
を特徴とする暗号システム。
The cryptographic system according to any one of claims 1 to 3,
The function F k is
When values of σ 1 ,..., σ n (n is a natural number) are randomly selected, any i (i is a natural number satisfying 1 ≦ i ≦ n), without knowing these values, and For any x
Figure 2010245683
A third condition that it is difficult to predict the value of
If the attacker has a value of π 11 ),..., Π nn ) (n is a natural number),
Figure 2010245683
Is obtained (π i is a one-way replacement), and for all i (i is a natural number 1 ≦ i ≦ n), it is determined whether or not σ ′ i matches σ i A fourth condition that is difficult to do,
Satisfying
A cryptographic system characterized by
メッセージ文を暗号化する第一の鍵情報と、当該第一の鍵情報で暗号化された暗号文の復号化する第二の鍵情報と、を生成する鍵生成装置であって、
セキュリティパラメータkの入力を受け付ける処理と、
Figure 2010245683
および
Figure 2010245683
をランダムに作成する処理と(但し、Gは素数qを位数とする乗法群であり、Zはqを法とする剰余環を表す)、
(x,x,y,y,g,g)を用いて、
Figure 2010245683
を計算する処理と、
一方向性置換πと落とし戸π−1の組(π,π−1)を作成する処理と、
第一の鍵情報pkおよび第二の鍵情報skを、
Figure 2010245683
として生成する処理と、を行う制御部を有すること、
但し、Fは、下記の(22)式で示され、fσは、G4上の関数である。
Figure 2010245683
を特徴とする鍵生成装置。
A key generation device that generates first key information for encrypting a message text and second key information for decrypting a ciphertext encrypted with the first key information,
A process of accepting an input of a security parameter k;
Figure 2010245683
and
Figure 2010245683
(Where G is a multiplicative group with the prime number q as the order, and Z q represents a remainder ring modulo q),
(X 1 , x 2 , y 1 , y 2 , g 1 , g 2 )
Figure 2010245683
The process of calculating
A process of creating a pair (π, π −1 ) of unidirectional substitution π and trapdoor π −1 ;
The first key information pk and the second key information sk are
Figure 2010245683
A control unit that performs processing to be generated as
However, F k is expressed by the following equation (22), and f σ is a function on G4.
Figure 2010245683
A key generation device characterized by the above.
第一の鍵情報pkおよび第二の鍵情報skが、
Figure 2010245683
但し、
Figure 2010245683
Figure 2010245683
(Gは素数qを位数とする乗法群であり、Zはqを法とする剰余環を表す)
Figure 2010245683
πは一方向性置換、π−1はπの落とし戸
は、下記の(27)式で示され、fσは、G4上の関数である。
Figure 2010245683
として定義される第一の鍵情報pkを用いて、メッセージ文を暗号化した暗号文を生成する暗号化装置であって、
メッセージ文mの入力を受け付ける処理と、
Figure 2010245683
をランダムに選ぶ処理と、
第一の鍵情報pkから、
Figure 2010245683
を計算する処理と、
Figure 2010245683
をランダムに選ぶ処理と、
一方向性関数πを用いて、π(σ)を計算する処理と、
第一の鍵情報pkから、
Figure 2010245683
を計算する処理と、
メッセージ文m及び第一の鍵情報pkから、
Figure 2010245683
を計算する処理と、
Figure 2010245683
を計算する処理と、
暗号文Cを、
Figure 2010245683
として生成する処理と、を行う制御部を備えること、
を特徴とする暗号化装置。
The first key information pk and the second key information sk are
Figure 2010245683
However,
Figure 2010245683
Figure 2010245683
(G is a multiplicative group with the prime number q as the order, and Z q represents a remainder ring modulo q)
Figure 2010245683
π is a unidirectional substitution, π -1 is a trap for π F k is expressed by the following equation (27), and f σ is a function on G4.
Figure 2010245683
An encryption device that generates a ciphertext obtained by encrypting a message text using the first key information pk defined as
A process of accepting an input of a message sentence m;
Figure 2010245683
A process of randomly selecting
From the first key information pk,
Figure 2010245683
The process of calculating
Figure 2010245683
A process of randomly selecting
A process of calculating π (σ) using a one-way function π;
From the first key information pk,
Figure 2010245683
The process of calculating
From the message sentence m and the first key information pk,
Figure 2010245683
The process of calculating
Figure 2010245683
The process of calculating
Ciphertext C
Figure 2010245683
A control unit that performs processing to be generated as
An encryption device.
第一の鍵情報pkおよび第二の鍵情報skが、
Figure 2010245683
但し、
Figure 2010245683
Figure 2010245683
(Gは素数qを位数とする乗法群であり、Zはqを法とする剰余環を表す)
Figure 2010245683
πは一方向性置換、π−1はπの落とし戸
は、下記の(39)式で示され、fσは、G4上の関数である。
Figure 2010245683
として定義される第一の鍵情報pkを用いて、メッセージ文を暗号化した暗号文Cを復号する復号化装置であって、
前記暗号文Cの入力を受け付ける処理と、
落とし戸π−1を用いて、
Figure 2010245683
を計算する処理と、
Figure 2010245683
を計算する処理と、
Figure 2010245683
が成立するか否かを検査し、成立する場合には、算出したmを暗号文Cに対するメッセージ文とする処理と、を行う制御部を備えること、
を特徴とする復号化装置。
The first key information pk and the second key information sk are
Figure 2010245683
However,
Figure 2010245683
Figure 2010245683
(G is a multiplicative group with the prime number q as the order, and Z q represents a remainder ring modulo q)
Figure 2010245683
π is a unidirectional substitution, π -1 is a trap for π F k is expressed by the following equation (39), and f σ is a function on G4.
Figure 2010245683
A decryption device that decrypts a ciphertext C obtained by encrypting a message text using the first key information pk defined as
Processing for accepting input of the ciphertext C;
Using the trapdoor π −1 ,
Figure 2010245683
The process of calculating
Figure 2010245683
The process of calculating
Figure 2010245683
A control unit that performs a process of making the calculated m a message text for the ciphertext C.
A decoding device characterized by the above.
第一の鍵情報を用いて、メッセージ文を暗号化した暗号文を生成し、第二の鍵情報を用いて、当該暗号文の復号化を行う少なくとも一つ以上のコンピュータを有する暗号システムが行う暗号処理方法であって、
前記コンピュータの制御部が、セキュリティパラメータkの入力を受け付ける処理を行う過程と、
前記コンピュータの制御部が、
Figure 2010245683
および
Figure 2010245683
をランダムに作成する処理を行う過程と(但し、Gは素数qを位数とする乗法群であり、Zはqを法とする剰余環を表す)、
前記コンピュータの制御部が、(x,x,y,y,g,g)を用いて、
Figure 2010245683
を計算する処理を行う過程と、
前記コンピュータの制御部が、一方向性置換πと落とし戸π−1の組(π,π−1)を作成する処理を行う過程と、
前記コンピュータの制御部が、第一の鍵情報pkおよび第二の鍵情報skを、
Figure 2010245683
として生成する処理を行う過程と、を有すること、
但し、Fは、下記の(47)式で示され、fσは、G4上の関数である。
Figure 2010245683
を特徴とする暗号処理方法。
Performed by an encryption system having at least one computer that generates ciphertext obtained by encrypting a message text using the first key information and decrypts the ciphertext using the second key information. A cryptographic processing method,
A process in which the control unit of the computer performs a process of receiving an input of a security parameter k;
A control unit of the computer,
Figure 2010245683
and
Figure 2010245683
And a process of randomly generating (where G is a multiplicative group with the prime number q as the order, and Z q represents a remainder ring modulo q),
The control unit of the computer uses (x 1 , x 2 , y 1 , y 2 , g 1 , g 2 ),
Figure 2010245683
The process of calculating
A process in which the control unit of the computer performs a process of creating a set (π, π −1 ) of unidirectional substitution π and trapdoor π −1 ;
The control unit of the computer obtains the first key information pk and the second key information sk,
Figure 2010245683
Having a process of generating as
However, F k is expressed by the following equation (47), and f σ is a function on G4.
Figure 2010245683
A cryptographic processing method characterized by the above.
請求項9に記載の暗号処理方法であって、
前記コンピュータの制御部が、メッセージ文mの入力を受け付ける処理を行う過程と、
前記コンピュータの制御部が、
Figure 2010245683
をランダムに選ぶ処理を行う過程と、
前記コンピュータの制御部が、第一の鍵情報pkから、
Figure 2010245683
を計算する処理を行う過程と、
前記コンピュータの制御部が、
Figure 2010245683
をランダムに選ぶ処理を行う過程と、
前記コンピュータの制御部が、一方向性関数πを用いて、π(σ)を計算する処理を行う過程と、
前記コンピュータの制御部が、第一の鍵情報pkから、
Figure 2010245683
を計算する処理を行う過程と、
前記コンピュータの制御部が、メッセージ文m及び第一の鍵情報pkから、
Figure 2010245683
を計算する処理を行う過程と、
前記コンピュータの制御部が、
Figure 2010245683
を計算する処理を行う過程と、
前記コンピュータの制御部が、暗号文Cを、
Figure 2010245683
として生成する処理を行う過程と、を有すること、
を特徴とする暗号処理方法。
The cryptographic processing method according to claim 9, comprising:
A process in which the control unit of the computer performs a process of receiving an input of a message sentence m;
A control unit of the computer,
Figure 2010245683
A process of randomly selecting, and
From the first key information pk, the control unit of the computer
Figure 2010245683
The process of calculating
A control unit of the computer,
Figure 2010245683
A process of randomly selecting, and
A process in which the control unit of the computer performs a process of calculating π (σ) using a unidirectional function π,
From the first key information pk, the control unit of the computer
Figure 2010245683
The process of calculating
The control unit of the computer, from the message sentence m and the first key information pk,
Figure 2010245683
The process of calculating
A control unit of the computer,
Figure 2010245683
The process of calculating
The control unit of the computer converts the ciphertext C,
Figure 2010245683
Having a process of generating as
A cryptographic processing method characterized by the above.
請求項10に記載の暗号処理方法であって、
前記コンピュータの制御部が、前記暗号文Cの入力を受け付ける処理を行う過程と、
前記コンピュータの制御部が、落とし戸π−1を用いて、
Figure 2010245683
を計算する処理を行う過程と、
前記コンピュータの制御部が、
Figure 2010245683
を計算する処理を行う過程と、
前記コンピュータの制御部が、
Figure 2010245683
が成立するか否かを検査し、成立する場合には、算出したmを暗号文Cに対するメッセージ文とする処理を行う過程と、を有すること、
を特徴とする暗号処理方法。
The cryptographic processing method according to claim 10, comprising:
A process in which the control unit of the computer performs a process of accepting an input of the ciphertext C;
The control unit of the computer uses the trapdoor π −1 ,
Figure 2010245683
The process of calculating
A control unit of the computer,
Figure 2010245683
The process of calculating
A control unit of the computer,
Figure 2010245683
A process of using the calculated m as the message text for the ciphertext C.
A cryptographic processing method characterized by the above.
請求項9〜11の何れか一項に記載の暗号処理方法であって、
前記関数Fは、
σの値をランダムに選んだとき、σの値を知ることなく、任意のxに対して、fσ(x)の値を予測することが困難であるという第一の条件と、
攻撃者が、π(σ)の値とfσ’(x)の値を手に入れたとき(πは一方向性置換)、σ’がσと一致するか否かを判定することが困難であるという第二の条件と、
を満たすものであること、
を特徴とする暗号処理方法。
The cryptographic processing method according to any one of claims 9 to 11,
The function F k is
a first condition that when the value of σ is randomly selected, it is difficult to predict the value of f σ (x) for any x without knowing the value of σ ;
When an attacker obtains the value of π (σ) and the value of f σ ′ (x) (π is a one-way replacement), it is difficult to determine whether σ ′ matches σ. A second condition that
Satisfying
A cryptographic processing method characterized by the above.
請求項9〜11の何れか一項に記載の暗号処理方法であって、
前記関数Fは、
σ,・・・,σ(nは自然数)の値をランダムに選んだとき、これらの値を一切知ることなく、何れのi(iは、1≦i≦nなる自然数)、および、任意のxに対して、
Figure 2010245683
の値を予測することが困難であるという第三の条件と、
攻撃者が、π),・・・,π)(nは自然数)の値と、
Figure 2010245683
の値を手に入れたとき(πは一方向性置換)、全てのi(iは、1≦i≦nなる自然数)についても、σ’がσと一致するか否かを判定することが困難であるという第四の条件と、
を満たすものであること、
を特徴とする暗号処理方法。
The cryptographic processing method according to any one of claims 9 to 11,
The function F k is
When values of σ 1 ,..., σ n (n is a natural number) are randomly selected, any i (i is a natural number satisfying 1 ≦ i ≦ n), without knowing these values, and For any x
Figure 2010245683
A third condition that it is difficult to predict the value of
If the attacker has a value of π 11 ),..., Π nn ) (n is a natural number),
Figure 2010245683
Is obtained (π i is a one-way replacement), and for all i (i is a natural number 1 ≦ i ≦ n), it is determined whether or not σ ′ i matches σ i A fourth condition that is difficult to do,
Satisfying
A cryptographic processing method characterized by the above.
JP2009090102A 2009-04-02 2009-04-02 Cryptographic system, key generator, encryption device, decryption device, and encryption processing method Pending JP2010245683A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009090102A JP2010245683A (en) 2009-04-02 2009-04-02 Cryptographic system, key generator, encryption device, decryption device, and encryption processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009090102A JP2010245683A (en) 2009-04-02 2009-04-02 Cryptographic system, key generator, encryption device, decryption device, and encryption processing method

Publications (1)

Publication Number Publication Date
JP2010245683A true JP2010245683A (en) 2010-10-28

Family

ID=43098248

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009090102A Pending JP2010245683A (en) 2009-04-02 2009-04-02 Cryptographic system, key generator, encryption device, decryption device, and encryption processing method

Country Status (1)

Country Link
JP (1) JP2010245683A (en)

Similar Documents

Publication Publication Date Title
Liu et al. An efficient privacy-preserving outsourced calculation toolkit with multiple keys
Perlner et al. Quantum resistant public key cryptography: a survey
Coron What is cryptography?
JP2007139895A (en) Encryption device, decryption device, program, and method
Hohenberger et al. Securely obfuscating re-encryption
JP2006194990A (en) Encryption device, decryption device, key generating device, program, and method
Chen Cryptography standards in quantum time: new wine in old wineskin?
JP2005204111A (en) Encryption and signature method, and device and program
Sengupta et al. Message mapping and reverse mapping in elliptic curve cryptosystem
JP4869824B2 (en) Receiver device, sender device, cryptographic communication system, and program
JP2010049213A (en) Encrypting device, decrypting device, cipher communication system, method and program
JP5496756B2 (en) Public key encryption method capable of calculating homomorphism, public key encryption system capable of calculating ring homomorphism, transmission device, processing device, reception device, program and recording medium thereof
Paul et al. A provably secure conditional proxy re-encryption scheme without pairing
JP6006809B2 (en) Decoding service providing apparatus, processing apparatus, safety evaluation apparatus, program, and recording medium
JP2018036418A (en) Encryption system, encryption method, and encryption program
JP2011150006A (en) Encryption system, public key encryption method, key generating device, computer, and public key and secret key generation program
JP5679344B2 (en) Signature key obfuscation system, signature key obfuscation method, encryption signature system using obfuscated signature key, encryption signature method and program using obfuscated signature key
Zhong An overview of rsa and oaep padding
JP2000047581A (en) Ciphering method, ciphering and deciphering device, and cipher communication system
JP2009128773A (en) Encryption communication method, encryption device, decryption device, and program therefor
JP2010245683A (en) Cryptographic system, key generator, encryption device, decryption device, and encryption processing method
JP2005084568A (en) Security method, security device and security program
JP6267657B2 (en) Safety enhancement method, safety enhancement system, safety enhancement device, verification device, and program
JP2007171412A (en) Key generating device, encryption device, decryption device, multiplication type knapsack encryption system, multiplication type knapsack decryption method, and program
JP2011138015A (en) Encrypting system, encrypting device, decoding device, encrypting method, program, recording medium