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 PDFInfo
- 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
Links
Images
Abstract
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.
以上に記載したように、非特許文献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;
および and
をランダムに作成する処理と(但し、Gは素数qを位数とする乗法群であり、Zqはqを法とする剰余環を表す)、
(x1,x2,y1,y2,g1,g2)を用いて、
(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 )
を計算する処理と、
一方向性置換πと落とし戸π−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
として生成する処理と、を行うこと、
但し、Fkは、下記の(5)式で示され、fσは、G4上の関数である。
Processing to generate as
However, F k is expressed by the following equation (5), and f σ is a function on G4.
を特徴とする。 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.
図1は、本発明の一実施形態である暗号システム100の概略図である。図示するように、暗号システム100は、鍵生成装置110と、暗号化装置130と、復号化装置150と、を備え、これらは、通信回線170を介して、相互に情報の送受信を行うことができるようにされている。
FIG. 1 is a schematic diagram of an
そして、本実施形態では、公開鍵暗号Π=(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
図2は、鍵生成装置110の概略図である。図示するように、鍵生成装置110は、情報の入力を受け付ける入力部111と、論理演算、べき乗算、剰余演算、ハッシュ関数演算、ランダム関数演算を含む各種演算、および、鍵生成装置110の各部の制御を行う制御部112と、記憶部117と、通信回線170を介して暗号化装置130又は復号化装置150と通信を行う通信部121と、情報を出力する出力部122と、を備える。
FIG. 2 is a schematic diagram of the
ここで、制御部112は、乱数の生成を行う乱数生成部113と、公開鍵及び秘密鍵の生成を行う演算部114と、一方向性置換π及び落とし戸π−1を生成する落とし戸付き一方向性置換生成部115と、を備える。
Here, the
また、記憶部117は、演算部114で生成した公開鍵及び秘密鍵を記憶する鍵情報記憶領域118と、制御部112での各種演算に必要な情報を記憶する一時情報記憶領域119と、を備える。
The
以上に記載した鍵生成装置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
例えば、入力部111は、CPU901が入力装置906を利用することで実現可能であり、制御部112は、外部記憶装置903に記憶されている所定のプログラムをメモリ902にロードしてCPU901で実行することで実現可能であり、記憶部117は、CPU901がメモリ902又は外部記憶装置903を利用することにより実現可能であり、通信部121は、CPU901が通信装置908を利用することで実現可能であり、出力部122は、CPU901が出力装置907を利用することで実現可能である。
For example, the
この所定のプログラムは、読書装置905を介して記憶媒体904から、あるいは、通信装置908を介してネットワークから、外部記憶装置903にダウンロードされ、それから、メモリ902上にロードされてCPU901により実行されるようにしてもよい。また、読書装置905を介して記憶媒体904から、あるいは、通信装置908を介してネットワークから、メモリ902上に直接ロードされ、CPU901により実行されるようにしてもよい。
The predetermined program is downloaded from the
図4は、暗号化装置130の概略図である。図示するように、暗号化装置130は、情報の入力を受け付ける入力部131と、論理演算、べき乗算、剰余演算、ハッシュ関数演算、ランダム関数演算を含む各種演算、および、暗号化装置130の各部の制御を行う制御部132と、記憶部138と、通信回線170を介して鍵生成装置110又は復号化装置150と通信を行う通信部142と、情報を出力する出力部143と、を備える。
FIG. 4 is a schematic diagram of the
ここで、制御部132は、乱数の生成を行う乱数生成部133と、メッセージ文の入力を受け付け、当該メッセージ文の暗号文を生成する処理を制御する演算部134と、(π、σ)を入力として、π(σ)を出力する(一方向性置換πの計算を行う)第一関数計算部135と、(σ、x)を入力として、fσ(x)を出力する第二関数計算部136と、を備える。
Here, the
また、記憶部138は、鍵生成装置110で生成された公開鍵を記憶する鍵情報記憶領域139と、制御部132での各種演算に必要な情報を記憶する一時情報記憶領域140と、を備える。
In addition, the
以上に記載した暗号化装置130は、例えば、図3に示すような一般的なコンピュータ900で実現できる。
The
例えば、入力部131は、CPU901が入力装置906を利用することで実現可能であり、制御部132は、外部記憶装置903に記憶されている所定のプログラムをメモリ902にロードしてCPU901で実行することで実現可能であり、記憶部138は、CPU901がメモリ902又は外部記憶装置903を利用することにより実現可能であり、通信部142は、CPU901が通信装置908を利用することで実現可能であり、出力部143は、CPU901が出力装置907を利用することで実現可能である。
For example, the
この所定のプログラムは、読書装置905を介して記憶媒体904から、あるいは、通信装置908を介してネットワークから、外部記憶装置903にダウンロードされ、それから、メモリ902上にロードされてCPU901により実行されるようにしてもよい。また、読書装置905を介して記憶媒体904から、あるいは、通信装置908を介してネットワークから、メモリ902上に直接ロードされ、CPU901により実行されるようにしてもよい。
The predetermined program is downloaded from the
図5は、復号化装置150の概略図である。図示するように、復号化装置150は、情報の入力を受け付ける入力部151と、論理演算、べき乗算、剰余演算、ハッシュ関数演算、ランダム関数演算を含む各種演算、および、復号化装置150の各部の制御を行う制御部152と、記憶部158と、通信回線170を介して鍵生成装置110又は暗号化装置130と通信を行う通信部162と、情報を出力する出力部163と、を備える。
FIG. 5 is a schematic diagram of the
ここで、制御部152は、暗号文の入力を受け付け、当該暗号文の復号処理を制御する演算部153と、関数計算器A303は、(π−1、y)を入力として、π(y)を出力する(落とし戸π−1の計算を行う)第一関数計算部154と、(σ、x)を入力として、fσ(x)を出力する第二関数計算部155と、演算部153が算出した値の検証を行う検査部156と、を備える。
Here, the
また、記憶部158は、鍵生成装置110で生成された秘密鍵を記憶する鍵情報記憶領域159と、制御部152での各種演算に必要な情報を記憶する一時情報記憶領域160と、を備える。
In addition, the
以上に記載した復号化装置150は、例えば、図3に示すような一般的なコンピュータ900で実現できる。
The
例えば、入力部151は、CPU901が入力装置906を利用することで実現可能であり、制御部152は、外部記憶装置903に記憶されている所定のプログラムをメモリ902にロードしてCPU901で実行することで実現可能であり、記憶部158は、CPU901がメモリ902又は外部記憶装置903を利用することにより実現可能であり、通信部162は、CPU901が通信装置908を利用することで実現可能であり、出力部163は、CPU901が出力装置907を利用することで実現可能である。
For example, the
この所定のプログラムは、読書装置905を介して記憶媒体904から、あるいは、通信装置908を介してネットワークから、外部記憶装置903にダウンロードされ、それから、メモリ902上にロードされてCPU901により実行されるようにしてもよい。また、読書装置905を介して記憶媒体904から、あるいは、通信装置908を介してネットワークから、メモリ902上に直接ロードされ、CPU901により実行されるようにしてもよい。
The predetermined program is downloaded from the
図6は、暗号システム100での動作手順を説明するためのシーケンス図である。
FIG. 6 is a sequence diagram for explaining an operation procedure in the
1.鍵生成装置110での処理。
1. Processing in the
まず、鍵生成装置100の演算部114は、入力部111を介して、1k(kはセキュリティパラメータで正の整数)の入力を受け付ける(S10)。なお、入力された値は、一時情報記憶領域119に記憶される。
First, the calculation unit 114 of the
次に、鍵生成装置100の乱数生成部113が、
Next, the random
および and
をランダムに作成し、一時情報記憶領域119に記録する(S11、S12)。但し、Gは素数qを位数とする乗法群であり、Zqは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に記憶された(x1,x2,y1,y2,g1,g2)を用いて、
Next, the calculation unit 114 of the
を計算し、一時情報記憶領域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
そして、鍵生成装置100の演算部114が、一時情報記憶領域119に記憶された値から公開鍵pkおよび秘密鍵skを、
Then, the calculation unit 114 of the
と設定し、出力部122を介して(pk,sk)を出力する(S15)。但し、Fkは、下記の(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.
なお、公開鍵pk又は秘密鍵skについては、通信部121を介して,暗号化装置130又は復号化装置150に送信することも可能である。
The public key pk or the secret key sk can be transmitted to the
2.暗号化装置130での処理。
2. Processing in the
暗号化装置130の演算部134は、入力部131又は通信部142を介して取得した公開鍵pkを鍵情報記憶領域139に記憶する(S16)。
The
次に、暗号化装置130の演算部134は、入力部131又は通信部142を介して、メッセージ文mを取得し、一時情報記憶領域140に記憶する(S17)。
Next, the
そして、暗号化装置130の乱数生成部133は、
Then, the
をランダムに選ぶ(S18)。 Is randomly selected (S18).
次に、暗号化装置130の演算部134は、公開鍵pk(の一部)であるg1、g2から、
Next, the
を計算し、一時情報記憶領域140に記憶する(S19)。 Is calculated and stored in the temporary information storage area 140 (S19).
次に、暗号化装置130の乱数生成部133が、
Next, the
をランダムに選ぶ(S20)。 Are randomly selected (S20).
そして、暗号化装置130の第一関数計算部135が、一方向性関数πを用いて、π(σ)を計算する(S21)。
Then, the first
さらに、暗号化装置130の演算部134が、公開鍵(の一部)h1から、
Further, the
を計算し、一時情報記憶領域140に記憶する(S22)。 Is calculated and stored in the temporary information storage area 140 (S22).
また、暗号化装置130の演算部134は、メッセージ文m及び公開鍵(の一部)h2から、
In addition, the
を計算し、一時情報記憶領域140に記憶する(S23)。 Is calculated and stored in the temporary information storage area 140 (S23).
そして、暗号化装置130の第二関数計算部136が、
Then, the second
を計算し、一時情報記憶領域140に記憶する(S24)。 Is calculated and stored in the temporary information storage area 140 (S24).
さらに、暗号化装置130の演算部134は、一時情報記憶領域140に記憶された各値からCを、
Further, the
と設定し、メッセージ文mに対する暗号文Cとして、出力部143から出力する(S25)。
And output from the
なお、暗号文Cについては、通信部142を介して復号化装置150に送信することも可能である。
Note that the ciphertext C can be transmitted to the
3.復号化装置150での処理。
3. Processing in the
復号化装置150の演算部153は、入力部151又は通信部162を介して取得した秘密鍵skを鍵情報記憶領域159に記憶する(S26)。
The
次に、復号化装置150の演算部153は、入力部151又は通信部162を介して、暗号文Cを取得し、一時情報記憶領域160に記憶する(S27)。
Next, the
次に、復号化装置150の演算部153及び第一関数計算部154は、
Next, the
を計算し、一時情報記憶領域160に記憶する(S28)。 Is calculated and stored in the temporary information storage area 160 (S28).
さらに、復号化装置150の演算部153は、
Further, the
を計算し、一時情報記憶領域160に記憶する(S29)。 Is calculated and stored in the temporary information storage area 160 (S29).
そして、復号化装置150の第二関数計算部155は、
Then, the second
を計算する(S30)。 Is calculated (S30).
そして、復号化装置150の検査部156は、ステップS30で計算した値の検査(検証)を行い(S31)、もし検査(検証)に成功すれば、ステップS29において、一時情報記憶領域160に記憶されたmを暗号文Cに対するメッセージ文として出力部163から出力する。一方、検査(検証)に失敗した場合はエラーメッセージを出力部163から出力する。
Then, the
ここで、本実施形態における公開鍵暗号方法では、Diffie−Hellman決定問題の計算量的困難性及び関数族Fkの条件(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=ga,Y=gbとしたとき、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.
また、関数族Fkの条件(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. "
さらに、関数族Fkの条件(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’)の性質を持つように、関数族Fkを選ぶとき、本実施形態で述べた公開鍵暗号方法は、マルチユーザ環境においてセキュリティ・リダクションを劣化させないことが証明される。 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.
そして、関数族Fkの条件(A’)とは、「σ1,・・・,σn(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,
の値を予測することが困難である。」ことを意味する。 It is difficult to predict the value of. "Means.
また、関数族Fkの条件(B’)とは、「攻撃者が、π1(σ1),・・・,πn(σn)(nは自然数)の値と、 In addition, the condition (B ′) of the function family F k is “the attacker is the value of π 1 (σ 1 ),..., Π n (σ n ) (n is a natural number)
の値を手に入れたとき(πiは一方向性置換)、全てのi(iは、1≦i≦nなる自然数)についても、σ’iがσiと一致するか否かを判定することが困難である。」ことを意味する。 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
100 暗号システム
110 鍵生成装置
111 入力部
112 制御部
117 記憶部
121 通信部
122 出力部
130 暗号化装置
131 入力部
132 制御部
138 記憶部
142 通信部
143 出力部
150 復号化装置
151 入力部
152 制御部
158 記憶部
162 通信部
163 出力部
DESCRIPTION OF
Claims (13)
前記コンピュータの制御部が、
セキュリティパラメータkの入力を受け付ける処理と、
(x1,x2,y1,y2,g1,g2)を用いて、
一方向性置換πと落とし戸π−1の組(π,π−1)を作成する処理と、
第一の鍵情報pkおよび第二の鍵情報skを、
但し、Fkは、下記の(5)式で示され、fσは、G4上の関数である。
A control unit of the computer,
A process of accepting an input of a security parameter k;
(X 1 , x 2 , y 1 , y 2 , g 1 , g 2 )
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
However, F k is expressed by the following equation (5), and f σ is a function on G4.
前記コンピュータの制御部が、
メッセージ文mの入力を受け付ける処理と、
第一の鍵情報pkから、
一方向性関数πを用いて、π(σ)を計算する処理と、
第一の鍵情報pkから、
メッセージ文m及び第一の鍵情報pkから、
暗号文Cを、
を特徴とする暗号システム。 The cryptographic system according to claim 1,
A control unit of the computer,
A process of accepting an input of a message sentence m;
From the first key information pk,
A process of calculating π (σ) using a one-way function π;
From the first key information pk,
From the message sentence m and the first key information pk,
Ciphertext C
A cryptographic system characterized by
前記コンピュータの制御部が、
前記暗号文Cの入力を受け付ける処理と、
落とし戸π−1を用いて、
を特徴とする暗号システム。 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 ,
A cryptographic system characterized by
前記関数Fkは、
σの値をランダムに選んだとき、σの値を知ることなく、任意の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
前記関数Fkは、
σ1,・・・,σn(nは自然数)の値をランダムに選んだとき、これらの値を一切知ることなく、何れのi(iは、1≦i≦nなる自然数)、および、任意のxに対して、
攻撃者が、π1(σ1),・・・,πn(σn)(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
If the attacker has a value of π 1 (σ 1 ),..., Π n (σ n ) (n is a natural number),
Satisfying
A cryptographic system characterized by
セキュリティパラメータkの入力を受け付ける処理と、
(x1,x2,y1,y2,g1,g2)を用いて、
一方向性置換πと落とし戸π−1の組(π,π−1)を作成する処理と、
第一の鍵情報pkおよび第二の鍵情報skを、
但し、Fkは、下記の(22)式で示され、fσは、G4上の関数である。
A process of accepting an input of a security parameter k;
(X 1 , x 2 , y 1 , y 2 , g 1 , g 2 )
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
However, F k is expressed by the following equation (22), and f σ is a function on G4.
Fkは、下記の(27)式で示され、fσは、G4上の関数である。
メッセージ文mの入力を受け付ける処理と、
第一の鍵情報pkから、
一方向性関数πを用いて、π(σ)を計算する処理と、
第一の鍵情報pkから、
メッセージ文m及び第一の鍵情報pkから、
暗号文Cを、
を特徴とする暗号化装置。 The first key information pk and the second key information sk are
A process of accepting an input of a message sentence m;
From the first key information pk,
A process of calculating π (σ) using a one-way function π;
From the first key information pk,
From the message sentence m and the first key information pk,
Ciphertext C
An encryption device.
Fkは、下記の(39)式で示され、fσは、G4上の関数である。
前記暗号文Cの入力を受け付ける処理と、
落とし戸π−1を用いて、
を特徴とする復号化装置。 The first key information pk and the second key information sk are
Processing for accepting input of the ciphertext C;
Using the trapdoor π −1 ,
A decoding device characterized by the above.
前記コンピュータの制御部が、セキュリティパラメータkの入力を受け付ける処理を行う過程と、
前記コンピュータの制御部が、
前記コンピュータの制御部が、(x1,x2,y1,y2,g1,g2)を用いて、
前記コンピュータの制御部が、一方向性置換πと落とし戸π−1の組(π,π−1)を作成する処理を行う過程と、
前記コンピュータの制御部が、第一の鍵情報pkおよび第二の鍵情報skを、
但し、Fkは、下記の(47)式で示され、fσは、G4上の関数である。
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,
The control unit of the computer uses (x 1 , x 2 , y 1 , y 2 , g 1 , g 2 ),
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,
However, F k is expressed by the following equation (47), and f σ is a function on G4.
前記コンピュータの制御部が、メッセージ文mの入力を受け付ける処理を行う過程と、
前記コンピュータの制御部が、
前記コンピュータの制御部が、第一の鍵情報pkから、
前記コンピュータの制御部が、
前記コンピュータの制御部が、一方向性関数πを用いて、π(σ)を計算する処理を行う過程と、
前記コンピュータの制御部が、第一の鍵情報pkから、
前記コンピュータの制御部が、メッセージ文m及び第一の鍵情報pkから、
前記コンピュータの制御部が、
前記コンピュータの制御部が、暗号文Cを、
を特徴とする暗号処理方法。 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,
From the first key information pk, the control unit of the computer
A control unit of the computer,
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
The control unit of the computer, from the message sentence m and the first key information pk,
A control unit of the computer,
The control unit of the computer converts the ciphertext C,
A cryptographic processing method characterized by the above.
前記コンピュータの制御部が、前記暗号文Cの入力を受け付ける処理を行う過程と、
前記コンピュータの制御部が、落とし戸π−1を用いて、
前記コンピュータの制御部が、
前記コンピュータの制御部が、
を特徴とする暗号処理方法。 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 ,
A control unit of the computer,
A control unit of the computer,
A cryptographic processing method characterized by the above.
前記関数Fkは、
σの値をランダムに選んだとき、σの値を知ることなく、任意の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.
前記関数Fkは、
σ1,・・・,σn(nは自然数)の値をランダムに選んだとき、これらの値を一切知ることなく、何れのi(iは、1≦i≦nなる自然数)、および、任意のxに対して、
攻撃者が、π1(σ1),・・・,πn(σn)(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
If the attacker has a value of π 1 (σ 1 ),..., Π n (σ n ) (n is a natural number),
Satisfying
A cryptographic processing method characterized by the above.
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) |
-
2009
- 2009-04-02 JP JP2009090102A patent/JP2010245683A/en active Pending
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 |