説明

公開鍵暗号システム、方法、暗号化装置、復号装置及びこれらのプログラム

【課題】暗号文オーバーヘッドを従来よりも小さくする技術を提供する。
【解決手段】pは素数であり、rは0以上p未満の整数であり、位数pの有限巡回群Gの生成元g,gが公開鍵に含まれ、u=g及びu=gが暗号文に含まれる公開鍵暗号方式を用いる。0以上p未満の整数wが秘密鍵に含まれ、gはgである。公開鍵暗号システムは、公開鍵を用いて平文mを暗号化してuを含むがuを含まない縮小暗号文を生成する縮小暗号文生成部11を含む暗号化装置1と、縮小暗号文に含まれるu及び秘密鍵に含まれるwを用いてuとしてuを計算する暗号文補充部21及び秘密鍵を用いて暗号文を復号して平文を生成する復号部22を含む復号装置2と、を含む。

【発明の詳細な説明】
【技術分野】
【0001】
この発明は、情報セキュリティ技術の応用技術に関する。特に、平文の暗号化を公開鍵で行い、復号を秘密鍵で行う公開鍵暗号の技術に関する。
【背景技術】
【0002】
公開鍵暗号方式として、例えば非特許文献1から非特許文献3にそれぞれ記載されているCramer−Shoup暗号、Kurosawa−Desmedt暗号及びOkamoto暗号が知られている。
【先行技術文献】
【非特許文献】
【0003】
【非特許文献1】Ronald Cramer, Victor Shoup, “A Practical Public Key Cryptosystem Provably Secure Against Adaptive Chosen Ciphertext Attack”, CRYPTO 1998, p.13-25
【非特許文献2】Kaoru Kurosawa, Yvo Desmedt, “A New Paradigm of Hybrid Encryption Scheme”, CRYPTO 2004 p.426-442
【非特許文献3】Tatsuaki Okamoto, “Authenticated Key Exchange and Key Encapsulation in the Standard Model”, ASIACRYPT 2007, p.474-484
【発明の概要】
【発明が解決しようとする課題】
【0004】
非特許文献1から非特許文献3に記載された公開鍵暗号方式は、暗号化の対象となる平文のサイズと、暗号化装置から復号装置に送信される暗号文のサイズとの差であるいわゆる暗号文オーバーヘッドが必ずしも小さくない。
【0005】
この発明の課題は、暗号文オーバーヘッドを従来よりも小さくすることである。
【課題を解決するための手段】
【0006】
この発明の1つの観点である公開鍵暗号システムは、pは素数であり、rは0以上p未満の整数であり、位数pの有限巡回群Gの生成元g,gが公開鍵に含まれ、u=g及びu=gが暗号文に含まれる公開鍵暗号方式を用いる。0以上p未満の整数wが秘密鍵に含まれ、gはgである。公開鍵暗号システムは、公開鍵を用いて平文mを暗号化してuを含むがuを含まない縮小暗号文を生成する縮小暗号文生成部を含む暗号化装置と、縮小暗号文に含まれるu及び秘密鍵に含まれるwを用いてuとしてuを計算する暗号文補充部及び秘密鍵を用いて暗号文を復号して平文を生成する復号部を含む復号装置と、を含む。
【発明の効果】
【0007】
を含まない縮小暗号文を暗号化装置から復号装置に送信される暗号文とすることにより、暗号文オーバーヘッドを小さくすることができる。
【図面の簡単な説明】
【0008】
【図1】公開鍵暗号システムの構成の例を説明するためのブロック図。
【図2】第二実施形態の縮小暗号文生成部の構成の例を説明するためのブロック図。
【図3】第二実施形態の復号装置の構成の例を説明するためのブロック図。
【図4】第三実施形態の縮小暗号文生成部の構成の例を説明するためのブロック図。
【図5】第三実施形態の復号装置の構成の例を説明するためのブロック図。
【図6】第四実施形態の縮小暗号文生成部の構成の例を説明するためのブロック図。
【図7】第四実施形態の復号装置の構成の例を説明するためのブロック図。
【図8】公開鍵暗号方法の処理の例を説明するためのフローチャート。
【発明を実施するための形態】
【0009】
以下、図面を参照してこの発明の実施形態を説明する。
【0010】
[第一実施形態]
この発明は、pは素数であり、rは0以上p未満の整数であり、位数pの有限巡回群Gの生成元g,gが公開鍵に含まれ、u=g及びu=gが暗号文に含まれる公開鍵暗号方式(以下、基方式という。)の一部に変更を加えたものである。
【0011】
第一実施形態は、基方式を限定せず、任意の基方式に適用することができる公開鍵暗号システム、方法、暗号化装置、復号装置である。
【0012】
例えば、以下のように基方式の一部を変更する。
【0013】
<一般的変更方式>
≪公開パラメータ≫基方式の公開パラメータと同様とする。
【0014】
≪鍵生成≫基方式の秘密鍵にw∈Zを加える。Zは0以上p未満の整数集合である。また、公開鍵中のgをgとする。
【0015】
≪暗号化≫基方式中の暗号文中のu=(gを削除する。uを削除した暗号文を縮小暗号文と呼ぶ。
【0016】
≪復号≫縮小暗号文中のuからu=uを計算する。その後、基方式の復号と同様に復号を行う。
【0017】
公開鍵暗号システムは、図1に例示するように、暗号化装置1、復号装置2及び鍵生成部3を例えば備える。暗号化装置1は、縮小暗号文生成部11を例えば備える。復号装置2は、暗号文補充部21及び復号部22を例えば備える。
【0018】
鍵生成部3は、基方式で定められた方式により秘密鍵及び公開鍵を生成して、秘密鍵を復号装置2に送信し、公開鍵を暗号化装置1、必要に応じて復号装置2に送信する(ステップG1)。この秘密鍵には、0以上p未満の整数wが秘密鍵に含まれる。また、この公開鍵中のgはgである。
【0019】
暗号化装置1は受信した公開鍵を記憶部12(例えば図2参照。)に記憶し、復号装置2は受信した秘密鍵及び公開鍵を記憶部23(例えば図3参照。)に記憶する。
【0020】
暗号化装置1の縮小暗号文生成部11は、公開鍵を用いて、平文mを暗号化してuを含むがuを含まない縮小暗号文を生成する(ステップE1、図8参照)。すなわち、基方式の暗号文からu=(gを削除したものを縮小暗号文とする。縮小暗号文は、復号装置2に送信される。
【0021】
復号装置2の暗号文補充部21は、受信した縮小暗号文に含まれるu及び秘密鍵に含まれるwを用いて、uを計算する(ステップD1)。この計算されたuが、基方式の暗号文におけるuとなる。このように、暗号文補充部21によりuが補充されて、基方式における暗号文が生成されることになる。
【0022】
復号装置2の復号部22は、基方式の復号方式と同様の方式により、秘密鍵を用いてこの生成された暗号文を復号して平文を生成する(ステップD2)。
【0023】
このように、uを含まない縮小暗号文を暗号化装置から復号装置に送信される暗号文とすることにより、少なくともuの分だけ暗号文オーバーヘッドを小さくすることができる。
【0024】
[第二実施形態]
第二実施形態は、第一実施形態の基方式としてCramer−Shoup暗号を用いたものである。つまり、Cramer−Shoup暗号に、第一実施形態で説明した<一般的変更方式>を適用したものである。第二実施形態は、この部分のみが第一実施形態と異なる。以下では、第一実施形態と異なる部分を中心に説明をして、同じ部分については重複説明を省略する。
【0025】
Cramer−Shoup暗号に、上記の<一般的変更方式>を適用すると、以下のようになる。なお、Cramer−Shoup暗号の詳細については、非特許文献1を参照のこと。
【0026】
<Cramer−Shoup暗号の変更方式>
≪公開パラメータ≫セキュリティパラメータkは正の整数であり、H:G→Z及びH:G→{0,1}はハッシュ関数であるとする。kは、例えば128又は160である。
【0027】
≪鍵生成≫pを大きな素数として、g,gを位数pの有限巡回群Gの生成元とする。整数の組(w,x,x,y,y,z)∈Zを生成する。例えば、w,x,x,y,y,zを0以上p未満の整数の乱数とする。g=gとする。pk=g,g,gx1,gx2,gy1,gy2,g)は公開鍵であり、sk=(w,x,x,y,y,z)は秘密鍵である。
【0028】
ここで、gの右肩のx1は、xのことである。このように、この出願において、ある文字の右肩に載る文字列の中の数字は、下付きの数字を表わすとする。例えば、後述するux1+y1αにおいては、文字uの右肩に載る文字列x1+y1αの中の数字である1は下付きの数字を表わすため、この文字列x1+y1αはx+yαを意味する。
【0029】
≪暗号化≫平文m∈G及び公開鍵pkを入力とする。乱数r∈Zを生成し、u=g,u=g,e=m・(g,α=H(u,u,e),v=(gx1x2・(gy1y2rαを計算する。CT=(u,e,v)を縮小暗号文として出力する。
【0030】
≪復号≫縮小暗号文CT=(u,e,v)及び秘密鍵skを入力とする。u=uを計算する。α=H(u,u,e)を計算する。ux1+y1α・ux2+y2αを計算する。ux1+y1α・ux2+y2α≠vなら、入力された縮小暗号文は不正である旨のエラーを出力する。そうでなければ、m=e・u−zを平文mとして出力する。
【0031】
なお、この上記の例では、暗号化においてv=(gx1x2・(gy1y2rαとし、復号においてux1+y1α・ux2+y2α=vであるかを判定しているが、v=H((gx1x2・(gy1y2rα)とし、復号においてH(ux1+y1α・ux2+y2α)=vであるかを判定してもよい。このように、ハッシュ関数Hを用いることにより、vのサイズを更に小さくすることができ、すなわち縮小暗号文のサイズを更に小さくすることができ、更に暗号文オーバーヘッドを小さくすることができる。
【0032】
上記の変更方式は、図2に例示する、暗号化装置1の縮小暗号文生成部11及び図3に例示する復号装置2により実現される。
【0033】
図2は、第二実施形態の暗号化装置1の縮小暗号文生成部11を説明するためのブロック図である。記憶部12には、公開鍵pk、平文mが記憶されている。縮小暗号文生成部11の各部は適宜この記憶部12に記憶された公開鍵pk、平文mを読み込んで計算を行う。
【0034】
第一暗号情報生成部14は、第一暗号情報u=gを計算する。計算された第一暗号情報uは、第四暗号情報生成部17及び出力部13に送られる。
【0035】
第二暗号情報生成部15は、第二暗号情報u=gを計算する。計算された第二暗号情報uは、第四暗号情報生成部17に送られる。
【0036】
第三暗号情報生成部16は、第三暗号情報e=m・(gを計算する。計算された第三暗号情報eは、第四暗号情報生成部17及び出力部13に送られる。
【0037】
第四暗号情報生成部17は、第四暗号情報α=H(u,u,e)を計算する。計算された第四暗号情報αは、第五暗号情報生成部18に送られる。
【0038】
第五暗号情報生成部18は、第五暗号情報v=(gx1x2・(gy1y2rαを計算する。計算されたvは、出力部13に送られる。先に述べたように、第五暗号情報生成部18は、第五暗号情報v=H((gx1x2・(gy1y2rα)を計算してもよい。
【0039】
出力部13は、第一暗号情報及u、第三暗号情報e及び第五暗号情報vの組(u,e,v)を縮小暗号文として出力する。この縮小暗号文は、復号装置2に送信される。
【0040】
図3は、第二実施形態の復号装置2を説明するためのブロック図である。記憶部23には、受信した縮小暗号文及び秘密鍵skが記憶されている。復号装置2の各部は適宜この記憶部23に記憶された縮小暗号文及び秘密鍵skを読み込んで計算を行う。
【0041】
暗号文補充部21は、縮小暗号文に含まれるu及び秘密鍵に含まれるwを用いてuを計算して、その計算結果をuとする。uは、第一復号情報生成部25に送られる。
【0042】
第一復号情報生成部25は、第一復号情報α=H(u,u,e)を計算する。計算された第一復号情報αは、第二復号情報生成部26に送られる。
【0043】
第二復号情報生成部26は、第二復号情報ux1+y1α・ux2+y2αを計算する。計算された第二復号情報ux1+y1α・ux2+y2αは、出力部24に送られる。
【0044】
第三復号情報生成部27は、第三復号情報m=e・u−zを計算する。計算された第三復号情報mは、出力部24に送られる。
【0045】
出力部24は、第二復号情報ux1+y1α・ux2+y2α=vであるか判定する。ux1+y1α・ux2+y2α=vであれば、第三復号情報mを平文として出力する。ux1+y1α・ux2+y2α=vでなければ、受信した縮小暗号文は不正である旨の情報を出力する。
【0046】
なお、第五暗号情報生成部18が、第五暗号情報v=H((gx1x2・(gy1y2rα)を計算した場合には、第二復号情報生成部26は、第二復号情報H(ux1+y1α・ux2+y2α)を計算する。計算された第二復号情報H(ux1+y1α・ux2+y2α)は、出力部24に送られる。
【0047】
そして、この場合、出力部24は、第二復号情報H(ux1+y1α・ux2+y2α)=vであるか判定する。H(ux1+y1α・ux2+y2α)=vであれば、第三復号情報mを平文として出力する。H(ux1+y1α・ux2+y2α)=vでなければ、受信した縮小暗号文は不正である旨の情報を出力する。
【0048】
基方式としてCramer−Shoup暗号を用いることにより、ハッシュ関数の入出力の組についての情報であるハッシュリストが漏洩したとしても、いわゆる選択暗号文攻撃安全性を保つことができる。
【0049】
[第三実施形態]
第三実施形態は、第一実施形態の基方式としてKurosawa−Desmedt暗号を用いたものである。つまり、Kurosawa−Desmedt暗号に、第一実施形態で説明した<一般的変更方式>を適用したものである。第三実施形態は、この部分のみが第一実施形態と異なる。以下では、第一実施形態と異なる部分を中心に説明をして、同じ部分については重複説明を省略する。
【0050】
Kurosawa−Desmedt暗号に、上記の<一般的変更方式>を適用すると、以下のようになる。なお、Kurosawa−Desmedt暗号の詳細については、非特許文献2を参照のこと。
【0051】
<Kurosawa−Desmedt暗号の変更方式>
≪公開パラメータ≫セキュリティパラメータkは正の整数であり、H:G→Zはハッシュ関数であり、KDF:G→{0,1}を所定の鍵導出関数とする。
【0052】
≪鍵生成≫pを大きな素数として、g,gを位数pの有限巡回群Gの生成元とする。整数の組(w,x,x,y,y)∈Zを生成する。例えば、w,x,x,y,yは0以上p未満の整数の乱数である。g=gとする。pk=(g,g,gx1x2,gy1y2)は公開鍵であり、sk=(w,x,x,y,y)は秘密鍵である。
【0053】
≪暗号化≫nを整数として平文m∈{0,1}及び公開鍵pkを入力とする。乱数r∈Zを生成し、u=g,u=g,α=H(u,u),v=(gx1x2・(gy1y2rα,K=KDF(v)を計算する。所定の共通鍵暗号方式を用いて上記Kを共通鍵として平文mを暗号化した情報であるχを計算する。CT=(u,χ)を縮小暗号文として出力する。
【0054】
≪復号≫縮小暗号文CT=(u,χ)及び秘密鍵skを入力とする。u=uを計算する。α=H(u,u)を計算する。v=ux1+y1α・ux2+y2αを計算する。K=KDF(v)を計算する。共通鍵暗号方式を用いてKを共通鍵としてχを復号した情報を平文として出力する。
【0055】
上記の変更方式は、図4に例示する、暗号化装置1の縮小暗号文生成部11及び図5に例示する復号装置2により実現される。
【0056】
図4は、第三実施形態の暗号化装置1の縮小暗号文生成部11を説明するためのブロック図である。記憶部12には、公開鍵pk、平文mが記憶されている。縮小暗号文生成部11の各部は適宜この記憶部12に記憶された公開鍵pk、平文mを読み込んで計算を行う。
【0057】
第一暗号情報生成部14は、第一暗号情報u=gを計算する。計算された第一暗号情報uは、第三暗号情報生成部16及び出力部13に送られる。
【0058】
第二暗号情報生成部15は、第二暗号情報u=gを計算する。計算された第二暗号情報uは、第三暗号情報生成部16に送られる。
【0059】
第三暗号情報生成部16は、第三暗号情報α=H(u,u)を計算する。計算された第三暗号情報αは、第四暗号情報生成部17に送られる。
【0060】
第四暗号情報生成部17は、第四暗号情報v=(gx1x2・(gy1y2rαを計算する。計算された第四暗号情報vは、第五暗号情報生成部18に送られる。
【0061】
第五暗号情報生成部18は、第五暗号情報K=KDF(v)を計算する。計算された第五暗号情報Kは、第六暗号情報生成部19に送られる。
【0062】
第六暗号情報生成部19は、所定の共通鍵暗号方式を用いて第五暗号情報Kを共通鍵として平文mを暗号化した情報である第六暗号情報χを計算する。計算された第六暗号情報χは、出力部13に送られる。
【0063】
出力部13は、第一暗号情報及u及び第六暗号情報χの組(u,χ)を縮小暗号文として出力する。この縮小暗号文は、復号装置2に送信される。
【0064】
図5は、第三実施形態の復号装置2を説明するためのブロック図である。記憶部23には、受信した縮小暗号文及び秘密鍵skが記憶されている。復号装置2の各部は適宜この記憶部23に記憶された縮小暗号文及び秘密鍵skを読み込んで計算を行う。
【0065】
暗号文補充部21は、縮小暗号文に含まれるu及び秘密鍵に含まれるwを用いてuを計算して、その計算結果をuとする。uは、第一復号情報生成部25及び第二復号情報生成部26に送られる。
【0066】
第一復号情報生成部25は、第一復号情報α=H(u,u)を計算する。計算された第一復号情報αは、第二復号情報生成部26に送られる。
【0067】
第二復号情報生成部26は、第二復号情報v=ux1+y1α・ux2+y2αを計算する。計算された第二復号情報vは、第三復号情報生成部27に送られる。
【0068】
第三復号情報生成部27は、第三復号情報K=KDF(v)を計算する。計算された第三復号情報Kは、第四復号情報生成部28に送られる。
【0069】
第四復号情報生成部28は、所定の共通鍵暗号方式を用いて第三復号情報Kを共通鍵としてχを復号した情報である第四復号情報mを計算して平文として出力する。
【0070】
基方式としてKurosawa−Desmedt暗号を用いることにより、ハッシュ関数の入出力の組についての情報であるハッシュリストが漏洩したとしても、いわゆる選択暗号文攻撃安全性を保つことができる。
【0071】
[第四実施形態]
第四実施形態は、第一実施形態の基方式としてOkamoto暗号を用いたものである。つまり、Okamoto暗号に、第一実施形態で説明した<一般的変更方式>を適用したものである。第三実施形態は、この部分のみが第一実施形態と異なる。以下では、第一実施形態と異なる部分を中心に説明をして、同じ部分については重複説明を省略する。
【0072】
Okamoto暗号に、上記の<一般的変更方式>を適用すると、以下のようになる。なお、Okamoto暗号の詳細については、非特許文献1を参照のこと。
【0073】
<Okamoto暗号の変更方式>
≪公開パラメータ≫セキュリティパラメータkは正の整数であり、H:G→Zはハッシュ関数であり、F:G→{0,1}を鍵vを用いた擬似ランダム関数とする。
【0074】
≪鍵生成≫pを大きな素数として、g,gを位数pの有限巡回群Gの生成元とする。整数の組(w,x,x,y,y)∈Zを選択する。例えば、w,x,x,y,yを0以上p未満の整数の乱数とする。g=gとする。pk=(g,g,gx1x2,gy1y2)は公開鍵であり、sk=(x,x,y,y,w)は秘密鍵である。
【0075】
≪暗号化≫nを整数として平文m∈{0,1}及び公開鍵pkを入力とする。乱数r∈Zを生成し、u=g,u=g,α=H(gx1x2,gy1y2,u,u),v=(gx1x2・(gy1y2rα,K=F(pk,u,u)を計算する。所定の共通鍵暗号方式を用いてKを共通鍵として平文mを暗号化した情報であるχを計算する。CT=(u,χ)を縮小暗号文として出力する。
【0076】
≪復号≫縮小暗号文CT=(u,χ)及び秘密鍵skを入力とする。u=uを計算する。(gx1x2,gy1y2,u,u)∈Gである場合には、すなわち、gx1x2,gy1y2,u,uの少なくとも1つが有限巡回群Gの元でない場合には、受信した縮小暗号文が不正である旨の情報を出力する。gx1x2,gy1y2,u,uの全てが有限巡回群Gの元である場合には、α=H(gx1x2,gy1y2,u,u),v=ux1+y1α・ux2+y2α,K=F(pk,u,u)を計算し、所定の共通鍵暗号方式を用いてKを共通鍵としてχを復号した情報を計算して平文として出力する。
【0077】
上記の変更方式は、図6に例示する、暗号化装置1の縮小暗号文生成部11及び図7に例示する復号装置2により実現される。
【0078】
図6は、第四実施形態の暗号化装置1の縮小暗号文生成部11を説明するためのブロック図である。記憶部12には、公開鍵pk、平文mが記憶されている。縮小暗号文生成部11の各部は適宜この記憶部12に記憶された公開鍵pk、平文mを読み込んで計算を行う。
【0079】
第一暗号情報生成部14は、第一暗号情報u=gを計算する。計算された第一暗号情報uは、第三暗号情報生成部16、第五暗号情報生成部18及び出力部13に送られる。
【0080】
第二暗号情報生成部15は、第二暗号情報u=gを計算する。計算された第二暗号情報uは、第三暗号情報生成部16及び第五暗号情報生成部18に送られる。
【0081】
第三暗号情報生成部16は、第三暗号情報α=H(gx1x2,gy1y2,u,u)を計算する。計算された第三暗号情報αは、第四暗号情報生成部17に送られる。
【0082】
第四暗号情報生成部17は、第四暗号情報v=(gx1x2・(gy1y2rαを計算する。計算された第四暗号情報生成部vは、第五暗号情報生成部18に送られる。
【0083】
第五暗号情報生成部18は、第五暗号情報K=F(pk,u,u)を計算する。計算された第五暗号情報Kは、第六暗号情報生成部19に送られる。
【0084】
第六暗号情報生成部19は、所定の共通鍵暗号方式を用いて第五暗号情報Kを共通鍵として平文mを暗号化した情報である第六暗号情報χを計算する。計算された第六暗号情報χは、出力部13に送られる。
【0085】
出力部13は、第一暗号情報及u及び第六暗号情報χの組(u,χ)を縮小暗号文として出力する。この縮小暗号文は、復号装置2に送信される。
【0086】
図7は、第四実施形態の復号装置2を説明するためのブロック図である。記憶部23には、受信した縮小暗号文及び秘密鍵skが記憶されている。復号装置2の各部は適宜この記憶部23に記憶された縮小暗号文及び秘密鍵skを読み込んで計算を行う。
【0087】
暗号文補充部21は、縮小暗号文に含まれるu及び秘密鍵に含まれるwを用いてuを計算して、その計算結果をuとする。uは、第一復号情報生成部25、第二復号情報生成部26及び第三復号情報生成部27に送られる。
【0088】
判定部29は、gx1x2,gy1y2,u,uの全てが有限巡回群Gの元であるか判定する。
【0089】
第一復号情報生成部25は、第一復号情報α=H(gx1x2,gy1y2,u,u)を計算する。
【0090】
第二復号情報生成部26は、第二復号情報v=ux1+y1α・ux2+y2αを計算する。計算された第二復号情報vは、第三復号情報生成部27に送られる。
【0091】
第三復号情報生成部27と、第三復号情報K=F(pk,u,u)を計算する。計算された第三復号情報Kは、第四復号情報生成部28に送られる。
【0092】
判定部において、gx1x2,gy1y2,u,uの全てが有限巡回群Gの元であると判定されている場合には、第四復号情報生成部28は、所定の共通鍵暗号方式を用いて第三復号情報Kを共通鍵としてχを復号した情報である第四復号情報mを計算して平文として出力する。この所定の共通鍵暗号方式は、暗号化装置1が用いた共通暗号方式と同じものである。判定部29において、gx1x2,gy1y2,u,uの全てが有限巡回群Gの元であると判定されていない場合には、受信した縮小暗号文が不正である旨の情報を出力する。
【0093】
基方式としてOkamoto暗号を用いることにより、ハッシュ関数の入出力の組についての情報であるハッシュリストが漏洩したとしても、いわゆる選択暗号文攻撃安全性を保つことができる。
【0094】
[他の変形例]
この例では、暗号化装置1、復号装置2及び鍵生成部3のそれぞれが別の装置によって実現されているが、暗号化装置1、復号装置2及び鍵生成部3は同一の装置により実現されてもよい。また、鍵生成部3は、復号装置2に設けられていてもよい。
【0095】
暗号化装置1をコンピュータによって実現する場合、暗号化装置1の各部の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、暗号化装置1の各部の処理機能がコンピュータ上で実現される。
【0096】
同様に、復号装置2をコンピュータによって実現する場合、復号装置2の各部の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、復号装置2の各部の処理機能がコンピュータ上で実現される。
【0097】
これらのプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。
【0098】
この発明は上記の実施形態及び変形例に限定されるものではない。例えば、上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
【符号の説明】
【0099】
1 暗号化装置
11 縮小暗号文生成部
12 記憶部
13 出力部
14 第一暗号情報生成部
15 第二暗号情報生成部
16 第三暗号情報生成部
17 第四暗号情報生成部
18 第五暗号情報生成部
19 第六暗号情報生成部
2 復号装置
21 暗号文補充部
22 復号部
23 記憶部
24 出力部
25 第一復号情報生成部
26 第二復号情報生成部
27 第三復号情報生成部
28 第四復号情報生成部
29 判定部
3 鍵生成部

【特許請求の範囲】
【請求項1】
pは素数であり、rは0以上p未満の整数であり、位数pの有限巡回群Gの生成元g,gが公開鍵に含まれ、u=g及びu=gが暗号文に含まれる公開鍵暗号方式を用いた公開鍵暗号システムにおいて、
0以上p未満の整数wが秘密鍵に含まれ、上記gはgであり、
上記公開鍵を用いて平文mを暗号化して上記uを含むが上記uを含まない縮小暗号文を生成する縮小暗号文生成部を含む暗号化装置と、
上記縮小暗号文に含まれるu及び上記秘密鍵に含まれるwを用いて上記uとしてuを計算する暗号文補充部と、上記秘密鍵を用いて上記暗号文を復号して平文mを生成する復号部とを含む復号装置と、を含む、
公開鍵暗号システム。
【請求項2】
請求項1に記載の公開鍵暗号システムにおいて、
セキュリティパラメータkは正の整数であり、H:G→Z及びH:G→{0,1}はハッシュ関数であり、
,x,y,y,zは0以上p未満の整数であり、g,g,gx1,gx2,gy1,gy2,gは公開鍵であり、x,x,y,y,z,wは秘密鍵であり、
上記縮小暗号文生成部は、第一暗号情報u=gを計算する第一暗号情報生成部と、第二暗号情報u=gを計算する第二暗号情報生成部と、第三暗号情報e=m・(gを計算する第三暗号情報生成部と、第四暗号情報α=H(u,u,e)を計算する第四暗号情報生成部と、第五暗号情報v=H((gx1x2・(gy1y2rα)を計算する第五暗号情報生成部と、上記第一暗号情報及u、上記第三暗号情報e及び上記第五暗号情報vの組(u,e,v)を上記縮小暗号文として出力する出力部と、を含み、
上記復号部は、第一復号情報α=H(u,u,e)を計算する第一復号情報生成部と、第二復号情報H(ux1+y1α・ux2+y2α)を計算する第二復号情報生成部と、第三復号情報m=e・u−zを計算する第三復号情報生成部と、上記第二復号情報H(ux1+y1α・ux2+y2α)=vであれば上記第三復号情報mを平文mとして出力する出力部と、を含む、
公開鍵暗号システム。
【請求項3】
請求項1に記載の公開鍵暗号システムにおいて、
セキュリティパラメータkは正の整数であり、H:G→Zはハッシュ関数であり、KDF:G→{0,1}を鍵導出関数として、
,x,y,yは0以上p未満の整数であり、g,g,gx1x2,gy1y2は公開鍵であり、x,x,y,y,wは秘密鍵であり、
上記縮小暗号文生成部は、第一暗号情報u=gを計算する第一暗号情報生成部と、第二暗号情報u=gを計算する第二暗号情報生成部と、第三暗号情報α=H(u,u)を計算する第三暗号情報生成部と、第四暗号情報v=(gx1x2・(gy1y2rαを計算する第四暗号情報生成部と、第五暗号情報K=KDF(v)を計算する第五暗号情報生成部と、所定の共通鍵暗号方式を用いて上記第五暗号情報Kを共通鍵として平文mを暗号化した情報である第六暗号情報χを計算する第六暗号情報生成部と、上記第一暗号情報及u及び上記第六暗号情報χの組(u,χ)を上記縮小暗号文として出力する出力部と、を含み、
上記復号部は、第一復号情報α=H(u,u)を計算する第一復号情報生成部と、第二復号情報v=ux1+y1α・ux2+y2αを計算する第二復号情報生成部と、第三復号情報K=KDF(v)を計算する第三復号情報生成部と、上記共通鍵暗号方式を用いて上記第三復号情報Kを共通鍵としてχを復号した情報である第四復号情報mを計算して平文として出力する第四復号情報生成部と、を含む、
公開鍵暗号システム。
【請求項4】
請求項1に記載の公開鍵暗号システムにおいて、
セキュリティパラメータkは正の整数であり、H:G→Zはハッシュ関数であり、F:G→{0,1}を鍵vを用いた擬似ランダム関数として、
,x,y,yは0以上p未満の整数であり、g,g,gx1x2,gy1y2は公開鍵であり、x,x,y,y,wは秘密鍵であり、
上記縮小暗号文生成部は、第一暗号情報u=gを計算する第一暗号情報生成部と、第二暗号情報u=gを計算する第二暗号情報生成部と、第三暗号情報α=H(gx1x2,gy1y2,u,u)を計算する第三暗号情報生成部と、第四暗号情報v=(gx1x2・(gy1y2rαを計算する第四暗号情報生成部と、第五暗号情報K=F(pk,u,u)を計算する第五暗号情報生成部と、所定の共通鍵暗号方式を用いて上記第五暗号情報Kを共通鍵として平文mを暗号化した情報である第六暗号情報χを計算する第六暗号情報生成部と、上記第一暗号情報及u及び上記第六暗号情報χの組(u,χ)を上記縮小暗号文として出力する出力部と、を含み、
上記復号部は、第一復号情報α=H(gx1x2,gy1y2,u,u)を計算する第一復号情報生成部と、第二復号情報v=ux1+y1α・ux2+y2αを計算する第二復号情報生成部と、第三復号情報K=F(pk,u,u)を計算する第三復号情報生成部と、gx1x2,gy1y2,u,uの全てが上記有限巡回群Gの元である場合には上記共通鍵暗号方式を用いて上記第三復号情報Kを共通鍵としてχを復号した情報である第四復号情報mを計算して平文として出力する第四復号情報生成部と、を含む、
公開鍵暗号システム。
【請求項5】
pは素数であり、rは0以上p未満の整数であり、位数pの有限巡回群Gの生成元g,gが公開鍵に含まれ、u=g及びu=gが暗号文に含まれる公開鍵暗号方式を用いた公開鍵暗号方法において、
0以上p未満の整数wが秘密鍵に含まれ、上記gはgであり、
上記公開鍵を用いて平文mを暗号化して上記uを含むが上記uを含まない縮小暗号文を生成する縮小暗号文生成ステップと、
上記縮小暗号文に含まれるu及び上記秘密鍵に含まれるwを用いて、上記uとしてuを計算する暗号文補充ステップと、
上記秘密鍵を用いて上記暗号文を復号して平文mを生成する復号ステップと、を含む、
公開鍵暗号方法。
【請求項6】
pは素数であり、rは0以上p未満の整数であり、位数pの有限巡回群Gの生成元g,gが公開鍵に含まれ、u=g及びu=gが暗号文に含まれる公開鍵暗号方式を用いた公開鍵暗号システムの暗号化装置において、
0以上p未満の整数wが秘密鍵に含まれ、上記gはgであり、
上記公開鍵を用いて、平文mを暗号化して上記uを含むが上記uを含まない縮小暗号文を生成する縮小暗号文生成部を含む、
暗号化装置
【請求項7】
pは素数であり、rは0以上p未満の整数であり、位数pの有限巡回群Gの生成元g,gが公開鍵に含まれ、u=g及びu=gが暗号文に含まれる公開鍵暗号方式を用いた公開鍵暗号システムの復号装置において、
0以上p未満の整数wが秘密鍵に含まれ、上記gはgであり、
上記公開鍵を用いて平文mを暗号化した上記uを含むが上記uを含まない縮小暗号文を受信し、その受信した縮小暗号文に含まれるu及び上記秘密鍵に含まれるwを用いて上記uとしてuを計算する暗号文補充部と、
上記秘密鍵を用いて上記暗号文を復号して平文mを生成する復号部と、を含む、
復号装置。
【請求項8】
請求項6の暗号化装置の各部としてコンピュータを機能させるためのプログラム。
【請求項9】
請求項7の復号装置の各部としてコンピュータを機能させるためのプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公開番号】特開2012−118365(P2012−118365A)
【公開日】平成24年6月21日(2012.6.21)
【国際特許分類】
【出願番号】特願2010−269059(P2010−269059)
【出願日】平成22年12月2日(2010.12.2)
【出願人】(000004226)日本電信電話株式会社 (13,992)
【Fターム(参考)】