JP3862397B2 - Information communication system - Google Patents

Information communication system Download PDF

Info

Publication number
JP3862397B2
JP3862397B2 JP00662998A JP662998A JP3862397B2 JP 3862397 B2 JP3862397 B2 JP 3862397B2 JP 00662998 A JP00662998 A JP 00662998A JP 662998 A JP662998 A JP 662998A JP 3862397 B2 JP3862397 B2 JP 3862397B2
Authority
JP
Japan
Prior art keywords
terminal device
encryption
public key
user
signature
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP00662998A
Other languages
Japanese (ja)
Other versions
JPH11202766A (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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP00662998A priority Critical patent/JP3862397B2/en
Priority to US09/229,440 priority patent/US6298153B1/en
Publication of JPH11202766A publication Critical patent/JPH11202766A/en
Application granted granted Critical
Publication of JP3862397B2 publication Critical patent/JP3862397B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
本発明は、公開鍵暗号を用いたディジタル署名方式を利用した情報通信システムに関する。
【0002】
【従来の技術】
例えば、コンピュータと通信ネットワークの発展と広範な普及に伴い、従来は通信ネットワーク上で実現できなかった社会的活動等、多様な機能が実現できるようになった。
しかしながらその反面、誰が、いつ、どこで、何を行ったのかを容易に把握される場合があった。
そこで、これを防ぐために、匿名で通信処理を行うことで、プライバシーを保護し、且つ通信ネットワーク上で多様な機能を実現する方法が提案されている。
【0003】
このような方法としては、例えば、公開鍵暗号を用いた方法があり、これにより、送信者は、通信内容を意図する受信者のみに送信でき、しかも受信者は、受信した通信内容の送信者が誰であるかを確実に確認することが可能となる。
そして、この方法を適用したものとしては、特願平8−108225号に開示されているディジタル署名方式及びそれを用いた情報通信システムがある。
【0004】
ここで、「暗号」及び「匿名公開鍵証明書」について具体的に説明する。
【0005】
(1)「暗号」
まず、「暗号」とは、情報の意味が当事者以外にには認識できないように情報を変換することをいう。そして、この暗号においては、元の文(変換されていない文)を「平文」といい、その平文を第三者に意味の分からない文(暗号文)に変換することを「暗号化」といい、その変換の手順を「暗号アルゴリズム」という。
平文及び暗号文は、テキストデータに限られるものではなく、音声や画像等、あらゆる情報を想定している。
暗号化は、「暗号化鍵」と呼ばれるパラメータに依存する変換である。そして、その暗号化で得られた暗号文を当事者が元の平文に戻すことを「復号」といい、その復号の際には、「復号鍵」と呼ばれる暗号化鍵に対応するパラメータが用いられる。一方、当事者以外の第三者が暗号文を元の平文に戻すこと、或いは、復号鍵を見いだすことを「解読」という。
【0006】
上述のような暗号では暗号の安全性を、暗号化に用いる暗号化鍵或いは復号に用いる復号鍵に帰着させており、それらの鍵を知らなければ、たとえ暗号アルゴリズムを知っていても、平文は得られないようになっている。
したがって、所定の暗号化を行う装置(暗号装置)の製造者でも、解読不可能な暗号化を実現することができる。
【0007】
また、暗号には、多くの暗号アルゴリズムがある。そこで、例えば、暗号化鍵を公開できるか否かの観点から、暗号を、非対称暗号(公開鍵暗号)と対称暗号(共通鍵暗号)の2つに分類して説明する。
【0008】
(1−1)「非対称暗号(公開鍵暗号)」
「非対称暗号」とは、「公開鍵暗号」とも呼ばれ、暗号化鍵と復号鍵が異なり、暗号化鍵から復号鍵が容易に計算して得られないようになっており、また、暗号化鍵を公開し、復号鍵を秘密に保持して使用される暗号のことをいう。
このような非対称暗号は、以下のような特徴を持っている。
特徴1:暗号化鍵と復号鍵が異なり、暗号化鍵が公開されるため、暗号化鍵を秘密に配送する必要がなく、その鍵の配送が容易である。
特徴2:各利用者の暗号化鍵は公開されるため、各利用者は、各自の復号鍵のみ秘密に保持しておけばよい。
特徴3:送信されてきた通信文の送信者が偽者でないこと、及びその通信文が改ざんされていないことを受信者が確認するための認証(ディジタル署名)機能を実現できる。
【0009】
ここで、暗号機能と上述の認証機能を実現できる非対称暗号としては、RSA暗号(R.L.Rivest,A.Shamir and L.Adleman,"A method of obtaining digital signatures and public key cryptosystems,"Communications of ACM,Vol.21,No.2,pp.120-126,1978 )や、ElGamal暗号(T.E.ElGamal,"A public key cryptosystem and a signature scheme based on discrete logarithms,"IEEE Transaction on Information Theory,Vol.IT-31,No.4,pp.496-472,1985 )が知られている。
また、認証機能を実現できる非対称暗号としては、Fiat−Shamir暗号(A.Fiat,A.Shamir,"How to prove yourself:practical solutions of identification and signature problrms,"Proc.of CRYPTO'86,1987 )や、Schnorr暗号(C.P.Schnorr,"Efficient signature generation by smart cards,"Journal of Cryptology,vol.4,pp.161-174,1991 )が知られている。
【0010】
例えば、ElGamal暗号における暗号化、復号、認証(ディジタル署名)の生成、及びその検証について具体的に説明する。
【0011】
まず、「Z」を整数全体の集合、「Zp 」を0以上p未満の整数の集合、「Zp \{0}」をZp から0を除いた集合、「Zp * 」をZp の要素且つpと互いに素である整数の集合として表すものとする。
また、整数A,B,Cに対して、
A=BmodC
なる関係が成り立つとき、BをCで割ったときの余りがAであること(任意の整数kが存在し、「B=k・C+A」が成り立つこと)を意味し、
A≡B(modC)
なる関係が成り立つとき、AをCで割ったときの余りと、BをCで割ったときの余りとが等しいことを意味するものとする。
さらに、通信相手と共通の公開パラメータとしては、素数p、Zp * の要素であり且つ位数p−1のα、及び一方向性ハッシュ関数H0 :Z→Zp \{0}を用いる。また、任意のユーザiの復号鍵(秘密鍵)を「si ∈Zp-1 」とし、暗号化鍵(公開鍵)を「vi =αSimodp」とする。
尚、「一方向性ハッシュ関数」とは、衝突を起こしにくい圧縮関数のことである。すなわち、「一方向性ハッシュ関数」とは、任意の長さのビット列を出力する関数であり、同じ出力となる入力を見つけることが困難である、という特徴を持っている。
【0012】
▲1▼暗号化
そこで、ユーザjが平文(メッセージ)m(∈Zp )を暗号化してユーザiに対して送信する場合、ユーザj用端末装置では、以下のステップ1〜ステップ4の手順でその処理が行われる。
尚、メッセージmがZp の要素でない場合、すなわちp以上の数値の場合には、そのメッセージmをZp の要素となるようにブロック分割され、各ブロックに対して、以下の手順の暗号化が行われる。
ステップ1:ユーザj用端末装置は、乱数kを生成する。
ステップ2:ユーザj用端末装置は、
1 =αk modp
なる計算を行う。
ステップ3:ユーザj用端末装置は、
2 =m・vi k modp
なる計算を行う。
ステップ4:ユーザj用端末装置は、ステップ2及び3の計算結果C1 及びC2 を、ユーザi用端末装置に対して送信する。
【0013】
▲2▼復号
上記▲1▼暗号化により、ユーザj用端末装置からユーザi用端末装置には、C1 及びC2 が送信される。そして、ユーザi用端末装置は、ユーザj用端末装置から送信されてきたC1 及びC2 を用いて、メッセージmを、
m=C2 /C1 Simodp
なる計算により求める。
【0014】
▲3▼ディジタル署名の生成
上記▲2▼復号により得られたメッセージm(∈Z)に対して、ユーザi用端末装置がディジタル署名を生成する場合、ユーザi用端末装置では、以下のステップ1〜ステップ4の手順でその処理が行われる。
尚、上記▲1▼暗号化で述べたように、メッセージmをブロック分割する場合もあるが、ここでは、一方向性ハッシュ関数を用いる場合を説明する。
ステップ1:ユーザi用端末装置は、乱数k(∈Zp-1 * )を生成する。
ステップ2:ユーザi用端末装置は、
r=αk modp
なる計算を行う。
ステップ3:ユーザi用端末装置は、
s=(H0 (m)−si ・r)・k-1mod(p−1)
なる計算を行う。
ステップ4:ユーザi用端末装置は、ステップ2及び3の計算結果r及びsを、検証者に対して送信する。
【0015】
▲4▼ディジタル署名の検証
そして、上記▲3▼ディジタル署名の生成により得られたディジタル署名を、ユーザi用端末装置が検証する場合、ユーザi用端末装置は、
αH0(m) ≡vi r ・rS (modp)
なる関係が成り立つか否かを確認する。
【0016】
(1−2)「対称暗号(共通鍵暗号)」
一方、「対称暗号」とは、「共通鍵暗号」とも呼ばれ、暗号化鍵と復号鍵が同一である暗号のことをいう。また、1970年後半に上述した非対称暗号(公開鍵暗号)が現れてから、従来から存在するこの対称暗号は、「慣用暗号」とも呼ばれるようになった。
このような対称暗号は、適当な長さの文字列(ブロック)毎に同じ暗号化鍵で暗号化するブロック暗号と、文字列又はビット毎に暗号化鍵を変えて暗号化するストリーム暗号とに分類される。
ブロック暗号としては、文字の順序を置き換えて暗号化する転置式暗号や、文字を他の文字に換える換字式暗号等があり、DES(Data Encryption Standard)や、FEAL(Fast data Encipherment Algorithm)といった商用暗号として広く用いられている。
ストリーム暗号は、メッセージに乱数をXOR(排他論理和)して、その内容を攪乱する暗号であり、このストリーム暗号としては、無限周期の乱数列を1回限りの使い捨て鍵として用いるバーナム暗号が知られている。
【0017】
尚、上述した(1)暗号の更なる詳細は、「暗号理論入門」(岡本栄司著:共立出版)や、「Applied cryptography second edition:protocols,algorithms,and source code in C 」(Schneier著)、「John Wiley&Sons,Inc 」等に述べられている。
【0018】
(2)「匿名公開鍵証明書」
つぎに、「匿名公開鍵証明書」とは、上述した(1−1)非対称暗号(公開鍵暗号)等において、任意のユーザと、そのユーザの公開鍵(暗号化鍵)との対応を保証するものである。
具体的には、「Certification Authority 」と呼ばれる信頼できる特別なユーザ(以下、CAと言う)が、他のユーザ(以下、ユーザjとする)の身元を、例えば、パスポートで確認し、ユーザjの識別情報ID(氏名、性別、生年月日等の個人識別情報)、その公開鍵及び有効期限等を内容とするメッセージに対するディジタル署名を生成する。このディジタル署名が「匿名公開鍵証明書」である。
CAの公開鍵は、誰でも確実に入手できるようになされており、CAにて生成されたディジタル署名を検証することは容易である。これにより、例えば、ユーザkがユーザjと通信する際に、ユーザjに対応する公開鍵を容易に且つ確実に確認することができると共に、他のユーザがユーザjになりすますことを防ぎながら、公開鍵暗号による通信を可能とすることができる。
【0019】
また、「匿名公開鍵証明書」とは、上述の匿名公開鍵証明書のユーザが、どこの誰であるかを分からないようにしたものでもある。これにより、プライバシー保護を要する用途、例えば、ある特別なサービスを受けることができる資格を有するが、身元を明かすことを防ぎたい場合に用いることができる。これを適用したものとしては、例えば、特願平8−108226号に開示されているグループ署名と呼ばれる特殊なディジタル署名方式がある。
【0020】
上述のような匿名公開鍵証明書を適用したものとしては、例えば、特願平8−108225号に開示されている通信システムがある。
この通信システムでは、図5に示すようなステップS500〜S504の処理が行われる。
以下、ステップS500〜S504について具体的に説明する。
尚、以下の説明における各記号(「Z」や「Zp 」等)は、上述したElGamal暗号の説明での各記号と同様に定義して用いるものとする。
【0021】
ステップS500:
先ず、システム共通の公開パラメータPV(Public Vaiues )としては、素数p、位数q(但し、q|p−1)、Zp * の要素であり且つ位数qのα、一方向性ハッシュ関数H1 :Zq ×Z→{0,・・・,2t −1}を用いる。
すなわち、qは、p−1を割り切り、x∈Zq \{0}に対してαx ≡1(modp)ではなく、且つx=qに対してαx ≡1(modp)であり、H1 は、Zq の要素とZの要素を入力とし2t −1以下の非負整数を出力する。
そして、これらのパラメータは、この通信システムに参加している全てのユーザがアクセスすることができ、且つ不当な改ざん等が起こらないように適切に管理されている公開データベースPD(Public Database )に登録されているものとする。
そこで、証明書発行者(authority )Q用端末装置70は、復号鍵(秘密鍵)sQ と、暗号化鍵(公開鍵)vQ (vQ =α-sQ modp)とを生成し、公開鍵vQ を公開データベースPDに登録する。
また、ユーザ(User)j用端末装置80は、復号鍵(秘密鍵)sj と、暗号化鍵(公開鍵)vj (vj =α-sj modp)とを生成し、公開鍵vj を公開データベースPDに登録する。
【0022】
ステップS501:匿名公開鍵証明書の生成
次に、証明書発行者Q用端末装置70は、ユーザjの公開鍵vj を、乱数(random number )rを用いて変換したzを求め、このzに対する署名(Schnorr暗号によるディジタル署名)を生成する。
具体的には、証明書発行者Q用端末装置70は、乱数(秘密の乱数)r(r∈Zq \{0})を選択し、
x=αr modp
z=vj r modp
e=H1 (x,zj
y=r+e・sQ modq
なる計算を行う。このSchnorr暗号によるディジタル署名(y,e,z)が匿名公開鍵証明書である。
【0023】
ステップS502:匿名公開鍵証明書の配送
次に、証明書発行者Q用端末装置70は、上述のステップS501にて生成した匿名公開鍵証明書(y,e,z)を、ユーザj用端末装置80に対して送信する。
これを受けたユーザj用端末装置80は、e及びzを、
e=H1 (αy ・vQ e modp,z)
z=(αy ・vQ e modp)-Sj modp
が成り立つことを確認する。
尚、ここでは、x=αy ・vQ e modpが成り立つことにより、表記の簡略化のためにxを用いるものとする。
【0024】
ステップS503:公開鍵暗号の利用
次に、ユーザj用端末装置80は、αとvj の代わりにxとzを用いて、離散対数問題に基づく公開鍵暗号を利用する。
例えば、Schnorr暗号によるディジタル署名を利用する場合、メッセージmに対して、以下のようにしてディジタル署名を生成する。
すなわち、ユーザj用端末装置80は、秘密の乱数rj (rj ∈Zq * )を選択し、
j =xrjmodp
j =h(xj ,m)
j =rj +ej ・sj modq
なる計算を行う。そして、ユーザj用端末装置80は、メッセージmと共に、((y,e,z),yj ,ej ,m)をディジタル署名として、必要な相手に対して送信する。
【0025】
ステップS504:署名確認
そして、上述のステップS503にて送信されたディジタル署名((y,e,z),yj ,ej ,m)の受信者(通信相手(Verifier))i用端末装置90は、先ず、上述のステップS502における
e=H1 (αy ・vQ e modp,z)
なる式を確認し、次に、
j =H1 (xyj・zejmodp,m)
なる式を確認する。
これらの確認ができた場合に、受信者i用端末装置90は、メッセージmに対するディジタル署名は証明書発行者Qにより選ばれたユーザによって生成されたディジタル署名である、と認識する。
【0026】
【発明が解決しようとする課題】
ところで、上記図5の通信システムで説明したような従来の匿名公開鍵証明書では、匿名性が満たされている。すなわち、任意の匿名公開鍵証明書がどのユーザに対応するものであるのかが分からないようになっている。このような匿名性は、以下の2つの仮定に基づくものである。
【0027】
仮定1:離散対数問題
「G」を有限群とし、「α」をその生成元とする。また、「v」をGの元とし、底Aに対するvの離散対数を「log[α]v」とする。
そこで、Gの位数(元の個数)が充分大きい場合、離散対数log[α]vを求めることは困難となる。
【0028】
仮定2:離散対数の比較問題
「r」と「s」をGのランダムな元とする。
そこで、α、v=αs 、x=αr 、z=αrsが与えられたとき、Gの位数が充分大きく、rとsが未知である場合、log[α]vとlog[x]zが等しいか否かを判別することはできない。
【0029】
上述のような仮定1及び仮定2が成り立つことにより、匿名公開鍵証明書は匿名性が満たされる。
【0030】
しかしながら、従来では、仮定2のみを解くアルゴリズムが見いだされ、仮定1は成り立つが仮定2が成り立たず、匿名公開鍵証明書の匿名性が無くなる場合があった。
【0031】
具体的にはまず、仮定1の離散対数問題を解くことは、現在までの研究成果によれば非常に難しいとされ、安全性の根拠として用いることは妥当であると考えられている。すなわち、このような離散対数問題が解ければ、仮定2の離散対数の比較問題も解けることになる。これにより、仮定2を解くことは、仮定1を解くことと同じくらい易しい、或いは、仮定1を解くことよりも易しい、ということがわかる。
したがって、この仮定2を解くことが仮定1を解くことよりどの程度易しいかは、現在のところ不明であるが、仮定2のみを解くアルゴリズムが見いだされた場合、仮定1は成り立つが仮定2が成り立たなくなるという事態が考えられる。このような場合に、上述した匿名公開鍵証明書の匿名性が無くなる。
【0032】
そこで、本発明は、上記の欠点を除去するために成されたもので、如何なる場合でも匿名性を確実に保つことができるディジタル署名方式を用いた情報通信システムを提供することを目的とする。
【0033】
【課題を解決するための手段】
本発明に係る情報通信システムは、端末装置jと証明書発行装置Qがネットワークで接続された情報通信システムであって、前記端末装置jは、素数pと0以上p未満の整数の集合かつ素数pと互いに素である整数の集合の要素であり且つ位数(p−1)のαとを含む公開パラメータを用いて、秘密鍵sj及び公開鍵vjのペアを生成する生成手段と、前記公開鍵vjを公開する公開手段とを有し、前記証明書発行装置Qは、前記公開パラメータ、前記公開鍵vj、乱数k、前記証明書発行装置Qに対する秘密鍵sQ、及び式r=vj kmodpを用いて、平文mに対する署名r,sを生成する生成手段と、前記平文mと署名r,sを前記端末装置jに送信する送信手段とを有し、さらに、前記端末装置jは、前記秘密鍵sjと、式sj’=s・sj -1mod(p−1)を用いて、sj’を計算する計算手段と、前記計算されたsj’、署名r、平文mと前記証明書発行装置に対する公開鍵vQを用いて、前記平文mの署名が正しいかを確認する確認手段と、前記計算されたsj’を秘密鍵として、公開鍵暗号による暗号を行う暗号手段とを有することを特徴とする。
【0049】
【発明の実施の形態】
以下、本発明の実施の形態について図面を用いて説明する。
【0050】
まず、第1の実施の形態について説明する。
【0051】
本発明に係るディジタル署名方式は、例えば、図1に示すような通信システム100により実施され、この通信システム100は、本発明に係る情報通信システムを適用したものでもある。
【0052】
すなわち、通信システム100では、証明書発行者Q用端末装置20と、ユーザj,i,kを含む複数のユーザ用端末装置30、40、50、・・・とがネットワーク10上で接続されており、各端末装置は、ネットワーク10を介して互いに通信するようになされている。また、通信システム100には、各ユーザに共通の公開パラメータPV(Public Values )が管理されている公開データベースPD(Public Database )が設けられている。
【0053】
証明書発行者Q用端末装置20は、証明書発行者Q固有の秘密鍵sQ (秘密情報)及び公開鍵vQ (公開情報)を生成する公開鍵生成部21と、秘密鍵sQ 及び公開パラメータPVを用いて平文mに対する署名(匿名公開鍵証明書)を生成する署名生成部22とを備えている。
【0054】
一方、ユーザ用端末装置30、40、50、・・・は、各々同様の構成としている。
例えば、ユーザj用端末装置30は、ユーザj固有の秘密鍵sj 及び公開鍵vj を生成する公開鍵生成部31と、平文mと上記署名の対応関係が正しいか否かを判別する判別部32と、新たな署名を生成する署名生成部33とを備えている。
また、ユーザj用端末装置30は、新たな署名を確認する確認部35と、確認部35で確認された新たな署名を用いて平文を暗号化する暗号化部36と、確認部35で確認された新たな署名を用いて暗号文を復号する復号部34とを備えている。
【0055】
以下、上述のような通信システム100の動作を上記図1及び図2を用いて説明する。
尚、上記図2中の記号は、上記図5と同様の表記規則に従うものとする。
【0056】
ステップS200:
先ず、通信システム100の共通のデータとして、大きな素数p、Zp * の要素であり且つ位数p−1のα、一方向性ハッシュ関数H0 :Z→Zp \{0}を用いる。
尚、pは、例えば、「p>2512 」とする。
これらのパラメータ(公開パラメータPV(Public Values ))は、通信システム100に参加している全てのユーザがアクセスすることができ、且つ不当な改ざん等が起こらないように適切に管理されている公開データベースPD(Public Database )に登録されているものとする。
そこで、証明書発行者(authority )Q用端末装置20は、公開鍵生成部21により、秘密鍵(復号鍵)sQ (∈Zp-1 * )と、公開鍵(暗号化鍵)vQ (=αsQmodp)とを生成し、公開鍵vQ を公開データベースPDに登録する。
また、任意のユーザ用端末装置(ここではユーザ(User)j用端末装置30とする)は、公開鍵生成部31により、秘密鍵(復号鍵)sj (∈Zp-1 * )と、公開鍵(暗号化鍵)vj (=αsjmodp)とを生成し、公開鍵vj を公開データベースPDに登録する。
【0057】
ステップS201:匿名公開鍵証明書の生成
証明書発行者Q用端末装置20は、署名生成部22により、ユーザjの公開鍵vj を、乱数(random number )kを用いて変換したrを求め、平文mに対する署名(例えば、ElGamal暗号によるディジタル署名)を生成する。
具体的には、署名生成部22は、乱数(秘密の乱数)k(k∈Zp-1 * )を選択し、
r=vj k modp
s=(H0 (m)−sQ ・r)・k-1mod(p−1)
なる計算を行う。この平文mに対するElGamal暗号によるディジタル署名r,sが匿名公開鍵証明書である。また、平文mは、その匿名公開鍵証明書の種類を示すパラメータとして使用できる。
尚、匿名公開鍵証明書の種類を示すパラメータとしては、平文m或いはH0 (m)の代わりに、予め決められた固定値を使用してもよい。
【0058】
ステップS202:匿名公開鍵証明書の配送
次に、証明書発行者Q用端末装置20は、署名生成部22で生成したディジタル署名r,sと、その種類を示すパラメータmとを匿名公開鍵証明書(m,r,s)として、ユーザj用端末装置30に対して送信する。
【0059】
ステップS203:
これを受けたユーザj用端末装置30は、判別部32により、
j ’=s・sj -1mod(p−1)
を求め、
αH0(m) ≡vQ r ・rsj' (modp)
が成り立つことを確認する。
【0060】
ステップS204:公開鍵暗号の利用
そして、ユーザj用端末装置30は、
αH0(m) ・vQ -r≡rsj' (modp)
により、「r」を底、「αH0(m) ・vQ -rmodp」を公開鍵、「sj ’」を秘密鍵として、離散対数問題に基づく公開鍵暗号を利用する。
【0061】
そこで、例えば、ElGamal暗号によるディジタル署名を利用する場合について説明する。
【0062】
ステップS204(1):ディジタル署名の生成
ユーザj用端末装置30は、署名生成部33により、平文m’に対する署名を以下のようにして生成する。
▲1▼署名生成部33は、乱数k’(∈Zp-1 * )を生成する。
▲2▼署名生成部33は、
r’=αk'modp
を計算する。
▲3▼署名生成部33は、
s’=(H0 (m’)−sj ’・r)・(k’)-1mod(p−1)
を計算する。
▲4▼そして、ユーザj用端末装置30は、m’と、署名生成部33で得られたr’及びs’を、証明書発行者Q用端末装置20からの匿名公開鍵証明書(m,r)と共に通信相手(ここではユーザi用端末装置40とする)に対して送信する。
【0063】
ステップS204(2):署名検証
これを受けたユーザi用端末装置40は、確認部45により、
H0(m')≡(αH0(m) ・vQ -rr'・(r’)s'(modp)
なる式が成立するかを確認する。
そして、ユーザi用端末装置40は、この確認ができた場合に、m’に対する署名は証明書発行者Qによって選ばれたユーザによって生成された署名であることを認識する。
【0064】
また、上述のステップS204:公開鍵暗号の利用としては、暗号化にも利用することができる。
そこで、例えば、ユーザk用端末装置50において、ElGamal暗号による暗号化を行う場合について説明する。
【0065】
暗号化:
ユーザk用端末装置50は、暗号化部56により、平文m”を以下のようにして暗号化する。
▲1▼暗号化部56は、乱数k”を生成する。
▲2▼暗号化部56は、
1 =rk"modp
を計算する。
▲3▼暗号化部56は、
2 =m”・(αH0(m) ・vQ -rmodp)k"modp
を計算する。
▲4▼そして、ユーザk用端末装置50は、暗号化部56で得られたC1 及びC2 を、ユーザj用端末装置30に対して送信する。
【0066】
復号:
これを受けたユーザj用端末装置30は、復号部34により、
m”=C2 /C1 sj' modp
なる計算を行って、平文m”を得る。
【0067】
尚、上述のステップS204:公開鍵暗号の利用として、ElGamal暗号を用いたものを説明したが、これに限らず、離散対数問題に基づく公開鍵暗号等を用いたものにも利用することができる。
【0068】
つぎに、第2の実施の形態について説明する。
【0069】
この第2の実施の形態では、上述した第1の実施の形態における通信システム100に、ElGamal暗号のディジタル署名方式の変形版を適用する。
このため、第1の実施の形態では、ElGamal暗号でp−1を用いて法演算を行うのに対して、第2の実施の形態では、素数q(qはp−1を割り切る)を用いて法演算を行うという点が異なる。
【0070】
尚、この第2の実施の形態を実施する通信システム100の構成については、上述した第1の実施の形態と同様であるため、その詳細な説明は省略する。
以下、第1の実施の形態と異なる点についてのみ、図3を用いて具体的に説明する。
【0071】
ステップS300:
先ず、通信システム100の共通のデータとして、大きな素数p、q(qはp−1を割り切る)、Zp * の要素であり且つ位数qのα、一方向性ハッシュ関数H0 :Z→Zq \{0}、H1 :Zq ×Z→{0,・・・,2t −1}を用いる。
尚、ここでは、例えば、「p>2512 」、「q>2160 」、「t>72」とする。
これらのパラメータ(公開パラメータPV)は、通信システム100に参加している全てのユーザがアクセスすることができ、且つ不当な改ざん等が起こらないように適切に管理されている公開データベースPDに登録されているものとする。
そこで、証明書発行者Q用端末装置20は、公開鍵生成部21により、秘密鍵sQ (∈Zq \{0})と、公開鍵vQ (=αsQmodp)とを生成し、公開鍵vQ を公開データベースPDに登録する。
また、任意のユーザ用端末装置(ここではユーザ(User)j用端末装置30とする)は、公開鍵生成部31により、秘密鍵sj (∈Zq \{0})と、公開鍵vj (=αsjmodp)とを生成し、公開鍵vj を公開データベースPDに登録する。
【0072】
ステップS301:匿名公開鍵証明書の生成
証明書発行者Q用端末装置20は、署名生成部22により、ユーザjの公開鍵vj を、乱数(random number )kを用いて変換したrを求め、平文mに対する署名(例えば、ElGamal暗号によるディジタル署名)を生成する。
具体的には、署名生成部22は、乱数(秘密の乱数)k(k∈Zq \{0})を選択し、
r=vj k modp
s=(H0 (m)−sQ ・r)・k-1modq
なる計算を行う。この平文mに対するElGamal暗号によるディジタル署名r,sが匿名公開鍵証明書である。また、平文mは、その匿名公開鍵証明書の種類を示すパラメータとして使用できる。
尚、匿名公開鍵証明書の種類を示すパラメータとしては、平文m或いはH0 (m)の代わりに、予め決められた固定値を使用してもよい。
【0073】
ステップS302:匿名公開鍵証明書の配送
次に、証明書発行者Q用端末装置20は、署名生成部22で生成したディジタル署名r,sと、その種類を示すパラメータmとを匿名公開鍵証明書(m,r,s)として、ユーザj用端末装置30に対して送信する。
【0074】
ステップS303:
これを受けたユーザj用端末装置30は、判別部32により、
j ’=s・sj -1modq
を求め、
αH0(m) ≡vQ r ・rsj' (modp)
が成り立つことを確認する。
【0075】
ステップS304:公開鍵暗号の利用
そして、ユーザj用端末装置30は、
αH0(m) ・vQ -r≡rsj' (modp)
により、「r」を底、「αH0(m) ・vQ -rmodp」を公開鍵、「sj ’」を秘密鍵として、離散対数問題に基づく公開鍵暗号を利用する。
【0076】
そこで、例えば、Schonorr暗号によるディジタル署名を利用する場合について説明する。
【0077】
ステップS304(1):ディジタル署名の生成
ユーザj用端末装置30は、署名生成部33により、平文m’に対する署名を以下のようにして生成する。
▲1▼署名生成部33は、乱数k’(∈Zq \{0})を生成する。
▲2▼署名生成部33は、
x=rk'modp
を計算する。
▲3▼署名生成部33は、
e=H1 (x,m’)
を計算する。
▲4▼署名生成部33は、
y=k’−e・sj ’modq
を計算する。
▲5▼そして、ユーザj用端末装置30は、m’と、署名生成部33で得られたe及びyを、証明書発行者Q用端末装置20からの匿名公開鍵証明書(m,r)と共に通信相手(ここではユーザi用端末装置40とする)に対して送信する。
【0078】
ステップS304(2):署名検証
これを受けたユーザi用端末装置40は、確認部45により、
e=H1 (ry ・(αH0(m')・vQ -re modp,m’)
なる式が成立するかを確認する。
そして、ユーザi用端末装置40は、この確認ができた場合に、m’に対する署名は、証明書発行者Qによって選ばれたユーザによって生成された署名であることを認識する。
【0079】
また、上述のステップS304:公開鍵暗号の利用としては、暗号化にも利用することができる。
そこで、例えば、ユーザk用端末装置50において、ElGamal暗号による暗号化を行う場合について説明する。
【0080】
暗号化:
ユーザk用端末装置50は、暗号化部56により、平文m”を以下のようにして暗号化する。
▲1▼暗号化部56は、乱数k”を生成する。
▲2▼暗号化部56は、
1 =rk"modp
を計算する。
▲3▼暗号化部56は、
2 =m”・(αH0(m) ・vQ -rmodp)k"modp
を計算する。
▲4▼そして、ユーザk用端末装置50は、暗号化部56で得られたC1 及びC2 を、ユーザj用端末装置30に対して送信する。
【0081】
復号:
これを受けたユーザj用端末装置30は、復号部34により、
m”=C2 /C1 sj' modp
なる計算を行って、平文m”を得る。
【0082】
尚、上述のステップS304:公開鍵暗号の利用として、Schnorr暗号やElGamal暗号を用いたものを説明したが、これに限らず、離散対数問題に基づく公開鍵暗号等を用いたものにも利用することができる。
【0083】
つぎに、第3の実施の形態について説明する。
【0084】
この第3の実施の形態では、上述した第1の実施の形態における通信システム100に、ElGamal暗号のディジタル署名方式の変形版を適用する。
すなわち、第3の実施の形態では、第1の実施の形態と同様に、匿名公開鍵証明書において平文m(平文mを元に計算して得たH0 (m))を用いる際に、H0 (m)=0とする。
【0085】
尚、この第3の実施の形態を実施する通信システム100の構成については、上述した第1の実施の形態と同様であるため、その詳細な説明は省略する。
以下、第1の実施の形態と異なる点についてのみ、図4を用いて具体的に説明する。
【0086】
ステップS400:
先ず、通信システム100の共通のデータとして、素数p、Zp * の要素であり且つ位数p−1のα、一方向性ハッシュ関数H0 :Z→Zp \{0}を用いる。
尚、pは、例えば、「p>2512 」とする。
これらのパラメータ(公開パラメータPV)は、通信システム100に参加している全てのユーザがアクセスすることができ、且つ不当な改ざん等が起こらないように適切に管理されている公開データベースPDに登録されているものとする。
そこで、証明書発行者Q用端末装置20は、公開鍵生成部21により、秘密鍵sQ (∈Zp-1 * )と、公開鍵vQ (=αsQmodp)とを生成し、公開鍵vQ を公開データベースPDに登録する。
また、任意のユーザ用端末装置(ここではユーザ(User)j用端末装置30とする)は、公開鍵生成部31により、秘密鍵sj (∈Zp-1 * )と、公開鍵vj (=αsjmodp)とを生成し、公開鍵vj を公開データベースPDに登録する。
【0087】
ステップS401:匿名公開鍵証明書の生成
証明書発行者Q用端末装置20は、署名生成部22により、ユーザjの公開鍵vj を、乱数(random number )kを用いて変換したrを求め、Elgamal暗号のディジタル署名の変形版、例えば、平文mをハッシュ関数の入力とした結果が「0」となるElGamal暗号の署名を生成する。
具体的には、署名生成部22は、乱数(秘密の乱数)k(k∈Zp-1 * )を選択し、
r=vj k modp
s=sQ ・r・k-1mod(p−1)
なる計算を行う。このディジタル署名r,sが匿名公開鍵証明書である。
【0088】
ステップS402:匿名公開鍵証明書の配送
次に、証明書発行者Q用端末装置20は、署名生成部22で生成したディジタル署名r,sを匿名公開鍵証明書(r,s)として、ユーザj用端末装置30に対して送信する。
【0089】
ステップS403:
これを受けたユーザj用端末装置30は、判別部32により、
j ’=s・sj -1mod(p−1)
を求め、
Q r ≡rsj' (modp)
が成り立つことを確認する。
【0090】
ステップS404:公開鍵暗号の利用
そして、ユーザj用端末装置30は、
Q r ≡rsj' (modp)
により、「r」を底、「vQ r modp」を公開鍵、「sj ’」を秘密鍵として、離散対数問題に基づく公開鍵暗号を利用する。
【0091】
そこで、例えば、ElGamal暗号によるディジタル署名を利用する場合について説明する。
【0092】
ステップS404(1):ディジタル署名の生成
ユーザj用端末装置30は、署名生成部33により、平文m’に対する署名を以下のようにして生成する。
▲1▼署名生成部33は、乱数k’(∈Zp-1 * )を生成する。
▲2▼署名生成部33は、
r’=αk'modp
を計算する。
▲3▼署名生成部33は、
s’=(H(m’)−sj ’・r)・(k’)-1mod(p−1)
を計算する。
▲4▼そして、ユーザj用端末装置30は、m’と、署名生成部33で得られたr’及びs’を、証明書発行者Q用端末装置20からの匿名公開鍵証明書(m,r)と共に通信相手(ここではユーザi用端末装置40とする)に対して送信する。
【0093】
ステップS404(2):署名検証
これを受けたユーザi用端末装置40は、確認部45により、
H0(m')≡(vQ r r'・(r’)s'(modp)
なる式が成立するかを確認する。
そして、ユーザi用端末装置40は、この確認ができた場合に、m’に対する署名は、証明書発行者Qによって選ばれたユーザによって生成された署名であることを認識する。
【0094】
また、上述のステップS404:公開鍵暗号の利用としては、暗号化にも利用することができる。
そこで、例えば、ユーザk用端末装置50において、ElGamal暗号による暗号化を行う場合について説明する。
【0095】
暗号化:
ユーザk用端末装置50は、暗号化部56により、平文m”を以下のようにして暗号化する。
▲1▼暗号化部56は、乱数k”を生成する。
▲2▼暗号化部56は、
1 =rk"modp
を計算する。
▲3▼暗号化部56は、
2 =m”・(vQ r modp)k"modp
を計算する。
▲4▼そして、ユーザk用端末装置50は、暗号化部56で得られたC1 及びC2 を、ユーザj用端末装置30に対して送信する。
【0096】
復号:
これを受けたユーザj用端末装置30は、復号部34により、
m”=C2 /C1 sj' modp
なる計算を行って、平文m”を得る。
【0097】
尚、上述のステップS404:公開鍵暗号の利用として、ElGamal暗号を用いたものを説明したが、これに限らず、離散対数問題に基づく公開鍵暗号等を用いたものにも利用することができる。
【0098】
上述のように、本発明においては、pは素数、αの位数はp−1、r≡vj k ≡αsjk (madp)であり、sj ∈Zp-1 * 、k∈Zp-1 * である。或いは、pとqが素数で、qはp−1を割り切り、αの位数がq、r≡vj k ≡αsjk (madp)であり、sj ∈Zq \{0}、k∈Zq \{0}である。
したがって、任意のrが与えられたとき、そのrは、どのユーザの公開鍵からも計算して得ることができる値であり、実際に使用されたkの値が分からない限りは、どのユーザの公開鍵から計算して得られたのかは全く特定することができない。換言すれば、匿名公開鍵証明書である署名rには、どのユーザの匿名公開鍵証明書であるかを特定するための情報が一切含まれない。これにより、計算量的な上述した仮定2によってではなく、情報量的に匿名性が実現されており、仮定2が成り立たなくなる事態が起きたとしても、匿名性を確実に保つことができる。このため、プライバシー保護に関する安全性を向上させることができる。
【0099】
また、上述した何れの実施の形態においても、以下のように運用することで、プライバシー保護に関する安全性をさらに向上させることができる。
▲1▼証明書発行者Q用端末装置20は、任意のユーザ用端末装置(例えば、ユーザj用端末装置30)に対して毎回異なる乱数kを用いた匿名公開鍵証明書を生成してユーザj用端末装置30に対して送信する。
▲2▼これを受けたユーザj用端末装置30は、ディジタル署名を生成せずに、1つの匿名公開証明書を異なる平文に対して使用する。
このような、匿名公開鍵証明書を使用する方式(One-time Certificates 、使い捨て証明書方式)により、任意のディジタル署名を生成したユーザと、それとは別のディジタル署名を生成したユーザとが、同一のユーザであるか否かを判別することは、証明書発行者Qと、上記任意のディジタル署名を生成したユーザ以外のユーザとにとって、情報量的に非常に困難、すなわち不可能である。したがって、ユーザの匿名性は情報量的に保たれるため、プライバシー保護に関する安全性をさらに向上させることができる。
【0100】
【発明の効果】
以上説明したように本発明によれば、匿名公開鍵証明書である署名には、どのユーザの匿名公開鍵証明書であるかを特定するための情報が一切含まれない。これにより、計算量的な上述した仮定2によってではなく、情報量的に匿名性が実現されており、仮定2が成り立たなくなる事態が起きたとしても、匿名性を確実に保つことができる。したがって、プライバシー保護に関する安全性を向上させることができる。
【図面の簡単な説明】
【図1】第1の実施の形態において、本発明に係る情報通信システムを適用した通信システムの構成を示すブロック図である。
【図2】上記通信システムにおけるディジタル署名方式を説明するための図である。
【図3】第2の実施の形態において、上記通信システムにおけるディジタル署名方式を説明するための図である。
【図4】第3の実施の形態において、上記通信システムにおけるディジタル署名方式を説明するための図である。
【図5】従来のディジタル署名方式を説明するための図である。
【符号の説明】
10 ネットワーク
20 証明書発行者用端末装置
21 公開鍵生成部
22 署名生成部
30〜50 ユーザ用端末装置
31 公開鍵生成部
32 判別部
33 署名生成部
34 復号部
35、45 確認部
36、56 暗号化部
[0001]
BACKGROUND OF THE INVENTION
  The present invention relates to an information communication system using a digital signature scheme using public key cryptography.
[0002]
[Prior art]
For example, with the development and widespread use of computers and communication networks, various functions such as social activities that could not be realized on communication networks can be realized.
However, on the other hand, there are cases where it is easy to know who has done what, when, where and what.
Therefore, in order to prevent this, a method has been proposed in which privacy is protected by performing communication processing anonymously and various functions are realized on a communication network.
[0003]
As such a method, for example, there is a method using public key cryptography, whereby the sender can transmit only to the receiver intended for the communication contents, and the receiver is the sender of the received communication contents. It is possible to reliably check who the person is.
As a method to which this method is applied, there is a digital signature method disclosed in Japanese Patent Application No. 8-108225 and an information communication system using the digital signature method.
[0004]
Here, “cryptography” and “anonymous public key certificate” will be specifically described.
[0005]
(1) "Cryptography"
First, “encryption” refers to converting information so that the meaning of the information cannot be recognized by anyone other than the parties. In this cipher, the original sentence (unconverted sentence) is called “plain text”, and the conversion of the plain text into a sentence (cipher text) whose meaning is unknown to a third party is called “encryption”. The conversion procedure is called “cryptographic algorithm”.
Plaintext and ciphertext are not limited to text data, and assume all kinds of information such as sound and images.
Encryption is a conversion that depends on a parameter called an “encryption key”. Then, returning the ciphertext obtained by the encryption to the original plaintext by the parties is called “decryption”, and a parameter corresponding to the encryption key called “decryption key” is used for the decryption. . On the other hand, when a third party other than the parties restores the ciphertext to the original plaintext or finds the decryption key, it is called “decryption”.
[0006]
In the above encryption, the security of encryption is reduced to the encryption key used for encryption or the decryption key used for decryption. If these keys are not known, even if the encryption algorithm is known, the plaintext is It cannot be obtained.
Therefore, even a manufacturer of a device (encryption device) that performs predetermined encryption can realize encryption that cannot be decrypted.
[0007]
In addition, there are many encryption algorithms for encryption. Therefore, for example, from the viewpoint of whether or not the encryption key can be disclosed, the encryption is classified into two types: asymmetric encryption (public key encryption) and symmetric encryption (common key encryption).
[0008]
(1-1) “Asymmetric encryption (public key encryption)”
“Asymmetric cryptography” is also called “public key cryptography”. The encryption key and the decryption key are different, and the decryption key cannot be easily calculated from the encryption key. This is a cipher that is used with the key disclosed and the decryption key kept secret.
Such an asymmetric cipher has the following characteristics.
Feature 1: Since the encryption key and the decryption key are different and the encryption key is made public, it is not necessary to secretly deliver the encryption key, and the key can be easily delivered.
Feature 2: Since each user's encryption key is made public, each user only needs to keep his or her decryption key secret.
Feature 3: It is possible to realize an authentication (digital signature) function for the receiver to confirm that the sender of the transmitted message is not a fake and that the message has not been tampered with.
[0009]
Here, as an asymmetric cipher capable of realizing the encryption function and the above-described authentication function, the RSA cipher (RLRivest, A. Shamir and L. Adleman, “A method of obtaining digital signatures and public key cryptosystems,” “Communications of ACM, Vol. .21, No.2, pp.120-126,1978) and ElGamal encryption (TEElGamal, "A public key cryptosystem and a signature scheme based on discrete logarithms," IEEE Transaction on Information Theory, Vol.IT-31, No. 4, pp. 496-472, 1985) is known.
Also, as an asymmetric cipher that can realize the authentication function, the Fiat-Shamir cipher (A. Fiat, A. Shamir, “How to prove yourself: practical solutions of identification and signature problrms,” Proc. Of CRYPTO'86, 1987) Schnorr cipher (CP Schnorr, "Efficient signature generation by smart cards," Journal of Cryptology, vol. 4, pp. 161-174, 1991) is known.
[0010]
For example, encryption, decryption, generation of authentication (digital signature) and verification thereof in the ElGamal encryption will be specifically described.
[0011]
First, “Z” is a set of whole integers, “Zp"Is a set of integers between 0 and p," Zp\ {0} "to ZpThe set of zeros removed from "Zp *To ZpAnd a set of integers that are relatively prime to p.
For integers A, B, and C,
A = BmodC
Means that the remainder when B is divided by C is A (arbitrary integer k exists and “B = k · C + A” holds),
A≡B (modC)
When the following relationship holds, it means that the remainder when A is divided by C is equal to the remainder when B is divided by C.
Furthermore, as public parameters common to the communication partner, prime numbers p, Zp *Of the order p-1 and the one-way hash function H0: Z → Zp\ {0} is used. Also, the decryption key (secret key) of any user i is set to “si∈Zp-1"And the encryption key (public key) is" vi= ΑSimodp ".
The “one-way hash function” is a compression function that does not easily cause a collision. That is, the “one-way hash function” is a function that outputs a bit string having an arbitrary length, and has a feature that it is difficult to find an input that has the same output.
[0012]
(1) Encryption
Therefore, the user j is a plaintext (message) m (∈Zp) Is encrypted and transmitted to the user i, the terminal device for user j performs the processing in the following steps 1 to 4.
The message m is ZpIf it is not an element of i.e., a value greater than or equal to p, the message m is set to ZpThe blocks are divided so as to be elements of the following, and the encryption of the following procedure is performed for each block.
Step 1: The terminal device for user j generates a random number k.
Step 2: The terminal device for user j
C1= Αkmodp
Perform the following calculation.
Step 3: The terminal device for user j
C2= M ・ vi kmodp
Perform the following calculation.
Step 4: The terminal device for user j calculates the calculation result C in steps 2 and 3.1And C2Is transmitted to the terminal device for user i.
[0013]
(2) Decryption
From the above (1) encryption, the terminal device for user j to the terminal device for user i1And C2Is sent. Then, the terminal device for user i transmits the C transmitted from the terminal device for user j.1And C2To use the message m
m = C2/ C1 Simodp
It is calculated by the following.
[0014]
(3) Digital signature generation
(2) When the user i terminal device generates a digital signature for the message m (εZ) obtained by the decryption, the user i terminal device performs the following steps 1 to 4 in the procedure. Processing is performed.
As described in the above (1) encryption, the message m may be divided into blocks. Here, a case where a one-way hash function is used will be described.
Step 1: The terminal device for user i uses a random number k (εZp-1 *) Is generated.
Step 2: The terminal device for user i
r = αkmodp
Perform the following calculation.
Step 3: The terminal device for user i
s = (H0(M) -si・ R) ・ k-1mod (p-1)
Perform the following calculation.
Step 4: The terminal device for user i transmits the calculation results r and s of steps 2 and 3 to the verifier.
[0015]
(4) Verification of digital signature
When the user i terminal device verifies the digital signature obtained by generating the digital signature, the user i terminal device
αH0 (m)≡vi r・ RS(Modp)
Confirm whether or not the following relationship holds.
[0016]
(1-2) “Symmetric encryption (common key encryption)”
On the other hand, “symmetric encryption” is also called “common key encryption” and refers to encryption in which the encryption key and the decryption key are the same. In addition, since the above-described asymmetric encryption (public key encryption) appeared in the latter half of 1970, this existing symmetric encryption has come to be called “conventional encryption”.
Such a symmetric cipher includes a block cipher that encrypts a character string (block) of an appropriate length with the same encryption key, and a stream cipher that encrypts by changing the encryption key for each character string or bit. being classified.
Block ciphers include transposed ciphers that change the order of characters for encryption and substitution ciphers that replace characters with other characters, such as DES (Data Encryption Standard) and FEAL (Fast data Encipherment Algorithm). Widely used as encryption.
A stream cipher is a cipher that disturbs the contents of a message by XOR (exclusive OR) a random number to a message. As this stream cipher, a Burnham cipher that uses a random number sequence of an infinite period as a one-time disposable key is known. It has been.
[0017]
For more details on the above-mentioned (1) cryptography, see "Introduction to cryptography" (Eiji Okamoto: Kyoritsu Shuppan), "Applied cryptography second edition: protocols, algorithms, and source code in C" (Schneier), It is described in "John Wiley & Sons, Inc" etc.
[0018]
(2) "Anonymous public key certificate"
Next, the “anonymous public key certificate” is a guarantee of correspondence between an arbitrary user and the public key (encryption key) of the user in the above-described (1-1) asymmetric encryption (public key encryption) or the like. To do.
Specifically, a trusted special user called “Certification Authority” (hereinafter referred to as “CA”) confirms the identity of another user (hereinafter referred to as “user j”) with a passport, for example. A digital signature is generated for a message whose content includes identification information ID (personal identification information such as name, gender, date of birth, etc.), its public key and expiration date. This digital signature is an “anonymous public key certificate”.
The public key of the CA is surely available to anyone, and it is easy to verify the digital signature generated by the CA. Thus, for example, when the user k communicates with the user j, the public key corresponding to the user j can be easily and reliably confirmed, and the public key can be disclosed while preventing other users from impersonating the user j. Communication by key encryption can be made possible.
[0019]
Further, the “anonymous public key certificate” is also one in which the user of the above-mentioned anonymous public key certificate does not know who the person is. Thus, it can be used for applications requiring privacy protection, for example, when the user has a qualification to receive a special service but wants to prevent revealing his / her identity. As an example to which this is applied, there is a special digital signature method called group signature disclosed in Japanese Patent Application No. 8-108226.
[0020]
As an application of the anonymous public key certificate as described above, for example, there is a communication system disclosed in Japanese Patent Application No. 8-108225.
In this communication system, the processes of steps S500 to S504 as shown in FIG. 5 are performed.
Hereinafter, steps S500 to S504 will be specifically described.
In the following description, each symbol (“Z” or “Zp”) Is defined and used in the same manner as each symbol in the description of the ElGamal cipher described above.
[0021]
Step S500:
First, public parameters PV (Public Vaiues) common to the system include a prime number p, an order q (where q | p−1), Zp *Of the order q and the one-way hash function H1: Zq× Z → {0, ..., 2t-1} is used.
That is, q is divisible by p−1 and x∈ZqΑ for \ {0}xΑ is not ≡1 (modp) and x = qx≡1 (modp) and H1Is Zq2 elements and Z elements as inputstOutput a non-negative integer less than -1.
These parameters are registered in a public database PD (Public Database) that can be accessed by all users participating in the communication system and is appropriately managed so as not to cause unauthorized tampering. It is assumed that
Therefore, the certificate issuer (authority) Q terminal device 70 uses the decryption key (secret key) s.QAnd encryption key (public key) vQ(VQ= Α-sQmodp) and the public key vQIs registered in the public database PD.
Further, the terminal device 80 for the user (User) j has a decryption key (secret key) s.jAnd encryption key (public key) vj(Vj= Α-sjmodp) and the public key vjIs registered in the public database PD.
[0022]
Step S501: Generation of anonymous public key certificate
Next, the certificate issuer Q terminal device 70 uses the public key v of the user j.jZ is converted using a random number r, and a signature for this z (a digital signature by Schnorr encryption) is generated.
Specifically, the certificate issuer Q terminal device 70 uses a random number (secret random number) r (rεZ).q\ {0}),
x = αrmodp
z = vj rmodp
e = H1(X, zj)
y = r + e · sQmodq
Perform the following calculation. The digital signature (y, e, z) by this Schnorr encryption is an anonymous public key certificate.
[0023]
Step S502: Delivery of anonymous public key certificate
Next, the certificate issuer Q terminal device 70 transmits the anonymous public key certificate (y, e, z) generated in step S501 described above to the user j terminal device 80.
Upon receiving this, the terminal device 80 for user j changes e and z to
e = H1y・ VQ emodp, z)
z = (αy・ VQ emodp)-Sjmodp
Confirm that
Here, x = αy・ VQ eSince modp holds, x is used to simplify the notation.
[0024]
Step S503: Use of public key cryptography
Next, the terminal device 80 for user j determines that α and vjThe public key cryptosystem based on the discrete logarithm problem is used by using x and z instead of.
For example, when a digital signature based on Schnorr encryption is used, a digital signature is generated for the message m as follows.
That is, the terminal device 80 for the user j uses the secret random number rj(Rj∈Zq *)
xj= Xrjmodp
ej= H (xj, M)
yj= Rj+ Ej・ Sjmodq
Perform the following calculation. Then, the terminal device 80 for user j, together with the message m, ((y, e, z), yj, Ej, M) is transmitted as a digital signature to a necessary partner.
[0025]
Step S504: Signature confirmation
Then, the digital signature ((y, e, z), y transmitted in step S503 described above is used.j, Ej, M) receiver (verifier) i terminal device 90 first, in step S502 described above
e = H1y・ VQ emodp, z)
And then
ej= H1(Xyj・ Zejmodp, m)
Confirm the following formula.
When these confirmations can be made, the receiver i terminal device 90 recognizes that the digital signature for the message m is a digital signature generated by the user selected by the certificate issuer Q.
[0026]
[Problems to be solved by the invention]
By the way, in the conventional anonymous public key certificate as described in the communication system of FIG. 5 above, anonymity is satisfied. That is, it is difficult to know to which user an arbitrary anonymous public key certificate corresponds. Such anonymity is based on the following two assumptions.
[0027]
Assumption 1: Discrete logarithm problem
Let “G” be a finite group and “α” be its generation source. In addition, “v” is an element of G, and a discrete logarithm of v with respect to the base A is “log [α] v”.
Accordingly, when the order (original number) of G is sufficiently large, it is difficult to obtain the discrete logarithm log [α] v.
[0028]
Assumption 2: Discrete logarithm comparison problem
Let “r” and “s” be random elements of G.
Therefore, α, v = αs, X = αr, Z = αrsWhen the order of G is sufficiently large and r and s are unknown, it is impossible to determine whether log [α] v and log [x] z are equal.
[0029]
By assuming the assumption 1 and the assumption 2 as described above, the anonymous public key certificate satisfies the anonymity.
[0030]
However, conventionally, an algorithm that solves only Assumption 2 has been found, and Assumption 1 is satisfied but Assumption 2 is not satisfied, there is a case where the anonymity of the anonymous public key certificate is lost.
[0031]
Specifically, first, it is considered that it is very difficult to solve the discrete logarithm problem of assumption 1 according to the research results up to now, and it is considered appropriate to use it as a basis for safety. That is, if such a discrete logarithm problem is solved, the discrete logarithm comparison problem of assumption 2 can also be solved. From this, it can be seen that solving assumption 2 is as easy as solving assumption 1, or easier than solving assumption 1.
Therefore, it is currently unknown how much it is easier to solve this assumption 2 than to solve assumption 1. However, if an algorithm that solves only assumption 2 is found, assumption 1 holds but assumption 2 holds. The situation of disappearing can be considered. In such a case, the anonymity of the anonymous public key certificate described above is lost.
[0032]
  Accordingly, the present invention has been made to eliminate the above-described drawbacks, and an object of the present invention is to provide an information communication system using a digital signature scheme that can reliably maintain anonymity in any case.
[0033]
[Means for Solving the Problems]
  The information communication system according to the present invention is an information communication system in which a terminal device j and a certificate issuing device Q are connected via a network, and the terminal device j is a set of prime numbers p and a set of prime numbers greater than 0 and less than p. Using a public parameter that is an element of a set of integers that are relatively prime to p and that has α of order (p−1), the secret key sjAnd public key vjGenerating means for generating a pair of the public key vjThe certificate issuing device Q includes the public parameter, the public key v, and the public key v.j, Random number k, secret key s for the certificate issuing device QQAnd the equation r = vj kusing modp, generating means for generating signatures r and s for plaintext m, and transmission means for transmitting the plaintext m and signatures r and s to the terminal device j, and the terminal device j further comprises: The secret key sjAnd the expression sj'= S · sj -1using mod (p-1), sjMeans for calculating ′ and the calculated sj', Signature r, plaintext m, and public key v for the certificate issuing deviceQAnd confirming means for confirming whether the signature of the plaintext m is correct, and the calculated sjAnd a cryptographic means for performing encryption by public key cryptography using 'as a secret key.
[0049]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, embodiments of the present invention will be described with reference to the drawings.
[0050]
First, the first embodiment will be described.
[0051]
The digital signature system according to the present invention is implemented, for example, by a communication system 100 as shown in FIG. 1, and this communication system 100 is also an application of the information communication system according to the present invention.
[0052]
That is, in the communication system 100, the certificate issuer Q terminal device 20 and a plurality of user terminal devices 30, 40, 50,... Including the users j, i, k are connected on the network 10. Each terminal device communicates with each other via the network 10. The communication system 100 is provided with a public database PD (Public Database) in which public parameters PV (Public Values) common to each user are managed.
[0053]
The certificate issuer Q terminal device 20 includes a secret key s unique to the certificate issuer Q.Q(Secret information) and public key vQA public key generation unit 21 for generating (public information) and a secret key sQAnd a signature generation unit 22 that generates a signature (anonymous public key certificate) for the plaintext m using the public parameter PV.
[0054]
On the other hand, the user terminal devices 30, 40, 50,... Have the same configuration.
For example, the terminal device 30 for user j has a secret key s unique to user j.jAnd public key vjA public key generation unit 31, a determination unit 32 for determining whether the correspondence between the plaintext m and the signature is correct, and a signature generation unit 33 for generating a new signature.
In addition, the user j terminal device 30 confirms the confirmation unit 35 that confirms the new signature, the encryption unit 36 that encrypts the plaintext using the new signature confirmed by the confirmation unit 35, and the confirmation unit 35. And a decrypting unit 34 for decrypting the ciphertext using the new signature.
[0055]
Hereinafter, the operation of the communication system 100 will be described with reference to FIGS.
It should be noted that the symbols in FIG. 2 follow the same notation rules as in FIG.
[0056]
Step S200:
First, as common data of the communication system 100, large prime numbers p, Zp *And a one-way hash function H of order p-10: Z → Zp\ {0} is used.
P is, for example, “p> 2512"
These parameters (public parameters PV (Public Values)) can be accessed by all users participating in the communication system 100 and are appropriately managed so as to prevent unauthorized tampering. It is assumed that it is registered in PD (Public Database).
Therefore, the certificate issuer (authority) Q terminal device 20 uses the public key generation unit 21 to execute a secret key (decryption key) s.Q(∈Zp-1 *) And public key (encryption key) vQ(= ΑsQmodp) and the public key vQIs registered in the public database PD.
Also, an arbitrary user terminal device (here, referred to as a user j user terminal device 30) is transmitted by the public key generation unit 31 to a secret key (decryption key) s.j(∈Zp-1 *) And public key (encryption key) vj(= Αsjmodp) and the public key vjIs registered in the public database PD.
[0057]
Step S201: Generate anonymous public key certificate
The certificate issuer Q terminal device 20 uses the signature generation unit 22 to make public key v of user jjR is converted using a random number k, and a signature for the plaintext m (for example, a digital signature by ElGamal encryption) is generated.
Specifically, the signature generation unit 22 generates a random number (secret random number) k (kεZp-1 *)
r = vj kmodp
s = (H0(M) -sQ・ R) ・ k-1mod (p-1)
Perform the following calculation. The digital signature r, s by ElGamal encryption for this plaintext m is an anonymous public key certificate. The plain text m can be used as a parameter indicating the type of the anonymous public key certificate.
The parameter indicating the type of anonymous public key certificate is plaintext m or H0A predetermined fixed value may be used instead of (m).
[0058]
Step S202: Delivery of anonymous public key certificate
Next, the certificate issuer Q terminal device 20 uses the digital signature r, s generated by the signature generation unit 22 and the parameter m indicating the type as an anonymous public key certificate (m, r, s). It transmits to the terminal device 30 for user j.
[0059]
Step S203:
Upon receiving this, the terminal device 30 for user j uses the determination unit 32 to
sj'= S · sj -1mod (p-1)
Seeking
αH0 (m)≡vQ r・ Rsj '(Modp)
Confirm that
[0060]
Step S204: Use of public key cryptography
And the terminal device 30 for user j is
αH0 (m)・ VQ -r≡rsj '(Modp)
To the bottom of “r” and “αH0 (m)・ VQ -rmodp "is the public key," sjPublic key cryptography based on the discrete logarithm problem is used with '' "as a secret key.
[0061]
Thus, for example, a case where a digital signature based on ElGamal encryption is used will be described.
[0062]
Step S204 (1): Generation of a digital signature
The terminal device 30 for user j uses the signature generation unit 33 to generate a signature for the plaintext m ′ as follows.
(1) The signature generation unit 33 generates a random number k ′ (∈Zp-1 *) Is generated.
(2) The signature generation unit 33
r '= αk 'modp
Calculate
(3) The signature generation unit 33
s' = (H0(M ')-sj‘・ R) ・ (k’)-1mod (p-1)
Calculate
(4) Then, the user j terminal device 30 uses m ′ and r ′ and s ′ obtained by the signature generation unit 33 as the anonymous public key certificate (m , R) and a communication partner (here, terminal device 40 for user i).
[0063]
Step S204 (2): signature verification
Receiving this, the terminal device for user i 40 uses the confirmation unit 45 to
rH0 (m ')≡ (αH0 (m)・ VQ -r)r '・ (R ’)s'(Modp)
Confirm that the following formula holds.
Then, when the user i terminal device 40 has confirmed this, it recognizes that the signature for m ′ is a signature generated by the user selected by the certificate issuer Q.
[0064]
Further, the above-described step S204: Public key encryption can be used for encryption.
Thus, for example, a case where the terminal device 50 for user k performs encryption using ElGamal encryption will be described.
[0065]
encryption:
The terminal device 50 for the user k encrypts the plaintext m ″ by the encryption unit 56 as follows.
(1) The encryption unit 56 generates a random number k ″.
(2) The encryption unit 56
C1= Rk "modp
Calculate
(3) The encryption unit 56
C2= M "・ (αH0 (m)・ VQ -rmodp)k "modp
Calculate
{Circle over (4)} Then, the terminal device 50 for the user k obtains the C obtained by the encryption unit 56.1And C2Is transmitted to the terminal device 30 for user j.
[0066]
Decryption:
Upon receiving this, the terminal device 30 for user j uses the decoding unit 34 to
m ″ = C2/ C1 sj 'modp
To obtain plain text m ″.
[0067]
Note that the use of ElGamal encryption has been described as the use of public key cryptography in step S204 described above. However, the present invention is not limited to this, and it can also be used for public key cryptography based on the discrete logarithm problem. .
[0068]
Next, a second embodiment will be described.
[0069]
In the second embodiment, a modified version of the digital signature scheme of ElGamal encryption is applied to the communication system 100 in the first embodiment described above.
For this reason, in the first embodiment, the ElGamal cipher uses p-1 to perform a legal operation, whereas in the second embodiment, a prime number q (q is divisible by p-1) is used. The difference is that it performs legal operations.
[0070]
Note that the configuration of the communication system 100 that implements the second embodiment is the same as that of the first embodiment described above, and a detailed description thereof will be omitted.
Hereinafter, only differences from the first embodiment will be specifically described with reference to FIG.
[0071]
Step S300:
First, as common data of the communication system 100, large prime numbers p and q (q is divisible by p−1), Zp *Of the order q and the one-way hash function H0: Z → Zq\ {0}, H1: Zq× Z → {0, ..., 2t-1} is used.
Here, for example, “p> 2512", Q> 2160”,“ T> 72 ”.
These parameters (public parameters PV) are registered in a public database PD that can be accessed by all users participating in the communication system 100 and appropriately managed so as not to cause unauthorized tampering. It shall be.
Therefore, the certificate issuer Q terminal device 20 uses the public key generation unit 21 to execute the secret key s.Q(∈Zq\ {0}) and public key vQ(= ΑsQmodp) and the public key vQIs registered in the public database PD.
Also, an arbitrary user terminal device (here, referred to as a user j terminal device 30) is transmitted by the public key generation unit 31 to the secret key s.j(∈Zq\ {0}) and public key vj(= Αsjmodp) and the public key vjIs registered in the public database PD.
[0072]
Step S301: Generation of anonymous public key certificate
The certificate issuer Q terminal device 20 uses the signature generation unit 22 to make public key v of user jjR is converted using a random number k, and a signature for the plaintext m (for example, a digital signature by ElGamal encryption) is generated.
Specifically, the signature generation unit 22 generates a random number (secret random number) k (kεZq\ {0}),
r = vj kmodp
s = (H0(M) -sQ・ R) ・ k-1modq
Perform the following calculation. The digital signature r, s by ElGamal encryption for this plaintext m is an anonymous public key certificate. The plain text m can be used as a parameter indicating the type of the anonymous public key certificate.
The parameter indicating the type of anonymous public key certificate is plaintext m or H0A predetermined fixed value may be used instead of (m).
[0073]
Step S302: Delivery of anonymous public key certificate
Next, the certificate issuer Q terminal device 20 uses the digital signature r, s generated by the signature generation unit 22 and the parameter m indicating the type as an anonymous public key certificate (m, r, s). It transmits to the terminal device 30 for user j.
[0074]
Step S303:
Upon receiving this, the terminal device 30 for user j uses the determination unit 32 to
sj'= S · sj -1modq
Seeking
αH0 (m)≡vQ r・ Rsj '(Modp)
Confirm that
[0075]
Step S304: Use of public key cryptography
And the terminal device 30 for user j is
αH0 (m)・ VQ -r≡rsj '(Modp)
To the bottom of “r” and “αH0 (m)・ VQ -rmodp "is the public key," sjPublic key cryptography based on the discrete logarithm problem is used with '' "as a secret key.
[0076]
Thus, for example, a case where a digital signature based on Schonor encryption is used will be described.
[0077]
Step S304 (1): Generation of a digital signature
The terminal device 30 for user j uses the signature generation unit 33 to generate a signature for the plaintext m ′ as follows.
(1) The signature generation unit 33 generates a random number k ′ (∈Zq\ {0}).
(2) The signature generation unit 33
x = rk 'modp
Calculate
(3) The signature generation unit 33
e = H1(X, m ')
Calculate
(4) The signature generation unit 33
y = k'-e.sj‘Modq
Calculate
(5) Then, the terminal device 30 for user j uses m ′ and e and y obtained by the signature generation unit 33 as the anonymous public key certificate (m, r) from the terminal device 20 for certificate issuer Q. ) And a communication partner (here, referred to as terminal device 40 for user i).
[0078]
Step S304 (2): signature verification
Receiving this, the terminal device for user i 40 uses the confirmation unit 45 to
e = H1(Ry・ (ΑH0 (m ')・ VQ -r)emodp, m ')
Confirm that the following formula holds.
When the user i terminal device 40 has confirmed this, it recognizes that the signature for m ′ is a signature generated by the user selected by the certificate issuer Q.
[0079]
Further, the above-described step S304: Public key encryption can be used for encryption.
Thus, for example, a case where the terminal device 50 for user k performs encryption using ElGamal encryption will be described.
[0080]
encryption:
The terminal device 50 for the user k encrypts the plaintext m ″ by the encryption unit 56 as follows.
(1) The encryption unit 56 generates a random number k ″.
(2) The encryption unit 56
C1= Rk "modp
Calculate
(3) The encryption unit 56
C2= M "・ (αH0 (m)・ VQ -rmodp)k "modp
Calculate
{Circle over (4)} Then, the terminal device 50 for the user k obtains the C obtained by the encryption unit 56.1And C2Is transmitted to the terminal device 30 for user j.
[0081]
Decryption:
Upon receiving this, the terminal device 30 for user j uses the decoding unit 34 to
m ″ = C2/ C1 sj 'modp
To obtain plain text m ″.
[0082]
Step S304 described above has been described as using the public key cipher using the Schnorr cipher or the ElGamal cipher. However, the present invention is not limited to this. be able to.
[0083]
Next, a third embodiment will be described.
[0084]
In the third embodiment, a modified version of the digital signature scheme of ElGamal encryption is applied to the communication system 100 in the first embodiment described above.
That is, in the third embodiment, similarly to the first embodiment, the plaintext m (the H obtained by calculating based on the plaintext m is used in the anonymous public key certificate).0When using (m)), H0(M) = 0.
[0085]
Note that the configuration of the communication system 100 that implements the third embodiment is the same as that of the first embodiment described above, and a detailed description thereof will be omitted.
Hereinafter, only differences from the first embodiment will be specifically described with reference to FIG.
[0086]
Step S400:
First, as common data of the communication system 100, prime numbers p, Zp *And a one-way hash function H of order p-10: Z → Zp\ {0} is used.
P is, for example, “p> 2512"
These parameters (public parameters PV) are registered in a public database PD that can be accessed by all users participating in the communication system 100 and appropriately managed so as not to cause unauthorized tampering. It shall be.
Therefore, the certificate issuer Q terminal device 20 uses the public key generation unit 21 to execute the secret key s.Q(∈Zp-1 *) And public key vQ(= ΑsQmodp) and the public key vQIs registered in the public database PD.
Also, an arbitrary user terminal device (here, referred to as a user j terminal device 30) is transmitted by the public key generation unit 31 to the secret key s.j(∈Zp-1 *) And public key vj(= Αsjmodp) and the public key vjIs registered in the public database PD.
[0087]
Step S401: Generation of anonymous public key certificate
The certificate issuer Q terminal device 20 uses the signature generation unit 22 to make public key v of user jjR is converted by using a random number k, and a modified version of the digital signature of Elgamal cipher, for example, an ElGamal cipher signature whose result is “0” when plaintext m is input to the hash function is generated. To do.
Specifically, the signature generation unit 22 generates a random number (secret random number) k (kεZp-1 *)
r = vj kmodp
s = sQ・ R ・ k-1mod (p-1)
Perform the following calculation. The digital signatures r and s are anonymous public key certificates.
[0088]
Step S402: Delivery of anonymous public key certificate
Next, the certificate issuer Q terminal device 20 transmits the digital signature r, s generated by the signature generation unit 22 to the terminal device 30 for user j as an anonymous public key certificate (r, s). .
[0089]
Step S403:
Upon receiving this, the terminal device 30 for user j uses the determination unit 32 to
sj'= S · sj -1mod (p-1)
Seeking
vQ r≡rsj '(Modp)
Confirm that
[0090]
Step S404: Use of public key cryptography
And the terminal device 30 for user j is
vQ r≡rsj '(Modp)
"R" to the bottom, "v"Q rmodp "is the public key," sjPublic key cryptography based on the discrete logarithm problem is used with '' "as a secret key.
[0091]
Thus, for example, a case where a digital signature based on ElGamal encryption is used will be described.
[0092]
Step S404 (1): Generation of a digital signature
The terminal device 30 for user j uses the signature generation unit 33 to generate a signature for the plaintext m ′ as follows.
(1) The signature generation unit 33 generates a random number k ′ (∈Zp-1 *) Is generated.
(2) The signature generation unit 33
r '= αk 'modp
Calculate
(3) The signature generation unit 33
s '= (H (m')-sj‘・ R) ・ (k’)-1mod (p-1)
Calculate
(4) Then, the user j terminal device 30 uses m ′ and r ′ and s ′ obtained by the signature generation unit 33 as the anonymous public key certificate (m , R) and a communication partner (here, terminal device 40 for user i).
[0093]
Step S404 (2): Signature verification
Receiving this, the terminal device for user i 40 uses the confirmation unit 45 to
rH0 (m ')≡ (vQ r)r '・ (R ’)s'(Modp)
Confirm that the following formula holds.
When the user i terminal device 40 has confirmed this, it recognizes that the signature for m ′ is a signature generated by the user selected by the certificate issuer Q.
[0094]
Further, the above-described step S404: Public key encryption can be used for encryption.
Thus, for example, a case where the terminal device 50 for user k performs encryption using ElGamal encryption will be described.
[0095]
encryption:
The terminal device 50 for the user k encrypts the plaintext m ″ by the encryption unit 56 as follows.
(1) The encryption unit 56 generates a random number k ″.
(2) The encryption unit 56
C1= Rk "modp
Calculate
(3) The encryption unit 56
C2= M "・ (vQ rmodp)k "modp
Calculate
{Circle over (4)} Then, the terminal device 50 for the user k obtains the C obtained by the encryption unit 56.1And C2Is transmitted to the terminal device 30 for user j.
[0096]
Decryption:
Upon receiving this, the terminal device 30 for user j uses the decoding unit 34 to
m ″ = C2/ C1 sj 'modp
To obtain plain text m ″.
[0097]
Note that the use of ElGamal encryption has been described as the use of public key cryptography in step S404 described above. However, the present invention is not limited to this, and it can also be used for public key cryptography based on the discrete logarithm problem. .
[0098]
As described above, in the present invention, p is a prime number, the order of α is p−1, and r≡v.j k≡αsjk(Madp) and sj∈Zp-1 *, K∈Zp-1 *It is. Or, p and q are prime numbers, q divides p-1 and the order of α is q, r≡vj k≡αsjk(Madp) and sj∈Zq\ {0}, k∈Zq\ {0}.
Therefore, when an arbitrary r is given, the r is a value that can be obtained from any user's public key, and as long as the value of k actually used is not known, It cannot be specified at all whether it was obtained from the public key. In other words, the signature r, which is an anonymous public key certificate, does not include any information for specifying which user's anonymous public key certificate. Thereby, anonymity is realized in terms of information amount, not by the above-described assumption 2 in terms of calculation amount, and anonymity can be reliably maintained even if a situation where assumption 2 does not hold true. For this reason, the safety regarding privacy protection can be improved.
[0099]
In any of the above-described embodiments, safety relating to privacy protection can be further improved by operating as follows.
(1) The certificate issuer Q terminal device 20 generates an anonymous public key certificate using a different random number k each time for an arbitrary user terminal device (for example, the user j terminal device 30). It transmits to the terminal device 30 for j.
(2) Upon receiving this, the terminal device 30 for user j uses one anonymous public certificate for different plaintexts without generating a digital signature.
The user who generates an arbitrary digital signature and the user who generates a different digital signature by the method using an anonymous public key certificate (One-time Certificates, disposable certificate method) are the same. It is very difficult, that is, impossible for the certificate issuer Q and a user other than the user who generated the arbitrary digital signature. Therefore, since the anonymity of the user is maintained in terms of the amount of information, safety regarding privacy protection can be further improved.
[0100]
【The invention's effect】
As described above, according to the present invention, the signature, which is an anonymous public key certificate, does not include any information for identifying which user's anonymous public key certificate. Thereby, anonymity is realized in terms of information amount, not by the above-described assumption 2 in terms of calculation amount, and anonymity can be reliably maintained even if a situation where assumption 2 does not hold true. Therefore, the safety regarding privacy protection can be improved.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a configuration of a communication system to which an information communication system according to the present invention is applied in a first embodiment.
FIG. 2 is a diagram for explaining a digital signature scheme in the communication system.
FIG. 3 is a diagram for explaining a digital signature scheme in the communication system in the second embodiment.
FIG. 4 is a diagram for explaining a digital signature scheme in the communication system in the third embodiment.
FIG. 5 is a diagram for explaining a conventional digital signature scheme;
[Explanation of symbols]
10 network
20 Certificate issuer terminal device
21 Public key generator
22 Signature generator
30 to 50 user terminal device
31 Public key generator
32 Discriminator
33 Signature generator
34 Decoding unit
35, 45 Confirmation part
36, 56 Encryption section

Claims (8)

端末装置jと証明書発行装置Qがネットワークで接続された情報通信システムであって、
前記端末装置jは、
素数pと0以上p未満の整数の集合かつ素数pと互いに素である整数の集合の要素であり且つ位数(p−1)のαとを含む公開パラメータを用いて、秘密鍵sj及び公開鍵vjのペアを生成する生成手段と、
前記公開鍵vjを公開する公開手段とを有し、
前記証明書発行装置Qは、
前記公開パラメータ、前記公開鍵vj、乱数k、前記証明書発行装置Qに対する秘密鍵sQ、及び式r=vj kmodpを用いて、平文mに対する署名r,sを生成する生成手段と、
前記平文mと署名r,sを前記端末装置jに送信する送信手段とを有し、
さらに、前記端末装置jは、
前記秘密鍵sjと、式sj’=s・sj -1mod(p−1)を用いて、sj’を計算する計算手段と、
前記計算されたsj’、署名r、平文mと前記証明書発行装置に対する公開鍵vQを用いて、前記平文mの署名が正しいかを確認する確認手段と、
前記計算されたsj’を秘密鍵として、公開鍵暗号による暗号を行う暗号手段とを有することを特徴とする情報通信システム。
An information communication system in which a terminal device j and a certificate issuing device Q are connected via a network,
The terminal device j is
A secret key s j and a public key that is an element of a set of prime numbers p and integers greater than or equal to 0 and less than p and that is an element of a set of prime numbers p and primes that are mutually prime and includes α of order (p−1) Generating means for generating a public key v j pair;
A public means for publishing the public key v j ,
The certificate issuing device Q
Generating means for generating a signature r, s for plaintext m using the public parameter, the public key v j , a random number k, a secret key s Q for the certificate issuing device Q , and an expression r = v j k modp; ,
Transmission means for transmitting the plaintext m and the signatures r and s to the terminal device j,
Further, the terminal device j
Calculation means for calculating s j ′ using the secret key s j and the formula s j ′ = s · s j −1 mod (p−1);
Confirmation means for confirming whether the signature of the plaintext m is correct, using the calculated s j ′, the signature r, the plaintext m, and the public key v Q for the certificate issuing device;
An information communication system comprising: encryption means for performing encryption by public key encryption using the calculated s j 'as a secret key.
前記公開パラメータは、さらにハッシュ関数H0を含むことを特徴とする請求項1記載の情報通信システム。The information communication system according to claim 1, wherein the public parameter further includes a hash function H 0 . 前記端末装置jの暗号手段は、前記計算手段で計算されたsj’を秘密鍵として、ディジタル情報に対する署名を生成する署名生成手段であることを特徴とする請求項1記載の情報通信システム。2. The information communication system according to claim 1, wherein the encryption means of the terminal device j is signature generation means for generating a signature for digital information using s j ′ calculated by the calculation means as a secret key. 前記端末装置jの暗号手段は、αH0(m)・vQ -rmodpを公開鍵として暗号化された暗号文を、前記計算手段で計算されたsj’を秘密鍵として用いて復号する復号手段であることを特徴とする請求項2記載の情報通信システム。The encryption means of the terminal device j decrypts the ciphertext encrypted using α H0 (m) · v Q −r modp as a public key, using s j ′ calculated by the calculation means as a secret key. 3. The information communication system according to claim 2, wherein the information communication system is a decoding means. 前記ネットワークに端末装置kが接続されており、
前記端末装置kは、αH0(m)・vQ -rmodpを前記端末装置jの公開鍵として、公開鍵暗号による暗号を行う暗号手段を有することを特徴とする請求項2記載の情報通信システム。
A terminal device k is connected to the network;
3. The information communication according to claim 2, wherein the terminal device k has encryption means for performing encryption by public key encryption using α H0 (m) · v Q −r modp as a public key of the terminal device j. system.
前記証明書発行装置Qの前記生成手段は、さらに式s=(H0(m)−sQ・r)・k-1mod(p−1)を用いて、署名sを生成することを特徴とする請求項2〜5の何れか1項に記載の情報通信システム。The generating means of the certificate issuing device Q further generates a signature s using the formula s = (H 0 (m) −s Q · r) · k −1 mod (p−1). The information communication system according to any one of claims 2 to 5. 前記公開パラメータは、さらに(p−1)を割り切る素数qを含み、前記証明書発行装置Qの前記生成手段は、さらに式s=(H0(m)−sQ・r)・k-1modqを用いて、署名sを生成することを特徴とする請求項2〜5の何れか1項に記載の情報通信システム。The public parameter further includes a prime number q that divides (p−1), and the generation unit of the certificate issuing device Q further includes an expression s = (H 0 (m) −s Q · r) · k −1. The information communication system according to any one of claims 2 to 5, wherein the signature s is generated using modq. 前記証明書発行装置Qの前記生成手段は、さらに式s=sQ・r・k-1mod(p−1)を用いて、署名sを生成することを特徴とする請求項1〜5の何れか1項に記載の情報通信システム。Wherein said generating means of the certificate issuing device Q furthermore using the equation s = s Q · r · k -1 mod (p-1), of claim 1, wherein generating a signature s The information communication system according to any one of the above.
JP00662998A 1998-01-16 1998-01-16 Information communication system Expired - Fee Related JP3862397B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP00662998A JP3862397B2 (en) 1998-01-16 1998-01-16 Information communication system
US09/229,440 US6298153B1 (en) 1998-01-16 1999-01-13 Digital signature method and information communication system and apparatus using such method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP00662998A JP3862397B2 (en) 1998-01-16 1998-01-16 Information communication system

Publications (2)

Publication Number Publication Date
JPH11202766A JPH11202766A (en) 1999-07-30
JP3862397B2 true JP3862397B2 (en) 2006-12-27

Family

ID=11643663

Family Applications (1)

Application Number Title Priority Date Filing Date
JP00662998A Expired - Fee Related JP3862397B2 (en) 1998-01-16 1998-01-16 Information communication system

Country Status (1)

Country Link
JP (1) JP3862397B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050234949A1 (en) * 2003-04-30 2005-10-20 Sony Corporation Data processing method, program thereof, device thereof, and recording medium
CN1937496A (en) * 2005-09-21 2007-03-28 日电(中国)有限公司 Extensible false name certificate system and method

Also Published As

Publication number Publication date
JPH11202766A (en) 1999-07-30

Similar Documents

Publication Publication Date Title
US6298153B1 (en) Digital signature method and information communication system and apparatus using such method
JP3560439B2 (en) Device for performing encryption key recovery
US5796833A (en) Public key sterilization
JP2606419B2 (en) Cryptographic communication system and cryptographic communication method
JPWO2008146667A1 (en) Anonymous authentication system and anonymous authentication method
EP2792098B1 (en) Group encryption methods and devices
CN103155481A (en) Authenticated encryption for digital signatures with message recovery
US9088419B2 (en) Keyed PV signatures
CA2819211C (en) Data encryption
KR20040009766A (en) Apparatus and method for transmitting and receiving in encryption system
US20220038267A1 (en) Methods and devices for secured identity-based encryption systems with two trusted centers
WO2003063410A1 (en) Cryptosystem
CN116743358A (en) Repudiation multi-receiver authentication method and system
NL1043779B1 (en) Method for electronic signing and authenticaton strongly linked to the authenticator factors possession and knowledge
Bindel et al. The need for being explicit: Failed attempts to construct implicit certificates from lattices
JP4146252B2 (en) Anonymous communication method capable of identifying unauthorized persons, user device used in the method, and relay server device
JP3862397B2 (en) Information communication system
KR100453113B1 (en) Method for producing and certificating id-based digital signature from decisional diffie-hellman groups
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
Boyd Enforcing traceability in software
Zheng Signcryption or how to achieve cost (signature & encryption)<< cost (signature)+ cost (encryption)
JPH06112935A (en) Ciphering communication method
Téllez et al. Security in mobile payment systems
Das et al. Cryptanalysis of Signcryption Protocols Based On Elliptic Curve

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20041117

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060130

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060328

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060529

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: 20060919

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060926

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091006

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101006

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101006

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111006

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111006

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121006

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131006

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees