説明

暗号システム、鍵生成装置、暗号化装置、復号化装置及び暗号処理方法

【課題】 標準計算機モデル上でIND−CCA安全であり、また、マルチユーザ環境においてもセキュリティ・リダクションを損なわない公開鍵暗号方法を提供すること。
【解決手段】 暗号の安全性を、Diffie−Hellman決定問題の困難性と、特定の条件を満たす関数族の安全性に帰着するように、設計された公開鍵及び秘密鍵を鍵生成装置110で作成し、暗号化装置130では、鍵生成装置110で作成された公開鍵を用いてメッセージ文から暗号文を生成する。そして、復号化装置150では、暗号化装置130で生成された暗号文を、鍵生成装置110で作成された秘密鍵を用いて復号する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、メッセージ文を暗号化又は復号化する技術に関する。
【背景技術】
【0002】
非特許文献1では、公開鍵暗号の安全性の概念が記載されており、IND−CCA安全であることが最高レベルの安全性であると考えられている。実際には、公開鍵暗号がIND−CCA安全であることは、ランダムオラクルモデル、または、標準計算機モデル上で証明が与えられる。
【0003】
ランダムオラクルモデルは、ランダム関数へのオラクルアクセスを前提としているため非現実のモデルである。よって、ランダムオラクルモデル上の安全性証明は現実システムでの安全性を完全に保証する訳ではなく、ひとつの指標と考えられている。しかし、実用性に優れた多様なバリエーションの公開鍵暗号方法を設計することが容易であり、実用化されている公開鍵暗号の多くはランダムオラクルモデル上でIND−CCA安全性が与えられている。
【0004】
一方、標準計算機モデルは、現実の計算機システムに近いため、このモデル上での安全性証明は現実世界での安全性証明に等しいと考えられている。このように、安全性の観点からは、標準計算機モデル上でIND−CCA安全であることが望ましいが、実用的な方式設計が難しく、ランダムオラクルモデルに比べるとバリエーションが非常に少ない。非特許文献3に記載されている公開鍵暗号方式が、標準計算機モデル上でIND−CCA安全で、かつ、実用性を備えた方式として代表的なものである。
【0005】
ところで、非特許文献1に記載されているIND−CCA安全の概念は、単一の送信者及び受信者に対して、ターゲットとなる暗号文がひとつ与えられた状況において定式化されている(以下、シングルユーザ環境と呼ぶ)。
【0006】
しかし、現実世界では、同報メール通信など、同一のメッセージ文が複数の相手に対して送られている場合も少なくない。また、メールの返信などでは、同一メッセージ文の全体又は一部を含んだ新たなメッセージ文から暗号文が作成されることも多い。非特許文献2では、このようなマルチユーザ環境において、識別不能性の検証を行っている。
【0007】
非特許文献2によると、シングルユーザ環境において識別不能性が示されれば、マルチユーザ環境においても識別不能性は示されるが、一般にはセキュリティ・リダクションは大きく劣化することが記載されている。ここで、セキュリティ・リダクションとは、暗号の安全性を計算量的困難性が予想される問題に帰着する際の帰着効率を意味する。セキュリティ・リダクションが悪い場合、暗号の安全性のためのパラメータ(鍵の長さなど)を大きく選ぶ必要性があり、暗号の効率性を大きく損なう場合が多い。
【0008】
よって、実用上の観点から、計算量的困難性が十分に予想された問題に効率良く帰着するように公開鍵暗号をデザインすることが望ましい。非特許文献2によると、弱い安全性(IND−CPA)をもつElgamal暗号はマルチユーザ環境においてもセキュリティ・リダクションを全く損なわないことが示されている。
【先行技術文献】
【非特許文献】
【0009】
【非特許文献1】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.html
【非特許文献2】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.html
【非特許文献3】R.Cramer and V.Shoup. A Practical Public Key Cryptosystem Provably Secure against Adaptive Chosen Ciphertext Attack: http://www.shoup.net/papers/
【発明の概要】
【発明が解決しようとする課題】
【0010】
以上に記載したように、非特許文献3では、標準計算機モデル上でIND−CCA安全な公開鍵暗号方法が記載されている。
【0011】
しかしながら、非特許文献3に記載の標準計算機モデル上でIND−CCA安全な公開鍵暗号方法は部分的にはマルチユーザ環境においてもセキュリティ・リダクションを損なわないが完全ではないことが示されており、標準計算機モデル上で強い安全性(IND−CCA)を持つ公開鍵暗号方法で、マルチユーザ環境においてもセキュリティ・リダクションを全く損なわない方法は知られていない。
【0012】
そこで、本発明は、標準計算機モデル上でIND−CCA安全であり、また、マルチユーザ環境においてもセキュリティ・リダクションを損なわない公開鍵暗号方法を提供することを目的とする。
【課題を解決するための手段】
【0013】
以上の課題を解決するため、本発明は、暗号の安全性を、Diffie−Hellman決定問題の困難性と、特定の条件を満たす関数族の安全性に帰着するように、公開鍵暗号を設計する。
【0014】
例えば、本発明は、第一の鍵情報を用いて、メッセージ文を暗号化した暗号文を生成し、第二の鍵情報を用いて、当該暗号文の復号化を行う少なくとも一つ以上のコンピュータを備える暗号システムであって、
前記コンピュータの制御部が、
セキュリティパラメータkの入力を受け付ける処理と、
【0015】
【数1】

【0016】
および
【0017】
【数2】

【0018】
をランダムに作成する処理と(但し、Gは素数qを位数とする乗法群であり、Zはqを法とする剰余環を表す)、
(x,x,y,y,g,g)を用いて、
【0019】
【数3】

【0020】
を計算する処理と、
一方向性置換πと落とし戸π−1の組(π,π−1)を作成する処理と、
第一の鍵情報pkおよび第二の鍵情報skを、
【0021】
【数4】

【0022】
として生成する処理と、を行うこと、
但し、Fは、下記の(5)式で示され、fσは、G4上の関数である。
【0023】
【数5】

【0024】
を特徴とする。
【発明の効果】
【0025】
以上のように、本発明によれば、標準計算機モデル上でIND−CCA安全であり、また、マルチユーザ環境においてもセキュリティ・リダクションを損なわない公開鍵暗号方法を提供することができる。
【図面の簡単な説明】
【0026】
【図1】暗号システムの概略図。
【図2】鍵生成装置の概略図。
【図3】コンピュータの概略図。
【図4】暗号化装置の概略図。
【図5】復号化装置の概略図。
【図6】暗号システムでの動作手順を説明するためのシーケンス図。
【発明を実施するための形態】
【0027】
図1は、本発明の一実施形態である暗号システム100の概略図である。図示するように、暗号システム100は、鍵生成装置110と、暗号化装置130と、復号化装置150と、を備え、これらは、通信回線170を介して、相互に情報の送受信を行うことができるようにされている。
【0028】
そして、本実施形態では、公開鍵暗号Π=(K,E,D)において、公開鍵暗号Πの鍵生成手段K、暗号化手段E、および、復号化手段Dは、それぞれ鍵生成装置110、暗号化装置130、および、復号化装置150により実現される。
【0029】
図2は、鍵生成装置110の概略図である。図示するように、鍵生成装置110は、情報の入力を受け付ける入力部111と、論理演算、べき乗算、剰余演算、ハッシュ関数演算、ランダム関数演算を含む各種演算、および、鍵生成装置110の各部の制御を行う制御部112と、記憶部117と、通信回線170を介して暗号化装置130又は復号化装置150と通信を行う通信部121と、情報を出力する出力部122と、を備える。
【0030】
ここで、制御部112は、乱数の生成を行う乱数生成部113と、公開鍵及び秘密鍵の生成を行う演算部114と、一方向性置換π及び落とし戸π−1を生成する落とし戸付き一方向性置換生成部115と、を備える。
【0031】
また、記憶部117は、演算部114で生成した公開鍵及び秘密鍵を記憶する鍵情報記憶領域118と、制御部112での各種演算に必要な情報を記憶する一時情報記憶領域119と、を備える。
【0032】
以上に記載した鍵生成装置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で実現できる。
【0033】
例えば、入力部111は、CPU901が入力装置906を利用することで実現可能であり、制御部112は、外部記憶装置903に記憶されている所定のプログラムをメモリ902にロードしてCPU901で実行することで実現可能であり、記憶部117は、CPU901がメモリ902又は外部記憶装置903を利用することにより実現可能であり、通信部121は、CPU901が通信装置908を利用することで実現可能であり、出力部122は、CPU901が出力装置907を利用することで実現可能である。
【0034】
この所定のプログラムは、読書装置905を介して記憶媒体904から、あるいは、通信装置908を介してネットワークから、外部記憶装置903にダウンロードされ、それから、メモリ902上にロードされてCPU901により実行されるようにしてもよい。また、読書装置905を介して記憶媒体904から、あるいは、通信装置908を介してネットワークから、メモリ902上に直接ロードされ、CPU901により実行されるようにしてもよい。
【0035】
図4は、暗号化装置130の概略図である。図示するように、暗号化装置130は、情報の入力を受け付ける入力部131と、論理演算、べき乗算、剰余演算、ハッシュ関数演算、ランダム関数演算を含む各種演算、および、暗号化装置130の各部の制御を行う制御部132と、記憶部138と、通信回線170を介して鍵生成装置110又は復号化装置150と通信を行う通信部142と、情報を出力する出力部143と、を備える。
【0036】
ここで、制御部132は、乱数の生成を行う乱数生成部133と、メッセージ文の入力を受け付け、当該メッセージ文の暗号文を生成する処理を制御する演算部134と、(π、σ)を入力として、π(σ)を出力する(一方向性置換πの計算を行う)第一関数計算部135と、(σ、x)を入力として、fσ(x)を出力する第二関数計算部136と、を備える。
【0037】
また、記憶部138は、鍵生成装置110で生成された公開鍵を記憶する鍵情報記憶領域139と、制御部132での各種演算に必要な情報を記憶する一時情報記憶領域140と、を備える。
【0038】
以上に記載した暗号化装置130は、例えば、図3に示すような一般的なコンピュータ900で実現できる。
【0039】
例えば、入力部131は、CPU901が入力装置906を利用することで実現可能であり、制御部132は、外部記憶装置903に記憶されている所定のプログラムをメモリ902にロードしてCPU901で実行することで実現可能であり、記憶部138は、CPU901がメモリ902又は外部記憶装置903を利用することにより実現可能であり、通信部142は、CPU901が通信装置908を利用することで実現可能であり、出力部143は、CPU901が出力装置907を利用することで実現可能である。
【0040】
この所定のプログラムは、読書装置905を介して記憶媒体904から、あるいは、通信装置908を介してネットワークから、外部記憶装置903にダウンロードされ、それから、メモリ902上にロードされてCPU901により実行されるようにしてもよい。また、読書装置905を介して記憶媒体904から、あるいは、通信装置908を介してネットワークから、メモリ902上に直接ロードされ、CPU901により実行されるようにしてもよい。
【0041】
図5は、復号化装置150の概略図である。図示するように、復号化装置150は、情報の入力を受け付ける入力部151と、論理演算、べき乗算、剰余演算、ハッシュ関数演算、ランダム関数演算を含む各種演算、および、復号化装置150の各部の制御を行う制御部152と、記憶部158と、通信回線170を介して鍵生成装置110又は暗号化装置130と通信を行う通信部162と、情報を出力する出力部163と、を備える。
【0042】
ここで、制御部152は、暗号文の入力を受け付け、当該暗号文の復号処理を制御する演算部153と、関数計算器A303は、(π−1、y)を入力として、π(y)を出力する(落とし戸π−1の計算を行う)第一関数計算部154と、(σ、x)を入力として、fσ(x)を出力する第二関数計算部155と、演算部153が算出した値の検証を行う検査部156と、を備える。
【0043】
また、記憶部158は、鍵生成装置110で生成された秘密鍵を記憶する鍵情報記憶領域159と、制御部152での各種演算に必要な情報を記憶する一時情報記憶領域160と、を備える。
【0044】
以上に記載した復号化装置150は、例えば、図3に示すような一般的なコンピュータ900で実現できる。
【0045】
例えば、入力部151は、CPU901が入力装置906を利用することで実現可能であり、制御部152は、外部記憶装置903に記憶されている所定のプログラムをメモリ902にロードしてCPU901で実行することで実現可能であり、記憶部158は、CPU901がメモリ902又は外部記憶装置903を利用することにより実現可能であり、通信部162は、CPU901が通信装置908を利用することで実現可能であり、出力部163は、CPU901が出力装置907を利用することで実現可能である。
【0046】
この所定のプログラムは、読書装置905を介して記憶媒体904から、あるいは、通信装置908を介してネットワークから、外部記憶装置903にダウンロードされ、それから、メモリ902上にロードされてCPU901により実行されるようにしてもよい。また、読書装置905を介して記憶媒体904から、あるいは、通信装置908を介してネットワークから、メモリ902上に直接ロードされ、CPU901により実行されるようにしてもよい。
【0047】
図6は、暗号システム100での動作手順を説明するためのシーケンス図である。
【0048】
1.鍵生成装置110での処理。
【0049】
まず、鍵生成装置100の演算部114は、入力部111を介して、1(kはセキュリティパラメータで正の整数)の入力を受け付ける(S10)。なお、入力された値は、一時情報記憶領域119に記憶される。
【0050】
次に、鍵生成装置100の乱数生成部113が、
【0051】
【数6】

【0052】
および
【0053】
【数7】

【0054】
をランダムに作成し、一時情報記憶領域119に記録する(S11、S12)。但し、Gは素数qを位数とする乗法群であり、Zはqを法とする剰余環を表す。
【0055】
次に、鍵生成装置100の演算部114は、一時情報記憶領域119に記憶された(x,x,y,y,g,g)を用いて、
【0056】
【数8】

【0057】
を計算し、一時情報記憶領域119に記録する(S13)。
【0058】
さらに、鍵生成装置100の落とし戸付き一方向性置換生成部115が、一方向性置換πと落とし戸π−1の組(π,π−1)を作成し、一時情報記憶領域119に記録する(S14)。
【0059】
そして、鍵生成装置100の演算部114が、一時情報記憶領域119に記憶された値から公開鍵pkおよび秘密鍵skを、
【0060】
【数9】

【0061】
と設定し、出力部122を介して(pk,sk)を出力する(S15)。但し、Fは、下記の(10)式で示され、fσは、G4上の関数である。
【0062】
【数10】

【0063】
なお、公開鍵pk又は秘密鍵skについては、通信部121を介して,暗号化装置130又は復号化装置150に送信することも可能である。
【0064】
2.暗号化装置130での処理。
【0065】
暗号化装置130の演算部134は、入力部131又は通信部142を介して取得した公開鍵pkを鍵情報記憶領域139に記憶する(S16)。
【0066】
次に、暗号化装置130の演算部134は、入力部131又は通信部142を介して、メッセージ文mを取得し、一時情報記憶領域140に記憶する(S17)。
【0067】
そして、暗号化装置130の乱数生成部133は、
【0068】
【数11】

【0069】
をランダムに選ぶ(S18)。
【0070】
次に、暗号化装置130の演算部134は、公開鍵pk(の一部)であるg、gから、
【0071】
【数12】

【0072】
を計算し、一時情報記憶領域140に記憶する(S19)。
【0073】
次に、暗号化装置130の乱数生成部133が、
【0074】
【数13】

【0075】
をランダムに選ぶ(S20)。
【0076】
そして、暗号化装置130の第一関数計算部135が、一方向性関数πを用いて、π(σ)を計算する(S21)。
【0077】
さらに、暗号化装置130の演算部134が、公開鍵(の一部)hから、
【0078】
【数14】

【0079】
を計算し、一時情報記憶領域140に記憶する(S22)。
【0080】
また、暗号化装置130の演算部134は、メッセージ文m及び公開鍵(の一部)hから、
【0081】
【数15】

【0082】
を計算し、一時情報記憶領域140に記憶する(S23)。
【0083】
そして、暗号化装置130の第二関数計算部136が、
【0084】
【数16】

【0085】
を計算し、一時情報記憶領域140に記憶する(S24)。
【0086】
さらに、暗号化装置130の演算部134は、一時情報記憶領域140に記憶された各値からCを、
【0087】
【数17】

【0088】
と設定し、メッセージ文mに対する暗号文Cとして、出力部143から出力する(S25)。
【0089】
なお、暗号文Cについては、通信部142を介して復号化装置150に送信することも可能である。
【0090】
3.復号化装置150での処理。
【0091】
復号化装置150の演算部153は、入力部151又は通信部162を介して取得した秘密鍵skを鍵情報記憶領域159に記憶する(S26)。
【0092】
次に、復号化装置150の演算部153は、入力部151又は通信部162を介して、暗号文Cを取得し、一時情報記憶領域160に記憶する(S27)。
【0093】
次に、復号化装置150の演算部153及び第一関数計算部154は、
【0094】
【数18】

【0095】
を計算し、一時情報記憶領域160に記憶する(S28)。
【0096】
さらに、復号化装置150の演算部153は、
【0097】
【数19】

【0098】
を計算し、一時情報記憶領域160に記憶する(S29)。
【0099】
そして、復号化装置150の第二関数計算部155は、
【0100】
【数20】

【0101】
を計算する(S30)。
【0102】
そして、復号化装置150の検査部156は、ステップS30で計算した値の検査(検証)を行い(S31)、もし検査(検証)に成功すれば、ステップS29において、一時情報記憶領域160に記憶されたmを暗号文Cに対するメッセージ文として出力部163から出力する。一方、検査(検証)に失敗した場合はエラーメッセージを出力部163から出力する。
【0103】
ここで、本実施形態における公開鍵暗号方法では、Diffie−Hellman決定問題の計算量的困難性及び関数族Fの条件(A)、(B)の仮定のもとで、IND−CCA安全であることが証明可能である(IND−CCA安全の定義については、非特許文献1などに記載されている)。
【0104】
Diffie−Hellman決定問題とは、ランダムに与えられたインスタンス(g,X,Y,K)(ここで、g,X,Y,K∈Gであり、Gは素位数をもつ乗法群)に対して、X=g,Y=gとしたとき、K=gabか否かを判定する問題である。なお、Diffie−Hellman決定問題の困難性は、Elgamal暗号やCramer−Shoup公開鍵暗号など多くの暗号の安全性の根拠として利用されている。
【0105】
また、関数族Fの条件(A)とは、「σの値をランダムに選んだとき、σの値を知ることなく、任意のxに対して、fσ(x)の値を予測することが困難である。」ことを意味する。
【0106】
さらに、関数族Fの条件(B)とは、「攻撃者が、π(σ)の値とfσ’(x)の値を手に入れたとき(πは一方向性置換)、σ’がσと一致するか否かを判定することが困難である。」ことを意味する。
【0107】
加えて、Diffie−Hellman決定問題は、ランダム自己帰着性と呼ばれる性質を持つため、インスタンスが複数与えられた場合の計算量的困難性とひとつ与えられた場合の計算量的困難性は同一である。従って、条件(A’)、(B’)の性質を持つように、関数族Fを選ぶとき、本実施形態で述べた公開鍵暗号方法は、マルチユーザ環境においてセキュリティ・リダクションを劣化させないことが証明される。
【0108】
そして、関数族Fの条件(A’)とは、「σ,・・・,σ(nは自然数)の値をランダムに選んだとき、これらの値を一切知ることなく、何れのi(iは、1≦i≦nなる自然数)、および、任意のxに対して、
【0109】
【数21】

【0110】
の値を予測することが困難である。」ことを意味する。
【0111】
また、関数族Fの条件(B’)とは、「攻撃者が、π),・・・,π)(nは自然数)の値と、
【0112】
【数22】

【0113】
の値を手に入れたとき(πは一方向性置換)、全てのi(iは、1≦i≦nなる自然数)についても、σ’がσと一致するか否かを判定することが困難である。」ことを意味する。
【0114】
以上に記載した実施形態では、公開鍵暗号の鍵生成、暗号化、復号化の各手段の実現方法について述べたが、具体的には、公開鍵暗号は、暗号通信をベースとした、電子ショッピングシステム、電子メールシステム、会員用情報配信システム、コンテンツ配信システム、の他、ファイル暗号システムなど様々なシステムに適用される。
【0115】
また、実施例における各計算は、CPUがメモリ内の各プログラムを実行することにより行われる他、いずれかがハードウエア化された演算装置であって、他の演算装置や、CPUと、データのやりとりを行うものであってもよい。
【0116】
さらに、以上に記載した実施形態においては、鍵生成装置110、暗号化装置130及び復号化装置150で暗号システム100を構成しているが、このような態様に限定されず、鍵生成装置110での処理を暗号化装置130及び復号化装置150の何れか一方で行うことにより、鍵生成装置110を不要にすることも可能である。
【符号の説明】
【0117】
100 暗号システム
110 鍵生成装置
111 入力部
112 制御部
117 記憶部
121 通信部
122 出力部
130 暗号化装置
131 入力部
132 制御部
138 記憶部
142 通信部
143 出力部
150 復号化装置
151 入力部
152 制御部
158 記憶部
162 通信部
163 出力部

【特許請求の範囲】
【請求項1】
第一の鍵情報を用いて、メッセージ文を暗号化した暗号文を生成し、第二の鍵情報を用いて、当該暗号文の復号化を行う少なくとも一つ以上のコンピュータを備える暗号システムであって、
前記コンピュータの制御部が、
セキュリティパラメータkの入力を受け付ける処理と、
【数1】

および
【数2】

をランダムに作成する処理と(但し、Gは素数qを位数とする乗法群であり、Zはqを法とする剰余環を表す)、
(x,x,y,y,g,g)を用いて、
【数3】

を計算する処理と、
一方向性置換πと落とし戸π−1の組(π,π−1)を作成する処理と、
第一の鍵情報pkおよび第二の鍵情報skを、
【数4】

として生成する処理と、を行うこと、
但し、Fは、下記の(5)式で示され、fσは、G4上の関数である。
【数5】

を特徴とする暗号システム。
【請求項2】
請求項1に記載の暗号システムであって、
前記コンピュータの制御部が、
メッセージ文mの入力を受け付ける処理と、
【数6】

をランダムに選ぶ処理と、
第一の鍵情報pkから、
【数7】

を計算する処理と、
【数8】

をランダムに選ぶ処理と、
一方向性関数πを用いて、π(σ)を計算する処理と、
第一の鍵情報pkから、
【数9】

を計算する処理と、
メッセージ文m及び第一の鍵情報pkから、
【数10】

を計算する処理と、
【数11】

を計算する処理と、
暗号文Cを、
【数12】

として生成する処理と、を行うこと、
を特徴とする暗号システム。
【請求項3】
請求項2に記載の暗号システムであって、
前記コンピュータの制御部が、
前記暗号文Cの入力を受け付ける処理と、
落とし戸π−1を用いて、
【数13】

を計算する処理と、
【数14】

を計算する処理と、
【数15】

が成立するか否かを検査し、成立する場合には、算出したmを暗号文Cに対するメッセージ文とする処理と、を行うこと、
を特徴とする暗号システム。
【請求項4】
請求項1〜3の何れか一項に記載の暗号システムであって、
前記関数Fは、
σの値をランダムに選んだとき、σの値を知ることなく、任意のxに対して、fσ(x)の値を予測することが困難であるという第一の条件と、
攻撃者が、π(σ)の値とfσ’(x)の値を手に入れたとき(πは一方向性置換)、σ’がσと一致するか否かを判定することが困難であるという第二の条件と、
を満たすものであること、
を特徴とする暗号システム。
【請求項5】
請求項1〜3の何れか一項に記載の暗号システムであって、
前記関数Fは、
σ,・・・,σ(nは自然数)の値をランダムに選んだとき、これらの値を一切知ることなく、何れのi(iは、1≦i≦nなる自然数)、および、任意のxに対して、
【数16】

の値を予測することが困難であるという第三の条件と、
攻撃者が、π),・・・,π)(nは自然数)の値と、
【数17】

の値を手に入れたとき(πは一方向性置換)、全てのi(iは、1≦i≦nなる自然数)についても、σ’がσと一致するか否かを判定することが困難であるという第四の条件と、
を満たすものであること、
を特徴とする暗号システム。
【請求項6】
メッセージ文を暗号化する第一の鍵情報と、当該第一の鍵情報で暗号化された暗号文の復号化する第二の鍵情報と、を生成する鍵生成装置であって、
セキュリティパラメータkの入力を受け付ける処理と、
【数18】

および
【数19】

をランダムに作成する処理と(但し、Gは素数qを位数とする乗法群であり、Zはqを法とする剰余環を表す)、
(x,x,y,y,g,g)を用いて、
【数20】

を計算する処理と、
一方向性置換πと落とし戸π−1の組(π,π−1)を作成する処理と、
第一の鍵情報pkおよび第二の鍵情報skを、
【数21】

として生成する処理と、を行う制御部を有すること、
但し、Fは、下記の(22)式で示され、fσは、G4上の関数である。
【数22】

を特徴とする鍵生成装置。
【請求項7】
第一の鍵情報pkおよび第二の鍵情報skが、
【数23】

但し、
【数24】

【数25】

(Gは素数qを位数とする乗法群であり、Zはqを法とする剰余環を表す)
【数26】

πは一方向性置換、π−1はπの落とし戸
は、下記の(27)式で示され、fσは、G4上の関数である。
【数27】

として定義される第一の鍵情報pkを用いて、メッセージ文を暗号化した暗号文を生成する暗号化装置であって、
メッセージ文mの入力を受け付ける処理と、
【数28】

をランダムに選ぶ処理と、
第一の鍵情報pkから、
【数29】

を計算する処理と、
【数30】

をランダムに選ぶ処理と、
一方向性関数πを用いて、π(σ)を計算する処理と、
第一の鍵情報pkから、
【数31】

を計算する処理と、
メッセージ文m及び第一の鍵情報pkから、
【数32】

を計算する処理と、
【数33】

を計算する処理と、
暗号文Cを、
【数34】

として生成する処理と、を行う制御部を備えること、
を特徴とする暗号化装置。
【請求項8】
第一の鍵情報pkおよび第二の鍵情報skが、
【数35】

但し、
【数36】

【数37】

(Gは素数qを位数とする乗法群であり、Zはqを法とする剰余環を表す)
【数38】

πは一方向性置換、π−1はπの落とし戸
は、下記の(39)式で示され、fσは、G4上の関数である。
【数39】

として定義される第一の鍵情報pkを用いて、メッセージ文を暗号化した暗号文Cを復号する復号化装置であって、
前記暗号文Cの入力を受け付ける処理と、
落とし戸π−1を用いて、
【数40】

を計算する処理と、
【数41】

を計算する処理と、
【数42】

が成立するか否かを検査し、成立する場合には、算出したmを暗号文Cに対するメッセージ文とする処理と、を行う制御部を備えること、
を特徴とする復号化装置。
【請求項9】
第一の鍵情報を用いて、メッセージ文を暗号化した暗号文を生成し、第二の鍵情報を用いて、当該暗号文の復号化を行う少なくとも一つ以上のコンピュータを有する暗号システムが行う暗号処理方法であって、
前記コンピュータの制御部が、セキュリティパラメータkの入力を受け付ける処理を行う過程と、
前記コンピュータの制御部が、
【数43】

および
【数44】

をランダムに作成する処理を行う過程と(但し、Gは素数qを位数とする乗法群であり、Zはqを法とする剰余環を表す)、
前記コンピュータの制御部が、(x,x,y,y,g,g)を用いて、
【数45】

を計算する処理を行う過程と、
前記コンピュータの制御部が、一方向性置換πと落とし戸π−1の組(π,π−1)を作成する処理を行う過程と、
前記コンピュータの制御部が、第一の鍵情報pkおよび第二の鍵情報skを、
【数46】

として生成する処理を行う過程と、を有すること、
但し、Fは、下記の(47)式で示され、fσは、G4上の関数である。
【数47】

を特徴とする暗号処理方法。
【請求項10】
請求項9に記載の暗号処理方法であって、
前記コンピュータの制御部が、メッセージ文mの入力を受け付ける処理を行う過程と、
前記コンピュータの制御部が、
【数48】

をランダムに選ぶ処理を行う過程と、
前記コンピュータの制御部が、第一の鍵情報pkから、
【数49】

を計算する処理を行う過程と、
前記コンピュータの制御部が、
【数50】

をランダムに選ぶ処理を行う過程と、
前記コンピュータの制御部が、一方向性関数πを用いて、π(σ)を計算する処理を行う過程と、
前記コンピュータの制御部が、第一の鍵情報pkから、
【数51】

を計算する処理を行う過程と、
前記コンピュータの制御部が、メッセージ文m及び第一の鍵情報pkから、
【数52】

を計算する処理を行う過程と、
前記コンピュータの制御部が、
【数53】

を計算する処理を行う過程と、
前記コンピュータの制御部が、暗号文Cを、
【数54】

として生成する処理を行う過程と、を有すること、
を特徴とする暗号処理方法。
【請求項11】
請求項10に記載の暗号処理方法であって、
前記コンピュータの制御部が、前記暗号文Cの入力を受け付ける処理を行う過程と、
前記コンピュータの制御部が、落とし戸π−1を用いて、
【数55】

を計算する処理を行う過程と、
前記コンピュータの制御部が、
【数56】

を計算する処理を行う過程と、
前記コンピュータの制御部が、
【数57】

が成立するか否かを検査し、成立する場合には、算出したmを暗号文Cに対するメッセージ文とする処理を行う過程と、を有すること、
を特徴とする暗号処理方法。
【請求項12】
請求項9〜11の何れか一項に記載の暗号処理方法であって、
前記関数Fは、
σの値をランダムに選んだとき、σの値を知ることなく、任意のxに対して、fσ(x)の値を予測することが困難であるという第一の条件と、
攻撃者が、π(σ)の値とfσ’(x)の値を手に入れたとき(πは一方向性置換)、σ’がσと一致するか否かを判定することが困難であるという第二の条件と、
を満たすものであること、
を特徴とする暗号処理方法。
【請求項13】
請求項9〜11の何れか一項に記載の暗号処理方法であって、
前記関数Fは、
σ,・・・,σ(nは自然数)の値をランダムに選んだとき、これらの値を一切知ることなく、何れのi(iは、1≦i≦nなる自然数)、および、任意のxに対して、
【数58】

の値を予測することが困難であるという第三の条件と、
攻撃者が、π),・・・,π)(nは自然数)の値と、
【数59】

の値を手に入れたとき(πは一方向性置換)、全てのi(iは、1≦i≦nなる自然数)についても、σ’がσと一致するか否かを判定することが困難であるという第四の条件と、
を満たすものであること、
を特徴とする暗号処理方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公開番号】特開2010−245683(P2010−245683A)
【公開日】平成22年10月28日(2010.10.28)
【国際特許分類】
【出願番号】特願2009−90102(P2009−90102)
【出願日】平成21年4月2日(2009.4.2)
【出願人】(000005108)株式会社日立製作所 (27,607)
【Fターム(参考)】