JP3694242B2 - 署名付き暗号通信方法及びその装置 - Google Patents
署名付き暗号通信方法及びその装置 Download PDFInfo
- Publication number
- JP3694242B2 JP3694242B2 JP2001010062A JP2001010062A JP3694242B2 JP 3694242 B2 JP3694242 B2 JP 3694242B2 JP 2001010062 A JP2001010062 A JP 2001010062A JP 2001010062 A JP2001010062 A JP 2001010062A JP 3694242 B2 JP3694242 B2 JP 3694242B2
- Authority
- JP
- Japan
- Prior art keywords
- key
- mod
- outputs
- calculates
- receives
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Images
Description
【発明の属する技術分野】
この発明は、電気通信システムで送信者の身元を確認すると同時に送信内容の秘匿化を行う暗号通信方法及びその装置に関する。
【0002】
【従来の技術】
送信者と受信者が、盗聴、改ざん、成りすましの恐れのある通信網を介して、安全に通信を行う方法として、任意のディジタル署名方法と公開鍵暗号化方法とを組み合わせる方法がある。
送信者USの署名鍵、署名検証鍵をそれぞれx,yとし、受信者URの暗号化鍵、復号鍵をそれぞれe,dとする。yおよびdは公開されており、送信者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署名とElGamal暗号を用いた場合について具体的な方法を説明する。ps、qsを大きな素数とし、q s が (p s -1)を割り切るものとする。gsをZ* ps(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 x mod psの計算により求めて、このyを公開する。受信者URはElGamal暗号の復号鍵dをZqrからランダムに選び、暗号鍵e=gr d mod pr を計算してeを公開する。
【0006】
ElGamal暗号による暗号文CはC=(G,M)=(gr u mod pr, Es K(m))であり、このCに対するSchnorr署名aはa=(c,z)=(H1(gs v‖C), v-cx mod qs)である。ここで、u,vはそれぞれZqrおよびZqsからランダムに選ばれた乱数、Esは例えばDESのような、対称鍵暗号の暗号化関数、KはK=H2(ew mod
pr)である。
受信者は、c=H1(gs xyc mod ps‖C)が成り立つことを確認し、次に、K=H2(Gd mod pr), m=Ds K(M)を計算して平文mを得る。ここで、DsはEsに対応する対称鍵暗号の復号関数とする。
【0007】
上記従来技術によれば、ディジタル署名の性質により、Vy(a,C)=1となる署名aを作成できるのは検証鍵yに対応した署名鍵xを保持している送信者USのみであり、従って暗号文Cの作成者を認証することができ、かつ、暗号文Cの作成者は署名の事実を否認することができない。更に、暗号文Cを復号することができるのは受信者URだけであり、第三者(盗聴者)にメッセージmの内容が漏洩することが無い。
【0008】
【発明が解決しようとする課題】
以下では、関数E,D,S,Vの計算時間をそれぞれτ(E),τ(D),τ(S),τ(V)と表し、暗号文長および署名長をそれぞれL(C),L(a)と表す。
上記従来法によれば、送信者が送信文(C,a)を作成するために必要な計算時間はτ(E)+τ(S)であり、受信者に必要な計算時間も同様に、τ(V)+τ(D)である。また、送信文(C,a)のビット長は少なくともL(C)+L(a)となる。
計算時間を見積もるため、指数部がZqsであるmod psでのべき乗剰余演算の計算時間を1とする。psとpr、およびqsとqrがそれぞれ同じビット数であるものとし、指数部がZqrであるmod prでのべき乗剰余演算の計算時間も同様に1とみなす。2基底のべき乗剰余演算は1基底のべき乗剰余演算の約1.4倍の計算量で計算できる。ps, qs のビット長をそれぞれ|p|,|q|で表し、ハッシュ関数H1(・)値のビット長を|q|で表す。暗号文mを対称鍵暗号で暗号化した暗号文の長さを|m|で表す。mod qrでの剰余乗算、ハッシュ関数、およびmod qs, mod qr での計算時間は、通常、mod psでのべき乗剰余演算の計算時間に比較して非常に小さいため、以下の見積もりでは無視することとする。また、メッセージ長も十分短いものとし、対称鍵暗号の暗号化および復号の時間も無視できる程度のものと仮定する。
【0009】
以上の条件によれば、送信文Σ=(C,a)を作成するために送信者が必要とする計算時間は、ew mod prの計算に1,gr u mod prの計算に1,gs vの計算に1かかり、よってτ(E)+τ(S)=2+1=3である。送信文の長さは、暗号文C中のEs K(m)の長さが|m|、gr u mod prの長さが|p|、署名 a中のH1(gs v‖C)の長さが|q|、v=cx mod qsの長さが|q|であり、よってL(C)+L(a)=|m|+|p|+2|q|である。受信者が署名検証および復号に必要とする計算時間は、gs xyc mod psの計算に1.4,Gdmod prの計算に1かかり、よってτ(V)+τ(D)=1.4+1=2.4である。
【0010】
この発明は、上記従来方法と同様に、改ざん、成りすまし、盗聴に対する安全性を提供しつつ、送信者、受信者の計算時間がそれぞれτ(E)+τ(S)、τ(V)+τ(D)よりも少なく、かつ、送信すべきデータ長がL(C)+L(a)よりも少なくて済む認証付き暗号化方法を提供することを目的とする。
【0011】
【課題を解決するための手段】
この発明では公開鍵の一部として共通のパラメータを用い、つまり例えば受信者側で作られたpr, qr, grおよび送信者側で作られたps, qs, gs を、システムに共通のp,q,gとし、また暗号化関数で使用する乱数と署名関数に用いる乱数を共通の乱数とする。
このように共通のパラメータおよび共通の乱数を用いることで、暗号化時に必要な乱数によるべき乗剰余演算と、署名時に必要なべき乗剰余演算を共通化することができる。つまり送信文の中の暗号文中に含まれる、乱数から計算される部分と、署名に含まれる乱数から計算される部分とを共通化することが可能となる。更には、復号手順の一部と署名検証手順の一部を共通化することも可能となる。
【0012】
【発明の実施の形態】
いま図1に示すように送信者端末11で平文mを暗号化し、その暗号文Cに対するディジタル署名aを作成し、(C,a)を公衆回線12を介して受信者端末13へ送信し、受信者端末13で受信信号の署名検証を行い、合格すると暗号文Cを復号する場合にこの発明を適用した実施の形態を以下に説明する。
実施形態1
Esを秘密鍵暗号関数とし、Es K(m)は鍵Kで平文mを暗号化してできる暗号文を表す。同様に、DsをEsに対応する秘密鍵復号関数とし、Ds K(C)は鍵Kで暗号文Cを復号して得られる平文を表す。例えば、関数E,Dには、Triple-DESやIDEA、等のブロック暗号のCBCモードやOFBモードにおける暗号化関数、復号関数を用いてよい。
【0013】
p、qを大きな素数とし、qが(p−1)を割り切るものとする。gをZ* pにおける位数qの元とする。H1(・)、H2(・)を一方向性ハッシュ関数とし、二項演算子A‖BはAとBを結合した値を表す。公開鍵の一部を構成するp,q,gおよびハッシュ関数はシステム共通パラメータとして公開する。ハッシュ関数には、例えば、SHA-1を用いてもよい。
記憶されている送信者は署名鍵xをZqからランダムに選び、送信者端末11の機能構成例を図2に示す。メモリ20にはパラメータp,q,gと、暗号鍵eが、つまり送信者端末11の乱数生成器21により署名鍵xを生成し、署名鍵xをメモリ20に記憶すると共に署名検証鍵生成器22により、x,q,pを用いてy=gx mod qを計算して署名検証鍵yを生成し、メモリ20に記憶すると共に公開する。
【0014】
受信者端末13の機能構成を図3に示す。メモリ40にはパラメータp,q,g,署名検証鍵yが格納されている。受信者は復号鍵dをZqからランダムに選び、つまり乱数生成器41から復号鍵dを生成し、メモリに復号鍵dを格納し、またg,d,pを用いて暗号鍵生成部42でe=gd mod pを計算して暗号鍵eを生成し、暗号鍵eをメモリ40に記憶すると共に公開する。
平文mを送信する際に、送信者端末11は送信文Σを以下の手順で作成する。まず、乱数wをZqからランダムに選び、つまり乱数生成器23から乱数wを生成し、べき乗剰余演算器24に、乱数w、暗号鍵e、パラメータpを入力してew mod pを計算し、その計算結果をハッシュ器25に入力してK=H1(ew mod p)を計算してセッション鍵Kを求め、このセッション鍵Kとメッセージmを暗号器26に入力してmを暗号関数Esにより鍵Kにより暗号化し、つまりC=Es K(m)を演算して暗号文Cを得る。
【0015】
次に、べき乗剰余演算器27に乱数w、パラメータg,pを入力してW=gw mod pを計算し、その計算結果Wと暗号化器26からの暗号文Cをハッシュ器28に入力して、WとCの連結のハッシュ値b=H2(W‖C)を計算し、更にb,q,乱数w、署名鍵xを剰余乗算・減算器29に入力してa=w-bx mod qを計算して署名a,bを得る。送信器30は暗号文Cと署名a,bを送信文Σ=(C,a,b)として受信者端末13へ送信する。
なお送信端末11の各部の制御は制御部31により行われ、各部が順次、あるいは並列的に処理される。乱数生成器21と23は1つで兼用でき、同様にべき乗剰余演算器24と27も1つで兼用することができる。べき乗剰余演算器24,ハッシュ器25、暗号化器26は暗号文Cを生成する暗号文生成部70を構成し、べき乗剰余演算器27,ハッシュ器18,剰余乗算・減算器29は署名を生成する署名部90を構成している。
【0016】
受信者端末13は、以下に示す手段で受信器43に受信した暗号文の検証および復号を行う。まず、受信した署名a,bとメモリ40からのp、g及び署名検証鍵yがべき乗剰余演算器44に入力されてW'=gayb mod pが計算され、その計算結果W’と受信した暗号文Cがハッシュ器45に入力されて、CとW’の結合のハッシュ値H2(W’‖C)が計算され、この計算結果と受信したbとが比較器46で比較され、署名検証がされる。つまりa=w-bx mod p,y=gx mod pであるから、これらをW’の式に代入すると、W'=gw mod pとなりH2(W'‖C)がbと等しいことは暗号文Cに対する署名が正しいことになる。この検証が成り立たない場合は、受信文Σを破棄する。この署名検証が成り立つ場合は、べき乗剰余演算器47にa,bとg,p,y,dを入力して(gayb modp)dを計算し、又はべき乗剰余演算器44の出力W’とdを入力して(W')d mod pを計算し、その計算結果をハッシュ器48に入力してK=H1((gayb mod p)dを計算し、セッション鍵Kを復号し、その鍵Kにより受信暗号文を復号器49で復号関数演算m=Ds K(C)を行って、平文mを得る。
【0017】
受信者端末13の各部は制御部50により、順次又は並列的に処理するように制御される。べき乗剰余演算器47はべき乗剰余演算器44の演算結果W’を入力して(W')dを計算してもよい。
この実施形態において、前述した計算時間の見積もりと同様の条件で計算時間を評価すると、送信者端末11ではew mod pの計算に1、gw mod pの計算に1、つまりτ(E)+τ(S)=1+1=2となり、べき乗剰余演算1回分の時間計算が従来より少なくて済み、また送信文長はEs K(m)の長さが|m|、b=H2(W‖C)の長さが|q|、a=w-bx mod qの長さが|q|、つまりL(C)+L(a)=|m|+2|q|となり、従来より|p|ビットだけ短くなり、受信者端末13では計算時間はgayb mod pの計算に1.4,(W')dmod pの計算に1、つまりτ(V)+τ(D)=1.4+1=2.4となり、従来と同一である。
【0018】
つまり、パラメータp,q,gを送信者端末11と受信者端末13とに共通にし、乱数wを暗号関数と署名関数とに共通に使用しているため、従来における暗号文C=(G,M)中のG=gr u mod prと署名a=(C,Z)中のC=H1(gs v mod ps‖C)の計算におけるgs v mod psとが同一の計算gw mod pとなり、暗号化時に必要な乱数によるべき乗剰余演算と、署名時に必要なべき乗剰余演算を共通化することができ、それだけ計算時間が少なくなり、かつ送信文の中の暗号文中に含まれる、乱数から計算される部分Gと、署名に含まれる乱数から計算される部分、b=H2(W‖C)中のW=gw mod pとが共通化され、Gを送信する必要がない。即ち受信者端末13では検証時のW'=gayb mod pの計算により、W'=gv mod pが得られ、b=H2(W’‖C)を計算することにより、従来技術における復号時に必要とするGと対応するものが得られ、Gの受信を必要としない。
実施形態2
平文mを送信する際に、送信者端末11は送信文Σを以下に示す手段で作成してもよい。暗号文Cを上記手段と同様に作成し、次に、図2中で波線で示すようにWではなく、ハッシュ器25の出力Kを入力してb=H2(K‖C)を計算し、このbを用いて剰余乗算・減算器29でa=w-bx mod qを計算して署名a,bを得る。送信文ΣはΣ=(C,a,b)とする。
【0019】
受信者端末13は、以下に示す手段で受信した暗号文の検証及び復号を行う。まず、べき乗剰余演算器47及びハッシュ器48によりK=H1((gayb)d mod p)を計算し、図3中に波線で示すようにハッシュ器45にWの代わりにKを入力してH2(K‖C)を計算し、比較器46でb=H2(K‖C)が成り立つことを検証し、成り立たない場合は、受信文Σを破棄する。成り立つ場合は、次に、m=Ds K(C)を計算して平文mを得る。
この実施の形態2においても、実施形態1と同様な理由で送信者端末11での計算時間を2とし、送信文長を|m|+2|q|とすることができ、しかも受信者端末13での計算時間はKの計算の1.4で済む。
【0020】
実施形態1に対する実施形態の変更から、容易に理解されるようにハッシュ器28への入力としてはWとCとKとし、H2(W‖C‖K)=bとしてもよく、又はW,C,mを入力して、H2(W‖C‖m)=bとしてもよく、あるいはC、mを入力してH2(C‖m)=bとしてもよい。なお、ハッシュ器28への入力としてmを用いる場合は、受信者端末13において、検証の際にKを求め、更にKによりmを復号して、そのmを用いることになる。要は送信者端末11のハッシュ器28ではW、K、mの少なくとも1つと、Cとを入力して、その入力の結合をH2(・)演算してbを出力し、受信者端末13のハッシュ器45では、送信者端末のハッシュ器28の入力と対応するものを入力してその結合をH2(・)演算すればよい。
実施形態3
平文mを送信する際に、送信者端末11で以下に示す手段で冗長化してもよい。図4に示すように送信者端末11において、まずメッセージ変換器60で入力平文mに冗長性を与えたメッセージm’に変換する。この変換は例えば図5に示すように平文mはハッシュ器61でハッシュ関数演算H4(m)が行われ、その演算結果は、更にハッシュ器62でハッシュ関数演算H5(H4(m))が行われる。この演算結果と入力平文mとのビット毎の排他的論理和演算H5(H4(m))(+)mが排他的論理和演算器63で行われ、この演算結果とハッシュ器61の演算結果H4(m)との結合が結合器64で結合されm'=m(+)H5(H4(m))‖H4(m)として出力される。
【0021】
このように変換されたメッセージm'は図4中の暗号文生成部70で、例えば実施形態1における暗号文Cと同様な手法により暗号化されて暗号文Cが生成される。この暗号文Cはハッシュ器71でハッシュ関数演算H2(C)=bが行われ、この演算結果bとメモリ20よりのx,q,a,乱数生成器23からのwとにより剰余乗算・減算器29においてa=w-bx mod qが演算され、署名のaが生成され、送信器30より送信文Σ=(C,a)が送信される。
受信者端末13では図6に示すように受信器43で受信されたC,aの中のCがハッシュ器81でハッシュ関数演算b=H2(C)が行われ、その演算結果bと受信したaと、メモリ40よりのd,y,p,gによりべき乗剰余演算器47により、(gayb)d mod pが演算され、その結果に対し、ハッシュ器48でハッシュ関数H1(・)が行われ、鍵Kが求められる。この鍵Kにより受信した暗号文Cに対し復号関数演算m'=Ds K(C)が復号器49で行われる。
【0022】
その復号されたメッセージm'はビット分割器82により、Bがハッシュ関数H4(・)の演算結果のビット数と同じになるようにm'=A‖Bに分割される。そのBはハッシュ器83でハッシュ関数演算H5(B)が行われ、その演算結果とAとのビット毎の排他的論理和演算m=H5(B)(+)Aが演算器84で行われる。この演算結果mとBとを比較器86で比較され、等しければ演算結果mが正しい復号平文として出力され、等しくなければ受信文(C,a)は不正となす。
この実施形態3においても実施形態2と同様に、送信者端末11及び受信者端末13の各計算時間を低減でき、かつ送信文の長を低減できる。
【0023】
上述において送信者端末11、受信者端末13はそれぞれ、コンピュータによりプログラムを実行させて、機能させることもできる。
またこの発明は実施形態1乃至3に限らず、公開鍵を用いた暗号化とその暗号文の署名に適応でき、公開鍵の一部を構成するパラメータを共通化し、かつ暗号化に用いる乱数と署名に用いる乱数を共通化すればよい。
【0024】
【発明の効果】
以上述べたようにこの発明によれば、送信者端末での計算時間と送信文のビット数を低減することができ、実施形態によると、受信者端末での計算時間も低減することができる。
【図面の簡単な説明】
【図1】この発明が適用されるシステム構成例を示す図。
【図2】この発明の送信者端末の機能構成例を示す図。
【図3】この発明の受信者端末の機能構成例を示す図。
【図4】この発明の送信者端末の他の機能構成例を示す図。
【図5】図4中のメッセージ変換器60の機能構成例を示す図。
【図6】この発明の受信者端末の他の機能構成例を示す図。
Claims (12)
- p、qを、qが(p−1)を割り切る大きな素数とし、gをZ* pにおける位数qの元とし、これらのp、q、gを上記両公開鍵の一部のパラメータの共通とされたものとし、H1(・)、H2(・)を一方向性ハッシュ関数とし、二項演算子A‖BはAとBを結合した値を表すものとし、Es を秘密鍵暗号関数とし、Es K(m)は鍵Kで平文mを暗号化してできる暗号文を表し、Ds をEs に対応する秘密鍵復号関数とし、Ds K(C) は鍵Kで暗号文Cを復号して得られる平文を表すものとし、
送信者端末はZq に属する署名鍵xをランダムに生成し、y=gx mod pを計算し、署名検証鍵yとして公開し、
受信者端末はZqに属する復号鍵dをランダムに生成し、e=gd mod pを計算し、暗号鍵eとして公開し、
送信時に、送信者端末はZq に属する乱数wを生成し、 K=H1(ew mod p)を計算してセッション鍵Kを生成し、メッセージmに対しKを用いてC=Es K(m)を演算して暗号文Cを生成し、W=gw mod p、b=H2(W‖C),a=w-bx mod qを計算して署名a,bを生成し、送信文Σ=(C,a,b)を受信者端末へ送信し、
Σ=(C,a,b)を受信した受信者端末は、まず、W'=gayb mod pを計算し、b=H2(W' ‖C)が成り立つことを検証し、成り立たない場合は、受信文Σを破棄し、成り立つ場合は、K=H1((W')d mod p)を計算し、m=Ds K(C)を計算して平文mを得る
ことを特徴とする署名付き暗号通信方法。 - p、qを、qが(p−1)を割り切る大きな素数とし、gをZ* pにおける位数qの元とし、これらのp、q、gを上記両公開鍵の一部のパラメータの共通とされたものとし、H1(・)、H2(・)を一方向性ハッシュ関数とし、二項演算子A‖BはAとBを結合した値を表すものとし、Es を秘密鍵暗号関数とし、Es K(m)は鍵Kで平文mを暗号化してできる暗号文を表し、Ds をEs に対応する秘密鍵復号関数とし、Ds K(C) は鍵Kで暗号文Cを復号して得られる平文を表すものとし、
送信者端末はZq に属する署名鍵xをランダムに生成し、y=gx mod pを計算し、署名検証鍵yとして公開し、
受信者端末はZ q に属する復号鍵dをランダムに生成し、e=gd mod pを計算し、暗号鍵eとして公開し、
送信時に、送信者端末はZqに属する乱数wを生成し、 K=H1(ew mod p)を計算してセッション鍵Kを生成し、メッセージmに対しKを用いてC=Es K(m)を演算して暗号文Cを生成し、b=H2(K‖C),b=H2(W‖C‖K)(Wはgw mod p)の何れかとa=w-bx mod qを計算して署名a,bを生成し、送信文Σ=(C,a,b)を受信者端末へ送信し、
Σ=(C,a,b)を受信した受信者端末は、W=gayb mod p,K=H1(Wd mod p)を計算し、b=H2(K‖C),b=H2(W‖C‖K)の送信者端末でのbの計算と対応したものが成り立つことを検証し、成り立たない場合は、受信文Σを破棄し、成り立つ場合は、m=Ds K(C)を演算して平文mを求める
ことを特徴とする署名付き暗号通信方法。 - p、qを、qが(p−1)を割り切る大きな素数とし、gをZ* pにおける位数qの元とし、これらのp、q、gを上記両公開鍵の一部のパラメータの共通とされたものとし、H1(・)、H2(・)を一方向性ハッシュ関数とし、二項演算子A‖BはAとBを結合した値を表すものとし、Es を秘密鍵暗号関数とし、Es K(m)は鍵Kで平文mを暗号化してできる暗号文を表し、Ds をEs に対応する秘密鍵復号関数とし、Ds K(C) は鍵Kで暗号文Cを復号して得られる平文を表すものとし、
送信者端末はZq に属する署名鍵xをランダムに生成し、y=gx mod pを計算し、署名検証鍵yとして公開し、
受信者端末はZ q に属する復号鍵dをランダムに生成し、e=gd mod pを計算し、暗号鍵eとして公開し、
送信時に、送信者端末はZqに属する乱数wを生成し、 K=H1(ew mod p)を計算してセッション鍵Kを生成し、メッセージmに対しKを用いてC=Es K(m)を演算して暗号文Cを生成し、b=H2(W‖C‖m),(Wはgw mod p),b=H2(C‖m)の何れかとa=w-bx mod qを計算して署名a,bを生成し、送信文Σ=(C,a,b)を受信者端末へ送信し、
Σ=(C,a,b)を受信した受信者端末は、W=gayb mod p,K=H1(Wd mod p)を計算し、m=DK s(C)を演算し、b=H2(W‖C‖m),b=H2(C‖m)の送信者端末でのbの計算と対応したものが成り立つことを検証し、成り立たない場合は、受信文Σを破棄し、成り立つ場合は、mを正しい平文とする
ことを特徴とする署名付き暗号通信方法。 - p、qを、qが(p−1)を割り切る大きな素数とし、gをZ* pにおける位数qの元とし、これらのp、q、gを上記公開鍵の一部のパラメータの共通とされたものとし、H1(・)、H2(・)を一方向性ハッシュ関数とし、二項演算子A‖BはAとBを結合した値を表すものとし、Es を秘密鍵暗号関数とし、Es K(m)は鍵Kで平文mを暗号化してできる暗号文を表し、Ds をEs に対応する秘密鍵復号関数とし、Ds K(C) は鍵Kで暗号文Cを復号して得られる平文を表すものとし、
送信者端末はZq に属する署名鍵xをランダムに生成し、y=gx mod pを計算し、署名検証鍵yとして公開し、
受信者端末はZ q に属する復号鍵dをランダムに生成し、e=gd mod pを計算し、暗号鍵eとして公開し、
送信時に送信者端末はメッセージmを、ハッシュ関数H4,H5及びビット毎排他的論理和(+)を用いてm'=m(+)H5(H4(m))‖H4(m)と変換し、Zqに属する乱数wを生成し、 K=H1(ew mod p)を計算してセッション鍵Kを生成し、上記変換されたメッセージm’に対しKを用いてC=Es K(m')を演算して暗号文Cを生成し、b=H2(C),a=w-bx mod qを計算して署名aを生成し、送信文Σ=(C,a)を受信者端末へ送信し、
Σ=(C,a)を受信した受信者端末は、b=H2(C),K=H1((gayb)d mod p)を計算し、このKを用いてm'=Ds K(C)を計算して平文m'をm'=A‖BとしてBがH4(・)の出力ビット数と同じになるようにm'をAとBに分割し、H4(H5(B)(+)A)=Bが成り立つか否かを検証し、成り立たない場合は、受信文Σを不正とみなし、成り立つ場合は受信文を正しいものとみなす
ことを特徴とする署名付き暗号通信方法。 - p、qを、qが(p−1)を割り切る大きな素数とし、gをZ* pにおける位数qの元とし、H1(・)、H2(・)を一方向性ハッシュ関数とし、二項演算子A‖BはAとBを結合した値を表すものとし、Es を秘密鍵暗号関数とし、Es K(m)は鍵Kで平文mを暗号化してできる暗号文とし、dをZqからランダムに選ばれた復号鍵とするとき、公開暗号鍵をe=gd mod pとし、xをZqからランダムに選ばれた署名鍵とし、
p,q,g,x,eが記憶されたメモリと、
Zqに属する乱数wを生成して出力する乱数生成器と、
w,e,pが入力され、ew mod pを計算してその結果を出力する第1べき乗剰余演算器と、
ew mod pの計算結果が入力され、K=H1(ew mod p)を計算してセッション鍵Kを生成して出力する第1ハッシュ器と、
メッセージmとセッション鍵Kが入力され、C=Es K(m)を計算して暗号文Cを生成して出力する暗号器と、
w,g,pが入力されW=gw mod pを計算してその結果を出力する第2べき乗剰余演算器と、
CとWが入力され、b=H2(W‖C)を計算してbを出力する第2ハッシュ器と、
bとx,q,wが入力され、a=w-bx mod qを計算してaを出力する剰余乗算・減算器と、
暗号文Cと署名a及びbを送信文(C,a,b)として受信者端末へ送信する送信器と、
を具備する送信者端末。 - p、qを、qが(p−1)を割り切る大きな素数とし、gをZ* pにおける位数qの元とし、H1(・)、H2(・)を一方向性ハッシュ関数とし、二項演算子A‖BはAとBを結合した値を表すものとし、Es を秘密鍵暗号関数とし、Es K(m)は鍵Kで平文mを暗号化してできる暗号文とし、dをZqからランダムに選ばれた復号鍵とするとき、公開暗号鍵をe=gd mod pとし、xをZqからランダムに選ばれた署名鍵とし、
p,q,g,x,eが記憶されたメモリと、
Zqに属する乱数wを生成して出力する乱数生成器と、
w,e,pが入力され、ew mod pを計算してその結果を出力する第1べき乗剰余演算器と、
ew mod pの計算結果が入力され、K=H1(ew mod p)を計算してセッション鍵Kを生成して出力する第1ハッシュ器と、
メッセージmとセッション鍵Kが入力され、C=Es K(m)を計算して暗号文Cを生成して出力する暗号器と、
w,g,pが入力されW'=gw mod pを計算してその結果を出力する第2べき乗剰余演算器と、
CとKが入力され、b=H2(K‖C)を計算してbを出力する第2ハッシュ器と、
bとx,q,wが入力され、a=w-bx mod qを計算してaを出力する剰余乗算・減算器と、
暗号文Cと署名a及びbを送信文(C,a,b)として受信者端末へ送信する送信器と、
を具備する送信者端末。 - p、qを、qが(p−1)を割り切る大きな素数とし、gをZ* pにおける位数qの元とし、H1(・)、H2(・)、H4(・)、H5(・)を一方向性ハッシュ関数とし、二項演算子A‖BはAとBを結合した値を表すものとし、Es を秘密鍵暗号関数とし、Es K(m)は鍵Kで平文mを暗号化してできる暗号文とし、dをZqからランダムに選ばれた復号鍵とするとき、公開暗号鍵をe=gd mod pとし、xをZqからランダムに選ばれた署名鍵とし、
p,q,g,x,eが記憶されたメモリと、
メッセージmが入力され、m'=m(+)H5(H4(m))‖H4(m)を演算してm’を出力するメッセージ変換器と、
Zqに属する乱数wを生成して出力する乱数生成器と、
w,e,pが入力され、ew mod pを計算してその結果を出力する第1べき乗剰余演算器と、
ew mod pの計算結果が入力され、K=H1(ew mod p)を計算してセッション鍵Kを生成して出力する第1ハッシュ器と、
メッセージmとセッション鍵Kが入力され、C=Es K(m)を計算して暗号文Cを生成して出力する暗号器と、
Cが入力され、b=H2(C)を計算してbを出力する第2ハッシュ器と、
bとx,q,wが入力され、a=w-bx mod qを計算してaを出力する剰余乗算・減算器と、
暗号文Cと署名aを送信文(C,a)として受信者端末へ送信する送信器と、
を具備する送信者端末。 - p、qを、qが(p−1)を割り切る大きな素数とし、gをZ* pにおける位数qの元とし、H1(・)、H2(・)を一方向性ハッシュ関数とし、二項演算子A‖BはAとBを結合した値を表すものとし、Ds を秘密鍵復号関数とし、Ds K(C)を鍵Kで暗号文Cを復号して得られる平文を表し、復号鍵dはZqからランダムに選ばれたものとし、Zqに属する署名鍵xに対する署名検証鍵yをgx mod pとし、
p,q,g,d,yが記憶されたメモリと、
送信者端末からの受信信号より受信文(C,a,b)を出力する受信器と、
受信したa,bとメモリからのg,p,yが入力され、W'=gayb mod pを計算してW’を出力する第1べき乗剰余演算器と、
W’と受信したCが入力され、H2(W’‖C)を計算してその結果を出力するハッシュ器と、
H2(W’‖C)の計算結果と受信したbが入力され、両者が一致するか否かに応じた署名検証結果を出力する比較器と、
上記W’が入力され、(W')d mod pを計算し、その結果を出力する第2べき乗剰余演算器と、
第2べき乗剰余演算器の計算結果が入力され、K=H1((W')d mod p)を計算し、鍵Kを出力する第2ハッシュ器と、
Kと受信したCが入力され、m=Ds K(C)を計算して計算結果を復号平文mとして出力する復号器と、
を具備する受信者端末。 - p、qを、qが(p−1)を割り切る大きな素数とし、gをZ* pにおける位数qの元とし、H1(・)、H2(・)を一方向性ハッシュ関数とし、二項演算子A‖BはAとBを結合した値を表すものとし、Ds を秘密鍵復号関数とし、Ds K(C)を鍵Kで暗号文Cを復号して得られる平文を表し、復号鍵dはZqからランダムに選ばれたものとし、Zqに属する署名鍵xに対する署名検証鍵yをgx mod pとし、
p,q,g,d,yが記憶されたメモリと、
送信者端末からの受信信号より受信文(C,a,b)を出力する受信器と、
受信したa,bとメモリからのg,p,y,dが入力され、W'=(gayb)d mod pを計算してその結果W'を出力する第1べき乗剰余演算器と、
W’が入力され、K=H1(W')を計算して鍵Kを出力する第1ハッシュ器と、
Kと受信したCが入力され、H2(K‖C)を計算してその結果を出力する第2ハッシュ器と、
H2(K‖C)の計算結果と受信したbが入力され、両者が一致するか否かに応じた署名検証結果を出力する比較器と、
Kと受信したCが入力され、m=Ds K(C)を計算して計算結果を復号平文mとして出力する復号器と、
を具備する受信者端末。 - p、qを、qが(p−1)を割り切る大きな素数とし、gをZ* pにおける位数qの元とし、H1(・)、H2(・)、H4(・)、H5(・)を一方向性ハッシュ関数とし、二項演算子A‖BはAとBを結合した値を表すものとし、Ds を秘密鍵復号関数とし、Ds K(C)を鍵Kで暗号文Cを復号して得られる平文を表し、復号鍵dはZqからランダムに選ばれたものとし、Zqに属する署名鍵xに対する署名検証鍵yをgx mod pとし、
p,q,g,d,yが記憶されたメモリと、
送信者端末からの受信信号より受信文(C,a)を出力する受信器と、
受信したCが入力され、b=H2(C)を計算してbを出力する第1ハッシュ器と、
上記bと受信したaとメモリからのg,p,y,dが入力され、W'=(gayb)d mod pを計算してW’を出力する第1べき乗剰余演算器と、
W’が入力され、K=H1(W')を演算してKを出力する第2ハッシュ器と、
Kと受信したCが入力され、m=Ds K(C)を計算して平文m’を出力する復号器と、
m’が入力され、m’=A‖Bとして、BがH4(・)の出力ビット数と同一ビット数になるようにm’をA,Bに分割する分割器と、
AとBが入力され、H4(H5(B)(+)A)(N(+)MはNとMのビット毎の排他的論理和演算を表す)を計算し、その結果を出力すると共にその途中演算結果m=H5(B)(+)Aを復号されたメッセージとして出力する演算器と、
その演算器の演算結果H4(H5(B)(+)A)とBが入力され、両者が一致するか否かに応じた署名検証結果を出力する比較器と、
を具備する受信者端末。 - p、qを、qが(p−1)を割り切る大きな素数とし、gをZ* pにおける位数qの元とし、H1(・)、H2(・)を一方向性ハッシュ関数とし、二項演算子A‖BはAとBを結合した値を表すものとし、Es を秘密鍵暗号関数とし、Es K(m)は鍵Kで平文mを暗号化してできる暗号文とし、dをZqからランダムに選ばれた復号鍵とするとき、公開暗号鍵をe=gd mod pとし、xをZqからランダムに選ばれた署名鍵とし、
p,q,g,x,eが記憶されたメモリと、
Zqに属する乱数wを生成して出力する乱数生成器と、
w,e,pが入力され、ew mod pを計算してその結果を出力する第1べき乗剰余演算器と、
ew mod pの計算結果が入力され、K=H1(ew mod p)を計算してセッション鍵Kを生成して出力する第1ハッシュ器と、
メッセージmとセッション鍵Kが入力され、C=Es K(m)を計算して暗号文Cを生成して出力する暗号器と、
w,g,pが入力されW'=gw mod pを計算してその結果を出力する第2べき乗剰余演算器と、
CとX(XはW‖K,W‖m,mの何れか)が入力され、b=H2(X‖C)を計算してbを出力する第2ハッシュ器と、
bとx,q,wが入力され、a=w-bx mod qを計算してaを出力する剰余乗算・減算器と、
暗号文Cと署名a及びbを送信文(C,a,b)として受信者端末へ送信する送信器と、
を具備する送信者端末。 - p、qを、qが(p−1)を割り切る大きな素数とし、gをZ* pにおける位数qの元とし、H1(・)、H2(・)を一方向性ハッシュ関数とし、二項演算子A‖BはAとBを結合した値を表すものとし、Ds を秘密鍵復号関数とし、Ds K(C)を鍵Kで暗号文Cを復号して得られる平文を表し、復号鍵dはZqからランダムに選ばれたものとし、Zqに属する署名鍵xに対する署名検証鍵yをgx mod pとし、
p,q,g,d,yが記憶されたメモリと、
送信者端末からの受信信号より受信文(C,a,b)を出力する受信器と、
受信したa,bとメモリからのg,p,yが入力され、W'=gayb mod pを計算してW’を出力する第1べき乗剰余演算器と、
上記W’が入力され、(W')d mod pを計算し、その結果を出力する第2べき乗剰余演算器と、
第2べき乗剰余演算器の計算結果が入力され、K=H1((W')d mod p)を計算し、鍵Kを出力する第2ハッシュ器と、
Kと受信したCが入力され、m=Ds K(C)を計算して計算結果を復号平文mとして出力する復号器と、
X(XはW’‖K,W’‖m‖,mの何れか)と受信したCが入力され、H2(X‖C)を計算してその結果を出力するハッシュ器と、
H2(X‖C)の計算結果と受信したbが入力され、両者が一致するか否かに応じた署名検証結果を出力する比較器と、
を具備する受信者端末。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001010062A JP3694242B2 (ja) | 2001-01-18 | 2001-01-18 | 署名付き暗号通信方法及びその装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001010062A JP3694242B2 (ja) | 2001-01-18 | 2001-01-18 | 署名付き暗号通信方法及びその装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002215026A JP2002215026A (ja) | 2002-07-31 |
JP3694242B2 true JP3694242B2 (ja) | 2005-09-14 |
Family
ID=18877442
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001010062A Expired - Lifetime JP3694242B2 (ja) | 2001-01-18 | 2001-01-18 | 署名付き暗号通信方法及びその装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3694242B2 (ja) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006319485A (ja) * | 2005-05-10 | 2006-11-24 | Ntt Docomo Inc | 署名装置、署名暗号化装置、検証装置、復号装置、復元装置、情報提供装置、通信システム、署名方法、署名暗号化方法及び検証方法 |
JP5233449B2 (ja) * | 2008-07-02 | 2013-07-10 | 日本電気株式会社 | 署名生成装置、ならびに、署名検証装置 |
EP2566098A1 (en) * | 2011-08-29 | 2013-03-06 | Thomson Licensing | Signcryption method and device and corresponding signcryption verification method and device |
US11212112B2 (en) | 2016-07-29 | 2021-12-28 | Nec Corporation | System, data management method, and program |
US10581611B1 (en) * | 2018-10-02 | 2020-03-03 | Capital One Services, Llc | Systems and methods for cryptographic authentication of contactless cards |
CN112532637B (zh) * | 2020-12-03 | 2023-01-20 | 南理工泰兴智能制造研究院有限公司 | 一种基于区块链技术的新能源汽车联网信息加密传输方法 |
-
2001
- 2001-01-18 JP JP2001010062A patent/JP3694242B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JP2002215026A (ja) | 2002-07-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6298153B1 (en) | Digital signature method and information communication system and apparatus using such method | |
CA2312331C (en) | Public key encryption with digital signature scheme | |
JPH03128541A (ja) | 暗号通信システムと暗号通信方法 | |
US20060083370A1 (en) | RSA with personalized secret | |
JPH0918469A (ja) | 暗号通信装置、システム及び暗号装置 | |
KR101516114B1 (ko) | 인증서 기반 프록시 재암호화 방법 및 이를 위한 시스템 | |
Lee et al. | Security analysis of end-to-end encryption in Telegram | |
KR20040009766A (ko) | 암호 시스템에서 송수신 장치 및 방법 | |
KR100396740B1 (ko) | 계산적 디피-헬만 가정에 기반하는 안전성 증명 가능한공개키 암호화 방법 | |
US20070183600A1 (en) | Secure Cryptographic Communication System Using Kem-Dem | |
JP3694242B2 (ja) | 署名付き暗号通信方法及びその装置 | |
CN111262709B (zh) | 基于陷门哈希函数的无证书签密系统及方法 | |
CN114070549A (zh) | 一种密钥生成方法、装置、设备和存储介质 | |
JP4563037B2 (ja) | 暗号化装置および復号化装置、並びにこれらを備えた暗号システム、暗号化方法および復号化方法 | |
JPH08204701A (ja) | 電子メール暗号通信システム及び暗号通信方法 | |
JPH07175411A (ja) | 暗号システム | |
JPH07118709B2 (ja) | 秘密情報通信方式 | |
KR100323799B1 (ko) | 안전성이 증명가능한 타원곡선 공개키 암호화 시스템 | |
CN114070550A (zh) | 一种信息处理方法、装置、设备和存储介质 | |
Tiwari et al. | Cryptographic hash function: an elevated view | |
JPH06112935A (ja) | 暗号通信方法 | |
CN116781243B (zh) | 一种基于同态加密的不经意传输方法、介质及电子设备 | |
JP4150328B2 (ja) | ハイブリッド暗号装置およびハイブリッド暗号・復号方法 | |
JP3862397B2 (ja) | 情報通信システム | |
JP2000004223A (ja) | 暗号・認証システム |
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: 20050217 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050329 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050517 |
|
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: 20050607 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050623 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 Ref document number: 3694242 Country of ref document: JP 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: 20090701 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100701 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110701 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120701 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130701 Year of fee payment: 8 |
|
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 |