JP4934010B2 - 公開鍵暗号システム、公開鍵暗号方法、暗号化装置、復号化装置、暗号化プログラム及び復号化プログラム - Google Patents
公開鍵暗号システム、公開鍵暗号方法、暗号化装置、復号化装置、暗号化プログラム及び復号化プログラム Download PDFInfo
- Publication number
- JP4934010B2 JP4934010B2 JP2007306081A JP2007306081A JP4934010B2 JP 4934010 B2 JP4934010 B2 JP 4934010B2 JP 2007306081 A JP2007306081 A JP 2007306081A JP 2007306081 A JP2007306081 A JP 2007306081A JP 4934010 B2 JP4934010 B2 JP 4934010B2
- Authority
- JP
- Japan
- Prior art keywords
- session key
- information
- encryption
- key
- generating
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Description
qを素数、Gを生成元gが作る位数qの群とする。Gの元の最大ビット長をlとする。Zqを0以上q−1以下の整数の集合とする。Zq *をZqから0を除いた集合とする。Hをハッシュ関数とする。Ek,Dkをそれぞれセッション鍵kにより定まる強擬似ランダム置換とその逆関数とする。
・xをランダムにZqから選択する。
・y=gxを計算する。
・xを秘密鍵、yを公開鍵とする。
暗号化手順:
・rをランダムにZq *から選ぶ。
・R=gr,k=H(R),c=Ek(m),u=yr
・(u,c)を暗号文として出力する。
復号化手順:
・R=u(1/x),k=H(R),m=Dk(c)
・mをメッセージとして出力する。
qを素数、Gを生成元gが作る位数qの群とする。Gの元の最大ビット長をlとする。Zqを0以上q−1以下の整数の集合とする。Zq *をZqから0を除いた集合とする。H1,H2をハッシュ関数とする。Ek,Dkをそれぞれセッション鍵kにより定まるlength-preservingな暗号化関数、復号化関数とする。length-preservingな関数とは、出力されるビットの長さが、入力されるビットの長さと等しい関数のことである。
・x1,x2をそれぞれランダムにZqから選ぶ。
・y1=gx1,y2=gx2を計算する。x1,x2はそれぞれx1,x2を意味する。以下、同様である。
・x1を第一の秘密鍵,x2を第二の秘密鍵,y1を第一の公開鍵,y2を第二の公開鍵とする。
暗号化手順:
・rをランダムにZq *から選ぶ。
・R=gr,k=H(R),c=Ek(m),a=G(c),u=y1 ry2 ra
・(u,c)を暗号文として出力する。
復号化手順:
・a=G(c),R=u(1/(x1+ax2)),k=H(R),m=Dk(c)
・mをメッセージとして出力する。
Michel Abdalla, Mihir Bellare and Phillip Rogaway, "The Oracle Diffie-Hellman Assumptions and an Analysis of DHIES", Topics in Cryptology - CT-RSA 2001, LNCS 2020, Springer-Verlag, 2001, pp.143-158 Kaoru Kurosawa and Toshiki Matsuo, "How to Remove MAC from DHIES", Information Security and Privacy: 9th Australasian Conference, ACISP 2004, LNCS 3108, Springer-Verlag, 2004, pp.236-247 Shai Halevi, "EME*:Extending EME to Handle Arbitary-Length Messages with Associated Data", INDOCRYPT 2004, LNCS 3348, Springer-Verlag, 2004, pp.315-327 Xianhui Lu, Xuejia Lai and Dake He, "Efficient chosen ciphertext secure PKE scheme with short ciphertext", IACR ePrint archive, 2007/210
また、第二の従来の公開鍵暗号方法においては、2つの公開鍵y1,y2を用いており、公開鍵の数が多いという問題があった。
qを素数、群Gを生成元gが作る位数qの群とする。以下、群Gを乗法群として記述する。群Gの元の最大ビット長をlとする。群Gは、Gap Diffie-Hellman計算問題が難しいと考えられる群ならばどのような群でも良い。例えば、楕円曲線が作る群等が考えられる(例えば、参考文献参照。)。
≪参考文献≫Tatsuaki Okamoto and David Pointcheval, “The Gap-Problems: A New Class of Problems for the Security of Cryptographic Schemes”, PKC 2001, LNCS 1992, Springer-Verlag, 2001, pp.104-118
Ek,Dkをそれぞれ、セッション鍵kで定まる、length-preservingな暗号化関数、復号化関数とする。length-preservingな関数とは、出力されるビットの長さが、入力されるビットの長さと等しい関数のことである。
ベアセッション鍵R、検証情報a及び非対称暗号情報uは群Gの元であり、セッション鍵kはセキュリティパラメータλで定まるビット長であり、メッセージm及び対称暗号情報cは任意のビット長である。
鍵生成手順:
・xをランダムにZqから選ぶ。
・y=gxを計算する。
・xを秘密鍵、yを公開鍵とする。
暗号化手順:
・rをランダムにZq *から選ぶ。
・R=gr,k=H1(R),c=Ek(m),a=G(c),u=yrgra
・(u,c)を暗号文として出力する。
復号化手順:
・a=G(c),R=u(1/(x+a)),k=H1(R),m=Dk(c)
・mをメッセージとして出力する。
鍵生成手順において秘密鍵xと公開鍵yをそれぞれ1つだけ生成し、それらを用いて上記ように暗号化手順と復号化手順を行うことにより、秘密鍵と公開鍵の数を少なくすることができる。また、暗号化関数Ek、復号化関数Dkとして、強擬似ランダム置換ではなく、秘密鍵暗号(共通鍵暗号ともいう。)で通常用いられるlength-preservingな任意の関数を用いているため、1ビット以上の任意のメッセージを暗号化することができる。
また、暗号化手順と復号化手順を下記のように行ってもよい。暗号化手順におけるベアセッション鍵Rの計算方法、復号化手順におけるベアセッション鍵Rの計算方法のみが、上記の手順1とは異なる。
鍵生成手順:
・xをランダムにZqから選ぶ。
・y=gxを計算する。
・xを秘密鍵、yを公開鍵とする。
暗号化手順:
・rをランダムにZq *から選ぶ。
・R=yr,k=H1(R),c=Ek(m),a=G(c),u=yrgra
・(u,c)を暗号文として出力する。
復号化手順:
・a=G(c),R=u(x/(x+a)),k=H1(R),m=Dk(c)
・mをメッセージとして出力する。
手順2においては、暗号化手順で、非対称暗号情報u=yrgraを、u=Rgraと計算できる。このため、手順1に比べて計算量を小さくすることができるというメリットがある。
図1から図5を参照して、公開鍵暗号システム1の一実施例について説明をする。
図1に例示するように、公開鍵暗号システム1は、秘密鍵xとそれに対応する公開鍵yを生成する鍵生成装置100と、公開鍵yを用いてメッセージmを暗号化して暗号文(u,c)を生成する暗号化装置200と、秘密鍵xを用いて暗号文(u,c)を復号してメッセージmを得る復号化装置300とからなる。
図5にそれぞれ示す、ステップS1からステップS2が上記[理論]の鍵生成手順に対応し、ステップS3からステップS9が上記[理論]の暗号化手順に対応し、ステップS10からステップS13が上記[理論]の復号化手順に対応する。
<ステップS1>
図2に例示するように、鍵生成装置100は、秘密鍵生成部11と公開鍵生成部12とを含む。
秘密鍵生成部11は、集合Zqから1つの元を選択して、秘密鍵xとする(ステップS1)。秘密鍵xは、公開鍵生成部12に送られる。また、この例では、秘密鍵xは、復号化装置300に送られる。
公開鍵生成部12は、y=gxを計算することにより、群Gの元である1つの公開鍵yを生成する(ステップS2)。公開鍵yは、暗号化装置200に送られる。
y=gxを計算するとは、群G上定義された演算を生成元gについてx回行った場合の演算結果を求めることを意味する。言い換えれば、式によって定義される演算結果を求めさえすれば良く、必ずしも群G上定義された演算を生成元gについて実際にx回行う必要はない。このことは、群G上の他の計算についても同様である。例えば、後述する非対称暗号情報生成部26は、非対称暗号情報u=yrgraを計算するが、R=yrという第一ベアセッション鍵生成部22において既に得られた計算結果を用いて、非対称暗号情報uを、u=Rgraを計算することにより求めてもよい。
ステップS3からステップS9が上記[理論]の暗号化手順に対応する。
図3に例示するように、暗号化装置200は、乱数生成部21、第一ベアセッション鍵生成部22、第一セッション鍵生成部23、対称暗号情報生成部24、第一検証情報生成部25、非対称暗号情報生成部26、記憶部27、送信部28を含む。
乱数生成部21は、集合Zq *から1つの元をランダム選択することにより、乱数rを生成する(ステップS3)。生成された乱数rは、第一ベアセッション鍵生成部22に送られる。
第一ベアセッション鍵生成部22は、R=grを計算することにより、ベアセッション鍵Rを求める(ステップS4)。生成されたベアセッション鍵Rは、第一セッション鍵生成部23に送られる。
第一セッション鍵生成部23は、予め定められたビット長のハッシュ値を出力するハッシュ関数H1に、ベアセッション鍵Rを入力することにより、セッション鍵kを生成する(ステップS5)。すなわち、k=H1(R)を計算する。生成されたセッション鍵kは、対称暗号情報生成部24に送られる。
セッション鍵kのビット長は、セキュリティパラメータλとして予め定められている。ハッシュ関数H1が出力するハッシュ値のビット長は、セキュリティパラメータλと等しい。
対称暗号情報生成部24は、暗号化関数Ekに、記憶部27から読み込んだメッセージmを入力することにより、対称暗号情報cを生成する(ステップS6)。すなわち、c=Ek(m)を計算する。生成された対称暗号情報cは、第一検証情報生成部25と送信部28に送られる。
メッセージmのビット長は任意でよい。暗号化関数Ekは、セッション鍵kをパラメータとして持ち、セッション鍵kによって定まる関数である。また、暗号化関数Ekは、length-preservingな関数であるため、対称暗号情報cのビット長は、メッセージmのビット長と同じである。
第一検証情報生成部25は、ハッシュ関数H2に、対称暗号情報cを入力することにより、検証情報aを生成する(ステップS7)。すなわち、a=H2(c)を計算する。生成された検証情報aは、非対称暗号情報生成部26に送られる。
ハッシュ関数H2は、群Gの元を出力するハッシュ関数である。
非対称暗号情報生成部26は、生成される非対称暗号情報uと秘密鍵xと検証情報aとを用いてベアセッション鍵Rを復号することができるように、検証情報aと生成元gと公開鍵yとを混合して、群Gの元である非対称暗号情報uを生成する。
具体的には、この例では、u=yrgraを計算することにより、非対称暗号情報uを求める。この際、u=yrgra=yrgrgaであるため、第一ベアセッション鍵生成部22において既に得られた計算結果R=grを用いることにより、非対称暗号情報uの計算量を低減してもよい。生成された非対称暗号情報uは、送信部28に送られる。
送信部28は、非対称暗号情報uと対称暗号情報cとを含む情報である暗号文(u,c)を、復号化装置300に送信する。復号化装置300に対して、直接的ではなく、第三者のサーバー装置等を介して間接的に送信してもよい。
<ステップS10>
ステップS10からステップS13が上記[理論]の復号化手順に対応する。
図4に例示するように、復号化装置300は、第二検証情報生成部31、第二ベアセッション鍵生成部32、第二セッション鍵生成部33、メッセージ生成部34、記憶部35を含む。
ハッシュ関数H2は、暗号化装置200の第一検証情報生成部25の処理で登場したハッシュ関数H2と同じものである。
第二ベアセッション鍵生成部32は、R=u(1/(x+a))を計算することにより、ベアセッション鍵Rを求める。生成されたベアセッション鍵Rは、第二セッション鍵生成部33に送られる。
<ステップS12>
第二セッション鍵生成部33は、ハッシュ関数H1に、ベアセッション鍵Rを入力することにより、セッション鍵kを計算する。すなわち、k=H1(R)を計算する。生成されたセッション鍵kは、メッセージ生成部34に送られる。
ハッシュ関数H1は、暗号化装置200の第一セッション鍵生成部23の処理で登場したハッシュ関数H1と同じものである。
メッセージ生成部34は、復号化関数Dkに、暗号化装置200から送られた暗号文(u,c)から取り出された対称暗号情報cを入力することにより、メッセージmを復号する。すなわち、m=Dk(c)を計算する。
length-preservingな関数である復号化関数Dkは、暗号化関数Ekに対応する復号化関数であり、両関数には、Dk(Ek(m))=mの関係が成立している。
図3に破線で例示するように、また、図5のステップS8’に例示するように、暗号化装置200の判定部29が、非対称暗号情報生成部26が生成した非対称暗号情報uが、群Gの単位元eであるか否かを判定して、非対称暗号情報uが単位元eである場合には、暗号化装置200が、ステップS3の乱数rを生成する処理からやり直して、再度非対称暗号情報uを生成してもよい。非対称暗号情報uが単位元eである場合には、検証情報aの値によらず、ベアセッション鍵R及びセッション鍵kの値が同じになるため、対称暗号情報cが改ざんされたかどうかを復号化装置が判定することができないためである。
上記の例では、図1に例示するように、鍵生成装置100は、暗号化装置200及び復号化装置300とは異なる別の装置となっているが、鍵生成装置100が暗号化装置200に含まれていてもよい。この場合には、暗号化装置200内の鍵生成装置100において生成された秘密鍵xは暗号化装置200に送られ、同鍵生成装置100において生成された公開鍵yは復号化装置300に送られる。
上述の構成をコンピュータによって実現する場合、鍵生成装置100、暗号化装置200、復号化装置300の各部が有すべき機能の処理内容はそれぞれプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記各部の機能がコンピュータ上で実現される。
また、上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
11 秘密鍵生成部
12 公開鍵生成部
21 乱数生成部
22 第一ベアセッション鍵生成部
23 第一セッション鍵生成部
24 対称暗号情報生成部
25 第一検証情報生成部
26 非対称暗号情報生成部
29 判定部
31 第二検証情報生成部
32 第二ベアセッション鍵生成部
33 第二セッション鍵生成部
34 メッセージ生成部
100 鍵生成装置
200 暗号化装置
300 復号化装置
Claims (10)
- メッセージmをセッション鍵kを用いて暗号化して対称暗号情報cを生成すると共に、セッション鍵kを公開鍵yを用いて暗号化して非対称暗号情報uを生成する暗号化装置と、非対称暗号情報uと秘密鍵xとを用いてセッション鍵kを生成すると共に、そのセッション鍵kと対称暗号情報cとを用いてメッセージmを生成する復号化装置とを備えるハイブリット型の公開鍵暗号システムにおいて、
上記秘密鍵xは、0以上q−1以下の整数からなる第一の集合Zqから1つの元を選択することにより生成されたものであり、
上記公開鍵yは、上記秘密鍵xに対応しており、位数q(qは素数)の群Gの生成元gと上記秘密鍵xとを用いて生成された、群Gに属する1つの公開鍵yであり、
上記暗号化装置は、
上記第一の集合Zqから0を除いた第二の集合Zq *から1つの元をランダムに選択することにより乱数rを生成する乱数生成手段と、
上記生成元gと上記乱数rとから、上記群Gの元であるベアセッション鍵Rを生成する第一ベアセッション鍵生成手段と、
予め定められたビット長のハッシュ値を出力するハッシュ関数H1に、上記ベアセッション鍵Rを入力することにより、セッション鍵kを生成する第一セッション鍵生成手段と、
上記セッション鍵kによって定まり、入力されるメッセージと同じビット長の対称暗号情報を出力する暗号化関数Ekに、メッセージmを入力することにより対称暗号情報cを生成する対称暗号情報生成手段と、
上記群Gの元を出力するハッシュ関数H2に、上記対称暗号情報cを入力することにより、検証情報aを生成する第一検証情報生成手段と、
生成される非対称暗号情報uと上記秘密鍵xと上記検証情報aとを用いて上記暗号化装置がベアセッション鍵Rを生成することができるように、上記検証情報aと上記生成元gと上記公開鍵yとを用いて、上記群Gの元である非対称暗号情報uを生成する非対称暗号情報生成手段と、
を備え、
上記復号化装置は、
上記ハッシュ関数H2に上記対称暗号情報cを入力することにより、検証情報aを生成する第二検証情報生成手段と、
上記非対称暗号情報uと、上記秘密鍵xと、上記第二検証情報生成手段が生成した検証情報aとを用いて、上記ベアセッション鍵Rを生成する第二ベアセッション鍵生成手段と、
上記ハッシュ関数H1に、上記第二ベアセッション鍵生成手段が生成した上記ベアセッション鍵Rを入力することにより、セッション鍵kを生成する第二セッション鍵生成手段と、
上記セッション鍵kによって定まり、上記暗号化関数Ekに対応し、入力される対称暗号情報と同じビット長のメッセージを出力する復号化関数Dkに、上記対称暗号情報cを入力することによりメッセージmを生成するメッセージ生成手段と、
を備える、
ことを特徴とする公開鍵暗号システム。 - 請求項1に記載された公開鍵暗号システムにおいて、
上記公開鍵yは、y=gxであり、
上記第一ベアセッション鍵生成手段は、R=grを計算することにより、ベアセッション鍵Rを生成する手段であり、
上記非対称暗号情報生成手段は、u=yrgraを計算することにより、非対称暗号情報uを生成する手段であり、
上記第二ベアセッション鍵生成手段は、R=u(1/(x+a))を計算することにより、ベアセッション鍵Rを生成する手段である、
ことを特徴とする公開鍵暗号システム。 - 請求項1に記載された公開鍵暗号システムにおいて、
上記第一ベアセッション鍵生成手段は、上記生成元gと上記乱数rとに代えて、上記公開鍵yと上記乱数rとから、上記群Gの元であるベアセッション鍵Rを生成する手段である、
ことを特徴とする公開鍵暗号システム。 - 請求項2に記載された公開鍵暗号システムにおいて、
上記第一ベアセッション鍵生成手段は、R=grに代えて、R=yrを計算することにより、ベアセッション鍵Rを生成する手段であり、
上記第二ベアセッション鍵生成手段は、R=u(1/(x+a))に代えて、R=u(x/(x+a))を計算することにより、ベアセッション鍵Rを生成する手段である、
ことを特徴とする公開鍵暗号システム。 - 請求項1から4に記載された公開鍵暗号システムにおいて、
上記非対称暗号情報生成手段が生成した非対称暗号情報uが、上記群Gの単位元eであるかどうかを判定する判定手段を更に備え、
非対称暗号情報uが単位元eであると判定された場合には、上記暗号化装置は再度非対称暗号情報uを生成する、
ことを特徴とする公開鍵暗号システム。 - 暗号化装置が、メッセージmをセッション鍵kを用いて暗号化して対称暗号情報cを生成すると共に、セッション鍵kを公開鍵yを用いて暗号化して非対称暗号情報uを生成する暗号化ステップと、復号化装置が、非対称暗号情報uと秘密鍵xとを用いてセッション鍵kを生成すると共に、そのセッション鍵kと対称暗号情報cとを用いてメッセージmを生成する復号化ステップとを備えるハイブリット型の公開鍵暗号方法において、
上記秘密鍵xは、0以上q−1以下の整数からなる第一の集合Zqから1つの元を選択することにより生成されたものであり、
上記公開鍵yは、上記秘密鍵xに対応しており、位数q(qは素数)の群Gの生成元gと上記秘密鍵xとを用いて生成された、群Gに属する1つの公開鍵yであり、
上記暗号化ステップは、
乱数生成手段が、上記第一の集合Zqから0を除いた第二の集合Zq *から1つの元をランダムに選択することにより乱数rを生成する乱数生成ステップと、
鍵生成手段が、上記生成元gと上記乱数rとから、上記群Gの元であるベアセッション鍵Rを生成する第一ベアセッション鍵生成ステップと、
第一セッション鍵生成手段が、予め定められたビット長のハッシュ値を出力するハッシュ関数H1に、上記ベアセッション鍵Rを入力することにより、セッション鍵kを生成する第一セッション鍵生成ステップと、
対称暗号情報生成手段が、上記セッション鍵kによって定まり、入力されるメッセージと同じビット長の対称暗号情報を出力する暗号化関数Ekに、メッセージmを入力することにより対称暗号情報cを生成する対称暗号情報生成ステップと、
第一検証情報生成手段が、上記群Gの元を出力するハッシュ関数H2に、上記対称暗号情報cを入力することにより、検証情報aを生成する第一検証情報生成ステップと、
非対称暗号情報生成手段が、生成される非対称暗号情報uと上記秘密鍵xと上記検証情報aとを用いて上記暗号化装置がベアセッション鍵Rを生成することができるように、上記検証情報aと上記生成元gと上記公開鍵yとを用いて、上記群Gの元である非対称暗号情報uを生成する非対称暗号情報生成ステップと、
を有し、
上記復号化ステップは、
第二検証情報生成手段が、上記ハッシュ関数H2に上記対称暗号情報cを入力することにより、検証情報aを生成する第二検証情報生成ステップと、
第二ベアセッション鍵生成手段が、上記非対称暗号情報uと、上記秘密鍵xと、上記第二検証情報生成手段が生成した検証情報aとを用いて、上記ベアセッション鍵Rを生成する第二ベアセッション鍵生成ステップと、
第二セッション鍵生成手段が、上記ハッシュ関数H1に、上記第二ベアセッション鍵生成ステップにおいて生成された上記ベアセッション鍵Rを入力することにより、セッション鍵kを生成する第二セッション鍵生成ステップと、
メッセージ生成手段が、上記セッション鍵kによって定まり、上記暗号化関数Ekに対応し、入力される対称暗号情報と同じビット長のメッセージを出力する復号化関数Dkに、上記対称暗号情報cを入力することによりメッセージmを生成するメッセージ生成ステップと、
を有する、
ことを特徴とする公開鍵暗号方法。 - メッセージmをセッション鍵kを用いて暗号化して対称暗号情報cを生成すると共に、セッション鍵kを公開鍵yを用いて暗号化して非対称暗号情報uを生成する暗号化装置と、非対称暗号情報uと秘密鍵xとを用いてセッション鍵kを生成すると共に、そのセッション鍵kと対称暗号情報cとを用いてメッセージmを生成する復号化装置とを備えるハイブリット型の公開鍵暗号システムに用いられる暗号化装置において、
上記秘密鍵xは、0以上q−1以下の整数からなる第一の集合Zqから1つの元を選択することにより生成されたものであり、
上記公開鍵yは、上記秘密鍵xに対応しており、位数q(qは素数)の群Gの生成元gと上記秘密鍵xとを用いて生成された、群Gに属する1つの公開鍵yであり、
上記暗号化装置は、
上記第一の集合Zqから0を除いた第二の集合Zq *から1つの元をランダムに選択することにより乱数rを生成する乱数生成手段と、
上記生成元gと上記乱数rとから、上記群Gの元であるベアセッション鍵Rを生成する第一ベアセッション鍵生成手段と、
予め定められたビット長のハッシュ値を出力するハッシュ関数H1に、上記ベアセッション鍵Rを入力することにより、セッション鍵kを生成する第一セッション鍵生成手段と、
上記セッション鍵kによって定まり、入力されるメッセージと同じビット長の対称暗号情報を出力する暗号化関数Ek(m)に、メッセージmを入力することにより対称暗号情報cを生成する対称暗号情報生成手段と、
上記群Gの元を出力するハッシュ関数H2に、上記対称暗号情報cを入力することにより、検証情報aを生成する第一検証情報生成手段と、
生成される非対称暗号情報uと上記秘密鍵xと上記検証情報aとを用いて上記暗号化装置がベアセッション鍵Rを生成することができるように、上記検証情報aと上記生成元gと上記公開鍵yとを用いて、上記群Gの元である非対称暗号情報uを生成する非対称暗号情報生成手段と、
を備える、
ことを特徴とする暗号化装置。 - メッセージmをセッション鍵kを用いて暗号化して対称暗号情報cを生成すると共に、セッション鍵kを公開鍵yを用いて暗号化して非対称暗号情報uを生成する暗号化装置と、非対称暗号情報uと秘密鍵xとを用いてセッション鍵kを生成すると共に、そのセッション鍵kと対称暗号情報cとを用いてメッセージmを生成する復号化装置とを備えるハイブリット型の公開鍵暗号システムに用いられる暗号化装置において、
上記秘密鍵xは、0以上q−1以下の整数からなる第一の集合Zqから1つの元を選択することにより生成されたものであり、
上記公開鍵yは、上記秘密鍵xに対応しており、位数q(qは素数)の群Gの生成元gと上記秘密鍵xとを用いて生成された、群Gに属する1つの公開鍵yであり、
上記復号化装置は、
上記ハッシュ関数H2に、上記暗号化装置において生成された対称暗号情報cを入力することにより、検証情報aを生成する第二検証情報生成手段と、
上記非対称暗号情報uと、上記秘密鍵xと、上記検証情報aとを用いて、上記ベアセッション鍵Rを生成する第二ベアセッション鍵生成手段と、
上記ハッシュ関数H1に、上記ベアセッション鍵Rを入力することにより、セッション鍵kを生成する第二セッション鍵生成手段と、
上記セッション鍵kによって定まり、上記暗号化装置が用いた暗号化関数Ekに対応し、入力される対称暗号情報と同じビット長のメッセージを出力する復号化関数Dkに、上記対称暗号情報cを入力することによりメッセージmを生成するメッセージ生成手段と、
を備える、
ことを特徴とする復号化装置。 - 請求項7に記載された暗号化装置の各手段としてコンピュータを機能させるための暗号化プログラム。
- 請求項8に記載された復号化装置の各手段としてコンピュータを機能させるための復号化プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007306081A JP4934010B2 (ja) | 2007-11-27 | 2007-11-27 | 公開鍵暗号システム、公開鍵暗号方法、暗号化装置、復号化装置、暗号化プログラム及び復号化プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007306081A JP4934010B2 (ja) | 2007-11-27 | 2007-11-27 | 公開鍵暗号システム、公開鍵暗号方法、暗号化装置、復号化装置、暗号化プログラム及び復号化プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009128792A JP2009128792A (ja) | 2009-06-11 |
JP4934010B2 true JP4934010B2 (ja) | 2012-05-16 |
Family
ID=40819745
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007306081A Expired - Fee Related JP4934010B2 (ja) | 2007-11-27 | 2007-11-27 | 公開鍵暗号システム、公開鍵暗号方法、暗号化装置、復号化装置、暗号化プログラム及び復号化プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4934010B2 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101435813B1 (ko) | 2007-11-27 | 2014-08-29 | 엘지전자 주식회사 | 세탁물 처리장치 및 그 제어방법 |
US9935768B2 (en) | 2012-08-06 | 2018-04-03 | Samsung Electronics Co., Ltd. | Processors including key management circuits and methods of operating key management circuits |
KR102013841B1 (ko) | 2012-08-06 | 2019-08-23 | 삼성전자주식회사 | 데이터의 안전한 저장을 위한 키 관리 방법 및 그 장치 |
CN113330712A (zh) * | 2018-11-13 | 2021-08-31 | 蓝捕快股份公司 | 采用基于排列群的加密技术的加密***及方法 |
WO2020101325A1 (ko) * | 2018-11-13 | 2020-05-22 | (주)블루팝콘 | 순열그룹 기반의 암호화 기술을 적용한 암호화시스템 및 방법 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4150328B2 (ja) * | 2003-12-08 | 2008-09-17 | 日本電信電話株式会社 | ハイブリッド暗号装置およびハイブリッド暗号・復号方法 |
-
2007
- 2007-11-27 JP JP2007306081A patent/JP4934010B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2009128792A (ja) | 2009-06-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Mallouli et al. | A survey on cryptography: comparative study between RSA vs ECC algorithms, and RSA vs El-Gamal algorithms | |
US8429408B2 (en) | Masking the output of random number generators in key generation protocols | |
Hrestak et al. | Homomorphic encryption in the cloud | |
WO2015078533A1 (en) | Method and system for encrypting data | |
Mahesh et al. | Design of new security algorithm: Using hybrid Cryptography architecture | |
JP4934010B2 (ja) | 公開鍵暗号システム、公開鍵暗号方法、暗号化装置、復号化装置、暗号化プログラム及び復号化プログラム | |
EP4097914A1 (en) | Distributed symmetric encryption | |
Wu | Fully homomorphic encryption: Cryptography's holy grail | |
Zhang et al. | A review of homomorphic encryption and its applications | |
WO2018043049A1 (ja) | 暗号システム、暗号方法及び暗号プログラム | |
CA2742530C (en) | Masking the output of random number generators in key generation protocols | |
WO2019220900A1 (ja) | 暗号化システム、暗号化装置、復号装置、暗号化方法、復号方法、及びプログラム | |
Ahila et al. | State of art in homomorphic encryption schemes | |
JP6563857B2 (ja) | コミットメントシステム、共通参照情報生成装置、コミット生成装置、コミット受信装置、コミットメント方法、プログラム | |
JP5038866B2 (ja) | 暗号通信方法、暗号化装置、復号装置、及びそれらのプログラム | |
CN115065456A (zh) | 一种支持浮点运算的改进同态乘法加密方法 | |
JP4685621B2 (ja) | 鍵生成装置、暗号化装置、復号化装置、乗法型ナップザック暗号システム、乗法型ナップザック暗号復号方法およびプログラム | |
JP2005084568A (ja) | セキュリティ方法、セキュリティ装置及びセキュリティプログラム | |
JP7486688B2 (ja) | 暗号文変換システム、暗号文変換方法、及び暗号文変換プログラム | |
Roy | A homomorphism based zero knowledge proof of authentication for chinese remainder theorem based secret sharing | |
Matthias et al. | A Secure Model on Cloud using a Modified Rivest, Shamir and Adleman Algorithm along with Gray Codes | |
Bellafqira et al. | Sharing data homomorphically encrypted with different encryption keys | |
JP7520255B2 (ja) | 秘匿情報処理システム、秘匿情報処理方法、及び秘匿情報処理プログラム | |
JP5912281B2 (ja) | 復号結果検証装置、方法、システム及びプログラム | |
JP3587763B2 (ja) | 暗号化装置,復号装置,暗号通信システム及び記録媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20100114 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20110812 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20111102 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20111115 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120113 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20120207 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20120217 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150224 Year of fee payment: 3 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |