JP3694242B2 - Signed cryptographic communication method and apparatus - Google Patents
Signed cryptographic communication method and apparatus 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
【0001】
【発明の属する技術分野】
この発明は、電気通信システムで送信者の身元を確認すると同時に送信内容の秘匿化を行う暗号通信方法及びその装置に関する。
【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】この発明の受信者端末の他の機能構成例を示す図。[0001]
BACKGROUND OF THE INVENTION
The present invention relates to an encryption communication method and apparatus for confirming a sender's identity in a telecommunication system and simultaneously concealing transmission contents.
[0002]
[Prior art]
There is a method in which an arbitrary digital signature method and a public key encryption method are combined as a method in which a sender and a receiver communicate securely via a communication network that may be wiretapped, falsified, and impersonated.
Signing key of the sender U S, and the signature verification key of x, respectively, and y, the encryption key of the receiver U R, respectively the decoding key e, is as d. It is assumed that y and d are open to the public, and the sender U S and the receiver U R hold these.
[0003]
The plaintext to be transmitted is m, E is an encryption function, E e (m) represents a ciphertext obtained by encrypting the message m with the encryption key e, D is a decryption function corresponding to the encryption function E, and D d (c) represents a plaintext obtained by decrypting the ciphertext c with the decryption key d. That is, m = D d (E e (m)) holds. S is a signature function, S x (m) represents a signature with a signature key x for message m, V is a verification authority, V y (a, m) is a signature message pair (a, m) and signature verification key y Indicates the result verified by. The verification result is either 1 or 0, and V y (a, m) = 1 when and only when a = S x (m).
[0004]
When transmitting the plaintext m, the sender U S first encrypts the plaintext m with the encryption key e to obtain a ciphertext C = E e (m). Next, a signature a = S x (C) for the ciphertext C is created using the signature key x. The transmission sentence Σ is Σ = (C, a), and the sender U S transmits the transmission sentence Σ to the receiver U R.
Recipients U R receives the signed a ciphertext C, first, V y (a, C) to verify that the 1 using a signature verification key y. If not 1, the received C and a are regarded as invalid data and discarded. If the verification result is 1, m = D d (C) is calculated using the decryption key d to obtain plaintext m.
[0005]
A specific method will be described for the case where the Schnorr signature and the ElGamal encryption are used for the signature and the encryption method, respectively. p s, and large prime number q s, q s is assumed that divides the (p s -1). The g s Z * ps (Z ps is an integer 1, 2, ..., a group of ps) and the original of the order q s in. p r , q r , and g r are defined in the same manner (the subscript ps represents p s, and so on). Let H 1 (·) and H 2 (·) be one-way hash functions, respectively, and the binary operator A‖B represents a value obtained by combining A and B, p s , q s , g s , p r , q r and g r are public.
The sender U S randomly selects the signature key x of the Schnorr signature from Z qs (Z qs is a group of integers 0, 1, 2,..., Qs−1), and sets the signature verification key y to y = g s x This y is made public by calculating mod p s . Recipients U R chose a decryption key d of ElGamal encryption at random from Z qr, publish e by calculating the encryption key e = g r d mod p r .
[0006]
Ciphertext C by ElGamal encryption is C = (G, M) = (g r u mod p r, E s K (m)), Schnorr signature a is a = for this C (c, z) = ( H 1 (g s v ‖C), v-cx mod q s ). Here, u and v are random numbers randomly selected from Z qr and Z qs , E s is an encryption function of a symmetric key encryption such as DES, and K is K = H 2 (e w mod
p r ).
The receiver confirms that c = H 1 (g s x y c mod p s ‖C) holds, and then K = H 2 (G d mod p r ), m = D s K (M) To obtain plaintext m. Here, D s is a decryption function of symmetric key cryptography corresponding to E s .
[0007]
According to the prior art, the nature of the digital signature, V y (a, C) = 1 and becomes able to create a signature a is only senders U S holding the signature key x that corresponds to the verification key y Therefore, the creator of the ciphertext C can be authenticated, and the creator of the ciphertext C cannot deny the fact of the signature. Furthermore, the can decrypt the ciphertext C is only recipient U R, it is not the content of the message m is leaked to a third party (eavesdropper).
[0008]
[Problems to be solved by the invention]
In the following, the calculation times of the functions E, D, S, and V are expressed as τ (E), τ (D), τ (S), and τ (V), respectively, and the ciphertext length and the signature length are expressed as L (C), respectively. , L (a).
According to the above conventional method, the calculation time required for the sender to create the transmitted sentence (C, a) is τ (E) + τ (S), and the calculation time required for the receiver is also τ (V) + τ (D). The bit length of the transmitted text (C, a) is at least L (C) + L (a).
In order to estimate the calculation time, the calculation time of the power-residue operation with mod p s whose exponent part is Z qs is set to 1. It is assumed that p s and p r , and q s and q r have the same number of bits, respectively, and the calculation time of the modular exponentiation with mod p r whose exponent part is Z qr is also regarded as 1. The 2-base power residue calculation can be calculated with a calculation amount approximately 1.4 times that of the 1-base power residue calculation. The bit lengths of p s and q s are represented by | p | and | q |, respectively, and the bit length of the hash function H 1 (•) value is represented by | q |. The length of the ciphertext obtained by encrypting the ciphertext m with symmetric key cryptography is represented by | m |. modular multiplication in mod q r, hash function, and mod q s, the computation time in the mod q r, usually, since mod p very small compared to the calculation time of modular exponentiation in s, the following It will be ignored in the estimation. It is also assumed that the message length is sufficiently short and that the time for encryption and decryption of symmetric key cryptography is negligible.
[0009]
According to the above conditions, the calculation time required by the sender to create the transmitted sentence Σ = (C, a) is 1 for calculating e w mod p r and 1 for calculating g r u mod p r . 1, g s v takes 1 to calculate, so τ (E) + τ (S) = 2 + 1 = 3. The length of the transmitted text is such that the length of E s K (m) in the ciphertext C is | m |, the length of g r u mod p r is | p |, and H 1 in the signature a (g s v The length of 長 C) is | q | and the length of v = cx mod q s is | q |, and therefore L (C) + L (a) = | m | + | p | +2 | q | . The calculation time required for the signature verification and decryption by the receiver is 1.4 for the calculation of g s x y c mod p s and 1 for the calculation of G d mod p r , and thus τ (V) + τ (D) = 1.4 + 1 = 2.4.
[0010]
The present invention provides safety against tampering, impersonation, and eavesdropping in the same manner as the conventional method described above, while the calculation time of the sender and the receiver is τ (E) + τ (S), τ (V) + τ (D It is an object of the present invention to provide an authenticated encryption method that requires less data length than L (C) + L (a).
[0011]
[Means for Solving the Problems]
In the present invention, a common parameter is used as a part of the public key, that is, for example, p r , q r , g r made on the receiver side and p s , q s , g s made on the sender side, P, q, and g are common to the system, and a random number used in the encryption function and a random number used in the signature function are common random numbers.
In this way, by using the common parameter and the common random number, it is possible to share the power-residue operation using the random number required at the time of encryption and the power-residue operation necessary at the time of signature. That is, it is possible to share the part calculated from the random number included in the ciphertext in the transmission text and the part calculated from the random number included in the signature. Furthermore, a part of the decryption procedure and a part of the signature verification procedure can be shared.
[0012]
DETAILED DESCRIPTION OF THE INVENTION
As shown in FIG. 1, the plaintext m is encrypted at the
Embodiment 1
Let E s be a secret key encryption function, and E s K (m) represents a ciphertext that is obtained by encrypting plaintext m with the key K. Similarly, D s is a secret key decryption function corresponding to E s , and D s K (C) represents a plaintext obtained by decrypting the ciphertext C with the key K. For example, for the functions E and D, an encryption function and a decryption function in the CBC mode and OFB mode of block cipher such as Triple-DES and IDEA may be used.
[0013]
Let p and q be large prime numbers, and q divide (p-1) . Let g be an element of order q in Z * p . Let H 1 (•) and H 2 (•) be one-way hash functions, and the binary operator A‖B represents a value obtained by combining A and B. The p, q, g, and hash functions that constitute part of the public key are disclosed as system common parameters. For example, SHA-1 may be used as the hash function.
The stored sender randomly selects the signature key x from Z q, and FIG. 2 shows a functional configuration example of the
[0014]
A functional configuration of the
When transmitting the plain text m, the
[0015]
Next, a random number w and parameters g and p are input to the power residue calculator 27 to calculate W = g w mod p, and the calculation result W and the ciphertext C from the
In addition, control of each part of the
[0016]
The
[0017]
Each unit of the
In this embodiment, when the calculation time is evaluated under the same conditions as the calculation time estimation described above, the
[0018]
That is, since the parameters p, q, g are common to the
Embodiment 2
When transmitting the plain text m, the
[0019]
The
Also in the second embodiment, for the same reason as in the first embodiment, the calculation time at the
[0020]
As can be easily understood from the change of the embodiment to the first embodiment, the inputs to the
Embodiment 3
When the plaintext m is transmitted, the
[0021]
The message m ′ thus converted is encrypted by the
In the
[0022]
The decrypted message m ′ is divided into m ′ = A‖B by the
In the third embodiment, similarly to the second embodiment, each calculation time of the
[0023]
In the above description, each of the
The present invention is not limited to the first to third embodiments, and can be applied to encryption using a public key and signature of the ciphertext, parameters common to a part of the public key, and a random number used for encryption. What is necessary is just to make the random number used for a signature common.
[0024]
【The invention's effect】
As described above, according to the present invention, the calculation time at the sender terminal and the number of bits of the transmitted text can be reduced, and according to the embodiment, the calculation time at the receiver terminal can also be reduced.
[Brief description of the drawings]
FIG. 1 is a diagram showing a system configuration example to which the present invention is applied.
FIG. 2 is a diagram showing a functional configuration example of a sender terminal according to the present invention.
FIG. 3 is a diagram showing a functional configuration example of a recipient terminal according to the present invention.
FIG. 4 is a diagram showing another functional configuration example of the sender terminal of the present invention.
FIG. 5 is a diagram showing a functional configuration example of a
FIG. 6 is a diagram showing another functional configuration example of the receiver terminal of the present invention.
Claims (12)
送信者端末は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を得る
ことを特徴とする署名付き暗号通信方法。Let p, q be a large prime number where q divides (p-1), g be an element of the order q in Z * p , and these p, q, g be common to some parameters of both public keys. H 1 (•) and H 2 (•) are one-way hash functions, the binary operator A‖B represents the combined value of A and B, and E s is the private key E s K (m) represents a ciphertext that can be obtained by encrypting plaintext m with a key K, D s is a secret key decryption function corresponding to E s , and D s K (C) is a key K It represents the plaintext obtained by decrypting the ciphertext C,
Transmitter terminal generates a random signature key x belonging to Z q, calculates the y = g x mod p, and published as the signature verification key y,
Receiver terminal generates a random decrypt key d belonging to Z q, it calculates the e = g d mod p, published as an encryption key e,
At the time of transmission, the sender terminal generates a random number w belonging to Z q, K = H 1 ( e w mod p) to calculate generates a session key K, C = E s using K to message m Operate K (m) to generate ciphertext C, and calculate signatures a and b by calculating W = g w mod p, b = H 2 (WbC), and a = w−bx mod q , Send the transmission sentence Σ = (C, a, b) to the receiver terminal,
The receiver terminal that has received Σ = (C, a, b) first calculates W ′ = g a y b mod p, and verifies that b = H 2 (W′‖C) holds. If not, the received sentence Σ is discarded. If true, K = H 1 ((W ') d mod p) is calculated, and m = D s K (C) is calculated to obtain the plain text m. A signed cryptographic communication method.
送信者端末は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を求める
ことを特徴とする署名付き暗号通信方法。Let p, q be a large prime number where q divides (p−1), g be an element of the order q in Z * p , and these p, q, g are common to some parameters of both public keys. H 1 (•) and H 2 (•) are one-way hash functions, the binary operator A‖B represents the combined value of A and B, and E s is the private key E s K (m) represents a ciphertext that can be obtained by encrypting plaintext m with a key K, D s is a secret key decryption function corresponding to E s , and D s K (C) is a key K It represents the plaintext obtained by decrypting the ciphertext C,
Transmitter terminal generates a random signature key x belonging to Z q, calculates the y = g x mod p, and published as the signature verification key y,
The receiver terminal is Z q Randomly generate a decryption key d belonging to, calculate e = g d mod p and publish it as the encryption key e,
At the time of transmission, the sender terminal generates a random number w belonging to Zq, K = H 1 (e w mod p) to calculate generates a session key K, the message m using a K to C = E s K (m) is calculated to generate a ciphertext C, and b = H 2 (K‖C), b = H 2 (W‖C‖K) (W is g w mod p) and a = w− bx mod q is calculated to generate the signatures a and b, and the transmission sentence Σ = (C, a, b) is transmitted to the receiver terminal.
Σ = (C, a, b ) receiver terminal which receives the, W = g a y b mod p, and calculates the K = H 1 (W d mod p), b = H 2 (K‖C), Verify that b = H 2 (W‖C‖K) corresponds to the calculation of b at the sender terminal, and if not, discard received sentence Σ, and if m = D A signed cryptographic communication method characterized by calculating s K (C) to obtain plaintext m.
送信者端末は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を正しい平文とする
ことを特徴とする署名付き暗号通信方法。Let p, q be a large prime number where q divides (p−1), g be an element of the order q in Z * p , and these p, q, g are common to some parameters of both public keys. H 1 (•) and H 2 (•) are one-way hash functions, the binary operator A‖B represents the combined value of A and B, and E s is the private key E s K (m) represents a ciphertext that can be obtained by encrypting plaintext m with a key K, D s is a secret key decryption function corresponding to E s , and D s K (C) is a key K It represents the plaintext obtained by decrypting the ciphertext C,
Transmitter terminal generates a random signature key x belonging to Z q, calculates the y = g x mod p, and published as the signature verification key y,
The receiver terminal is Z q The decrypt key d belonging to the randomly generated, to calculate the e = g d mod p, published as an encryption key e,
At the time of transmission, the sender terminal generates a random number w belonging to Zq, K = H 1 (e w mod p) to calculate generates a session key K, the message m using a K to C = E s K (m) is calculated to generate a ciphertext C, and b = H 2 (W‖C‖m), (W is g w mod p), b = H 2 (C‖m) and a = w -bx mod q is calculated, signatures a and b are generated, a transmission sentence Σ = (C, a, b) is transmitted to the receiver terminal,
Σ = (C, a, b ) receiver terminal which receives the, W = g a y b mod p, and calculates the K = H 1 (W d mod p), calculates the m = D K s (C) If b = H 2 (W‖C‖m) and b = H 2 (C‖m) correspond to the calculation of b at the sender terminal, it is verified. A signed cryptographic communication method characterized by discarding Σ and if m holds true, m is a correct plaintext.
送信者端末は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が成り立つか否かを検証し、成り立たない場合は、受信文Σを不正とみなし、成り立つ場合は受信文を正しいものとみなす
ことを特徴とする署名付き暗号通信方法。Let p, q be a large prime number where q divides (p−1), g be an element of the order q in Z * p , and these p, q, g be common to some parameters of the public key. H 1 (•) and H 2 (•) are one-way hash functions, the binary operator A‖B represents the combined value of A and B, and E s is a secret key encryption E s K (m) represents a ciphertext obtained by encrypting plaintext m with key K, D s is a secret key decryption function corresponding to E s , and D s K (C) is encrypted with key K It represents a plaintext obtained by decrypting sentence C,
Transmitter terminal generates a random signature key x belonging to Z q, calculates the y = g x mod p, and published as the signature verification key y,
The receiver terminal is Z q The decrypt key d belonging to the randomly generated, to calculate the e = g d mod p, published as an encryption key e,
At the time of transmission, the sender terminal converts the message m to m ′ = m (+) H 5 (H 4 (m)) ‖H 4 (using the hash functions H 4 and H 5 and the bitwise exclusive OR (+). m), a random number w belonging to Zq is generated , K = H 1 (e w mod p) is calculated to generate a session key K, and C is used for the converted message m ′ using K. = E s K (m ′) is calculated to generate a ciphertext C, b = H 2 (C), a = w−bx mod q is calculated to generate a signature a, and a transmitted text Σ = (C , A) to the recipient terminal,
The receiver terminal that has received Σ = (C, a) calculates b = H 2 (C), K = H 1 ((g a y b ) d mod p), and uses this K to m ′ = calculate the D s K (C) dividing 'a m' plaintext m = A‖B as B is H 4 to m to be the same as the number of output bits of the (-) 'to a and B, H 4 Whether (H 5 (B) (+) A) = B holds is verified, and if not, the received sentence Σ is regarded as invalid, and if it does, the received sentence is regarded as correct. Signed cryptographic communication method.
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 and q are large prime numbers where q divides (p−1), g is an element of the order q in Z * p , and H 1 (•) and H 2 (•) are one-way hash functions, The binary operator A‖B represents a value obtained by combining A and B, E s is a secret key encryption function, E s K (m) is a ciphertext obtained by encrypting plaintext m with the key K, When d is a decryption key randomly selected from Z q , the public encryption key is e = g d mod p, x is a signature key randomly selected from Z q ,
a memory storing p, q, g, x, e;
A random number generator that generates and outputs a random number w belonging to Z q ;
a first power residue calculator that receives w, e, and p, calculates e w mod p, and outputs the result;
a first hasher that receives the calculation result of e w mod p, calculates K = H 1 (e w mod p), and generates and outputs a session key K;
An encryptor that receives a message m and a session key K, calculates C = E s K (m), and generates and outputs a ciphertext C;
a second power residue calculator that receives w, g, and p, calculates W = g w mod p, and outputs the result;
A second hasher that receives C and W, calculates b = H 2 (W‖C), and outputs b;
a remainder multiplier / subtractor that receives b and x, q, w, calculates a = w-bx mod q, and outputs a;
A transmitter for transmitting the ciphertext C and the signatures a and b to the recipient terminal as transmission text (C, a, b);
A sender terminal comprising:
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 and q are large prime numbers where q divides (p−1), g is an element of the order q in Z * p , and H 1 (•) and H 2 (•) are one-way hash functions, The binary operator A‖B represents a value obtained by combining A and B, E s is a secret key encryption function, E s K (m) is a ciphertext obtained by encrypting plaintext m with the key K, When d is a decryption key randomly selected from Z q , the public encryption key is e = g d mod p, x is a signature key randomly selected from Z q ,
a memory storing p, q, g, x, e;
A random number generator that generates and outputs a random number w belonging to Z q ;
a first power residue calculator that receives w, e, and p, calculates e w mod p, and outputs the result;
a first hasher that receives the calculation result of e w mod p, calculates K = H 1 (e w mod p), and generates and outputs a session key K;
An encryptor that receives a message m and a session key K, calculates C = E s K (m), and generates and outputs a ciphertext C;
a second power residue calculator that receives w, g, and p, calculates W ′ = g w mod p, and outputs the result;
A second hasher that receives C and K, calculates b = H 2 (K‖C), and outputs b;
a remainder multiplier / subtractor that receives b and x, q, w, calculates a = w-bx mod q, and outputs a;
A transmitter for transmitting the ciphertext C and the signatures a and b to the recipient terminal as transmission text (C, a, b);
A sender terminal comprising:
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)として受信者端末へ送信する送信器と、
を具備する送信者端末。Let p and q be large prime numbers where q divides (p−1), g be an element of the order q in Z * p , and H 1 (•), H 2 (•), H 4 (•), H 5 (·) is a one-way hash function, binary operator A‖B represents a value obtained by combining A and B, E s is a secret key encryption function, and E s K (m) is a key K in the ciphertext can encrypt the plaintext m, when a decryption key chosen randomly d from Z q, the public encryption key and e = g d mod p, randomly chosen x from Z q As a signing key,
a memory storing p, q, g, x, e;
A message converter that receives a message m, calculates m ′ = m (+) H 5 (H 4 (m)) ‖H 4 (m), and outputs m ′;
A random number generator that generates and outputs a random number w belonging to Z q ;
a first power residue calculator that receives w, e, and p, calculates e w mod p, and outputs the result;
a first hasher that receives the calculation result of e w mod p, calculates K = H 1 (e w mod p), and generates and outputs a session key K;
An encryptor that receives a message m and a session key K, calculates C = E s K (m), and generates and outputs a ciphertext C;
A second hasher that receives C, calculates b = H 2 (C), and outputs b;
a remainder multiplier / subtractor that receives b and x, q, w, calculates a = w-bx mod q, and outputs a;
A transmitter that transmits the ciphertext C and the signature a as a transmission text (C, a) to the recipient terminal;
A sender terminal comprising:
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 and q are large prime numbers where q divides (p−1), g is an element of the order q in Z * p , and H 1 (•) and H 2 (•) are one-way hash functions, The binary operator A‖B represents a value obtained by combining A and B, D s is a secret key decryption function, and D s K (C) is a plaintext obtained by decrypting the ciphertext C with the key K. represents the decryption key d is assumed to have been selected at random from Z q, the signature verification key y for signing key x belonging to Z q and g x mod p,
a memory storing p, q, g, d, and y;
A receiver that outputs a received sentence (C, a, b) from a received signal from a sender terminal;
Received a, b and g from the memory, p, y is inputted, and W '= g a y b mod p the calculated W' first modular exponentiation operation for outputting a,
A hasher that receives W ′ and the received C, calculates H 2 (W′‖C), and outputs the result;
A comparator that receives the calculation result of H 2 (W′‖C) and the received b, and outputs a signature verification result according to whether or not they match;
A second power residue calculator that receives W ′, calculates (W ′) d mod p, and outputs the result;
A second hash calculator that receives the calculation result of the second power residue calculator, calculates K = H 1 ((W ′) d mod p), and outputs the key K;
A decoder that receives K and received C, calculates m = D s K (C), and outputs the calculation result as decrypted plaintext m;
A recipient terminal.
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 and q are large prime numbers where q divides (p−1), g is an element of the order q in Z * p , and H 1 (•) and H 2 (•) are one-way hash functions, The binary operator A‖B represents a value obtained by combining A and B, D s is a secret key decryption function, and D s K (C) is a plaintext obtained by decrypting the ciphertext C with the key K. represents the decryption key d is assumed to have been selected at random from Z q, the signature verification key y for signing key x belonging to Z q and g x mod p,
a memory storing p, q, g, d, and y;
A receiver that outputs a received sentence (C, a, b) from a received signal from a sender terminal;
A first power-residue computing unit that receives the received a, b and g, p, y, d from the memory, calculates W ′ = (g a y b ) d mod p, and outputs the result W ′; ,
A first hasher that receives W ′, calculates K = H 1 (W ′), and outputs a key K;
A second hasher that receives K and the received C, calculates H 2 (K‖C), and outputs the result;
A comparator that receives the calculation result of H 2 (K‖C) and the received b, and outputs a signature verification result according to whether or not they match;
A decoder that receives K and received C, calculates m = D s K (C), and outputs the calculation result as decrypted plaintext m;
A recipient terminal.
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が入力され、両者が一致するか否かに応じた署名検証結果を出力する比較器と、
を具備する受信者端末。Let p and q be large prime numbers where q divides (p−1), g be an element of the order q in Z * p , and H 1 (•), H 2 (•), H 4 (•), H 5 (·) is a one-way hash function, the binary operator A‖B represents a value obtained by combining A and B, D s is a secret key decryption function, and D s K (C) is a key K in represents the plaintext obtained by decoding the ciphertext C, the decryption key d is assumed to have been selected at random from Z q, the signature verification key y for signing key x belonging to Z q and g x mod p,
a memory storing p, q, g, d, and y;
A receiver that outputs a received sentence (C, a) from a received signal from a sender terminal;
A first hasher that receives the received C, calculates b = H 2 (C), and outputs b;
A first power-residue computing unit that receives b, the received a, and g, p, y, d from the memory, calculates W ′ = (g a y b ) d mod p, and outputs W ′;
A second hasher that receives W ′, calculates K = H 1 (W ′), and outputs K;
A decoder that receives K and the received C, calculates m = D s K (C), and outputs plaintext m ′;
A divider that divides m ′ into A and B so that m ′ is input, m ′ = A‖B, and B has the same number of bits as the number of output bits of H 4 (•);
A and B are input, H 4 (H 5 (B) (+) A) (N (+) M represents an exclusive OR operation for each bit of N and M) is calculated, and the result is output And an arithmetic unit that outputs the operation result m = H 5 (B) (+) A as a decoded message,
A comparator that inputs the calculation results H 4 (H 5 (B) (+) A) and B of the calculator and outputs a signature verification result according to whether or not they match;
A recipient terminal.
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 and q are large prime numbers where q divides (p−1), g is an element of the order q in Z * p , and H 1 (•) and H 2 (•) are one-way hash functions, The binary operator A‖B represents a value obtained by combining A and B, E s is a secret key encryption function, E s K (m) is a ciphertext obtained by encrypting plaintext m with the key K, When d is a decryption key randomly selected from Z q , the public encryption key is e = g d mod p, x is a signature key randomly selected from Z q ,
a memory storing p, q, g, x, e;
A random number generator that generates and outputs a random number w belonging to Z q ;
a first power residue calculator that receives w, e, and p, calculates e w mod p, and outputs the result;
a first hasher that receives the calculation result of e w mod p, calculates K = H 1 (e w mod p), and generates and outputs a session key K;
An encryptor that receives a message m and a session key K, calculates C = E s K (m), and generates and outputs a ciphertext C;
a second power residue calculator that receives w, g, and p, calculates W ′ = g w mod p, and outputs the result;
A second hasher that receives C and X (X is one of W‖K, W‖m, and m), calculates b = H 2 (X‖C), and outputs b;
a remainder multiplier / subtractor that receives b and x, q, w, calculates a = w-bx mod q, and outputs a;
A transmitter for transmitting the ciphertext C and the signatures a and b to the recipient terminal as transmission text (C, a, b);
A sender terminal comprising:
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が入力され、両者が一致するか否かに応じた署名検証結果を出力する比較器と、
を具備する受信者端末。p and q are large prime numbers where q divides (p−1), g is an element of the order q in Z * p , and H 1 (•) and H 2 (•) are one-way hash functions, The binary operator A‖B represents a value obtained by combining A and B, D s is a secret key decryption function, and D s K (C) is a plaintext obtained by decrypting the ciphertext C with the key K. represents the decryption key d is assumed to have been selected at random from Z q, the signature verification key y for signing key x belonging to Z q and g x mod p,
a memory storing p, q, g, d, and y;
A receiver that outputs a received sentence (C, a, b) from a received signal from a sender terminal;
Received a, b and g from the memory, p, y is inputted, and W '= g a y b mod p the calculated W' first modular exponentiation operation for outputting a,
A second power residue calculator that receives W ′, calculates (W ′) d mod p, and outputs the result;
A second hash calculator that receives the calculation result of the second power residue calculator, calculates K = H 1 ((W ′) d mod p), and outputs the key K;
A decoder that receives K and received C, calculates m = D s K (C), and outputs the calculation result as decrypted plaintext m;
A hashing unit for inputting X (X is one of W′‖K, W′‖m‖, m) and the received C, calculating H 2 (X‖C), and outputting the result;
A comparator that receives the calculation result of H 2 (X‖C) and the received b, and outputs a signature verification result according to whether or not they match;
A recipient terminal.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2001010062A JP3694242B2 (en) | 2001-01-18 | 2001-01-18 | Signed cryptographic communication method and apparatus |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2001010062A JP3694242B2 (en) | 2001-01-18 | 2001-01-18 | Signed cryptographic communication method and apparatus |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2002215026A JP2002215026A (en) | 2002-07-31 |
| JP3694242B2 true JP3694242B2 (en) | 2005-09-14 |
Family
ID=18877442
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2001010062A Expired - Lifetime JP3694242B2 (en) | 2001-01-18 | 2001-01-18 | Signed cryptographic communication method and apparatus |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP3694242B2 (en) |
Families Citing this family (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2006319485A (en) * | 2005-05-10 | 2006-11-24 | Ntt Docomo Inc | Signature device, signature encryption device, verification device, decryption device, restoration device, information providing device, communication system, signature method, signature encryption method, and verification method |
| JP5233449B2 (en) * | 2008-07-02 | 2013-07-10 | 日本電気株式会社 | Signature generation apparatus and signature verification apparatus |
| 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 (en) * | 2020-12-03 | 2023-01-20 | 南理工泰兴智能制造研究院有限公司 | New energy automobile networking information encryption transmission method based on block chain technology |
-
2001
- 2001-01-18 JP JP2001010062A patent/JP3694242B2/en not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| JP2002215026A (en) | 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 (en) | Encrypted communication system and encrypted communication method | |
| US20060083370A1 (en) | RSA with personalized secret | |
| KR101516114B1 (en) | Certificate-based proxy re-encryption method and its system | |
| JPH0918469A (en) | Cryptographic communication device, system, and cryptographic device | |
| CN116781243B (en) | Unintentional transmission method based on homomorphic encryption, medium and electronic equipment | |
| KR20040009766A (en) | Apparatus and method for transmitting and receiving in encryption system | |
| Lee et al. | Security analysis of end-to-end encryption in Telegram | |
| KR100396740B1 (en) | Provably secure public key encryption scheme based on computational diffie-hellman assumption | |
| US20070183600A1 (en) | Secure Cryptographic Communication System Using Kem-Dem | |
| JP3694242B2 (en) | Signed cryptographic communication method and apparatus | |
| JP4563037B2 (en) | ENCRYPTION APPARATUS, DECRYPTION APPARATUS, ENCRYPTION SYSTEM HAVING THEM, ENCRYPTION METHOD, AND DECRYPTION METHOD | |
| CN114070549A (en) | Key generation method, device, equipment and storage medium | |
| JPH08204701A (en) | E-mail encryption communication system and encryption communication method | |
| JPH07175411A (en) | Cipher system | |
| KR100388059B1 (en) | Data encryption system and its method using asymmetric key encryption algorithm | |
| JP2000004223A (en) | Encryption/authentication system | |
| Tiwari et al. | Cryptographic hash function: an elevated view | |
| JPH07118709B2 (en) | Confidential information communication method | |
| KR100323799B1 (en) | Method for the provably secure elliptic curve public key cryptosystem | |
| CN114095151A (en) | Encryption and decryption method, authentication method, device, equipment and storage medium | |
| CN114070550A (en) | Information processing method, device, equipment and storage medium | |
| JPH06112935A (en) | Cryptographic communication method | |
| Schwenk | Cryptography: Confidentiality |
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 |