JP3668138B2 - Signed ciphertext conversion method, verification method thereof, and apparatus thereof - Google Patents

Signed ciphertext conversion method, verification method thereof, and apparatus thereof Download PDF

Info

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
Application number
JP2001010061A
Other languages
Japanese (ja)
Other versions
JP2002215025A (en
Inventor
正幸 阿部
英一郎 藤▲崎▼
美也子 大久保
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Nippon Telegraph and Telephone East Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Nippon Telegraph and Telephone East Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp, Nippon Telegraph and Telephone East Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2001010061A priority Critical patent/JP3668138B2/en
Publication of JP2002215025A publication Critical patent/JP2002215025A/en
Application granted granted Critical
Publication of JP3668138B2 publication Critical patent/JP3668138B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

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
sを秘密鍵暗号関数とし、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=(, 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 receiver terminal 300 from the sender terminal 100 via the public communication network 200 is converted into a normal digital signature that can be verified by a third party. In this case, the data is transmitted to the third-party verifier terminal 400 via the public communication network 200 so that the verifier terminal 400 can verify and decrypt the signature.
[0013]
  In the sender terminal 100, the signature key x of the Schnorr signature is set to ZqsRandomly select from the signature verification key y = gs x mod psAnd y is disclosed. The recipient terminal 300 uses the decryption key d of ElGamal encryption as ZqrSelect at random from the encryption key e = gr dmod prAnd e is published.
  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 sender terminal 100 generates the ciphertext C and the signature, and transmits the transmission text (C, a) to the receiver terminal 300.
[0014]
The receiver terminal 300 receives c = H for the received sentence (C, a).1(gs xycmod psConfirm that (C) holds, then W = Gd mod pr, K = H2(W), m = DK sCalculate (M) to obtain plaintext m.
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 receiver terminal 300 and a method for verifying the signature will be described.
FIG. 2 shows only a part of the receiver terminal 300 necessary for this signature conversion. In this part, G in the ciphertext with signature Σ = (C, a), C = (G, M) to be converted and the decrypted plaintext m are input. Random number generator 305 to ZqrA random number u belonging to, and the random number u, the G in the ciphertext C = (G, M) to be converted, and the p from the memory 302rAre input to the power-residue calculator 306 and Gumod prAnd u and g from memory 302r, prTo the power residue calculator 307 and enter gr u mod prAnd G and d, p from the memory 302 are calculated.rIs input to the power residue calculator 308 and W = Gd mod prAnd the calculation results of the power-residue calculators 306, 307, and 308, and G and the decrypted plaintext m are input to the hash unit 309, and i = HThree(G‖W‖Gumod pr‖Gr umod prCalculate ‖m). The calculation result i, the random number u, and q from the memory 302r, d to the remainder multiplier / subtractor 311 and j = u-idmod qrCalculate The ciphertext Σ with signature to be converted and the calculated W, i, and j are transmitted from the transmitter 312 to the verifier terminal 400 as a transmitted text (Σ, W, i, j).
[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 control unit 313 sequentially or in parallel.
[0016]
The verifier terminal 400 receives the converted signed text (Σ, W, i, j) transmitted from the receiver terminal 300 by the receiver 401, and inputs the received W to the hash unit 402. K = H2(W) is calculated and the session key K is output, and the received K and the received M are input to the decryptor 403.K sCalculate (M) and output plaintext m. Received a = (C, z) and g from memory 404s, ps, y is input to the power-residue calculator 405, and V = gs zycmod psAnd V is output, and the received C and the received C = (M, G) are input to the hash unit 406 and c = H1(V‖C) is calculated, and the comparator 407 checks whether c of the calculation result matches c in the received a.
[0017]
Furthermore, i, j received and g from memory 404r, pr, e are input to the power-residue calculator 408 and gr jeimod prAnd G of received C = (G, W), W, a = (C, z), p from the memory 404rTo the power-residue calculator 409 and GjWimod prCalculate The received G and W, the output m of the decoder 403, and the outputs of the power-residue calculators 408 and 409 are input to the hash unit 411 and HThree(G‖W‖GjWimod pr‖Gr jeimod pr‖M) is calculated, and this calculation result is compared with the received i by the comparator 412 to check whether or not they match. If the comparison results of the comparators 407 and 412 match, the signature is correct, and the output m of the decoder 403 can be recognized as a correct plain text. If any of the comparisons by the comparators 407 and 412 does not match, the signature on the received ciphertext C can be made illegal.
[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 control unit 413 sequentially or in parallel.
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 sender terminal 100 and a signature verification method thereof will be described.
FIG. 4 shows only a part for converting the signed ciphertext Σ = (C, a), C = (G, M) in the sender terminal 100. The random number w used to encrypt the ciphertext C from the memory 102, the encryption key e, and prIs input to the power-residue calculator 103, and W = ewmod prAnd W is output. Z by random number generator 104qrA random number v belonging to, and v and g from the memory 102r, prIs input to the power-residue calculator 105 and gr vmod prAnd output v and memory 102 e, pr Is input to the power-residue calculator 106 and evmod prIs calculated and output.
[0021]
The power residue calculator 103 output V is input to the hash unit 107, and K = H2(W) is calculated to generate a session key K, and the K and M in the ciphertext C are input to the decryptor 108 and the decryption function m = Dk sCalculate (M) and output the decrypted plaintext m.
The G in the ciphertext C, the plaintext m from the decryptor 108, and the calculation results of the power-residue computing units 103, 105, 106 are input to the hash unit 109.
i = H3 (G‖W‖gr vmod pr‖Evmod pr‖M) (1)
And i is output. This i, random number v, w, q from memory 102rAnd input to the remainder multiplier / subtractor 111
j = v-iwmod qr                                             (2)
And output j. Signed ciphertext Σ = (C, a) to be converted, output i of hash unit 109, output j of power multiplier / subtractor 111, output W of power residue arithmetic unit 103, and converted ciphertext with signature ( (Σ, W, i, j) is transmitted from the transmitter 112 to the verifier terminal 400.
[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 hash unit 402 using W in (Σ, W, i, j) received by the receiver 401.2 The session key is obtained by calculating (W), and the uppercase letter M in the ciphertext C is obtained by the key K by the decryptor 403 and m = DK sDecoded as (M). The received signature a = (c, z) is calculated by the exponentiation remainder calculator 405 with V = gs zycmod ps
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 memory 404 are input to the power residue calculator 421.
gr jGimod pr                                                (3)
Is calculated and also received j, W and e, p from memory 404rIs entered,
ejWimod pr                                                 (Four)
Is calculated. The received G and W, the decrypted plaintext m, and the calculation results of the power-residue computing units 421 and 422 are input to the hash unit 423.
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 sender terminal 100 sets the signature key x to ZqRandomly select from the signature verification key y = yxCalculate mod p and publish y. Recipient terminal 300 sets decryption key d to ZqChoose at random from the encryption key e = gdCalculate mod p and publish e.
When transmitting the plain text m, the sender terminal 100 creates a transmission text Σ by the following means. First, the random number w is ZqSelect a random session key from K = H1(ewmod p) and plaintext m is EsC = EK sEncrypt (m) to obtain ciphertext C. Then V = gwmod p, b = H2(V‖C), a = w-bxmod q is calculated sequentially to obtain signatures a and b. The transmitted sentence Σ is Σ = (C, a, b).
[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 receiver terminal 300 for converting the decrypted encrypted ciphertext Σ into a ciphertext that can be verified by a third party will be described with reference to FIG. In FIG. 6, parts corresponding to those in FIG.
[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 exponentiation remainder calculators 324, 325, and 326 are input to the hash unit 327.
  i = HThree(W‖Vumod p‖gumod p‖m) (6)
Calculate Furthermore, the remainder multiplier / subtractor 328
  j = u-idmodq
And the converted ciphertext (Σ, W, i, j) with the signature is transmitted from the transmitter 312 to the verifier terminal 400.
[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 receiver 401 receives the receiver (Σ, W, i, j), the hash unit 431 receives K = H1(W) is calculated, and with the key K, m = D at the decoder 403 for C in Σ = (C, a, b)k s(C) is calculated and plaintext m is output. Power residue calculator 432 V = gayb mod p is calculated and H and the hash machine 4332(V‖C) is calculated and this H2The comparator 434 verifies whether (V‖C) and b match.
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 comparator 438 verifies whether or not the calculation result matches j. If any of the comparators 434 and 438 detects a mismatch, the signature is determined to be invalid, and if both match, the signature is considered correct.
[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.
Embodiment 4.
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 sender terminal 100 will be described below.
[0031]
In FIG. 8, parts corresponding to those in FIG. The sentence to be converted Σ = (C, a, b) is input, the remainder multiplier / adder 121 calculates w = a + bxmod q, and the power residue calculator 122 is W = ewmod p is calculated, and further K = H with hash machine 1271(W) is calculated to obtain a session key K. M = D at decoder 124K s(C) is calculated to obtain the decrypted plaintext m.
The power residue calculator 125vmod p is calculated and the power residue calculator 126 gv Calculate mod p. Input the calculation results of plaintext m and power-residue calculators 122, 125, 126 to the hash calculator 127,
HThree(W‖evmod p‖gvmod p‖m) (8)
And j = v-iwmod q is calculated by the remainder multiplier / subtracter 128. A signature sentence (Σ, W, i, j) obtained by converting sentences Σ and W and i and j is transmitted to verifier terminal 400 by transmitter 112.
[0032]
Verification of the signature text (Σ, W, i, j) received by the verifier terminal 400 at the receiver 401 is performed as shown in FIG. 9, for example. In FIG. 9, parts corresponding to those in FIG.
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 decryptor 403 using the key K to obtain the plaintext m. The power-residue calculator 432 calculates V and the hash unit 433 calculates H.2(V‖C) is calculated, and the comparator 434 verifies whether this matches b. In this example, the power residue calculator 441jwimod p is calculated, and the power residue calculator 442 gjVimod p is calculated, m, W, and the calculation results of the power-residue computing units 441 and 442 are input to the hash unit 443,
HThree(W‖ejWimod p‖gjvimod p‖m)
And the comparator 438 verifies whether the calculation result and i match. If either of the comparators 434 and 438 does not match, it is determined as an illegal signature, and if both match, it is determined as a correct signature.
Embodiment 5.
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 receiver terminal 300, it may be exactly the same as that of the third embodiment (FIG. 6). 7 in Hasher 433 in accordance with the change of b2(K‖C), H2(W‖C), H2(W‖C‖K), H2(W‖C‖m), H2It is only necessary to change to the one corresponding to (C で m), and in order to convert it into a signature that can be verified by the third party at the sender terminal 100, it may be exactly the same as that of the fourth embodiment (FIG. 8). In the verification process in the verifier terminal 400, the calculation in the hash unit 433 in FIG.2(K‖C), H2(W‖C), H2(W‖C‖K), H2(W‖C‖m), H2Change to the one corresponding to (C‖m).
[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 sender terminal 100 by, for example, the following means. Ie HFour, HFiveIs a hash function and m is m '=m (+) (H Five (H Four (m)) H Four (m)Convert to Here, (+) represents an exclusive OR for each bit. Next, m ′ is encrypted by the same procedure as in Embodiment 3 to obtain a ciphertext C. In this example b = H2(C), a = w-bxmod q is calculated to obtain signatures a and b. The transmitted sentence Σ is Σ = (C, a).
[0034]
  A method for converting the signed ciphertext Σ into a signature that can be verified by an arbitrary third party by the receiver terminal 300 and a method for verifying the signature will be described.
  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 sender terminal 100 and a method for verifying the signature will be described.
[0036]
In the sender terminal 100, w = a + bx mod q, W = e as shown in FIG.wmod p then random number v is ZqChoose at random, i = HThree(W‖evmod p‖gvmod p‖m) and j = v-iw mod q are calculated, and (Σ, W, i, j) is converted into a converted signature and transmitted to the verifier terminal 400.
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 sender terminal 100, the receiver terminal 300, and the verifier terminal 400 described above can be caused to function by causing a computer to execute a program. In each verifier terminal 400 described above, only the validity of the public key information W, that is, verification by the comparators 412, 424, and 438 may be performed.
[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)

ps, qsを大きな素数とし、q s (p s -1)を割り切れるものとし、gsZ ps * における位数のqs の元とし、pr, qr, gr 同様に定義され、上記Zqsからランダムに選ばれ署名xに対し、公開検証鍵ygs x mod psとし、上記Zqrからランダムに選ばれ鍵dに対し、公開暗号鍵egr d mod prとし、平文mに対する暗号文C(G,M)=(g r u mod p r , Ek s(m))とし、Cに対する署名をa=(c, z)=(H1(gs v‖C), v-cx mod qs)とし K=H2(ew mod pr)と、wをZqr から選ばれた乱数とし、H(・)を一方向性ハッシュ関数とし、g s , p s , q r , g r , , eが公開されてあり、Σ =( , a) と、 G m が入力され、
受信者端末で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.
ps,qsを大きな素数とし、q s (p s -1)を割り切れるものとし、gsをZps *における位数qsの元とし、pr,qg,gr に定義され、上記Zqsからランダムに選ばれ署名鍵xに対し、公開検証鍵ys xmod psとし、上記Zqrから選ばれ復号鍵dに対し、公開暗号鍵egr dmod prとし、上記 g s , p s , g r , q r , y,e が公開され平文mに対する暗号をC=(G, M)=(g r u mod p r , Ek s(m))とし、Cに対する署名をa=(c, z)=(H1(gs v‖C), v-cxmod qs)とし K=H2(ewmod pr)と、wをZqrから選ばれた乱数とし、H(・)を一方向性ハッシュ関数とΣ =( , a) と、 G M が入力され、
送信者端末で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.
請求項に記載の変換方法により変換された署名文(Σ,W,i,j)を検証者端末で検証する方法であって、
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.
請求項に記載の変換方法により変換された署名文(Σ,W,i,j)を検証者端末で検証する方法であって、
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.
暗号文Cの署名 a=(c, z) と、メモリから g s y p s とをべき乗剰余演算器に入力してV=gs zycmod psを計算し
その計算結果 V C とをハッシュ器に入力してH2(V‖C)を計算し、その計算結果H2(V‖C)がと一致するかを比較器で検証し、この一致も成立した時Cに対する署名が正しいものとすることを特徴とする請求項又は記載の署名検証方法。
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.
p, qを大きな素数 q (p-1)を割り切れるものとし、gをZp kにおける位数のqの元とし、H(・)を一方向性ハッシュ関数とし、Zqからランダムに選ばれた署名xに対し、公開検証鍵ygxmod pとし、Zqからランダムに選ばれた復号鍵dに対し、公開暗号鍵egdmod pとし、Zqからランダムに選ばれた乱数wに対し、Wew mod pとし、セッション鍵H1(W)とし、V=gab mod pとし、平文mに対する暗号文をC=EK s(m)とし、Cに対する署名を(a,b)=(w-bx mod q, H2(X‖C)(XはV,W,m,K,W‖K, W‖mの何れか)とし、
g y p q e が公開されてあり、受信者端末で署名付き暗号文Σ=(C,a, )その復号平文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.
p, qを大きな素数 q (p-1)を割り切れるものとし、qをZp tにおける位数のqの元とし、H(・)を一方向性ハッシュ関数とし、Zqからランダムに選ばれた署名鍵xに対し、公開検証鍵ygxmod psとし、Zqからランダムに選ばれた復号鍵dに対し、公開暗号鍵egdmod pとし、平文mに対する暗号文をC= EK s(m)とし、wをZqから選ばれた乱数とし、W=ew mod pとし、セッション鍵KH1(W)とし、Cに対する署名を(a,b)=(w-bxmod q, H2(X‖C)(XはV,W,m,K,W‖K, W‖mの何れか)とし、上記 q p g y e が公開されてあり、Σ =(C,a,b) m が入力され、これらから送信者端末で署名付き暗号文Σ=(C,a,b)を任意の第三者が検証可能な署名に変換する方法であって、
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,i,j)を 検証者端末で検証する方法であって、g p y e がメモリに記憶されてあり、
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.
請求項に記載の変換方法により変換された署名文(Σ,W,i,j)を検証者端末で検証する方法であって、
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,qを q (p-1)を割り切る大きな素数とし、gをZp *における位数qの元とし、H(・)を一方向性ハッシュ関数とし、Zqから選ばれた署名鍵xに対し公開署名検証鍵y=gxmod pとし、Zqから選ばれた復号鍵dに対し公開暗号鍵e=gd mod pとし、Zqから選ばれた乱数w, 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-bxmod qとし、署名付き暗号文Σ=(C,a,b)を第三者が検証可能な署名に変換する受信者端末であって、
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.
A(+)BをAとBの排他的論理和演算とし、
上記平文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).
p,qを、q (p-1)を割り切る大きな素数とし、gをZp *における位数qの元とし、H(・)を一方向性ハッシュ関数とし、Zqから選ばれた署名鍵x, Zqから選ばれた復号鍵dに対し公開暗号鍵e=gdmod pとし、Zqから選ばれた乱数w,
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を出力する復号器と、
qに属する乱数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.
A(+)BをAとBの排他的論理和演算とし、
上記平文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.
p,qを q (p-1)を割り切る大きな素数とし、gをZp *における位数qの元とし、H(・)を一方向性ハッシュ関数とし、Zqから選ばれた署名鍵xに対し公開検証鍵y=gdmod pとし、Zqから選ばれた復号鍵dに対し公開暗号鍵e=gdmod pとし、暗号文C、その署名(a,b), 公開鍵W、(C,a,b)に対する署名(i,j)を入力して、署名(i,j)の正当性を検証する検証者端末であって、
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.
p,qを q (p-1)を割り切る大きな素数とし、gをZp *における位数qの元とし、H(・)を一方向性ハッシュ関数とし、Zqから選ばれた署名鍵xに対し公開検証鍵y=gdmod pとし、Zqから選ばれた復号鍵dに対し公開暗号鍵e=gd mod pとし、暗号文C、その署名(a, b), 公開鍵情報W,(C, a, b)に対する署名(i,j)を入力して、署名(i,j)の正当性を検証する検証者端末であって、
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.
p,qを q (p-1)を割り切る大きな素数とし、gをZp *における位数qの元とし、H(・)を一方向性ハッシュ関数とし、A(+)BをAとBの排他的論理和演算とし、Zqから選ばれた署名鍵xに対し公開検証鍵y=gdmod pとし、Zqから選ばれた復号鍵dに対し公開暗号鍵e=gdmod pとし、暗号文Cと対する署名を(a,b)とし、公開鍵W,(C,a)に対する署名(i,j)を入力して、署名(i,j) 、(a,b)の正当性を検証する検証者端末であって、
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:
p,qを q (p-1)を割り切る大きな素数とし、gをZp *における位数qの元とし、H(・)を一方向性ハッシュ関数とし、A(+)BをAとBの排他的論理和演算とし、Zqから選ばれた署名鍵xに対し公開検証鍵y=gdmod pとし、Zqから選ばれた復号鍵dに対し公開暗号鍵e=gdmod pとし、暗号文Cに対する署名を(a,b)とし、公開鍵情報W、(C,a)に対する署名(i,j)を入力して、署名(a,b)(i,j)の正当性を検証する検証者端末であって、
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:
JP2001010061A 2001-01-18 2001-01-18 Signed ciphertext conversion method, verification method thereof, and apparatus thereof Expired - Lifetime JP3668138B2 (en)

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)

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