JP3668138B2 - Signed ciphertext conversion method, verification method thereof, and apparatus thereof - Google Patents
Signed ciphertext conversion method, verification method thereof, and apparatus thereof Download PDFInfo
- Publication number
- JP3668138B2 JP3668138B2 JP2001010061A JP2001010061A JP3668138B2 JP 3668138 B2 JP3668138 B2 JP 3668138B2 JP 2001010061 A JP2001010061 A JP 2001010061A JP 2001010061 A JP2001010061 A JP 2001010061A JP 3668138 B2 JP3668138 B2 JP 3668138B2
- Authority
- JP
- Japan
- Prior art keywords
- mod
- signature
- input
- calculate
- key
- 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 - Lifetime
Links
Images
Description
【0001】
【発明の属する技術分野】
この発明は、電気通信システムで送信者の身元を確認すると同時に送信内容の秘匿化を行う暗号通信方法、特にその署名付き暗号文を任意の第三者が検証可能な暗号文に変換する方法及びその装置に関する。
【0002】
【従来の技術】
送信者と受信者が、盗聴、改ざん、成りすましの恐れのある通信網を介して、安全に通信を行う方法として、任意のディジタル署名方法と公開鍵暗号化方法とを組み合わせる方法がある。
送信者USの署名鍵、署名検証鍵をそれぞれx,yとし、受信者URの暗号化鍵、復号鍵をそれぞれe,dとする。yおよびeは公開されており、送信者US,受信者URはこれらを保持しているものとする。
【0003】
送信する平文をmとし、Eを暗号化関数とし、Ee(m)はメッセージmを暗号化鍵eで暗号化した暗号文を表し、Dを暗号化関数Eに対応する復号関数とし、Dd(c)は暗号文cを復号鍵dで復号して得られる平文を表す。すなわち、m=Dd(Ee(m))が成り立つ。Sを署名関数とし、Sx(m)はメッセージmに対する署名鍵xによる署名を表し、Vを検証関数とし、Vy(a,m)を署名‐メッセージ対(a,m)を署名検証鍵yで検証した結果を表す。検証結果は1または0のいずれかであり、a=Sx(m)のとき、またそのときに限りVy(a,m)=1となるものとする。
【0004】
平文mを送信する場合、送信者USはまず平文mを暗号鍵eで暗号化して暗号文C=Ee(m)を得る。次に暗号文Cに対する署名a=Sx(C)を署名鍵xを用いて作成する。送信文ΣはΣ=(C,a)であり、送信者USは送信文Σを受信者URへ送信する。
受信者URは暗号文Cと署名aを受信し、まず、署名検証鍵yを用いてVy(a,C)が1となることを検証する。1とならない場合は、受信したC,aを不正データとみなして破棄する。検証結果が1であれば復号鍵dを用いて、m=Dd(C)を計算し、平文mを得る。
【0005】
署名、暗号方式にそれぞれSchnorr署名とEl Gamal暗号を用いた場合について具体的な方法を説明する。ps、qsを大きな素数とし、q s が (p s -1)を割り切るものとする。gsをZps *(Zps *は整数1,2,…,psの群である)における位数qsの元とする。pr,qr,grも同様に定義する(添字psはpsを表す、以下同様)。H1(・)、H2(・)をそれぞれ一方向性ハッシュ関数とし、二項演算子A‖BはAとBを結合した値を表すps,qs,gs,pr,qr,gr は公開される。
送信者USはSchnorr署名の署名鍵xをZqs(Zqsは整数0,1,2,…,qs-1の群である)からランダムに選び、署名検証鍵yをy=gs xmod psの計算により求めて、このyを公開する。受信者URはElGamal暗号の復号鍵dをZqrからランダムに選び、暗号鍵e=gr dmod pr を計算してeを公開する。
【0006】
ElGamal暗号による暗号文CはC=(G,M)=(gr umod pr,EK s (m))であり、このCに対するSchnorr署名aはa=(c,z)=(H1(gs v‖C),v-cxmod qs)である。ここで、u,vはそれぞれZqrおよびZqsからランダムに選ばれた乱数、Esは例えばDESのような、対称鍵暗号の暗号化関数、KはK=H2(ewmod pr)である。
受信者は、c=H1(gs xycmod ps‖C)が成り立つことを確認し、次に、K=H2(Gdmod pr), m=DK s (M)を計算して平文mを得る。ここで、DsはEsに対応する対称鍵暗号の復号関数とする。
【0007】
上記従来技術によれば、ディジタル署名の性質により、Vy(a,C)=1となる署名aを作成できるのは検証鍵yに対応した署名鍵xを保持している送信者のみであり、従って、受信者はCの作成者を認証することができる。また、Cの作成者は署名の事実を否認することができない。
【0008】
【発明が解決しようとする課題】
上記従来法によれば、送信者と受信者以外の第三者は、どのようなメッセージmに対する署名であるかを確認することができない。受信者が第三者的な検証者に対してmを公開したとしても、mが正しくCから復号されたものであるかどうか検証者には確認できない。例えば送信者が正しいものを送信したと主張しても、それが正しいものかを第三者に検証してもらうことができない、同様に受信者が受信文を不正のものだと主張した場合に、その主張が正しいか否か第三者に検証してもらうことができない。
【0009】
この発明は、署名付き暗号化方法で作成された特定の検証者のみが検証可能な署名を、任意の第三者が検証可能な通常のディジタル署名に変換する方法、その検証方法、及びこれらの装置を提供することを目的とする。
【0010】
【課題を解決するための手段】
この発明によれば送信された暗号文Cを復号するためのセッション鍵K又はこれと対応する鍵情報Wを公開し、Kが正しいセッション鍵であることを証明する非対話ゼロ知識証明を送信文書に添付し、これらを、暗号文Cを鍵Kで復号した文書mに対する署名とする。
受信者端末が上記変換を行う場合、セッション鍵Kが、受信者端末の暗号化鍵に対応する復号鍵と正しい関係にあることを証明する非対話ゼロ知識証明を暗号文Cに添付する。
【0011】
送信者端末が上記変換を行う場合、セッション鍵Kが、送信者端末が暗号化に用いた乱数と正しい関係にあることを証明する非対話ゼロ知識証明を暗号文Cに添付する。
検証者端末は、非対話ゼロ知識証明が正しいことおよび、送信された暗号文に対する署名が正しいことを検証する。
上記非対話ゼロ知識証明によって、受信者あるいは送信者は、公開されたセッション鍵が送信された署名付き暗号文に対する正しいセッション鍵であることを任意の第三者に納得させることができる。任意の第三者の検証者端末は、そのセッション鍵を用いて平文mを得ることができるため、必要に応じて付与された署名が文書mに対するものであることを検証することができる。
【発明の実施の形態】
実施形態1
Esを秘密鍵暗号関数とし、EK s (m)は鍵Kで平文mを暗号化してできる暗号文を表す。同様に、DsをEsに対応する秘密鍵復号関数とし、DK s (C)は鍵Kで暗号文Cを復号して得られる平文を表す。例えば、関数E,Dには、Triple-DESやIDEA、等のブロック暗号のCBCモードやOFBモードにおける暗号化関数、復号関数を用いてよい。もしくは、メッセージmが短い場合には、関数E,Dとして、それぞれKとm、KとCの排他的論理和やmod pでの群演算を用いても良い。
【0012】
H1(・)、H2(・)を一方向性ハッシュ関数とし、二項演算子a‖bはaとbを結合した値を表す。ハッシュ関数には、例えば、SHA-1を用いてもよい。
ps、qsを大きな素数とし、q s が (p s -1)を割り切るものとする。gsをZps *における位数qsの元とする。pr,qr,grも同様に定義する。
この実施形態1は図1に示すように送信者端末100から公衆通信網200を介して受信者端末300に受信された署名付き暗号文を第三者が検証可能な通常のディジタル署名に変換して公衆通信網200を介して第三者の検証者端末400へ送信し、検証者端末400で署名の検証と復号とができるようにした場合である。
【0013】
送信者端末100ではSchnorr署名の署名鍵xをZqsからランダムに選び、署名検証鍵y=gs x mod psを計算してyを公開する。受信者端末300はElGamal暗号の復号鍵dをZqrからランダムに選び、暗号鍵e=gr dmod prを計算してeを公開する。
ElGamal暗号による暗号文CはC=(G, M)=(gr umod pr, EK s (m))であり、このCに対するSchnorr署名aはa=(c, z)=(H1(gs v‖C), v-cx mod qs)である。ここで,u,vはそれぞれZqrおよびZqsからランダムに選ばれた乱数、KはK=H2(ewmod pr)である。送信者端末100はこれら暗号文Cと署名を生成して、送信文(C,a)を受信者端末300へ送信する。
【0014】
受信者端末300は受信文(C,a)についてc=H1(gs xycmod ps‖C)が成り立つことを確認し、次に、W=Gd mod pr, K=H2(W), m=DK s(M)を計算して平文mを得る。
上記のElGamal暗号とSchnorr署名による署名付き暗号文Σ=(C,a)を受信者端末300において任意の第三者が検証可能な署名に変換する方法および、その署名の検証方法について説明する。
図2に受信者端末300中のこの署名変換に必要とする部分のみを示す。この部分には変換したい署名付き暗号文Σ=(C,a),C=(G,M)中のGと、その復号平文mとが入力される。乱数生成器305からZqrに属する乱数uを生成し、乱数uと、変換したい暗号文C=(G,M)中のGと、メモリ302からのprとをべき乗剰余演算器306に入力して、Gumod prを計算し、またuとメモリ302からのgr, prとをべき乗剰余演算器307に入力してgr u mod prを計算し、前記Gとメモリ302からのd,prとをべき乗剰余演算器308に入力してW=Gd mod prを計算し、これらべき乗剰余演算器306,307,308の各計算結果と、Gと復号された平文mとをハッシュ器309に入力して、i=H3(G‖W‖Gumod pr‖gr umod pr‖m)を計算する。その計算結果iと、乱数uと、メモリ302よりのqr,dとを剰余乗算・減算器311に入力してj=u-idmod qrを計算する。前記変換したい署名付き暗号文Σと計算したWとiとjを送信文(Σ,W,i,j)として送信器312から検証者端末400へ送信する。
【0015】
検証者端末400は任意の第三者の端末であるから、Wは公開されたことになり、一方向性ハッシュ関数H1(・)は公開されているから、第三者はK=H1(W)を演算してセッション鍵Kを入手できる。つまりセッション鍵Kが公開されたことと実質的に等しくなる。従ってWを公開鍵情報と記す。また(W,i,j)はKが正しいセッション鍵Kであることを証明する非対話ゼロ知識証明である。
なお図2中の各部は制御部313により順次又は並列的にその処理を行うようにされる。
【0016】
検証者端末400では受信者端末300から送信された変換された署名付き暗号文(Σ,W,i,j)を受信器401で受信し、その受信したWをハッシュ器402に入力して、K=H2(W)を計算してセッション鍵Kを出力し、そのKと受信したMを復号器403に入力して、KでMに対し復号関数m=DK s(M)を計算して平文mを出力する。受信したa=(C,z)とメモリ404からのgs,ps,y をべき乗剰余演算器405に入力して、V=gs zycmod psを計算してVを出力し、そのVと受信したC=(M,G)をハッシュ器406に入力してc=H1(V‖C)を計算し、その計算結果のcと受信したa中のcとが一致するか否かを比較器407で調べる。
【0017】
更に受信したi,jと、メモリ404からのgr,pr,eとをべき乗剰余演算器408に入力してgr jeimod prを計算し、また受信したC=(G,W)のGと、Wと、a=(C,z)と、メモリ404からのprとをべき乗剰余演算器409に入力してGjWimod prを計算する。受信したGとWと、復号器403の出力mと、べき乗剰余演算器408,409の各出力とをハッシュ器411に入力してH3(G‖W‖GjWimod pr‖gr jeimod pr‖m)を演算して、この演算結果と受信したiとを比較器412で比較し、一致するか否かを調べる。比較器407及び412の各比較結果が共に一致であれば署名は正しいものとし、復号器403の出力mを正しい平文と認めることができる。比較器407,412の比較でいずれかでも不一致であればこの受信した暗号文Cに対する署名を不正とすることができる。
【0018】
つまり比較器412においてはH3(・)の計算がされるべき変数とiの式の中の同様の変数とを比較すると、前者のGjWimod prと後者のGumod prとが等しく、かつ、前者のgr jeimod prと後者のgr umod prとが等しければ比較器412は両入力が一致していると判断することになる。GjWimod pr ・j=u-idmod qrとW=Gdmod prを代入するとG(u-id)Gidmod pr=Gumod prとなり、また同様にgr jeimod prにj=u-idmod qrとe=gr d mod prを代入するとgr u mod prとなる。従って、比較器412が一致すれば復号鍵dを明かすことなく、その復号鍵dを持つものが(W,i,j)を作ったものであることになる。
【0019】
このことは受信文中の非対話ゼロ知識証明(W,i,j)は、関係式loggre=logGWであること、e=gr dmod pr であり、W=Gdmod pr であるから、前記対数の関係式の両辺はともにdであることを証明しており、この検証式が満足された場合、復号鍵Kを作る基になるW(=Gd mod pr)が、Gと復号鍵d=loggre とから正しく作成されている事が保障される。この非対話ゼロ知識証明についての詳細はたとえばD.L.Chaan & T.R.Polersen. "Wallet Database with observers" pp.89-105, CRYPTO '92, LNCS740, Springer- Verlag, 1993を参照されている。ある署名aに対して、このように上記検証式を満足する(W,i,j)を作成できるのは秘密の復号鍵dを知る正当な受信者のみである。
【0020】
なお図3中の各部は制御部413により順次または並列的にその処理を行われるようにされる。
実施形態2
実施形態1において説明したElGamal 暗号とSchnorr署名による署名付き暗号文Σを、送信者端末100で任意の第三者が検証可能な署名付き暗号文に変換する方法およびその署名検証方法を説明する。
図4に送信者端末100における署名付き暗号文Σ=(C,a), C=(G,M)を変換する部分のみを示す。メモリ102からその暗号文Cの暗号化に用いた乱数wと、暗号鍵eと、prをべき乗剰余演算器103に入力して、W=ewmod prを計算してWを出力する。乱数生成器104によりZqrに属する乱数vを生成し、そのvと、メモリ102からのgr,prをべき乗剰余演算器105に入力してgr vmod prを計算して出力し、vとメモリ102のe, pr をべき乗剰余演算器106に入力してevmod prを計算して出力する。
【0021】
べき乗剰余演算器103出力Vをハッシュ器107に入力して、K=H2(W)を計算してセッション鍵Kを生成し、そのKと暗号文C中のMを復号器108に入力して復号関数m=Dk s (M)を計算して復号した平文mを出力する。
暗号文C中のGと復号器108よりの平文mと、べき乗剰余演算器103,105,106の各計算結果をハッシュ器109に入力して
i=H3(G‖W‖gr vmod pr‖evmod pr‖m) (1)
を計算してiを出力する。またこのiと、乱数vと、メモリ102からのw, qrと剰余乗算・減算器111に入力して
j=v-iwmod qr (2)
を計算してjを出力する。変換されるべき署名付き暗号文Σ=(C,a)とハッシュ器109の出力iと、剰余乗算・減算器111の出力jべき乗剰余演算器103の出力Wを変換された署名付き暗号文(Σ,W,i,j)として送信器112から検証者端末400へ送信する。
【0022】
ここで(W,i,j)は、Cを復号するためのセッション鍵Kが正しい事を証明する非対話ゼロ知識証明であるなお図4中の各部は制御部113により順次あるいは並列的にその処理を行うようにされる。
次に検証者端末400での署名検証処理を図5を参照して説明する。図5中の図3と対応する部分に同一符号を付けては受信器401で受信された(Σ,W,i,j)中のWを用いてハッシュ器402によりK=H2 (W)の計算によりセッション鍵を求め、その鍵Kにより暗号文C中の大文字Mが復号器403でm=DK s(M)として復号される。また受信した署名a=(c,z)についてべき乗剰余演算器405でV=gs zycmod ps
が計算され、さらにハッシュ器406でH1(V‖C)が計算され、このH1(V‖C)と受信したa中のcと一致するか否かの検証が比較器407で行われる。これらは図3に示した例と同様である。
【0023】
この実施形態においては受信したi,j,Gと、メモリ404からのpr, grがべき乗剰余演算器421に入力され
gr jGimod pr (3)
が計算され、また受信したj,Wとメモリ404からのe,prが入力されて、
ejWimod pr (4)
が計算される。受信したG,Wと、復号した平文mとべき乗剰余演算器421及び422の各計算結果がハッシュ器423に入力されて
H3(G‖W‖gr jGimod pr‖ejWimod pr‖m) (5)
が計算され、その計算結果と受信したiとが一致するか否かの検証が比較器424で行われる。
【0024】
式(3)に式(2)及びG=gr wの関係を代入すればgr vmod prとなり、同様に式(4)に式(2)及びW=ewの関係を代入すればevmod pr となる。つまり、これらの関係が成り立てば式(5)の計算結果は式(1)の計算結果と等しくなる。
このことは非対話ゼロ知識証明(W,i,j)が関係式loggG=logeWであることを証明しており、この検証式が満足された場合、復号鍵を作る基になるWがgと乱数wから正しく作成されていることが保証される。ある送信文Σに対して、このように上記検証式をい満足する(W,i,j)を作成できるのはWを知る正当な送信者のみである。
【0025】
比較器407,424の何れかひとつでも不一致である場合はこの署名を不正とし、何れとも一致である場合にこの署名を正しい物とする。
実施形態3
この発明は公開鍵の一部を構成するパラメータp,q,gを署名、暗号に共通化し、また署名生成に用いる乱数と、暗号文生成に用いる乱数とを共通化して、計算時間と送信文長を低減しかつ第三者による署名検証を可能とした場合である。
まず前提となる署名付き暗号通信方法について説明する。
p,qを大きな素数とし、q が (p-1)を割り切る物とする。gをZp *における位数qの元とする。H1(・),H2(・)を一方向性ハッシュ関数とし、二項演算子A‖BはAとBを結合した値を表す。p,q,g及びハッシュ関数はシステム共通パラメータとして公開する。
【0026】
送信者端末100は署名鍵xをZqからランダムに選び、署名検証鍵yをy=gxmod pと計算してyを公開する。受信者端末300は復号鍵dをZqからランダムに選び、暗号鍵e=gdmod p を計算してeを公開する。
平文mを送信する際に、送信者端末100は送信文Σを以下の手段で作成する。まず乱数wをZqからランダムに選びセッション鍵K=H1(ewmod p) を計算し平文mをEsでC=EK s(m)と暗号化して暗号文Cを得る。次に、V=gwmod p,b=H2(V‖C),a=w-bxmod qを順次計算して署名a、bを得る。送信文ΣはΣ=(C,a,b)とする。
【0027】
この送信文Σを受信した受信者端末300は、以下に示す手段で受信した暗号文の検証及び復号を行う。まず、V=gaybmod pを計算し、b=H2(V‖C)が成り立つことを検証し、成り立たない場合は、受信文Σを破棄する。成り立つ場合は、K=H1((V)d mod p)を計算し、そのKを用いて、m=DK s(C)を計算して平文mを得る。
受信者端末300において、復号した署名付き暗号文Σを、第三者署名検証可能な暗号文に変換する処理例を、図6を参照して説明する。図6で図2と対応する部分に同一符号を付けてある。
【0028】
前記変換しない文Σとその復号平文mが入力される。べき乗剰余演算器323でV=ga ybmod pが計算され、さらにべき乗剰余演算器324でW=Vdmod p が計算される。べき乗剰余演算器325でVu mod pを計算し、べき乗剰余演算器326でgumod pを計算する。復号平文m、べき乗剰余演算器324,325,326の各計算結果をハッシュ器327に入力して
i=H3(W‖Vumod p‖gumod p‖m) (6)
を計算する。さらに、剰余乗算・減算器328で
j=u-idmod q
を計算し、変換された署名付き暗号文(Σ,W,i,j)を送信器312より検証者端末400へ送信する。
【0029】
次に検証者端末400での検証はたとえば図7に示すようにして行う、図7中、図3と対応する部分に同一符号を付けてある。受信器401に受信部(Σ,W,i,j)が受信されるとハッシュ器431でK=H1(W)が計算され、その鍵Kにより、Σ=(C,a,b)中のCに対し復号器403でm=Dk s(C)が計算され平文mが出力される。べき乗剰余演算器432によりV=gayb mod pが計算され、そのVとCに対しハッシュ器433でH2(V‖C)が計算され、このH2(V‖C)とbとが比較器434で一致するか否かの検証がされる。
べき乗剰余演算器435でVjWi mod pが計算され、またべき乗剰余演算器436でgjei mod pが計算される。ハッシュ器437で
H3(W‖VjWi mod p‖gjei mod p‖m) (7)
が計算され、この計算結果とjとが一致するか否かの検証が比較器438で行われる。比較器434、438の何れかで不一致が検出されると、この署名は不正と判断され、ともに一致すればこの署名は正しい物とされる。
【0030】
なお、VjWi mod pに対し、jの式と、W=Vdの関係を代入すればVu mod pとなり、gjei mod pに、jの式とe=gdの関係を代入するとgu mod pとなりdを知る者によりWが正しく作られた場合は式(7)の計算値は式(6)の計算値と等しくなる。この場合も(W,i,j)がKが正しい鍵であることを証明する非対話ゼロ知識証明を構成している。
実施形態4
実施形態3で説明した署名付き暗号文Σを、送信者端末100で任意の第三者が検証可能な署名に変換する実施形態を以下に説明する。
【0031】
図8に図4と対応する部分に同一符号を付けてある。変換されるべき文Σ=(C,a,b)が入力され剰余乗算・加算器121でw=a+bxmod qを計算し、べき乗剰余演算器122でW=ewmod pを計算し、さらにハッシュ器127でK=H1(W)を計算してセッション鍵Kを得る。復号器124でm=DK s(C) を計算して復号平文mを得る。
また、べき乗剰余演算器125でevmod pを計算し、べき乗剰余演算器126でgv mod p を計算する。平文mとべき乗剰余演算器122,125,126の各演算結果をハッシュ器127に入力して、
H3(W‖evmod p‖gvmod p‖m) (8)
を計算し剰余乗算・減算器128でj=v-iwmod qを計算する。文ΣとWと、iとjを変換された署名文(Σ,W,i,j)を送信器112で検証者端末400へ送信する。
【0032】
検証者端末400で受信器401に受信された署名文(Σ,W,i,j)に対する検証は例えば図9に示すように行う。図9中で図7と対応する部分に同一符号を付けてある。
図7の場合と同様にまずハッシュ器431で鍵K=H1(W)を計算し、鍵Kで暗号文Cを復号器403で復号して平文mを得る。べき乗剰余演算器432でVを計算し、ハッシュ器433でH2(V‖C)を計算し、これとbとを比較器434で一致するかの検証を行う。この例ではべき乗剰余演算器441でejwimod pを計算し、べき乗剰余演算器442でgjVimod pを計算し、mと、Wと、べき乗剰余演算器441及び442の各計算結果とをハッシュ器443に入力して、
H3(W‖ejWimod p‖gjvimod p‖m)
を計算しこの計算結果とiとが一致するかの検証を比較器438で行う。比較器434,438の何れかが不一致であれば不正署名とし、両者が一致であれば正しい署名とする。
実施形態5
実施形態3においてb=H2(V‖C)の代わりにb=H2(K‖C), b=H2(W‖C)やb=H2(W‖C‖K)やb=H2(W‖C‖m)やb=H2(C‖m)としても良い。これらの場合において、受信者端末300での第三者検証可能な署名に変換するには実施形態3のそれ(図6)と全く同様にすれば良く、ただ検証者端末400における検証処理において図7中のハッシュ器433での演算を前記bの変更に応じてH2(K‖C), H2(W‖C),H2(W‖C‖K),H2(W‖C‖m),H2(C‖m)の対応するものに変更すれば良く送信者端末100での第三者検証可能な署名に変換するには実施形態4のそれ(図8)と全く同様にすれば良く、ただ検証者端末400における検証処理において、図9中のハッシュ器433での演算を前記bの変更に応じてH2(K‖C), H2(W‖C),H2(W‖C‖K),H2(W‖C‖m),H2(C‖m)の対応するものに変更すればよい。
【0033】
実施形態1ないし5の何れにおいても、一方向性ハッシュ関数H3(・)の入力変数の一部として平文mを用いたが、mの代わりにCを用いても良く、また関数H3(・)の入力変数に任意の文字列、例えば、変換を行った時刻などを追加しても良い。
実施形態6
実施形態3と同様の方式で平文mを送信する際に送信者端末100においてmを例えば以下の手段で冗長化する。すなわちH4,H5をハッシュ関数とし、mをm'=m(+)(H 5 (H 4 (m)) ‖ H 4 (m)に変換する。ここで、(+)はビットごとの排他的論理和を表す。つぎに、実施形態3と同様の手順でm'を暗号化して暗号文Cを得る。この例ではb=H2(C),a=w-bxmod qを計算して署名a,bを得る。送信文ΣはΣ=(C,a)とする。
【0034】
この署名付き暗号文Σを、受信者端末300が、任意の第三者が検証可能な署名に変換する方法及び、その署名の検証方法について説明する。
受信者端末は図6に示したと同様にV=gaybmod p, W=Vdmod pを計算する。次に乱数uをZqよりランダムに選び、i=H3(W‖Vumod p‖gumod p‖m)及び、j=u-idmod qを計算し、(Σ,W,i,j)を署名として検証者端末400へ出力する。
変換されたデジタル署名(Σ,W, i,j)に対して、検証者端末400は図7に示したと同様に、まずセッション鍵K=H1(W)を計算し、m'=DK s(C)としてm'を得る。
【0035】
このm'を、BがH4の出力ビット数と同じになるように、m'=A‖BとしてAとBに分割する。また、b=H2(C),V=gaybmod pを計算し、H5(B)(+)A=mとしてH4(H5(B)(+)A)=B及び、i=H3(W‖VjWimod p‖gjeimod p‖m)が成り立つことを検証し、何れも成り立つ場合はこの署名を正しいものとし、何れかひとつでも成り立たない場合はこの署名を不正とする。
実施形態7
上記実施形態6における署名付き暗号文Σを、送信者端末100が、任意の第三者が検証可能な署名に変換する方法及び、その署名の検証方法について説明する。
【0036】
送信者端末100では、図8に示したと同様にw=a+bx mod q, W=ewmod pを計算次に、乱数vをZqよりランダムに選び、i=H3(W‖evmod p‖gvmod p‖m)及び、j=v-iw mod qを計算して、(Σ,W,i,j)を変換された署名とし、検証者端末400へ送信する。
変換された署名(Σ,W,i,j)に対して、検証者端末400は図9に示したと同様にまずK=H1(W)を計算し、m'=DK s(C)として平文m'を得る。このm'を、BがH4の出力ビット数と同じになるようにm'=A‖BとしてAとBに分割する。
【0037】
次に、b=H2(C),V=gaybmod pを計算し、H5(B)(+)A=mとして、H4(H5(B)(+)A)=B及びi=H3(W‖ejWimod p‖gjVimod p‖m)が成り立つことを検証する。どちらも成り立つ場合はこの署名を正しいものとし、何れかひとつでも成り立たない場合はこの署名を不正とする。
上記実施形態6,7において、H3の入力変数の一部をメッセージmとしたがmの代わりにCを用いても良い。また、H3の入力変数に任意の文字列(例えば、変換を行った時刻など)を追加しても良い。上記した何れの実施形態中のハッシュ関数への入力も任意に順序を入れ替えても良い。
【0038】
上述した各送信者端末100、受信者端末300、検証者端末400はそれぞれコンピュータによりプログラムを実行させて機能させることもできる。上述した各検証者端末400において、公開鍵情報Wの正当性、つまり比較器412,424,438での検証のみを行っても良い。
【0039】
【発明の効果】
以上述べたようにこの発明によれば、特定の受信者端末のみが検証可能な署名付き暗号文を、その暗号文の送信者あるいは受信者の何れもが他方の協力を必要とせずに任意の第三者がディジタル署名に変換することが可能となる。よって、受信者が受信した署名付き暗号文が不正であると主張した場合に、送信者は、その署名付き暗号文を変換することによって任意の第三者に対して、送信した署名が正しいことを示すことが可能となる。逆に、送信者が、送信した署名付き暗号文を否認した場合に、受信者はその署名付き暗号文を変換することによって、任意の第三者に対して、受信した署名が送信者によるものであるということを示すことが可能となる。
【図面の簡単な説明】
【図1】この発明が適用されるシステム構成例を示す図。
【図2】この発明による受信者端末の要部の機能構成例を示す図。
【図3】図2に示した受信者端末により変換された署名に対する検証者端末の機能構成例を示す図。
【図4】この発明による送信者端末の要部の機能構成例を示す図。
【図5】図4に示した送信者端末により変換された署名に対する検証者端末の機能構成例を示す図。
【図6】この発明による受信者端末の他の例の機能構成を示す図。
【図7】図6に示した受信者端末により変換された署名に対する検証者端末の機能構成例を示す図。
【図8】この発明による送信者端末の他の例の機能構成を示す図。
【図9】図7に示した送信者端末により変換された署名に対する検証者端末の機能構成例を示す図。[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a cipher communication method for confirming the identity of a sender in a telecommunication system and concealing transmission contents, in particular a method for converting a signed ciphertext into a ciphertext that can be verified by any third party, and It relates to the device.
[0002]
[Prior art]
There is a method in which an arbitrary digital signature method and a public key encryption method are combined as a method in which a sender and a receiver communicate securely via a communication network that may be wiretapped, tampered with, or impersonated.
Sender USSigning key and signature verification key of x and y, respectively, and recipient URLet e and d be the encryption key and decryption key, respectively. y and e are public and the sender US, Recipient URShall hold these.
[0003]
The plaintext to send is m, E is the encryption function, and Ee(m) represents a ciphertext obtained by encrypting the message m with the encryption key e, D is a decryption function corresponding to the encryption function E, and Dd(c) represents a plaintext obtained by decrypting the ciphertext c with the decryption key d. That is, m = Dd(Ee(m)) holds. Let S be the signature function and Sx(m) represents the signature with the signature key x for the message m and verifies VfunctionAnd Vy(a, m) represents the result of verifying the signature-message pair (a, m) with the signature verification key y. The verification result is either 1 or 0 and a = Sx(m) and only whenyAssume that (a, m) = 1.
[0004]
When sending plaintext m, sender USFirst, plaintext m is encrypted with encryption key e and ciphertext C = Ee(m) is obtained. Next, the signature a = S for the ciphertext Cx(C) is created using the signature key x. The sent message Σ is Σ = (C, a) and the sender USWill send Σ to recipient URSend to.
Recipient URReceives the ciphertext C and the signature a, and first uses the signature verification key y toyIt is verified that (a, C) is 1. If not 1, the received C and a are regarded as invalid data and discarded. If the verification result is 1, using the decryption key d, m = Dd(C) is calculated and plaintext m is obtained.
[0005]
A specific method will be described for the case where the Schnorr signature and the El Gamal encryption are used for the signature and the encryption method, respectively. ps, QsIs a large prime number,q s But (p s -1)Shall be divisible. gsZps *(Zps *Is the group of integers 1, 2, ..., ps)sOf the original. pr, qr, grIs defined in the same way (subscript p is psRepresents the same). H1(・), H2(・) Is a one-way hash function, and the binary operator A‖B is a p that represents the combined value of A and B.s, qs, gs, pr, qr, gr Will be published.
Sender USZ sign the Schnorr signature key xqs(ZqsIs a group of integers 0,1,2, ..., qs-1), and the signature verification key y is y = gs xmod psThis y is made public through the calculation of. Recipient URUses the decryption key d of ElGamal encryption as ZqrChoose at random from the encryption key e = gr dmod pr And e is published.
[0006]
Ciphertext C by ElGamal cipher is C = (G, M) = (gr umod pr, EK s (m)), and the Schnorr signature a for this C is a = (c, z) = (H1(gs v‖C), v-cxmod qs). Where u and v are ZqrAnd ZqsRandomly chosen from E, EsIs an encryption function of a symmetric key encryption such as DES, and K is K = H2(ewmod pr).
The recipient is c = H1(gs xycmod psConfirm that (C) holds, then K = H2(Gdmod pr), m = DK s Calculate (M) to obtain plaintext m. Where DsIs EsIs a decryption function of a symmetric key encryption corresponding to.
[0007]
According to the above prior art, due to the nature of the digital signature, VyOnly the sender holding the signature key x corresponding to the verification key y can create the signature a with (a, C) = 1, and therefore the receiver can authenticate the creator of C. it can. Also, the creator of C cannot deny the fact of the signature.
[0008]
[Problems to be solved by the invention]
According to the above conventional method, a third party other than the sender and the receiver cannot confirm what kind of message m the signature is. Even if the recipient discloses m to a third-party verifier, the verifier cannot confirm whether m is correctly decrypted from C. For example, if the sender claims to have sent the correct one, but a third party cannot verify that it is correct. Similarly, if the receiver claims the received text is illegal The third party cannot verify whether the claim is correct.
[0009]
The present invention provides a method for converting a signature that can be verified only by a specific verifier created by a signed encryption method into a normal digital signature that can be verified by any third party, its verification method, and these An object is to provide an apparatus.
[0010]
[Means for Solving the Problems]
According to the present invention, the session key K for decrypting the transmitted ciphertext C or the key information W corresponding thereto is disclosed, and a non-interactive zero knowledge proof that proves that K is a correct session key is transmitted. These are used as a signature for the document m obtained by decrypting the ciphertext C with the key K.
When the receiver terminal performs the above conversion, a non-interactive zero knowledge proof that certifies that the session key K is in a correct relationship with the decryption key corresponding to the encryption key of the receiver terminal is attached to the ciphertext C.
[0011]
When the sender terminal performs the above conversion, a non-interactive zero knowledge proof that proves that the session key K is in a correct relationship with the random number used for encryption by the sender terminal is attached to the ciphertext C.
The verifier terminal verifies that the non-interaction zero knowledge proof is correct and that the signature on the transmitted ciphertext is correct.
The non-interactive zero knowledge proof allows the receiver or sender to convince any third party that the public session key is the correct session key for the transmitted signed ciphertext. Since an arbitrary third party verifier terminal can obtain the plaintext m using the session key, it can verify that the assigned signature is for the document m as required.
DETAILED DESCRIPTION OF THE INVENTION
Embodiment 1
EsIs a secret key cryptography function and EK s (m) represents a ciphertext obtained by encrypting plaintext m with the key K. Similarly, DsEsA secret key decryption function corresponding toK s (C) represents a plaintext obtained by decrypting the ciphertext C with the key K. For example, as the functions E and D, an encryption function and a decryption function in the CBC mode and OFB mode of block cipher such as Triple-DES and IDEA may be used. Alternatively, when the message m is short, the functions E and D may be K and m, K and C, respectively, or a group operation with mod p.
[0012]
H1(・), H2(·) Is a one-way hash function, and the binary operator a‖b represents a value obtained by combining a and b. For example, SHA-1 may be used as the hash function.
ps, QsIs a large prime number,q s But (p s -1)Shall be divisible. gsZps *Order q insOf the original. pr, qr, grIs defined similarly.
In the first embodiment, as shown in FIG. 1, the signed ciphertext received by the
[0013]
In the
Ciphertext C by ElGamal cipher is C = (G, M) = (gr umod pr, EK s (m)) and the Schnorr signature a for this C is a = (c, z) = (H1(gs v‖C), v-cx mod qs). Where u and v are ZqrAnd ZqsRandomly chosen from K, K is K = H2(ewmod pr). The
[0014]
The
A method of converting the ciphertext Σ = (C, a) with a signature based on the ElGamal cipher and the Schnorr signature into a signature that can be verified by any third party in the
FIG. 2 shows only a part of the
[0015]
Since verifier terminal 400 is a terminal of an arbitrary third party, W is made public, and one-way hash function H1Since (・) is open to the public, third parties are K = H1The session key K can be obtained by calculating (W). That is, it is substantially the same as the session key K being released. Therefore, W is written as public key information. (W, i, j) is a non-interactive zero knowledge proof that proves that K is the correct session key K.
Each unit in FIG. 2 is processed by the
[0016]
The verifier terminal 400 receives the converted signed text (Σ, W, i, j) transmitted from the
[0017]
Furthermore, i, j received and g from
[0018]
In other words, in the comparator 412, HThreeComparing the variable to be calculated in (·) with the same variable in the formula of i, the former GjWimod prAnd the latter Gumod prAre equal and the former gr jeimod prAnd the latter gr umod prIf they are equal, the comparator 412 determines that both inputs match. GjWimod pr ・ J = u-idmod qrAnd W = Gdmod prSubstituting G(u-id)Gidmod pr= Gumod prAnd also gr jeimod prJ = u-idmod qrAnd e = gr d mod prSubstituting gr u mod prIt becomes. Therefore, if the comparators 412 match, the one having the decryption key d is (W, i, j) created without revealing the decryption key d.
[0019]
This means that the non-interactive zero knowledge proof (W, i, j) in the received sentence is the relational loggre = logGW, e = gr dmod pr And W = Gdmod prTherefore, it is proved that both sides of the logarithmic relational expression are d, and if this verification expression is satisfied, W (= Gd mod pr) But G and decryption key d = loggrIt is guaranteed that it is correctly created from e. For details on this non-interactive zero knowledge proof, see, for example, D.L.Chaan & T.R.Polersen. “Wallet Database with observers” pp.89-105, CRYPTO '92, LNCS740, Springer-Verlag, 1993. Only a legitimate recipient who knows the secret decryption key d can create (W, i, j) that satisfies the above-described verification expression for a signature a.
[0020]
Each unit in FIG. 3 is processed by the
Embodiment 2.
A method of converting the signed ciphertext Σ with the ElGamal cipher and the Schnorr signature described in the first embodiment into a signed ciphertext that can be verified by any third party at the
FIG. 4 shows only a part for converting the signed ciphertext Σ = (C, a), C = (G, M) in the
[0021]
The
The G in the ciphertext C, the plaintext m from the
i = H3 (G‖W‖gr vmod pr‖Evmod pr‖M) (1)
And i is output. This i, random number v, w, q from
j = v-iwmod qr (2)
And output j. Signed ciphertext Σ = (C, a) to be converted, output i of
[0022]
Here, (W, i, j) is a non-interaction zero knowledge proof that proves that the session key K for decrypting C is correct. Each part in FIG. To be processed.
Next, signature verification processing at the verifier terminal 400 will be described with reference to FIG. The parts corresponding to those in FIG. 3 in FIG. 5 are assigned the same reference numerals, and K = H is obtained by the
Is calculated, and then H1(V‖C) is calculated and this H1The comparator 407 verifies whether (V‖C) matches c in the received a. These are the same as the example shown in FIG.
[0023]
In this embodiment, the received i, j, G and pr, gr from the
gr jGimod pr (3)
Is calculated and also received j, W and e, p from
ejWimod pr (Four)
Is calculated. The received G and W, the decrypted plaintext m, and the calculation results of the power-
HThree(G‖W‖gr jGimod pr‖EjWimod pr‖M) (5)
Is calculated, and the comparator 424 verifies whether or not the calculation result matches the received i.
[0024]
Formula (3) into Formula (2) and G = gr wSubstitutingr vmod prSimilarly, Equation (4) is replaced by Equation (2) and W = ewSubstitutingvmod pr It becomes. That is, if these relationships hold, the calculation result of Equation (5) becomes equal to the calculation result of Equation (1).
This means that the non-dialog zero knowledge proof (W, i, j)gG = logeIf this verification formula is satisfied, it is guaranteed that the base W for creating the decryption key is correctly created from g and the random number w. Only a legitimate sender who knows W can create (W, i, j) that satisfies the above-described verification formula in this way for a certain sent message Σ.
[0025]
If any one of the comparators 407 and 424 does not match, the signature is invalid, and if both match, the signature is correct.
Embodiment 3
In the present invention, parameters p, q, and g constituting a part of a public key are made common to a signature and encryption, and a random number used for signature generation and a random number used for ciphertext generation are made common, so that calculation time and transmission text This is a case where the length is reduced and signature verification by a third party is enabled.
First, a presumed cryptographic communication method with a signature will be described.
Let p, q be large prime numbers,q But (p-1)Is a divisible object. g to Zp *Is an element of the order q at. H1(・), H2(·) Is a one-way hash function, and the binary operator A‖B represents a value obtained by combining A and B. p, q, g and hash function are disclosed as system common parameters.
[0026]
The
When transmitting the plain text m, the
[0027]
Receiving terminal 300 receiving this transmitted text Σ verifies and decrypts the received cipher text by the following means. First, V = gaybcalculate mod p, b = H2Verify that (V‖C) holds, and if not, discard the received sentence Σ. If so, K = H1((V)d mod p) and using that K, m = DK sCalculate (C) to obtain plaintext m.
An example of processing in the
[0028]
PreviousRecordAn unconverted sentence Σ and its decrypted plaintext m are input. Power residue calculator 323 V = ga ybmod p is calculated, and the power residue calculator 324 further calculates W = Vdmod p is calculated. Power residue calculator 325 Vu mod p is calculated, and the power residue calculator 326 guCalculate mod p. Decrypted plaintext m and the calculation results of
i = HThree(W‖Vumod p‖gumod p‖m) (6)
Calculate Furthermore, the remainder multiplier /
j = u-idmodq
And the converted ciphertext (Σ, W, i, j) with the signature is transmitted from the
[0029]
Next, verification at the verifier terminal 400 is performed, for example, as shown in FIG. 7. In FIG. 7, parts corresponding to those in FIG. When the
Power residue calculator 435 VjWi mod p is calculated and the power residue calculator 436 gjei mod p is calculated. With hash machine 437
HThree(W‖VjWi mod p‖gjei mod p‖m) (7)
Is calculated, and the
[0030]
VjWi For mod p, the formula of j and W = VdSubstituting the relation of Vu mod p then gjei mod p, j and e = gdSubstitutingu If mod p and W is correctly created by a person who knows d, the calculated value of equation (7) is equal to the calculated value of equation (6). Again, (W, i, j) constitutes a non-interactive zero knowledge proof that proves that K is the correct key.
An embodiment in which the ciphertext Σ with the signature described in the third embodiment is converted into a signature that can be verified by any third party at the
[0031]
In FIG. 8, parts corresponding to those in FIG. The sentence to be converted Σ = (C, a, b) is input, the remainder multiplier /
The
HThree(W‖evmod p‖gvmod p‖m) (8)
And j = v-iwmod q is calculated by the remainder multiplier /
[0032]
Verification of the signature text (Σ, W, i, j) received by the verifier terminal 400 at the
As in the case of FIG. 7, the key K = H is first used by the hash unit 431.1(W) is calculated, and the ciphertext C is decrypted by the
HThree(W‖ejWimod p‖gjvimod p‖m)
And the
In Embodiment 3, b = H instead of b = H2 (V‖C)2(K‖C), b = H2(W‖C) or b = H2(W‖C‖K) or b = H2(W‖C‖m) or b = H2(C‖m) may be used. In these cases, in order to convert the signature into a third-party verifiable signature at the
[0033]
In any of Embodiments 1 to 5, the one-way hash function HThreeAlthough plaintext m is used as part of the input variable of (・), C may be used instead of m, and the function HThreeAn arbitrary character string, for example, a conversion time may be added to the input variable of (•).
Embodiment 6
When transmitting plaintext m by the same method as in the third embodiment, m is made redundant in the
[0034]
A method for converting the signed ciphertext Σ into a signature that can be verified by an arbitrary third party by the
The receiver terminal is V = g as shown in FIG.aybmod p, W = VdCalculate mod p. Then the random number u is ZqChoose at random, i = HThree(W‖Vumod p‖gumod p‖m) and j = u-idmod q are calculated, and (Σ, W, i, j) is output to the verifier terminal 400 as a signature.
For the converted digital signature (Σ, W, i, j), the verifier terminal 400 starts with the session key K = H, as shown in FIG.1(W) And m '= DK sM 'is obtained as (C).
[0035]
This m ', B is HFourIs divided into A and B so that m ′ = A‖B. B = H2(C), V = gaybcalculate mod p and HFive(B) (+) A = m as HFour(HFive(B)(+)A) = B and i = HThree(W‖VjWimod p‖gjeimod p‖m) is verified, and if both are true, the signature is correct, and if none is true, the signature is invalid.
Embodiment 7.
A method for converting the ciphertext Σ with signature in the sixth embodiment into a signature that can be verified by an arbitrary third party by the
[0036]
In the
For the converted signature (Σ, W, i, j), the verifier terminal 400 starts with K = H as shown in FIG.1Calculate (W), m '= DK sThe plaintext m ′ is obtained as (C). This m ', B is HFourIs divided into A and B such that m ′ = A‖B.
[0037]
Then b = H2(C), V = gaybcalculate mod p and HFive(B) (+) A = m, HFour(HFive(B) (+) A) = B and i = HThree(W‖ejWimod p‖gjViWe verify that mod p‖m) holds. If both are true, the signature is correct, and if neither is true, the signature is invalid.
In Embodiments 6 and 7 above, HThreeAlthough some of the input variables of are set to message m, C may be used instead of m. HThreeAn arbitrary character string (for example, the time of conversion) may be added to the input variable. The order of input to the hash function in any of the above embodiments may be arbitrarily changed.
[0038]
Each of the
[0039]
【The invention's effect】
As described above, according to the present invention, a signed ciphertext that can be verified only by a specific receiver terminal can be used without any cooperation from the sender or receiver of the ciphertext. A third party can convert it into a digital signature. Therefore, when the receiver claims that the signed ciphertext is invalid, the sender must verify that the transmitted signature is correct for any third party by converting the signed ciphertext. Can be shown. Conversely, if the sender denies the transmitted signed ciphertext, the receiver converts the signed ciphertext so that the received signature is sent by the sender to any third party. It becomes possible to show that it is.
[Brief description of the drawings]
FIG. 1 is a diagram showing a system configuration example to which the present invention is applied.
FIG. 2 is a diagram showing a functional configuration example of a main part of a receiver terminal according to the present invention.
3 is a diagram illustrating an example of a functional configuration of a verifier terminal for a signature converted by the receiver terminal illustrated in FIG. 2;
FIG. 4 is a diagram showing a functional configuration example of a main part of a sender terminal according to the present invention.
5 is a diagram illustrating a functional configuration example of a verifier terminal for a signature converted by the sender terminal illustrated in FIG. 4;
FIG. 6 is a diagram showing a functional configuration of another example of a recipient terminal according to the present invention.
7 is a diagram showing a functional configuration example of a verifier terminal for the signature converted by the receiver terminal shown in FIG. 6;
FIG. 8 is a diagram showing a functional configuration of another example of a sender terminal according to the present invention.
9 is a diagram showing a functional configuration example of a verifier terminal for a signature converted by the sender terminal shown in FIG. 7;
Claims (17)
受信者端末でqr署名付き暗号文Σを(C, a)とその復号平文mとから、Σを任意の第三者が検証可能な署名に変換する方法であって、
g s , p s , g r , p r , y,e がメモリに記憶されてあり、
乱数生成器より乱数uをZqrから形成し、
G と u とメモリからの p r をべき乗剰余演算器に入力してGu mod prを計算し、
u とメモリからの g r と p r をべき乗剰余演算器に入力してgr u mod prを計算し、
G とメモリからの d と p r をべき乗剰余演算器に入力してW=Gd mod prを計算し、
G と W と G u mod p r と g r u mod p r と m をハッシュ器に入力してi=H3(G‖W‖Gu mod pr‖gr u mod pr‖m)を計算し、
u と i とメモリからの q r を剰余乗算・減算器に入力してj= u-idmod qrを計算し、
(Σ, W, i, j)を変換された署名として出力することを特徴とする署名付き暗号文変換方法。Let p s , q s be a large prime number, and q s Is divisible by (p s -1) , g s is the element of q s of the order in Z ps * , and p r , q r , and g r are similarly defined and randomly selected from the above Z qs , to the signature key x, the public verification key y and g s x mod p s, randomly selected from the above-mentioned Z qr, for the decrypt key d, a public encryption key e and g r d mod p r, plain text The ciphertext C for m is (G, M) = ( g r u mod p r , E k s (m)), and the signature for C is a = (c, z) = (H 1 (g s v ‖C ), v-cx mod q s ) and then, the K = H 2 (e w mod p r), and a random number chosen to w from Z qr, and H a (-) and one-way hash function, g s , p s , q r , g r , y , e are published, Σ = ( C , a) , G and m are input,
From the recipient terminal q r signed ciphertext sigma (C, a) and the decoded plaintext m, a third party the sigma any is a method of converting into a verifiable signature,
g s , p s , g r , p r , y, e are stored in memory,
A random number u is formed from Z qr by a random number generator ,
G and u and p r from the memory are input to a power-residue calculator to calculate G u mod p r ,
u and g r and p r from the memory are input to the power-residue calculator to calculate g r u mod p r ,
G and d and p r from the memory are input to the power-residue computing unit to calculate W = G d mod p r ,
G , W , G u mod p r , g r u mod p r and m are input to the hash unit and i = H 3 (G ‖ W ‖ G u mod p r ‖ g r u mod p r ‖ m) Calculate
Input u , i and q r from memory to the remainder multiplier / subtractor to calculate j = u-idmod q r
(Σ, W, i, j ) the converted output to Rukoto method features and be that with signing the ciphertext conversion as a signature.
送信者端末でqr署名付き暗号文Σ=(C, a)を任意の第三者が検証可能な署名に変換する方法であって、
g s , p s , g r , p r , y,e がメモリに記憶されてあり、
乱数生成器より乱数vをZqr から形成し、
v とメモリからの p r ,e をべき乗剰余演算器に入力してe v mod prを計算し、
v とメモリからの g r p r をべき乗剰余演算器に入力してgr vmod prを計算し、
w とメモリからの e と p r をべき乗剰余演算器に入力してW=ewmod prを計算し、
G と W と e v mod p r と g r v mod p r と m をハッシュ器に入力してi=H3(G‖W‖evmod pr‖gr vmod pr‖m)を計算し、
v と i と w とメモリからの q r を剰余乗算・減算器に入力してj=u-iwmod qrを計算し、
(Σ,W,i,j)を変換された署名として出力することを特徴とする署名付き暗号文変換方法。Let p s, q s be a large prime number, and q s There shall be divisible the (p s -1), the g s is the original of the order q s in Z ps *, p r, q g, g r is defined in the same way, randomly selected from the Z qs , to the signature key x, the public verification key y and g s x mod p s, selected from the Z qr, to the decryption key d, the public encryption key e and g r d mod p r, the g s, p s, g r, q r , y, the ciphertext for e is the public plaintext m C = (G, M) = a (g r u mod p r, E k s (m)), a signature for C a = (c, z) = (H 1 (g s v ‖C), v-cxmod q s) and then, the K = H 2 (e w mod p r), the random number selected to w from Z qr and then, to H and (·) and one-way hash function, sigma = (C, a) and, G and M are inputted,
The sender terminal q r signed ciphertext Σ = (C, a) a method of the third party of any is converted into a verification signature,
g s , p s , g r , p r , y, e are stored in memory,
The random number v is formed from Z qr by the random number generator ,
Input v and p r , e from the memory to the power-residue computing unit to calculate e v mod p r ,
Input v and g r p r from memory to the exponentiation remainder calculator to calculate g r v mod p r ,
Input w and e and p r from the memory to the power-residue calculator to calculate W = e w mod p r ,
G , W , e v mod p r , g r v mod p r and m are input to the hash unit and i = H 3 (G ‖ W ‖ e v mod p r ‖ g r v mod p r ‖ m) Calculate
Input v , i , w and q r from memory to the remainder multiplier / subtractor to calculate j = u-iwmod q r
(Σ, W, i, j ) the converted output to Rukoto method features and be that with signing the ciphertext conversion as a signature.
g s , p s , g r , p r , y,e がメモリに記憶されてあり、
受信した W をハッシュ器に入力してK=H2 (W)を計算してセッション鍵Kを生成し、
そのセッション鍵 K と受信したΣ中の C とを復号器に入力してm=DK s (C)を計算して暗号文Cを復号した平文mを作り、
暗号文 C 中の G と、受信した W と j と i とメモリからの p r とをべき乗剰余演算器に入力してGjWimod prを計算し、
j と i とメモリからの g r ,e,p r とをべき乗剰余演算器に入力してgr jeimod prを計算し、
G , W , G j W i mod p r , g j e i mod p r , m をハッシュ器に入力してH3(G‖W‖GjWimod pr‖gjeimod pr‖m)を計算し、
この計算結果がiと一致するかを比較器により検証し、一致すれば署名を正しいものとすることを特徴とする署名検証方法。A method for verifying a signature sentence (Σ, W, i, j) converted by the conversion method according to claim 1 at a verifier terminal,
g s , p s , g r , p r , y, e are stored in memory,
Enter the received W into the hash machine and calculate K = H 2 (W) to generate the session key K ,
Make a C in Σ received with the session key K is input to the decoder m = D K s (C) plaintext m obtained by decoding to a ciphertext C Get,
G in the ciphertext C , received W , j , i, and p r from the memory are input to a power-residue computing unit to calculate G j W i mod p r ,
Input j , i and g r , e, p r from memory to the exponentiation remainder calculator to calculate g r j e i mod p r ,
G, W, G j W i mod p r, g j e i mod p r, to input m to the hash unit H 3 (G‖W‖G j W i mod p r ‖g j e i mod p r ‖M)
A signature verification method characterized in that it is verified by a comparator whether or not the calculation result matches i, and that the signature is correct if they match.
g s , g r , p s , p r , y,e がメモリに記憶されてあり、
W をハッシュ器に入力してK=H2 (W)を計算してセッション鍵Kを生成し、
セッション鍵 K と受信Σ中の C を復号器に入力してm=DK s (C)を計算して暗号文Cを復号して平文mを作り、
j , i と暗号文 C 中の G とメモリからの p r をべき乗剰余演算器に入力してgr jGimod prを計算し、
j , i , W とメモリから e , p r とをべき乗剰余演算器に入力してejWimod prを計算し、
G , W , g r j G i mod p r , e j w i mod p r , m をハッシュ器に入力してH3(G‖W‖g r j Gimod pr‖ejwi mod pr‖m)を計算し、
この計算結果がiと一致するかを比較器で検証し、一致すれば署名を正しいものとすることを特徴とする署名検証方法。A method for verifying a signature sentence (Σ, W, i, j) converted by the conversion method according to claim 2 at a verifier terminal,
g s , g r , p s , p r , y, e are stored in memory,
Enter W into the hash machine and calculate K = H 2 (W) to generate the session key K ,
Enter the C in receiving the session key K sigma to the decoder to calculate the m = D K s (C) decrypts the ciphertext C to make a plaintext m, the
j, a p r from i and G and the memory in the ciphertext C is input to the exponentiation remainder operator calculates the g r j G i mod p r ,
j, i, and input from the W and memory e, and p r in exponentiation remainder operator calculates a e j W i mod p r,
G , W , g r j G i mod p r , e j w i mod p r , m are input to the hash machine and H 3 (G‖W‖ g r j G i mod p r ‖e j w i mod p r ‖m)
A signature verification method characterized in that a comparator verifies whether the calculation result matches i, and if the result matches, the signature is correct.
その計算結果 V と C とをハッシュ器に入力してH2(V‖C)を計算し、その計算結果H2(V‖C)がcと一致するかを比較器で検証し、この一致も成立した時Cに対する署名が正しいものとすることを特徴とする請求項3又は4記載の署名検証方法。 The signature a = (c, z) of the ciphertext C and g s , y , p s from the memory are input to a power-residue computing unit to calculate V = g s z y c mod p s ,
Enter the calculation result V and C to the hash unit calculates the H 2 (V‖C), verified by the comparator whether the calculation result H 2 (V‖C) matches is c, the coincidence 5. The signature verification method according to claim 3 or 4 , wherein the signature for C is correct when the above is established.
g , y , p , q , e が公開されてあり、受信者端末で署名付き暗号文Σ=(C,a, b)その復号平文mとV とが入力され、これらから、Σを任意の第三者が検証可能な署名に変換する方法であって、
上記 g , y , p , q , d がメモリに記憶されてあり、
乱数uをZqから乱数生成器で生成し、
u と V と、メモリから p をべき乗剰余演算器に入力してVumod pを計算し、
u とメモリから g , p をべき乗剰余演算器に入力して g u mod pを計算し、
V とメモリから d , p をべき乗剰余演算器に入力してW=Vdmod pを計算し、
W, V u mod p , g u mod p ,mをハッシュ器に入力して i=H3(W‖Vumod p‖gu mod p‖m)を計算し、
u , i とメモリから d , q を剰余乗算・減算器に入力してj=u-idmod qを計算し、
(Σ,W,i,j)を変換された署名として出力することを特徴とする署名付き暗号文変換 方法。p, q are large prime numbers , q is divisible by (p-1) , g is an element of q in the order of Z p k , H (•) is a one-way hash function, and randomly from Z q For the selected signature key x, the public verification key y is g x mod p, for the decryption key d randomly selected from Z q , the public encryption key e is g d mod p, and randomly from Z q to selected random number w, the W and e w mod p, the session key is H 1 and (W), V = g a y b mod and p, the ciphertext against plaintext m C = E K s (m ) And the signature for C is (a, b) = (w-bx mod q, H 2 (X‖C) (where X is one of V, W, m, K, W‖K, W‖m),
g , y , p , q , and e are made public , and the signed ciphertext Σ = ( C, a, b ) is inputted at the receiver terminal, and the decrypted plaintext m and V are inputted, and from these , Σ is arbitrarily set A method for converting a signature into a verifiable third party,
The g, y, p, q, d is Yes stored in the memory,
The random number u is generated by the random number generator from Z q,
Input u and V and p from memory to the power-residue computing unit to calculate V u mod p,
Calculate g u mod p by inputting g and p from u and memory to the exponentiation remainder calculator.
Input d and p from V and memory to a power-residue calculator to calculate W = V d mod p,
W, V u mod p , g u mod p , m are input to the hash machine to calculate i = H 3 (W‖V u mod p‖g u mod p‖m)
Calculate j = u-idmod q by inputting d and q from u and i and memory to the remainder multiplier / subtractor ,
(Σ, W, i, j ) the converted output to Rukoto method features and be that with signing the ciphertext conversion as a signature.
q , p , g , e , x がメモリに記憶されてあり、
上記 a , b とメモリから x , q を剰余乗算・加算器に入力してw=a+bxmod qを計算し、
そのwとメモリから e , p をべき乗剰余演算器に入力してW=ewmod pを計算し、
乱数vをZqから乱数生成器で生成し、
vとメモリからe,pをべき乗剰余演算器に入力してevmod pを計算し、
vとメモリからg,pをべき乗剰余演算器に入力してgvmod pを計算し、
W, e v mod p , g v mod p ,mをハッシュ器に入力して i=H3(W‖evmod p‖gvmod p‖m)を計算し、
u,i,wとメモリからqを剰余乗算・減算器に入力してj=u-iwmod qを計算し、
(Σ,W,i,j)を変換された署名として出力することを特徴とする署名付き暗号文変換方法。Let p, q be a large prime number , q be divisible by (p-1) , q be an element of the order q in Z p t , H (・) be a one-way hash function, and randomly from Z q to selected signature key x, the public verification key y and g x mod p s, to the decryption key d randomly chosen from Z q, the public encryption key e and g d mod p, the encryption for the plaintext m The sentence is C = E K s (m), w is a random number selected from Z q , W = e w mod p, the session key K is H 1 (W), and the signature for C is (a, b ) = (w-bxmod q, H 2 (X ‖ C) (X is one of V, W, m, K, W ‖ K, W ‖ m), and the above q , p , g , y , e are A signature that is publicly available and Σ = (C, a, b) , m is input, and from which a signed ciphertext Σ = ( C, a, b ) can be verified by any third party To convert to
q , p , g , e , x are stored in memory,
Input x and q from the above a and b and memory to the remainder multiplier / adder to calculate w = a + bxmod q,
From the w and memory, e and p are input to a power-residue computing unit to calculate W = e w mod p,
Generate random number v from Z q with random number generator ,
Calculate e v mod p by inputting e and p from v and memory into a power-residue computing unit ,
Calculate g v mod p by inputting g and p from v and memory to a power-residue calculator ,
W, e v mod p , g v mod p , m are input to the hash machine i = H 3 (W‖e v mod p‖g v mod p‖m)
Input q from the u, i, w and memory to the remainder multiplier / subtractor to calculate j = u-iwmod q,
(Σ, W, i, j ) the converted output to Rukoto method features and be that with signing the ciphertext conversion as a signature.
W をハッシュ器に入力してK=H1(W)を計算してセッション鍵Kを生成し、
そのセッション鍵 K と暗号文 C を復号器に入力してm=DK s (C)を計算して暗号文Cを復号して平文mを作り、
a , b とメモリから g , y , p をべき乗剰余演算器に入力してV=g a y b mod pを計算し、
その計算結果 V と j , i , W とメモリから p とをべき乗剰余演算器に入力してVjWi mod pを計算し、
j , i とメモリから g , e , p とをべき乗剰余演算器に入力してgjeimod pを計算し、
W , V j W i mod p , g j e i mod p ,mをハッシュ器に入力して H3(W‖VjWi mod p‖gjeimod p‖m)を計算し、
この計算結果がiと一致するかを比較器で検証し、一致すれば署名を正しいものとすることを特徴とする署名検証方法。A method for verifying a signature sentence (Σ, W, i, j) converted by the conversion method according to claim 6 at a verifier terminal, wherein g , p , y , e are stored in a memory,
Enter W into the hash machine and calculate K = H 1 (W) to generate session key K ,
The session key K and the ciphertext C are input to the decryptor, m = D K s (C) is calculated, and the ciphertext C is decrypted to produce a plaintext m.
Input g , y , and p from memory a , b, and memory to the exponentiation remainder calculator to calculate V = g a y b mod p ,
The calculation result V , j , i , W and p from the memory are input to the power-residue computing unit to calculate V j W i mod p,
g j e i mod p is calculated by inputting g , e , and p from memory j and i to the power-residue computing unit ,
W 3 , V j W i mod p , g j e i mod p , m are input to the hash machine to calculate H 3 (W‖V j W i mod p‖g j e i mod p‖m)
A signature verification method characterized in that a comparator verifies whether the calculation result matches i, and if the result matches, the signature is correct.
g , p , y , e がメモリに記憶されてあり、
W をハッシュ器に入力してK=H1(W)を計算してセッション鍵Kを生成し、
そのセッション鍵 K とΣ中の暗号文 C を復号器に入力してm=DK s(C)を計算して暗号文Cを復号して平文mを作り、
a , b とメモリから g , y , p をべき乗剰余演算器に入力してV=gaybmod pを計算し、
その計算結果 V とj,iと、メモリからg,pとをべき乗剰余演算器に入力してgj Vimod pを計算し、
j , i , W とメモリから e , p とをべき乗剰余演算器に入力してejWimod pを計算し、
W , g j V i mod p , e j W i mod p , m をハッシュ器に入力して H3 (W‖gjVi mod p‖ejWimod p‖m)を計算し、
この計算結果がiと一致するかを比較器で検証し、一致すれば署名を正しいものとすることを特徴とする署名検証方法。A method for verifying a signature sentence (Σ, W, i, j) converted by the conversion method according to claim 7 at a verifier terminal,
g , p , y , e are stored in memory,
Enter W into the hash machine and calculate K = H 1 (W) to generate session key K,
The session key K and the ciphertext C in Σ are input to a decryptor, m = D K s (C) is calculated, and the ciphertext C is decrypted to produce a plaintext m.
Input g , y , and p from memory a , b and memory to the exponentiation remainder calculator to calculate V = g a y b mod p,
The calculation result V , j, i, and g, p from the memory are input to the power-residue computing unit to calculate g j V i mod p,
j , i , W and e , p from memory are input to the power-residue computing unit to calculate e j W i mod p,
W, g j V i mod p , e j W i mod p, to input m to the hash unit calculates the H 3 (W ‖g j V i mod p‖e j W i mod p‖m),
A signature verification method characterized in that a comparator verifies whether the calculation result matches i, and if the result matches, the signature is correct.
p,g,y,dを記憶するメモリと、
a,b,g,y,pが入力され、gaybmod pを計算してその結果Vを出力する第1べき乗剰余演算器と、その計算結果V,d,pが入力され、Vdmod pを計算してその結果Wを出力する第2べき乗剰余演算器と、
Zqに属する乱数uを生成する乱数生成器と、
上記計算結果V,u,pが入力され、Vumod p を計算してその結果を出力する第3べき乗剰余演算器と、
g,u,pが入力され、gumod pを計算してその結果を出力する第4べき乗剰余演算器と、
m,W,Vumod p, gumod pが入力され、H3(W‖Vumod p‖gumod p‖m)を計算してその結果iを出力するハッシュ器と、
u,i,d,pが入力され、u-idmod pを計算して、その結果jを出力する乗余剰算・減算器と、
(Σ,W,i,j)を変換された署名として出力する送信器と
を具備する受信者端末。p, and q, and a large prime number q is divides the (p-1), and g is the original of order q in Z p *, and H a (-) and one-way hash function, the signature selected from Z q and with respect to key x and public signature verification key y = g x mod p, Z for the decryption key d which is selected from the group consisting of q as a public encryption key e = g d mod p, random number selected from Z q w, W = e w mod p, session key K = H 1 (W), plaintext m is ciphertext C = E K s (m), V = g w mod p, b = H 2 (X‖C) (X is V, W, m, K, W‖K, or W‖m), a = w-bxmod q, and a signed ciphertext Σ = (C, a, b) can be verified by a third party A recipient terminal to convert to a signature,
a memory for storing p, g, y, d;
a, b, g, y, p are input, g a y b mod p is calculated and the result V is output, and the calculation result V, d, p is input, V a second power residue calculator that calculates d mod p and outputs the result W;
A random number generator for generating a random number u belonging to Z q ;
A third power residue calculator that receives the calculation result V, u, p, calculates V u mod p, and outputs the result;
a fourth power residue calculator that receives g, u, p, calculates g u mod p, and outputs the result;
a hasher that receives m, W, V u mod p, g u mod p, calculates H 3 (W‖V u mod p‖g u mod p‖m), and outputs the result i;
u / i, d, p is input, and u-idmod p is calculated, and the result is a modular multiplication / subtractor that outputs j,
A receiver terminal comprising: a transmitter that outputs (Σ, W, i, j) as a converted signature.
上記平文mはハッシュ器及び排他的論理和演算器によりm'=m(+)(H 5 (H 4 (m)) ‖ H 4 (m)に変換され、上記暗号文Cは上記変換された平文m'が暗号化された文C=EK S(m')であり、上記署名付き暗号文はΣ=(C,a)であることを特徴とする請求項10記載の受信者端末。Let A (+) B be the exclusive OR operation of A and B,
The plaintext m is converted to m ′ = m (+) (H 5 (H 4 (m)) ‖ H 4 (m) by the hash unit and exclusive OR operator, and the ciphertext C is converted to the above. 11. The receiver terminal according to claim 10, wherein the plaintext m ′ is an encrypted sentence C = E K S (m ′), and the signed ciphertext is Σ = (C, a).
W=ewmod p,セッション鍵K=H1(W)、平文mの暗号文C=EK s(m) とし、V=gwmod p, b=H2(X‖C)(XはV, W, m, K, W‖K, W‖mの何れか)とし、a=w-bx mod q署名付き暗号文Σ=(C, a, b)を第三者が検証可能な署名に変換する送信者端末であって、
q,p,g,x,eを記憶するメモリと、
a,b,x,q,を入力して、a+bx mod qを計算してその結果wを出力する乗余剰算・減算器と、
その計算結果w,e,pを入力して、ewmod pを計算してWを出力する第1べき乗剰余演算器とWを入力して、H1(W)を計算してその結果セッション鍵Kを出力する第1ハッシュ器と、Cと上記計算結果のKを出力して、復号関数DK s(C)を計算してその結果として復号平文mを出力する復号器と、
Zqに属する乱数uを生成して出力する乱数生成器と、
e,v,pを入力して、evmod pを計算し、その結果を出力する第2べき乗剰余演算器と、
v,g,pを入力して、gvmod p を計算し、その結果を出力する第3べき乗剰余演算器と、
計算したW、復号した平文m, evmod p及び gvmod pの各計算結果を入力して、H3(M‖evmod p‖gvmod p‖m)を計算してその結果iを出力する第2ハッシュ器と、
i,v,計算結果W,qを入力して、v-iwmod q を計算してその結果jを出力する乗余剰算・減算器と、
Σ,M,i,jを変換された署名として出力する送信器と
を具備する送信者端末。p, and q, and a large prime number q is divides the (p-1), and g is the original of order q in Z p *, and H a (-) and one-way hash function, the signature selected from Z q For the decryption key d selected from the keys x and Z q , the public encryption key e = g d mod p is set, and the random number w selected from Z q
W = e w mod p, session key K = H 1 (W), plaintext m ciphertext C = E K s (m), V = g w mod p, b = H 2 (X ‖ C) (X Is V, W, m, K, W‖K, or W‖m), and a = w-bx mod q signed ciphertext Σ = (C, a, b) can be verified by a third party A sender terminal to convert to a signature,
a memory for storing q, p, g, x, e;
a surplus / subtractor that inputs a, b, x, q, calculates a + bx mod q, and outputs the result w;
Input the calculation result w, e, p, calculate e w mod p and output W and input W, calculate W 1 (W), and result session A first hasher that outputs a key K, a decoder that outputs C and K of the calculation result, calculates a decryption function D K s (C), and outputs a decrypted plaintext m as a result,
A random number generator that generates and outputs a random number u belonging to Z q ;
a second power residue calculator that inputs e, v, p, calculates e v mod p, and outputs the result;
a third power residue calculator that inputs v, g, p, calculates g v mod p, and outputs the result;
Input the calculated W, decrypted plaintext m, e v mod p and g v mod p, and calculate H 3 (M‖e v mod p‖g v mod p‖m) a second hasher that outputs i;
Multiplicative surplus / subtracter that inputs i, v, calculation result W, q, calculates v-iwmod q, and outputs the result j;
A transmitter terminal comprising: a transmitter that outputs Σ, M, i, j as a converted signature.
上記平文mはハッシュ器及び排他的論理和演算器によりm'=m(+)(H 5 (H 4 (m)) ‖ H 4 (m)に変換され、上記暗号文Cは上記変換された平文m'が暗号化された文C=EK S(m')であり、上記署名付き暗号文はΣ=(C,a)であり、
上記復号器は上記復号関数DK S(C)を計算してその結果として変換平文m'を得、m'をBがH4(・)の出力ビット数と同じになるようにm'=A‖BとしてAとBに分割し、H5(B)(+)A=mを演算して復号平文mを出力するものであることを特徴とする請求項12記載の送信者端末。Let A (+) B be the exclusive OR operation of A and B,
The plaintext m is converted to m ′ = m (+) (H 5 (H 4 (m)) ‖ H 4 (m) by the hash unit and exclusive OR operator, and the ciphertext C is converted to the above. The plaintext m ′ is an encrypted sentence C = E K S (m ′), and the signed ciphertext is Σ = (C, a),
The decoder calculates the decryption function D K S (C) and obtains the converted plaintext m ′ as a result, and m ′ is equal to the number of output bits of H 4 (•) so that m ′ = 13. The sender terminal according to claim 12 , wherein A ‖ B is divided into A and B, and H 5 (B) (+) A = m is calculated to output a decrypted plaintext m.
g,p,y,eを記憶したメモリと、
Wを入力して、H1(W)を計算し、その結果としてセッション鍵Kを出力する第1ハッシュ器と、
K,Cを入力して、DK s(C)を計算して,その結果として復号平文mを出力する復号器と、
a,b,g,y,p を入力して、gaybmod p を計算し、その結果Vを出力する第1べき乗剰余演算器と、
W, V, i, j, pを入力して、VjWimod p を計算し、その結果を出力する第2べき乗剰余演算器と、
g,e,i,j,p を入力して、gjeimod p を計算し、その結果を出力する第3べき乗剰余演算器と、
m,W,VjWi mod p及び gjeimod pの各計算結果を入力して、H3(W‖VjWimod p‖gjeimod p‖m)を計算してその結果を出力する第4べき乗剰余演算器と、
上記第4べき乗剰余演算器の計算結果とiとが一致するかを検証する比較器とを具備する検証者端末。p, and q, and a large prime number q is divides the (p-1), and g is the original of order q in Z p *, and H a (-) and one-way hash function, the signature selected from Z q Public verification key y = g d mod p for key x, public encryption key e = g d mod p for decryption key d selected from Z q , ciphertext C, its signature (a, b), public A verifier terminal that inputs the signature (i, j) for the key W, (C, a, b) and verifies the validity of the signature (i, j),
a memory storing g, p, y, e,
A first hasher that inputs W, calculates H 1 (W), and outputs a session key K as a result;
A decoder that inputs K and C, calculates D K s (C), and outputs a decrypted plaintext m as a result;
a first power residue calculator that inputs a, b, g, y, p, calculates g a y b mod p, and outputs the result V;
A second power residue calculator that inputs W, V, i, j, p, calculates V j W i mod p, and outputs the result;
input g, e, i, j, p, calculate g j e i mod p, and output the result;
Input each calculation result of m, W, V j W i mod p and g j e i mod p and calculate H 3 (W‖V j W i mod p‖g j e i mod p‖m). A fourth power residue calculator that outputs the result,
A verifier terminal comprising a comparator that verifies whether i is equal to a calculation result of the fourth power residue calculator.
g,p,y,eを記憶したメモリと、
Wを入力して、H1(W) を計算し、その結果としてセッション鍵Kを出力する第1ハッシュ器と、
D、Cを入力して、DK s(C)を計算して,その結果として復号平文mを出力する復号器と、
a, b, g, y, p を入力して、gaybmod p を計算し、その結果Vを出力する第1べき乗剰余演算器と、
W,e,i,j,pを入力して、ejWimod p を計算し、その結果を出力する第2べき乗剰余演算器と、
g,V,i,j,pを入力して、gjVimod p を計算し、その結果を出力する第3べき乗剰余演算器と、
m,W,ejWimod p及び gjVimod pの各計算結果を入力して、H3(W‖ejWimod p‖gjVi mod p‖m)を計算してその結果を出力する第4べき乗剰余演算器と、
上記第4べき乗剰余演算器の計算結果とiとが一致するかを検証する比較器とを具備する検証者端末。p, and q, and a large prime number q is divides the (p-1), and g is the original of order q in Z p *, and H a (-) and one-way hash function, the signature selected from Z q Public verification key y = g d mod p for key x, public encryption key e = g d mod p for decryption key d selected from Z q , ciphertext C, its signature (a, b), public A verifier terminal that inputs a signature (i, j) for key information W, (C, a, b) and verifies the validity of the signature (i, j),
a memory storing g, p, y, e,
A first hasher that inputs W, calculates H 1 (W), and outputs the session key K as a result;
A decoder that inputs D and C, calculates D K s (C), and outputs a decrypted plaintext m as a result;
a first power residue calculator that inputs a, b, g, y, p, calculates g a y b mod p, and outputs the result V;
A second power residue calculator that inputs W, e, i, j, p, calculates e j W i mod p, and outputs the result;
g, V, i, j, p is input, g j V i mod p is calculated, and a third power residue calculator that outputs the result,
Input each calculation result of m, W, e j W i mod p and g j V i mod p and calculate H 3 (W‖e j W i mod p‖g j V i mod p‖m). A fourth power residue calculator for outputting the result,
A verifier terminal comprising: a comparator that verifies whether i is coincident with a calculation result of the fourth power residue calculator.
g,p,y,eを記憶したメモリと、
Wを入力して、H1(W)を計算し、その結果としてセッション鍵Kを出力する第1ハッシュ器と、
K,Cを入力して、DK s(C)を計算して、その結果として変換復号平文m'を得、m'をBがH4(・)の出力ビット数と同じになるようにm'=A‖BとしてAとBに分割し、H5(B)(+)A=mを計算して平文mを出力する復号器と、
Cを入力してH2(C)を計算して、その結果bを出力する第2ハッシュ器と、
a,b,g,y,pを入力して、gaybmod pを計算し、その結果Vを出力する第1べき乗剰余演算器と、
W,V,i,j,pを入力して、VjWimod p を計算し、その結果を出力する第2べき乗剰余演算器と、
g,e,i,j,pを入力して、gjei mod p を計算し、その結果を出力する第3べき乗剰余演算器と、
m,W, VjWimod p 及びgjei mod pの各計算結果を入力して、H3(W‖VjWi mod p‖gjei mod p‖m)を計算してその結果を出力する第4べき乗剰余演算器と、
上記第4べき乗剰余演算器の計算結果とiとが一致するかを検証する第1比較器と、
mを入力してH4(m)を計算する第3ハッシュ器と、
第3ハッシュ器の計算結果と上記Bとが一致するかを検証する第2比較器と、
を具備する検証者端末。p, and q, and a large prime number q is divides the (p-1), and g is the original of order q in Z p *, and H a (-) and one-way hash function, A a (+) B A and the exclusive OR operation B, and Z q public to signing key x selected from the verification key y = g d mod p, the public encryption key to the decryption key d selected from Z q e = g d mod p, the signature for the ciphertext C is (a, b), the signature (i, j) for the public key W, (C, a) is input, and the signature (i, j), (a, b) ) Verifier terminal that verifies the validity of
a memory storing g, p, y, e,
A first hasher that inputs W, calculates H 1 (W), and outputs a session key K as a result;
Input K and C, calculate D K s (C), and obtain the converted plaintext m ′ as a result, so that M ′ is the same as the number of output bits of H 4 (•) a decoder that divides A and B as m ′ = A‖B, calculates H 5 (B) (+) A = m, and outputs plaintext m;
A second hasher that inputs C, calculates H 2 (C), and outputs the result b;
a first power residue calculator that inputs a, b, g, y, p, calculates g a y b mod p, and outputs the result V;
A second power residue calculator that inputs W, V, i, j, p, calculates V j W i mod p, and outputs the result;
g, e, i, j, p is input, g j e i mod p is calculated, and a third power residue calculator that outputs the result,
Input each calculation result of m, W, V j W i mod p and g j e i mod p and calculate H 3 (W‖V j W i mod p‖g j e i mod p‖m). A fourth power residue calculator for outputting the result,
A first comparator for verifying whether the calculation result of the fourth power-residue calculator and i match;
a third hasher that inputs m and calculates H 4 (m);
A second comparator for verifying whether the calculation result of the third hash unit matches the above B;
A verifier terminal comprising:
g,p,y,eを記憶したメモリと、
Wを入力して、H1(W)を計算し、その結果としてセッション鍵Kを出力する第1ハッシュ器と、
D,Cを入力して、DK s(C)を計算して,その結果として変換復号平文m'を得、m'をBがH4(・)の出力ビット数と同じになるようにm'=A‖BとしてAとBに分割し、H5(B)(+)A=mを計算して平文mを出力する復号器と、
Cを入力し、H2(C)を計算し、計算結果bを出力する第2ハッシュ器と、
a,b,g,y,p を入力して、gaybmod p を計算し、その結果Vを出力する第1べき乗剰余演算器と、
W, e, i, j, pを入力して、ejWimod p を計算し、その結果を出力する第2べき乗剰余演算器と、
g,V,i,j,p を入力して、gjVimod p を計算し、その結果を出力する第3べき乗剰余演算器と、
m,W,ejWi mod p及び gjVimod pの各計算結果を入力して、H3(W‖ejWimod p‖gjVimod p‖m)を計算してその結果を出力する第4べき乗剰余演算器と、
上記第4べき乗剰余演算器の計算結果とiとが一致するかを検証する比較器と、
mを入力してH4(m)を計算する第3ハッシュ器と、
第3ハッシュ器の計算結果とBとが一致するかを検証する第2比較器と、
を具備する検証者端末。p, and q, and a large prime number q is divides the (p-1), and g is the original of order q in Z p *, and H a (-) and one-way hash function, A a (+) B A and the exclusive OR operation B, and Z q public to signing key x selected from the verification key y = g d mod p, the public encryption key to the decryption key d selected from Z q e = g d mod p, the signature for the ciphertext C is (a, b), the public key information W, the signature (i, j) for (C, a) is input, and the signature (a, b) (i, j) Verifier terminal that verifies the validity of
a memory storing g, p, y, e,
A first hasher that inputs W, calculates H 1 (W), and outputs a session key K as a result;
D, C is input, D K s (C) is calculated, and as a result, the converted decrypted plaintext m ′ is obtained, so that B ′ is equal to the number of output bits of H 4 (•). a decoder that divides A and B as m ′ = A‖B, calculates H 5 (B) (+) A = m, and outputs plaintext m;
A second hasher that inputs C, calculates H 2 (C), and outputs a calculation result b;
a first power residue calculator that inputs a, b, g, y, p, calculates g a y b mod p, and outputs the result V;
A second power residue calculator that inputs W, e, i, j, p, calculates e j W i mod p, and outputs the result;
g, V, i, j, p is input, g j V i mod p is calculated, and a third power residue calculator that outputs the result,
Input each calculation result of m, W, e j W i mod p and g j V i mod p and calculate H 3 (W‖e j W i mod p‖g j V i mod p‖m). A fourth power residue calculator for outputting the result,
A comparator for verifying whether the calculation result of the fourth power-residue computing unit matches i;
a third hasher that inputs m and calculates H 4 (m);
A second comparator for verifying whether the calculation result of the third hasher and B match,
A verifier terminal comprising:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001010061A JP3668138B2 (en) | 2001-01-18 | 2001-01-18 | Signed ciphertext conversion method, verification method thereof, and apparatus thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001010061A JP3668138B2 (en) | 2001-01-18 | 2001-01-18 | Signed ciphertext conversion method, verification method thereof, and apparatus thereof |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002215025A JP2002215025A (en) | 2002-07-31 |
JP3668138B2 true JP3668138B2 (en) | 2005-07-06 |
Family
ID=18877441
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001010061A Expired - Lifetime JP3668138B2 (en) | 2001-01-18 | 2001-01-18 | Signed ciphertext conversion method, verification method thereof, and apparatus thereof |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3668138B2 (en) |
-
2001
- 2001-01-18 JP JP2001010061A patent/JP3668138B2/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JP2002215025A (en) | 2002-07-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111314089B (en) | SM 2-based two-party collaborative signature method and decryption method | |
US6298153B1 (en) | Digital signature method and information communication system and apparatus using such method | |
CN107707358B (en) | EC-KCDSA digital signature generation method and system | |
CA2312331C (en) | Public key encryption with digital signature scheme | |
CN108667626A (en) | The two sides cooperation SM2 endorsement methods of safety | |
CN109743171B (en) | Key series method for solving multi-party digital signature, timestamp and encryption | |
US20060083370A1 (en) | RSA with personalized secret | |
KR20080043217A (en) | Message authentication code generation method and authenticated encryption method using stream cipher | |
CN114095181B (en) | Threshold ring signature method and system based on cryptographic algorithm | |
CA2819211C (en) | Data encryption | |
Shankar et al. | Improved Multisignature Scheme for Authenticity of Digital Document in Digital Forensics Using Edward‐Curve Digital Signature Algorithm | |
US20050240762A1 (en) | Cryptographic method and apparatus | |
CN113378204A (en) | Composite identification password method combining chaos and SM9 | |
CN116346336B (en) | Key distribution method based on multi-layer key generation center and related system | |
US6507656B1 (en) | Non malleable encryption apparatus and method | |
JP3694242B2 (en) | Signed cryptographic communication method and apparatus | |
JP2004246350A (en) | Enciphering device, deciphering device, enciphering system equipped with the same, enciphering method, and deciphering method | |
JP3668138B2 (en) | Signed ciphertext conversion method, verification method thereof, and apparatus thereof | |
Tiwari et al. | Cryptographic hash function: an elevated view | |
JPH06112935A (en) | Ciphering communication method | |
US9369276B2 (en) | Digital signature authentication without a certification authority | |
JP4000900B2 (en) | Cryptographic method with authentication, decryption method with authentication, verification method and device, program, and computer-readable recording medium | |
JP3862397B2 (en) | Information communication system | |
JP2000004223A (en) | Encryption/authentication system | |
JP4150328B2 (en) | Hybrid encryption apparatus and hybrid encryption / decryption method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20041221 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050221 |
|
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: 20050315 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050407 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 3668138 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313118 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090415 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090415 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100415 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100415 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110415 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110415 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120415 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120415 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130415 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140415 Year of fee payment: 9 |
|
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 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313117 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |