Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP3587746B2 - Secret key generator, encryption device, encryption communication method, encryption communication system, and recording medium - Google Patents
[go: Go Back, main page]

JP3587746B2 - Secret key generator, encryption device, encryption communication method, encryption communication system, and recording medium - Google Patents

Secret key generator, encryption device, encryption communication method, encryption communication system, and recording medium Download PDF

Info

Publication number
JP3587746B2
JP3587746B2 JP26948699A JP26948699A JP3587746B2 JP 3587746 B2 JP3587746 B2 JP 3587746B2 JP 26948699 A JP26948699 A JP 26948699A JP 26948699 A JP26948699 A JP 26948699A JP 3587746 B2 JP3587746 B2 JP 3587746B2
Authority
JP
Japan
Prior art keywords
entity
key
secret
secret key
generated
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
JP26948699A
Other languages
Japanese (ja)
Other versions
JP2001094546A (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.)
Murata Machinery Ltd
Original Assignee
Murata Machinery Ltd
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 Murata Machinery Ltd filed Critical Murata Machinery Ltd
Priority to JP26948699A priority Critical patent/JP3587746B2/en
Publication of JP2001094546A publication Critical patent/JP2001094546A/en
Application granted granted Critical
Publication of JP3587746B2 publication Critical patent/JP3587746B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
本発明は、エンティティ固有の秘密鍵を生成する秘密鍵生成器、情報の内容が当事者以外にはわからないように情報を暗号化する暗号化装置、暗号文にて通信を行う暗号通信方法及び暗号通信システム、並びに、秘密鍵生成のためのコンピュータプログラムを記録した記録媒体に関する。
【0002】
【従来の技術】
高度情報化社会と呼ばれる現代社会では、コンピュータネットワークを基盤として、ビジネス上の重要な文書・画像情報が電子的な情報という形で伝送通信されて処理される。このような電子情報は、容易に複写が可能である、複写物とオリジナルとの区別が困難であるという性質があり、情報保全の問題が重要視されている。特に、「コンピュータリソースの共有」,「マルチアクセス」,「広域化」の各要素を満たすコンピュータネットワークの実現が高度情報化社会の確立に不可欠であるが、これは当事者間の情報保全の問題とは矛盾する要素を含んでいる。このような矛盾を解消するための有効な手法として、人類の過去の歴史上主として軍事,外交面で用いられてきた暗号技術が注目されている。
【0003】
暗号とは、情報の意味が当事者以外には理解できないように情報を交換することである。暗号において、誰でも理解できる元の文(平文)を第三者には意味がわからない文(暗号文)に変換することが暗号化であり、また、暗号文を平文に戻すことが復号であり、この暗号化と復号との全過程をまとめて暗号系と呼ぶ。暗号化の過程及び復号の過程には、それぞれ暗号化鍵及び復号鍵と呼ばれる秘密の情報が用いられる。復号時には秘密の復号鍵が必要であるので、この復号鍵を知っている者のみが暗号文を復号でき、暗号化によって情報の秘密性が維持され得る。
【0004】
暗号化鍵と復号鍵とは、等しくても良いし、異なっていても良い。両者の鍵が等しい暗号系は、共通鍵暗号系と呼ばれ、米国商務省標準局が採用したDES(Data Encryption Standards)はその典型例である。また、両者の鍵が異なる暗号系の一例として、公開鍵暗号系と呼ばれる暗号系が提案された。この公開鍵暗号系は、暗号系を利用する各ユーザ(エンティティ)が暗号化鍵と復号鍵とを一対ずつ作成し、暗号化鍵を公開鍵リストにて公開し、復号鍵のみを秘密に保持するという暗号系である。公開鍵暗号系では、この一対となる暗号化鍵と復号鍵とが異なり、一方向性関数を利用することによって暗号化鍵から復号鍵を割り出せないという特徴を持たせている。
【0005】
公開鍵暗号系は、暗号化鍵を公開するという画期的な暗号系であって、高度情報化社会の確立に必要な上述した3つの要素に適合するものであり、情報通信技術の分野等での利用を図るべく、その研究が活発に行われ、典型的な公開鍵暗号系としてRSA暗号系が提案された。このRSA暗号系は、一方向性関数として素因数分解の困難さを利用して実現されている。また、離散対数問題を解くことの困難さ(離散対数問題)を利用した公開鍵暗号系も種々の手法が提案されてきた。
【0006】
また、各エンティティの住所,氏名等の個人を特定するID(Identity)情報を利用する暗号系が提案された。この暗号系では、ID情報に基づいて送受信者間で共通の暗号化鍵を生成する。また、このID情報に基づく暗号技法には、(1)暗号文通信に先立って送受信者間での予備通信を必要とする方式と、(2)暗号文通信に先立って送受信者間での予備通信を必要としない方式とがある。特に、(2)の手法は予備通信が不要であるので、エンティティの利便性が高く、将来の暗号系の中枢をなすものと考えられている。
【0007】
この(2)の手法による暗号系は、ID−NIKS(ID-based non-interactive key sharing scheme)と呼ばれており、通信相手のID情報を用いて予備通信を行うことなく暗号化鍵を共有する方式を採用している。ID−NIKSは、送受信者間で公開鍵,秘密鍵を交換する必要がなく、また鍵のリスト及び第三者によるサービスも必要としない方式であり、任意のエンティティ間で安全に通信を行える。
【0008】
図5は、このID−NIKSのシステムの原理を示す図である。信頼できるセンタの存在を仮定し、このセンタを中心にして共通鍵生成システムを構成している。図5において、エンティティXの特定情報であるエンティティAの名前,住所,電話番号等のID情報は、ハッシュ関数h(・)を用いてh(IDA )で表す。センタは任意のエンティティAに対して、センタ公開情報{PCi },センタ秘密情報{SCi }及びエンティティAのID情報h(IDA )に基づいて、以下のように秘密情報SXiを計算し、秘密裏にエンティティAへ配布する。
Xi=Fi ({SCi },{PCi },h(IDA ))
【0009】
エンティティAは他の任意のエンティティBとの間で、暗号化,復号のための共通鍵KABを、エンティティA自身の秘密情報{SAi},センタ公開情報{PCi }及び相手先のエンティティBのID情報h(IDB )を用いて以下のように生成する。
AB=f({SAi},{PCi },h(IDB ))
また、エンティティBも同様にエンティティAへの鍵を共通鍵KBAを生成する。もし常にKAB=KBAの関係が成立すれば、この鍵KAB,KBAをエンティティA,B間で暗号化鍵,復号鍵として使用できる。
【0010】
上述した公開鍵暗号系では、例えばRSA暗号系の場合にその公開鍵の長さは現在の電話番号の十数倍となり、極めて煩雑である。これに対して、ID−NIKSでは、各ID情報を名簿という形式で登録しておけば、この名簿を参照して任意のエンティティとの間で共通鍵を生成することができる。従って、図5に示すようなID−NIKSのシステムが安全に実現されれば、多数のエンティティが加入するコンピュータネットワーク上で便利な暗号系を構築できる。このような理由により、ID−NIKSが将来の暗号系の中心になると期待されている。
【0011】
【発明が解決しようとする課題】
通信相手のID情報を用いて予備通信を行うことなく暗号化鍵及び復号鍵となる共通鍵を互いに共有するようなID−NIKSにあっては、複数のエンティティの結託等の攻撃に対して十分に安全であることが望まれる。一方、暗号通信を広範囲に行えるためには、ID−NIKSにおける暗号化の構成原理が出来る限り単純であることが望ましい。このような安全性と単純化とは互いに相反する課題であって、構成的に単純であって暗号学的に安全であるID−NIKSを構築できるか否かは、高度情報化社会にとって重要な問題であり、両課題を解決できるより理想的な暗号方式の探究が進められている。
【0012】
本発明は斯かる事情に鑑みてなされたものであり、単純な構成であって安全性が高いID−NIKSにおける秘密鍵生成器,暗号化装置,暗号通信方法,暗号通信システム及び記録媒体を提供することを目的とする。
【0013】
【課題を解決するための手段】
請求項1に係る秘密鍵生成器は、エンティティの特定情報と秘密の対称行列とを用いて、前記エンティティ固有の秘密鍵を生成する秘密鍵生成器において、エンティティXの特定情報に基づいてエンティティXの公開鍵ベクトルvX (x1 ,x2 )を取得する手段と、取得した公開鍵ベクトルvX と下記(A)で示される秘密の対称行列Hとを用いて、N=PQ(P,Qは素数)を法とする下記(B)に示すような秘密鍵を求める手段とを備えることを特徴とする。
【0014】
【数16】

Figure 0003587746
【0015】
但し、g:Nを法とする最大生成元
t:2以上の整数
【0016】
請求項2に係る秘密鍵生成器は、エンティティの特定情報と秘密の対称行列とを用いて、前記エンティティ固有の秘密鍵を生成する秘密鍵生成器において、エンティティXの特定情報に基づいてエンティティXの公開鍵ベクトルvX (x1 ,x2 )を取得する手段と、取得した公開鍵ベクトルvX と下記(C)で示される秘密の対称行列Hとを用いて、N=PQ(P,Qは素数)を法とする下記(D)に示すような秘密鍵G1 ,G2 ,G3 を求める手段とを備えることを特徴とする。
【0017】
【数17】
Figure 0003587746
【0018】
但し、g:Nを法とする最大生成元
m:2以上の整数
【0019】
請求項3に係る秘密鍵生成器は、エンティティの特定情報と秘密の対称行列とを用いて、前記エンティティ固有の秘密鍵を生成する秘密鍵生成器において、エンティティXの特定情報に基づいてエンティティXの公開鍵ベクトルvX (x1 ,x2 ,…,xN )を取得する手段と、取得した公開鍵ベクトルvX と下記(E)で示される秘密の対称行列Hとを用いて、N′=PQr1 2 …rS (P,Q,r1 〜rS は素数)を法とする下記(F)及び(G)に示すような秘密鍵G1 ,G2 ,…,Gt+1 及びH2 ,…,Hi ,…,HN を求める手段とを備えることを特徴とする。
【0020】
【数18】
Figure 0003587746
【0021】
但し、g:N′を法とする最大生成元
S,t:2以上の整数
【0022】
請求項4に係る暗号化装置は、各エンティティの特定情報と秘密の対称行列とを用いて生成した各エンティティ固有の秘密鍵と、暗号文の送信先である相手のエンティティの特定情報に基づいて生成した公開鍵とにより生成した共通鍵を用いて平文を暗号文に暗号化する暗号化装置において、請求項1記載の秘密鍵生成器により生成されたエンティティXの秘密鍵を取得する手段と、取得した秘密鍵と相手のエンティティYの特定情報に基づくエンティティYの公開鍵ベクトルvy (y1 ,y2 )とを用いて、下記(H)に示すような共通鍵KXYを求める手段とを備えることを特徴とする。
【0023】
【数19】
Figure 0003587746
【0024】
請求項5に係る暗号化装置は、各エンティティの特定情報と秘密の対称行列とを用いて生成した各エンティティ固有の秘密鍵と、暗号文の送信先である相手のエンティティの特定情報に基づいて生成した公開鍵とにより生成した共通鍵を用いて平文を暗号文に暗号化する暗号化装置において、請求項2記載の秘密鍵生成器により生成されたエンティティXの秘密鍵を取得する手段と、取得した秘密鍵と相手のエンティティYの特定情報に基づくエンティティYの公開鍵ベクトルvy (y1 ,y2 )とを用いて、下記(I)に示すような共通鍵KXYを求める手段とを備えることを特徴とする。
【0025】
【数20】
Figure 0003587746
【0026】
請求項6に係る暗号化装置は、各エンティティの特定情報と秘密の対称行列とを用いて生成した各エンティティ固有の秘密鍵と、暗号文の送信先である相手のエンティティの特定情報に基づいて生成した公開鍵とにより生成した共通鍵を用いて平文を暗号文に暗号化する暗号化装置において、請求項3記載の秘密鍵生成器により生成されたエンティティXの秘密鍵を取得する手段と、取得した秘密鍵と相手のエンティティYの特定情報に基づく公開鍵ベクトル(y2 ,y3 ,…,yN )とを用いて、下記(J)に示すような中間値Jを求める手段と、取得した秘密鍵と求めた中間値JとエンティティYの特定情報に基づく公開鍵ベクトル(y1 )とを用いて、下記(K)に示すような共通鍵KXYを求める手段とを備えることを特徴とする。
【0027】
【数21】
Figure 0003587746
【0028】
請求項7に係る暗号化装置は、請求項4〜6の何れかにおいて、各エンティティ固有の前記秘密鍵と相手のエンティティの前記公開鍵とを用いて、前記共通鍵を生成するための中間鍵を生成する手段と、生成した中間鍵を各エンティティ側で記憶しておく手段とを備えることを特徴とする。
【0029】
請求項8に係る暗号化装置は、請求項7において、生成した中間鍵をICカードに記憶しておき、記憶した中間鍵を用いて前記ICカードにて前記共通鍵を生成するようにしたことを特徴とする。
【0030】
請求項9に係る暗号通信方法は、センタ装置から各エンティティ装置へ各エンティティ固有の秘密鍵を送付し、一方のエンティティ装置が前記センタ装置から送付された該エンティティ固有の秘密鍵から求めた共通鍵を用いて平文を暗号文に暗号化して他方のエンティティ装置へ伝送し、該他方のエンティティ装置が伝送された暗号文を、前記センタ装置から送付された該エンティティ固有の秘密鍵から求めた、前記共通鍵と同一の共通鍵を用いて元の平文に復号することにより、エンティティ装置間で情報の通信を行う暗号通信方法において、エンティティXの特定情報に基づいてエンティティXの公開鍵ベクトルvX (x1 ,x2 )を取得するステップと、取得した公開鍵ベクトルvX と下記(L)で示される秘密の対称行列Hとを用いて、N=PQ(P,Qは素数)を法とする下記(M)に示すような秘密鍵を求めるステップと、求めた秘密鍵をエンティティ装置へ送付するステップとを有することを特徴とする。
【0031】
【数22】
Figure 0003587746
【0032】
但し、g:Nを法とする最大生成元
t:2以上の整数
【0033】
請求項10に係る暗号通信方法は、センタ装置から各エンティティ装置へ各エンティティ固有の秘密鍵を送付し、一方のエンティティ装置が前記センタ装置から送付された該エンティティ固有の秘密鍵から求めた共通鍵を用いて平文を暗号文に暗号化して他方のエンティティ装置へ伝送し、該他方のエンティティ装置が伝送された暗号文を、前記センタ装置から送付された該エンティティ固有の秘密鍵から求めた、前記共通鍵と同一の共通鍵を用いて元の平文に復号することにより、エンティティ装置間で情報の通信を行う暗号通信方法において、エンティティXの特定情報に基づいてエンティティXの公開鍵ベクトルvX (x1 ,x2 )を取得するステップと、取得した公開鍵ベクトルvX と下記(N)で示される秘密の対称行列Hとを用いて、N=PQ(P,Qは素数)を法とする下記(O)に示すような秘密鍵G1 ,G2 ,G3 を求めるステップと、求めた秘密鍵をエンティティ装置へ送付するステップとを有することを特徴とする。
【0034】
【数23】
Figure 0003587746
【0035】
但し、g:Nを法とする最大生成元
m:2以上の整数
【0036】
請求項11に係る暗号通信方法は、センタ装置から各エンティティ装置へ各エンティティ固有の秘密鍵を送付し、一方のエンティティ装置が前記センタ装置から送付された該エンティティ固有の秘密鍵から求めた共通鍵を用いて平文を暗号文に暗号化して他方のエンティティ装置へ伝送し、該他方のエンティティ装置が伝送された暗号文を、前記センタ装置から送付された該エンティティ固有の秘密鍵から求めた、前記共通鍵と同一の共通鍵を用いて元の平文に復号することにより、エンティティ装置間で情報の通信を行う暗号通信方法において、エンティティXの特定情報に基づいてエンティティXのN次元の公開鍵ベクトルvX (x1 ,x2 ,…,xN )を取得するステップと、取得した公開鍵ベクトルvX と下記(P)で示される秘密の対称行列Hとを用いて、N′=PQr1 2 …rS (P,Q,r1 〜rS は素数)を法とする下記(Q)及び(R)に示すような秘密鍵G1 ,G2 ,…,Gt+1 及びH2 ,…,Hi ,…,HN を求めるステップと、求めた秘密鍵をエンティティ装置へ送付するステップとを有することを特徴とする。
【0037】
【数24】
Figure 0003587746
【0038】
但し、g:N′を法とする最大生成元
S,t:2以上の整数
【0039】
請求項12に係る暗号通信方法は、請求項9〜11の何れかにおいて、前記共通鍵を生成するための中間鍵を生成し、生成した中間鍵を各エンティティ装置側で記憶しておくことを特徴とする。
【0040】
請求項13に係る暗号通信方法は、請求項12において、生成した中間鍵をICカードに記憶しておき、記憶した中間鍵を用いて前記ICカードにて前記共通鍵を生成することを特徴とする。
【0041】
請求項14に係る暗号通信システムは、送信すべき情報である平文を暗号文に暗号化する暗号化処理、及び、送信された暗号文を元の平文に復号する復号処理を、複数のエンティティ装置間で相互に行う暗号通信システムにおいて、請求項1記載の秘密鍵生成器と、生成した秘密鍵を各エンティティへ送付する手段とを有するセンタ装置、及び、エンティティXの秘密鍵を前記センタ装置から取得する手段と、取得した秘密鍵と相手のエンティティYの特定情報に基づくエンティティYのN次元の公開鍵ベクトルvy (y1 ,y2 )とを用いて、下記(S)に示すような前記暗号化処理及び復号処理に用いる共通鍵KXYを求める手段とを有する複数のエンティティ装置を備えることを特徴とする。
【0042】
【数25】
Figure 0003587746
【0043】
請求項15に係る暗号通信システムは、送信すべき情報である平文を暗号文に暗号化する暗号化処理、及び、送信された暗号文を元の平文に復号する復号処理を、複数のエンティティ装置間で相互に行う暗号通信システムにおいて、請求項2記載の秘密鍵生成器と、生成した秘密鍵を各エンティティへ送付する手段とを有するセンタ装置、及び、エンティティXの秘密鍵を前記センタ装置から取得する手段と、取得した秘密鍵と相手のエンティティYの特定情報に基づくエンティティYのN次元の公開鍵ベクトルvy (y1 ,y2 )とを用いて、下記(T)に示すような前記暗号化処理及び復号処理に用いる共通鍵KXYを求める手段とを有する複数のエンティティ装置を備えることを特徴とする。
【0044】
【数26】
Figure 0003587746
【0045】
請求項16に係る暗号通信システムは、送信すべき情報である平文を暗号文に暗号化する暗号化処理、及び、送信された暗号文を元の平文に復号する復号処理を、複数のエンティティ装置間で相互に行う暗号通信システムにおいて、請求項3記載の秘密鍵生成器と、生成した秘密鍵を各エンティティへ送付する手段とを有するセンタ装置、及び、エンティティXの秘密鍵を前記センタ装置から取得する手段と、取得した秘密鍵と相手のエンティティYの特定情報に基づくN−1次元の公開鍵ベクトル(y2 ,y3 ,…,yN )とを用いて、下記(U)に示すような中間値Jを求める手段と、取得した秘密鍵と求めた中間値JとエンティティYの特定情報に基づく1次元の公開鍵ベクトル(y1 )とを用いて、下記(V)に示すような共通鍵KXYを求める手段とを有する複数のエンティティ装置を備えることを特徴とする。
【0046】
【数27】
Figure 0003587746
【0047】
請求項17に係る記録媒体は、コンピュータを請求項1記載の秘密鍵生成器として機能させるためのコンピュータプログラムを記録してあることを特徴とする。
【0050】
請求項18に係る記録媒体は、コンピュータを請求項2記載の秘密鍵生成器として機能させるためのコンピュータプログラムを記録してあることを特徴とする。
【0053】
請求項19に係る記録媒体は、コンピュータを請求項3記載の秘密鍵生成器として機能させるためのコンピュータプログラムを記録してあることを特徴とする。
【0060】
【発明の実施の形態】
以下、本発明の実施の形態について具体的に説明する。
図1は、本発明の暗号通信システムの構成を示す模式図である。情報の隠匿を信頼できるセンタ1が設定されており、このセンタ1としては、例えば社会の公的機関を該当できる。このセンタ1と、この暗号系システムを利用するユーザとしての複数の各エンティティa,b,…,zとは、秘密通信路2a,2b,…,2zにより接続されており、これらの秘密通信路2a,2b,…,2zを介してセンタ1から秘密の鍵情報が各エンティティa,b,…,zへ伝送されるようになっている。また、2人のエンティティの間には通信路3ab,3az,3bz,…が設けられており、この通信路3ab,3az,3bz,…を介して通信情報を暗号化した暗号文が互いのエンティティ間で伝送されるようになっている。
【0061】
まず、本発明の基本方式について説明する。
(センタ1での準備処理)
センタ1は以下の公開鍵及び秘密鍵を準備し、公開鍵を公開する。
公開鍵 N:N=PQ(P,Q:512ビット程度の素数)
h:公開鍵ベクトルを生成するための一方向性ハッシュ関数
秘密鍵 H:下記(1)に示すような2×2の対称行列
g:Nを法とする最大生成元
【0062】
【数31】
Figure 0003587746
【0063】
エンティティX,Yの特定情報(ID情報)を夫々IDX ,IDY とし、それらのハッシュ値を用いて、各エンティティX,Yの公開鍵(ベクトルvX ,vY )は、下記(2),(3)で定義される。但し、ハッシュ値サイズは1024ビットとする。
【0064】
【数32】
Figure 0003587746
【0065】
(エンティティの登録処理)
エンティティXに登録を依頼されたセンタ1は、上記(1)に示す秘密の対称行列Hと上記(2)に示すエンティティXの公開鍵(ベクトルvX )とを用いて、N=PQを法とする下記(4)に示すような秘密鍵を求め、求めた秘密鍵を秘密裏にエンティティXへ配布する。このように本発明では、対称行列Hよりサイズが大きい秘密鍵(2×2行列Hに基づく3次元の秘密鍵)を生成する。言い換えると、本発明では、センタ秘密のサイズを拡大してエンティティXへ送付する。
【0066】
【数33】
Figure 0003587746
【0067】
(エンティティ間の共通鍵の生成処理)
エンティティXは、下記(5)のような二項定理を利用した計算を行うことにより、通信相手のエンティティYとの共通鍵KXYを求める。この共通鍵KXYはエンティティY側から求めた共通鍵KYXと一致する。
【0068】
【数34】
Figure 0003587746
【0069】
なお、上記(1)に示す対称行列HをM×M(M≧3)の行列に一般化することも可能であり、この場合にはM項定理を利用することによって共通鍵の鍵共有を実現できる。しかしながら、センタ1から配布される秘密鍵のデータ量が一定であるという条件では、Mを大きくすることは安全性を弱める方向に働くので、M=2の場合が最適である。
【0070】
次に、上述した暗号システムにおけるエンティティ間の情報の通信について説明する。図2は、2人のエンティティX,Y間における情報の通信状態を示す模式図である。図2の例は、エンティティXが平文(メッセージ)Mを暗号文Cに暗号化してそれをエンティティYへ伝送し、エンティティYがその暗号文Cを元の平文(メッセージ)Mに復号する場合を示している。
【0071】
エンティティX側には、エンティティYの特定情報IDY を入力し、ハッシュ関数を利用して公開鍵(ベクトルvY )を得る公開鍵生成器11と、センタ1から送られる秘密鍵(上記(4)で示すもの)と公開鍵生成器11からの公開鍵(ベクトルvY )とに基づいてエンティティXが求めるエンティティYとの共通鍵KXYを生成する共通鍵生成器12と、共通鍵KXYを用いて平文(メッセージ)Mを暗号文Cに暗号化して通信路30へ出力する暗号化器13とが備えられている。
【0072】
また、エンティティY側には、エンティティXの特定情報IDX を入力し、ハッシュ関数を利用して公開鍵(ベクトルvX )を得る公開鍵生成器21と、センタ1から送られる秘密鍵(上記(4)と同様なもの)と公開鍵生成器21からの公開鍵(ベクトルvX )とに基づいてエンティティYが求めるエンティティXとの共通鍵KYXを生成する共通鍵生成器22と、共通鍵KYXを用いて通信路30から入力した暗号文Cを平文(メッセージ)Mに復号して出力する復号器23とが備えられている。
【0073】
次に、動作について説明する。エンティティXからエンティティYへ情報を伝送しようとする場合、まず、エンティティYの特定情報IDY が公開鍵生成器11に入力されて公開鍵(ベクトルvY )が得られ、得られたエンティティYの公開鍵が共通鍵生成器12へ送られる。また、センタ1から上記(4)で示される秘密鍵が共通鍵生成器12へ入力される。そして、上記(5)に従って共通鍵KXYが求められて、暗号化器13へ送られる。暗号化器13において、この共通鍵KXYを用いて平文(メッセージ)Mが暗号文Cに暗号化され、暗号文Cが通信路30を介して伝送される。
【0074】
通信路30を伝送された暗号文CはエンティティYの復号器23へ入力される。エンティティXの特定情報IDX が公開鍵生成器21に入力されて公開鍵(ベクトルvX )が得られ、得られたエンティティXの公開鍵が共通鍵生成器22へ送られる。また、センタ1から上記(4)と同様な秘密鍵が共通鍵生成器22へ入力される。そして、上記(5)と同様に共通鍵KYXが求められて、復号器23へ送られる。復号器23において、この共通鍵KYXを用いて暗号文Cが平文(メッセージ)Mに復号される。
【0075】
図3は、本発明の記録媒体の実施の形態の構成を示す図である。ここに例示するプログラムは、秘密の対称行列と各エンティティの公開鍵とを用いて、上記(4)に示すような秘密鍵を生成する処理を含むか、または、上記(4)に示すような自身の秘密鍵と相手エンティティの公開鍵とを用いて上記(5)に従って両エンティティ間の共通鍵を生成する処理を含んでおり、以下に説明する記録媒体に記録されている。なお、コンピュータ40は、センタ1側か、または、各エンティティ側に設けられている。
【0076】
図3において、コンピュータ40とオンライン接続する記録媒体41は、コンピュータ40の設置場所から隔たって設置される例えばWWW(World Wide Web)のサーバコンピュータを用いてなり、記録媒体41には前述の如きプログラム41aが記録されている。記録媒体41から読み出されたプログラム41aがコンピュータ40を制御することにより、各エンティティ固有の秘密鍵を生成するか、または、両エンティティ間の共通鍵を生成する。
【0077】
コンピュータ40の内部に設けられた記録媒体42は、内蔵設置される例えばハードディスクドライブまたはROM等を用いてなり、記録媒体42には前述の如きプログラム42aが記録されている。記録媒体42から読み出されたプログラム42aがコンピュータ40を制御することにより、各エンティティ固有の秘密鍵を生成するか、または、両エンティティ間の共通鍵を生成する。
【0078】
コンピュータ40に設けられたディスクドライブ40aに装填して使用される記録媒体43は、運搬可能な例えば光磁気ディスク,CD−ROMまたはフレキシブルディスク等を用いてなり、記録媒体43には前述の如きプログラム43aが記録されている。記録媒体43から読み出されたプログラム43aがコンピュータ40を制御することにより、各エンティティ固有の秘密鍵を生成するか、または、両エンティティ間の共通鍵を生成する。
【0079】
以下、本発明の安全性について考察する。攻撃目標の任意のエンティティZの秘密鍵を導くために必要な結託者数に関して、以下の(定理)が成立する。
(定理)(t+1)人の結託により、任意のエンティティZの秘密鍵を導ける。
【0080】
(本発明の安全性を計算量格差に依存する方式:第1方式)
(1)基本方式をそのまま使用する方法
上記(定理)で述べたように、(t+1)人の結託によって基本方式は秘密鍵が露呈する。しかし、カーマイケル関数が不明であるので、y1 t-i 2 i の値は非常に大きくなる。例えばy1 の大きさを1024ビット、t=1000とした場合に、y1 t-i 2 i の大きさは10進数で約31万桁に達する。任意のエンティティZの秘密鍵を導出する際には、その要素の大きさが10進数31万桁であるような1000×1000の行列に関わる演算を必要とし、更に1000人の結託者が必要であることを考慮した場合、研究所内,事業所内,学校内等のような比較的狭い範囲での運用に限定すれば、この基本方式は十分に実用に耐えると言える。
【0081】
(2)専用ICカードを利用する方法
ここでは高機能の専用ICカードを用いて共通鍵を生成することを前提にした方法、言い換えると、攻撃に要する計算量を過大にすることを目的とした方法について説明する。図4は、このICカード50の構成図である。ICカード50は,ハッシュ関数を利用して公開鍵を生成する公開鍵生成部51と、べき乗剰余演算,積和演算を行って後述するプレ鍵(中間鍵)を生成するプレ鍵生成部52と、生成したプレ鍵を記憶するメモリ部53と,共通鍵を生成する共通鍵生成部54とを有する。
【0082】
この専用ICカードを利用する方法では、以下のような条件を設定する。
(a) 鍵の更新期間を1カ月程度とする。
(b) 共通鍵の前段階としてのプレ鍵を、1カ月程度の更新期間中に、10分〜1時間程度の時間を費やして生成する。
(c) 1枚のICカードに、頻繁に通信する相手エンティティに対する共通鍵のプレ鍵を数百名程度分記憶する。
【0083】
この方法では、更新期間中の比較的長い時間を利用してICカードにプレ鍵を生成させ、これにより攻撃者との計算量に格差を作ることを目的としているので、tの値は最小値の2に設定することができる。従って、センタ1はエンティティXに対して、下記(6)に示す3種の秘密鍵を配布する。但し、mは大きな正の整数である。カーマイケル関数を知るセンタ1にとって、これらの秘密鍵を計算することは容易である。
【0084】
【数35】
Figure 0003587746
【0085】
エンティティYとの共通鍵KXYは、エンティティXにおいて、エンティティYのハッシュ値(y1 ,y2 )を用いて下記(7)のように生成される。
【0086】
【数36】
Figure 0003587746
【0087】
ここにおいて、y1 m ,y2 m 等はカーマイケル関数によって法をとれず、整数環上で計算しなければならないので、攻撃者にとっては非常に大きな数になり、このことが計算量の上で大きな格差を生むことになる。
【0088】
上記(7)に対応するプレ鍵KXY′は、下記(8)のように定義される。
【0089】
【数37】
Figure 0003587746
【0090】
例えば、m≒106 である場合、J,K,L,M≒104 に設定し、J,K,L,Mを秘密に保持する。一般のtの値に対するプレ鍵は全く同様に定義される。頻繁に通信する相手エンティティとの共通鍵を生成するための時間の短縮化を図るため、即ち、共通鍵共有時の処理の負担の軽減を図るためにプレ鍵は求められているが、プレ鍵を記憶するメモリ部53の容量は、Nのサイズ|N|を1024ビットとした場合、通信相手毎に約3kビットとなる。上述した例のように、一般にJ,K,L,M≪mのように設定するので、プレ鍵KXY′から共通鍵KXYを生成するのに要する時間が短くなるように工夫できる。一方、攻撃者にとっては、J,K,L,Mの組み合わせ数がこの例においても1016程度となり、その組み合わせを同定することは不可能である。一般に、この組み合わせ数を非常に大きな数に設定することは、tが大きくなるほど容易となる。
【0091】
プレ鍵を記憶しており、しかもJ,K,L,Mの組み合わせを知っている正当なエンティティでは、上記(8)に示すプレ鍵KXY′から始めて(J+K+L+M)回の累乗演算を行うだけで上記(7)に示す共通鍵KXYを算出することができる。これに対して攻撃者では、共通鍵KXYを算出するために4m回もの累乗演算が必要である。
【0092】
各エンティティがプレ鍵を生成するための時間と攻撃者がハッシュ値のm乗値x1 m ,y1 m 等を求める際に必要な計算量とを比較する。以下の条件を仮定する。
(a) 2個のn桁の数を乗算する際に必要な計算量をn2 とする。
(b) エンティティはプレ鍵を1個生成するために、例えば1カ月の鍵更新期間中に10分間の時間が与えられる。
【0093】
(gA B mod Nという形の法演算に必要な計算量は、gA 及びBのサイズを|gA |,|B|と表記した場合、|gA |×|gA |×|B|で与えられる。|gA |,|B|を1024ビットとし、更にこの法演算(gA B mod Nが1ミリ秒で10回実行されると仮定した場合、プレ鍵生成のための計算量は1024×1024×10000×600となる。この場合、m=6×106 である。一方、攻撃者にとって必要な計算量は、n=1024×10000×600であるので、(1024×10000×600)2 となる。m=6×105 である場合、攻撃者にとっては正当なエンティティの約5.86×105 倍の計算時間、即ち40.7日を必要とし、正当なエンティティと攻撃者との間で計算量に大きな格差が生じる。もし、プレ鍵生成のために100分が許された場合には、この格差は10倍に拡大され、攻撃者には407日の計算時間が要求されることになる。
【0094】
ここで計算条件を変更して、以下のように仮定する。
(a) 2つのn桁の数の乗算に必要な計算量を、n2 でなく下記(9)に示すものとする。
【0095】
【数38】
Figure 0003587746
【0096】
(b) プレ鍵生成のために100分間が与えられ、しかも法演算AB mod Nが103 倍高速化されたとする。
【0097】
攻撃者が上述の乗算に要する計算量は、正当なエンティティの100分に対して137日である。この場合、y1 m 等の値は10進数約18.5兆桁となっている。必要なメモリの容量を考えると、この攻撃は現実的でない。ここで、プレ鍵生成時間を1〜2桁増大し、また法演算を1〜2桁高速化することは容易であり、高速演算法が将来実現された場合でも、大きな計算量の格差は残存するので、この第1方式は安全性を確保できる。
【0098】
(本発明の安全性を確率的構造に依存する方式:第2方式)
上記(1)で与えられた2×2のセンタ秘密の対称行列Hを、下記(10)のようにN×Nの対称行列Hで与える。但し、法N′は下記(11)とする。
【0099】
【数39】
Figure 0003587746
【0100】
1 〜rS は16ビットの素数とし、これらの素数の集合をSr ={ri }と表記する。対称行列Hの要素hijはランダムな個数の素数ri ∈Sr で整除されるものとする。
【0101】
一方、任意のエンティティXに対するハッシュ値を下記(12)のように与える。下記(12)における成分xi は素数ri ∈Sr のランダムな積とする。
【0102】
【数40】
Figure 0003587746
【0103】
センタ1は、エンティティXに対して、N′=PQr1 2 …rS を法として下記(13)に示す秘密鍵を秘密裏に送付する。また、同時に、下記(14)に示す秘密鍵も秘密裏に送付する。
【0104】
【数41】
Figure 0003587746
【0105】
エンティティYに対する共通鍵は、エンティティXにおいて次のように生成される。まず、上記(14)の秘密鍵とエンティティYのハッシュ値(y1 以外)とを用いて、下記(15)のように中間値Jを求め、求めた中間値Jと上記(13)の秘密鍵とエンティティYのハッシュ値(y1 )とを用いて、エンティティYとの共通鍵KXYを下記(16)に従って算出する。
【0106】
【数42】
Figure 0003587746
【0107】
具体例として各パラメータをN=16,t=16,S=64に設定した場合、共通鍵KXYの指数部を展開したときの項数は16163116=300540195となる。エンティティの総数を100万人程度としても、センタ1から配布される方程式の総数(約3200万個)がその人数を1桁程度上回り、共通鍵KXYの形からセンタ秘密の対称行列を導くことは困難である。また、各エンティティに配布されている方程式を連立させて解く場合、各方程式の法が一定ではなくランダムな値となってしまうこと、更にはセンタ秘密の対称行列の一部が指数部にあることにより、センタ秘密の露呈は困難である。
【0108】
この例において、センタ1から各エンティティへのデータ配布量は、下記(17)に示すように32ビットである。
t+1+N−1=t+N=32 …(17)
一方、|PQ|=1024ビットとした場合、N′=1024+t×S=2048ビットである。従って、各エンティティに配布される総データ量は65.5kビット(8.19kバイト)である。なおこの場合、共通鍵生成時間は、2048ビットRSA暗号の復号時間の約16倍の時間で与えられる。
【0109】
このように,この第2方式では、センタ1から配布される秘密鍵のうちの一部を指数部に置き、残り部分(整数環上の方程式)に確率的構造を持たせている。これらの方程式と法N′との共通因数はランダムに与えられるため、また一部の秘密鍵が指数部にあるので、縮小された共通鍵同士で比をとるといった攻撃は除かれており、結託攻撃は困難である。
【0110】
【発明の効果】
以上詳述したように、本発明は、構成原理が単純であり、しかも、安全性を確保したID−NIKSにおける秘密鍵生成器,暗号化装置,暗号通信方法,暗号通信システム及び記録媒体を提供することができ、理想的なID−NIKSの構築に寄与できる。また、プレ鍵(中間鍵)を予め求めておくようにしたので、鍵共有時の処理の負担を軽減できる。
【図面の簡単な説明】
【図1】本発明の暗号通信システムの構成を示す模式図である。
【図2】2人のエンティティ間における情報の通信状態を示す模式図である。
【図3】記録媒体の実施の形態の構成を示す図である。
【図4】ICカードの構成図である。
【図5】ID−NIKSのシステムの原理構成図である。
【符号の説明】
1 センタ
11,21 公開鍵生成器
12,22 共通鍵生成器
13 暗号化器
23 復号器
30 通信路
40 コンピュータ
41,42,43 記録媒体
50 ICカード[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a secret key generation for generating an entity-specific secret key.vessel,Encrypting device that encrypts information so that the contents of the information cannot be understood by anyone other than the parties, an encryption communication method and an encryption communication system that perform communication using ciphertext, and a recording medium that records a computer program for generating a secret key About.
[0002]
[Prior art]
In a modern society called an advanced information society, important document and image information in business is transmitted, communicated, and processed in the form of electronic information based on a computer network. Such electronic information has a property that it can be easily copied, and it is difficult to distinguish a copy from an original, and thus the importance of information security is emphasized. In particular, the realization of a computer network that satisfies the elements of “computer resource sharing”, “multi-access”, and “wide-area” is indispensable for the establishment of an advanced information society. Contains inconsistent elements. As an effective method for resolving such contradictions, cryptographic techniques that have been used mainly in military and diplomatic aspects in the past history of humankind have been attracting attention.
[0003]
Cryptography is the exchange of information so that the meaning of the information cannot be understood by anyone other than the parties. In encryption, it is encryption to convert an original sentence (plaintext) that anyone can understand into a sentence (ciphertext) whose meaning is unknown to a third party, and decryption is to return the ciphertext to plaintext. The entire process of encryption and decryption is collectively called an encryption system. In the encryption process and the decryption process, secret information called an encryption key and a decryption key are used, respectively. Since a secret decryption key is required at the time of decryption, only a person who knows the decryption key can decrypt the ciphertext, and the encryption can maintain the confidentiality of the information.
[0004]
The encryption key and the decryption key may be equal or different. An encryption system in which both keys are equal is called a common key encryption system, and DES (Data Encryption Standards) adopted by the US Bureau of Standards is a typical example. Also, as an example of an encryption system in which both keys are different, an encryption system called a public key encryption system has been proposed. In this public key cryptosystem, each user (entity) using the cryptosystem creates a pair of an encryption key and a decryption key, publishes the encryption key in a public key list, and keeps only the decryption key secret. It is a cryptographic system that does. In the public key cryptosystem, the pair of the encryption key and the decryption key are different from each other, and have a feature that the decryption key cannot be determined from the encryption key by using the one-way function.
[0005]
The public key cryptosystem is an epoch-making cryptosystem that publishes an encryption key, and conforms to the above three elements necessary for establishing an advanced information society. The research has been actively conducted in order to use the RSA cryptosystem, and the RSA cryptosystem has been proposed as a typical public key cryptosystem. This RSA encryption system is realized by utilizing the difficulty of factorization as a one-way function. In addition, various methods have been proposed for a public key cryptosystem utilizing the difficulty of solving the discrete logarithm problem (discrete logarithm problem).
[0006]
In addition, an encryption system using ID (Identity) information for specifying an individual such as an address and a name of each entity has been proposed. In this encryption system, a common encryption key is generated between the transmitting and receiving parties based on the ID information. The encryption technique based on the ID information includes (1) a method that requires preliminary communication between the transmitter and the receiver before ciphertext communication, and (2) a method that requires a preliminary communication between the transmitter and receiver before the ciphertext communication. Some systems do not require communication. In particular, since the method (2) does not require preliminary communication, the convenience of the entity is high, and it is considered that the method will be the center of the future cryptosystem.
[0007]
The encryption system according to the method (2) is called an ID-NIKS (ID-based non-interactive key sharing scheme), and shares an encryption key without performing preliminary communication using ID information of a communication partner. It adopts the method of doing. The ID-NIKS is a method that does not require the exchange of a public key and a secret key between a sender and a receiver, and does not require a key list and a service by a third party, and can perform secure communication between arbitrary entities.
[0008]
FIG. 5 is a diagram showing the principle of the ID-NIKS system. Assuming the existence of a reliable center, the common key generation system is configured around this center. In FIG. 5, ID information such as the name, address, and telephone number of entity A, which is the specific information of entity X, is represented by h (ID) using a hash function h (·).A). The center sends the center public information @ PC to any entity A.i} 、 Center secret information {SCiID and the ID information h of the entity A (IDA) Based on the secret information SXiAnd secretly distribute it to entity A.
SXi= Fi({SCi{, {PCi}, H (IDA))
[0009]
The entity A exchanges a common key K for encryption and decryption with any other entity B.ABIs the secret information of the entity A itself {SAiセ ン タ Center public information {PCi} And the ID information h (IDB) Is generated as follows.
KAB= F ({SAi{, {PCi}, H (IDB))
Similarly, the entity B also exchanges the key to the entity A with the common key KBAGenerate If always KAB= KBAHolds, this key KAB, KBACan be used as an encryption key and a decryption key between the entities A and B.
[0010]
In the public key cryptosystem described above, for example, in the case of the RSA cryptosystem, the length of the public key is ten and several times the current telephone number, which is extremely complicated. On the other hand, in the ID-NIKS, if each ID information is registered in the form of a list, a common key can be generated with an arbitrary entity by referring to the list. Therefore, if the ID-NIKS system as shown in FIG. 5 is safely realized, a convenient encryption system can be constructed on a computer network to which many entities subscribe. For these reasons, ID-NIKS is expected to become the center of future cryptosystems.
[0011]
[Problems to be solved by the invention]
An ID-NIKS that shares a common key serving as an encryption key and a decryption key without performing preliminary communication using the ID information of a communication partner is sufficiently resistant to attacks such as collusion of multiple entities. It is desired to be safe. On the other hand, in order to be able to perform cryptographic communication over a wide range, it is desirable that the principle of encryption in ID-NIKS is as simple as possible. Such security and simplification are conflicting issues, and it is important for an advanced information society to be able to construct an ID-NIKS that is structurally simple and cryptographically secure. This is a problem, and the search for a more ideal encryption method that can solve both problems is being pursued.
[0012]
The present invention has been made in view of the above circumstances, and has a simple configuration and a highly secure ID-NIKS for generating a secret key.vessel,An object is to provide an encryption device, an encryption communication method, an encryption communication system, and a recording medium.
[0013]
[Means for Solving the Problems]
2. The secret key generator according to claim 1, wherein the secret key generator generates the secret key unique to the entity using the specific information of the entity and a secret symmetric matrix. Public key vector vX(X1, XTwo) And the obtained public key vector vXAnd means for obtaining a secret key as shown in the following (B) modulo N = PQ (P and Q are prime numbers) using the secret symmetric matrix H shown in the following (A). Features.
[0014]
(Equation 16)
Figure 0003587746
[0015]
Where g is the largest generator modulo N
t: integer of 2 or more
[0016]
3. A secret key generator according to claim 2, wherein the secret key generator generates the secret key unique to the entity using the specific information of the entity and a secret symmetric matrix. Public key vector vX(X1, XTwo) And the obtained public key vector vXAnd a secret symmetric matrix H shown in the following (C), a secret key G as shown in the following (D) modulo N = PQ (P and Q are prime numbers)1, GTwo, GThreeAnd means for determining
[0017]
[Equation 17]
Figure 0003587746
[0018]
Where g is the largest generator modulo N
m: Integer of 2 or more
[0019]
4. A secret key generator according to claim 3, wherein the secret key generator generates the secret key unique to the entity using the specific information of the entity and a secret symmetric matrix. Public key vector vX(X1, XTwo, ..., xN) And the obtained public key vector vXAnd a secret symmetric matrix H shown in the following (E), N ′ = PQr1rTwo... rS(P, Q, r1~ RSIs a prime number modulo a secret key G as shown in (F) and (G) below.1, GTwo, ..., Gt + 1And HTwo, ..., Hi, ..., HNAnd means for determining
[0020]
(Equation 18)
Figure 0003587746
[0021]
Where g: the maximum generator modulo N '
S, t: integer of 2 or more
[0022]
The encryption device according to claim 4 is based on the specific information of each entity and the secret key unique to each entity generated using the secret symmetric matrix and the specific information of the other entity to which the ciphertext is transmitted. A means for obtaining a secret key of an entity X generated by a secret key generator according to claim 1, wherein the encryption device encrypts a plaintext into a ciphertext using a common key generated by the generated public key. The public key vector v of the entity Y based on the acquired secret key and the specific information of the partner entity Yy(Y1, YTwo) To obtain a common key K as shown in (H) below.XYAnd means for determining
[0023]
[Equation 19]
Figure 0003587746
[0024]
The encryption device according to claim 5, based on the specific information of each entity and the secret key unique to each entity generated using the secret symmetric matrix and the specific information of the other entity to which the ciphertext is to be transmitted. A means for acquiring a secret key of an entity X generated by a secret key generator according to claim 2, wherein the encryption device encrypts a plaintext into a ciphertext using a common key generated by the generated public key. The public key vector v of the entity Y based on the acquired secret key and the specific information of the partner entity Yy(Y1, YTwo) To obtain a common key K as shown in the following (I).XYAnd means for determining
[0025]
(Equation 20)
Figure 0003587746
[0026]
The encryption device according to claim 6, based on the specific information of each entity and the secret key unique to each entity generated using the secret symmetric matrix and the specific information of the other entity to which the ciphertext is to be transmitted. A means for acquiring a secret key of an entity X generated by a secret key generator according to claim 3, wherein the encryption device encrypts plaintext into ciphertext using a common key generated by the generated public key. A public key vector (y) based on the acquired secret key and the specific information of the other party entity YTwo, YThree, ..., yN), A means for obtaining an intermediate value J as shown in the following (J), and a public key vector (y1) To obtain a common key K as shown in the following (K).XYAnd means for determining
[0027]
(Equation 21)
Figure 0003587746
[0028]
An encryption device according to claim 7, wherein the intermediate key for generating the common key using the secret key unique to each entity and the public key of the partner entity according to any one of claims 4 to 6. And means for storing the generated intermediate key on each entity side.
[0029]
According to an eighth aspect of the present invention, in the encryption device according to the seventh aspect, the generated intermediate key is stored in an IC card, and the common key is generated by the IC card using the stored intermediate key. It is characterized by.
[0030]
10. The cryptographic communication method according to claim 9, wherein the center device sends a private key unique to each entity to each entity device, and one entity device obtains a common key obtained from the private key unique to the entity sent from the center device. The plaintext is encrypted into ciphertext and transmitted to the other entity device by using the other entity device, and the transmitted ciphertext is obtained from the secret key unique to the entity sent from the center device. In a cryptographic communication method in which information is communicated between entity devices by decrypting the original plaintext using the same common key as the common key, the public key vector v of the entity X based on the specific information of the entity XX(X1, XTwo) And the obtained public key vector vXAnd a secret symmetric matrix H shown in the following (L) to obtain a secret key as shown in the following (M) modulo N = PQ (P and Q are prime numbers); Sending the key to the entity device.
[0031]
(Equation 22)
Figure 0003587746
[0032]
Where g is the largest generator modulo N
t: integer of 2 or more
[0033]
11. The cryptographic communication method according to claim 10, wherein a secret key unique to each entity is sent from the center device to each entity device, and one of the entity devices is obtained from the secret key unique to the entity sent from the center device. The plaintext is encrypted into ciphertext and transmitted to the other entity device by using the other entity device, and the transmitted ciphertext is obtained from the secret key unique to the entity sent from the center device. In a cryptographic communication method in which information is communicated between entity devices by decrypting the original plaintext using the same common key as the common key, the public key vector v of the entity X based on the specific information of the entity XX(X1, XTwo) And the obtained public key vector vXAnd a secret symmetric matrix H shown in the following (N), a secret key G shown in the following (O) modulo N = PQ (P and Q are prime numbers)1, GTwo, GThreeAnd sending the obtained secret key to the entity device.
[0034]
(Equation 23)
Figure 0003587746
[0035]
Where g is the largest generator modulo N
m: Integer of 2 or more
[0036]
The cryptographic communication method according to claim 11, wherein a secret key unique to each entity is sent from the center device to each entity device, and a common key obtained from one entity device from the secret key unique to the entity sent from the center device. The plaintext is encrypted into ciphertext and transmitted to the other entity device by using the other entity device, and the transmitted ciphertext is obtained from the secret key unique to the entity sent from the center device. In a cryptographic communication method for communicating information between entity devices by decrypting the original plaintext using the same common key as the common key, an N-dimensional public key vector of the entity X based on the specific information of the entity X vX(X1, XTwo, ..., xN) And the obtained public key vector vXAnd N ′ = PQr using the secret symmetric matrix H shown in the following (P).1rTwo... rS(P, Q, r1~ RSIs a prime number) and a secret key G as shown in (Q) and (R) below.1, GTwo, ..., Gt + 1And HTwo, ..., Hi, ..., HNAnd sending the obtained secret key to the entity device.
[0037]
[Equation 24]
Figure 0003587746
[0038]
Where g: the maximum generator modulo N '
S, t: integer of 2 or more
[0039]
According to a twelfth aspect of the present invention, in the cryptographic communication method according to any one of the ninth to eleventh aspects, an intermediate key for generating the common key is generated, and the generated intermediate key is stored in each entity device. Features.
[0040]
The cryptographic communication method according to claim 13 is characterized in that, in claim 12, the generated intermediate key is stored in an IC card, and the common key is generated by the IC card using the stored intermediate key. I do.
[0041]
15. The encryption communication system according to claim 14, wherein a plurality of entity devices perform an encryption process of encrypting a plaintext, which is information to be transmitted, into a ciphertext, and a decryption process of decoding the transmitted ciphertext into the original plaintext. A center device having a secret key generator according to claim 1 and means for sending the generated secret key to each entity, and a secret key of the entity X from the center device. Acquiring means, and an N-dimensional public key vector v of the entity Y based on the acquired secret key and the specific information of the partner entity Yy(Y1, YTwo) To obtain a common key K used for the encryption and decryption as shown in (S) below.XYAnd a plurality of entity devices having means for determining
[0042]
(Equation 25)
Figure 0003587746
[0043]
The encryption communication system according to claim 15, wherein a plurality of entity devices perform an encryption process of encrypting a plaintext, which is information to be transmitted, into a ciphertext, and a decryption process of decoding the transmitted ciphertext into the original plaintext. A center device having a secret key generator according to claim 2 and means for sending the generated secret key to each entity, and a secret key of the entity X from the center device. Acquiring means, and an N-dimensional public key vector v of the entity Y based on the acquired secret key and the specific information of the partner entity Yy(Y1, YTwo) To obtain a common key K used for the encryption and decryption as shown in (T) below.XYAnd a plurality of entity devices having means for determining
[0044]
(Equation 26)
Figure 0003587746
[0045]
17. The encryption communication system according to claim 16, wherein a plurality of entity devices perform an encryption process of encrypting a plaintext, which is information to be transmitted, into a ciphertext and a decryption process of decoding the transmitted ciphertext into the original plaintext. And a center device having a secret key generator according to claim 3 and means for sending the generated secret key to each entity, and a secret key of the entity X from the center device. Means for obtaining, and an N-1 dimensional public key vector (yTwo, YThree, ..., yN), A means for obtaining an intermediate value J as shown in the following (U), and a one-dimensional public key vector (y1) To obtain a common key K as shown in the following (V).XYAnd a plurality of entity devices having means for determining
[0046]
[Equation 27]
Figure 0003587746
[0047]
The recording medium according to claim 17 isA computer for causing the computer to function as the secret key generator according to claim 1.A computer program is recorded.
[0050]
The recording medium according to claim 18 isA computer for causing the computer to function as the secret key generator according to claim 2.A computer program is recorded.
[0053]
The recording medium according to claim 19 isA computer for functioning as a secret key generator according to claim 3.A computer program is recorded.
[0060]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, embodiments of the present invention will be specifically described.
FIG. 1 is a schematic diagram showing the configuration of the cryptographic communication system of the present invention. A center 1 that can trust information concealment is set, and this center 1 can be, for example, a public organization of society. The center 1 is connected to a plurality of entities a, b,..., Z as users who use the cryptosystem by secret communication paths 2a, 2b,. The secret key information is transmitted from the center 1 to the entities a, b,..., Z via 2a, 2b,. Further, communication paths 3ab, 3az, 3bz,... Are provided between the two entities, and ciphertexts obtained by encrypting communication information via the communication paths 3ab, 3az, 3bz,. It is transmitted between them.
[0061]
First, the basic method of the present invention will be described.
(Preparation processing at center 1)
The center 1 prepares the following public key and secret key, and publishes the public key.
Public key N: N = PQ (P, Q: prime number of about 512 bits)
h: One-way hash function for generating public key vector
Secret key H: 2 × 2 symmetric matrix as shown in (1) below
g: maximum generator modulo N
[0062]
[Equation 31]
Figure 0003587746
[0063]
Each of the specific information (ID information) of the entities X and Y is IDX, IDYAnd using the hash values thereof, the public key of each entity X, Y (vector vX, VY) Is defined by the following (2) and (3). However, the hash value size is 1024 bits.
[0064]
(Equation 32)
Figure 0003587746
[0065]
(Entity registration process)
The center 1 requested to register the entity X registers the secret symmetric matrix H shown in the above (1) and the public key (vector v) of the entity X shown in the above (2).X), A secret key as shown in the following (4) modulo N = PQ is obtained, and the obtained secret key is secretly distributed to the entity X. Thus, in the present invention, a secret key having a size larger than the symmetric matrix H (a three-dimensional secret key based on the 2 × 2 matrix H) is generated. In other words, in the present invention, the size of the center secret is enlarged and sent to the entity X.
[0066]
[Equation 33]
Figure 0003587746
[0067]
(Generation process of common key between entities)
The entity X performs a calculation using a binary theorem as shown in the following (5), thereby forming a common key K with the communication partner entity Y.XYAsk for. This common key KXYIs the common key K obtained from the entity Y sideYXMatches.
[0068]
(Equation 34)
Figure 0003587746
[0069]
It should be noted that the symmetric matrix H shown in the above (1) can be generalized to a matrix of M × M (M ≧ 3). In this case, the key sharing of the common key can be performed by using the M-term theorem. realizable. However, under the condition that the data amount of the secret key distributed from the center 1 is constant, increasing M works in the direction of weakening the security, so the case of M = 2 is optimal.
[0070]
Next, communication of information between entities in the above-described cryptographic system will be described. FIG. 2 is a schematic diagram showing a communication state of information between two entities X and Y. The example of FIG. 2 shows a case where the entity X encrypts a plaintext (message) M into a ciphertext C and transmits it to the entity Y, and the entity Y decrypts the ciphertext C into the original plaintext (message) M. Is shown.
[0071]
On the entity X side, the specific information ID of the entity YYAnd a public key (vector vY), The secret key (shown in (4) above) sent from the center 1 and the public key (vector v) from the public key generator 11.Y), The common key K with the entity Y required by the entity X based onXYAnd a common key generator 12 for generatingXYAnd an encryptor 13 for encrypting a plaintext (message) M into a ciphertext C by using the ciphertext C and outputting the ciphertext C to the communication path 30.
[0072]
Also, on the entity Y side, the specific information ID of the entity XXAnd a public key (vector vX), A secret key (similar to the above (4)) sent from the center 1, and a public key (vector v) from the public key generator 21.X), The common key K with the entity X obtained by the entity Y based onYXAnd a common key generator 22 for generating theYXAnd a decryptor 23 for decrypting the ciphertext C input from the communication path 30 into a plaintext (message) M and outputting the same.
[0073]
Next, the operation will be described. When transmitting information from the entity X to the entity Y, first, the specific information ID of the entity YYIs input to the public key generator 11 and the public key (vector vY) Is obtained, and the obtained public key of the entity Y is sent to the common key generator 12. Also, the secret key shown in the above (4) is input from the center 1 to the common key generator 12. Then, according to the above (5), the common key KXYIs sent to the encryptor 13. In the encryptor 13, this common key KXYIs used to encrypt a plaintext (message) M into a ciphertext C, and the ciphertext C is transmitted via the communication path 30.
[0074]
The ciphertext C transmitted through the communication path 30 is input to the decryptor 23 of the entity Y. Specific information ID of entity XXIs input to the public key generator 21 and the public key (vector vX) Is obtained, and the obtained public key of the entity X is sent to the common key generator 22. Also, a secret key similar to the above (4) is input to the common key generator 22 from the center 1. Then, similarly to the above (5), the common key KYXIs sent to the decoder 23. In the decryptor 23, this common key KYXIs used to decrypt the ciphertext C into a plaintext (message) M.
[0075]
FIG. 3 is a diagram showing a configuration of an embodiment of the recording medium of the present invention. The program exemplified here includes a process of generating a secret key as shown in the above (4) using a secret symmetric matrix and a public key of each entity, or a process as shown in the above (4). It includes a process of generating a common key between the two entities according to the above (5) using its own private key and the public key of the partner entity, and is recorded on a recording medium described below. The computer 40 is provided on the center 1 side or on each entity side.
[0076]
In FIG. 3, a recording medium 41 that is connected online to the computer 40 is, for example, a WWW (World Wide Web) server computer that is installed separately from a place where the computer 40 is installed. 41a is recorded. The program 41a read from the recording medium 41 controls the computer 40 to generate a secret key unique to each entity or a common key between both entities.
[0077]
The recording medium 42 provided inside the computer 40 uses, for example, a hard disk drive or a ROM installed therein, and the recording medium 42 stores the program 42a as described above. By controlling the computer 40 by the program 42a read from the recording medium 42, a secret key unique to each entity is generated, or a common key between both entities is generated.
[0078]
The recording medium 43 used by being loaded into a disk drive 40a provided in the computer 40 is a transportable medium such as a magneto-optical disk, a CD-ROM, or a flexible disk. 43a is recorded. The program 43a read from the recording medium 43 controls the computer 40 to generate a secret key unique to each entity or a common key between both entities.
[0079]
Hereinafter, the safety of the present invention will be considered. The following (theorem) holds for the number of colluders required to derive the secret key of any entity Z of the attack target.
(Theorem) The secret key of an arbitrary entity Z can be derived by collusion of (t + 1) persons.
[0080]
(Method of Depending Security on Computation Disparity of the Present Invention: First Method)
(1) Method using the basic method as it is
As described in the above (theorem), the secret key is exposed in the basic scheme by the collusion of (t + 1) persons. However, since the Carmichael function is unknown, y1 tiyTwo iBecomes very large. For example, y1Is 1024 bits and t = 1000, y1 tiyTwo iReaches approximately 310,000 decimal digits. Deriving the secret key of an arbitrary entity Z requires an operation related to a 1000 × 1000 matrix whose element size is 310,000 decimal digits, and further requires 1000 colluders. In consideration of this fact, it can be said that this basic method can sufficiently be put to practical use if the operation is limited to a relatively narrow range, such as in a research laboratory, a business establishment, or a school.
[0081]
(2) Method using a dedicated IC card
Here, a method on the assumption that a common key is generated using a high-performance dedicated IC card, in other words, a method for increasing the amount of calculation required for an attack will be described. FIG. 4 is a configuration diagram of the IC card 50. The IC card 50 includes a public key generation unit 51 that generates a public key using a hash function, a pre-key generation unit 52 that performs a modular exponentiation operation and a product-sum operation to generate a pre-key (intermediate key) described later. , A memory unit 53 for storing the generated pre-key, and a common key generation unit 54 for generating the common key.
[0082]
In the method using the dedicated IC card, the following conditions are set.
(A) The key renewal period is about one month.
(B) A pre-key as a pre-stage of the common key is generated during a period of about one month, spending about 10 minutes to 1 hour.
(C) A single IC card stores several hundred pre-keys of a common key for a partner entity that frequently communicates.
[0083]
In this method, the purpose of making the IC card generate a pre-key using a relatively long time during the update period is to create a difference in the amount of calculation with the attacker, so that the value of t is the minimum value. 2 can be set. Therefore, the center 1 distributes the following three types of secret keys to the entity X as shown in (6) below. Here, m is a large positive integer. It is easy for the center 1 that knows the Carmichael function to calculate these secret keys.
[0084]
(Equation 35)
Figure 0003587746
[0085]
Common key K with entity YXYIs the hash value (y1, YTwo) Is generated as shown in the following (7).
[0086]
[Equation 36]
Figure 0003587746
[0087]
Where y1 m, YTwo mSince they cannot be modulo by the Carmichael function and must be calculated on an integer ring, the number becomes very large for an attacker, which causes a great difference in the amount of calculation.
[0088]
Pre-key K corresponding to (7) aboveXY'Is defined as in the following (8).
[0089]
(37)
Figure 0003587746
[0090]
For example, m ≒ 106, J, K, L, M ≒ 10Four, And J, K, L, and M are kept secret. The pre-key for the general value of t is defined exactly the same. A pre-key is required to reduce the time required to generate a common key with a partner entity that frequently communicates, that is, to reduce the processing load when sharing a common key. Is approximately 3 kbits for each communication partner when the size | N | of N is 1024 bits. As in the example described above, generally, J, K, L, M≪m are set, so that the pre-key KXY'To the common key KXYCan be devised so as to reduce the time required to generate the. On the other hand, for the attacker, the number of combinations of J, K, L, and M is also 10 in this example.16It is impossible to identify the combination. Generally, it is easier to set the number of combinations to a very large number as t increases.
[0091]
A legitimate entity that stores the pre-key and knows the combination of J, K, L, and M is the pre-key K shown in (8) above.XY', And only by performing (J + K + L + M) power operations, the common key K shown in the above (7) is obtained.XYCan be calculated. On the other hand, in the attacker, the common key KXYRequires a power operation as many as 4 m times.
[0092]
The time required for each entity to generate a pre-key and the attacker calculates the hash value x1 m, Y1 mIs compared with the amount of calculation required when obtaining the values. Assume the following conditions:
(A) The calculation amount required for multiplying two n-digit numbers is nTwoAnd
(B) The entity is given 10 minutes to generate one pre-key, for example during a one-month key renewal period.
[0093]
(GA)BThe amount of computation required for a modulo operation of the form mod N is gAAnd B size | gA|, | B |, then | gA| × | gA| × | B |. | GA|, | B | are 1024 bits, and this modulo operation (gA)BAssuming that mod N is executed ten times in one millisecond, the amount of calculation for pre-key generation is 1024 × 1024 × 10000 × 600. In this case, m = 6 × 106It is. On the other hand, since the amount of calculation required for the attacker is n = 1024 × 10000 × 600, (1024 × 10000 × 600)TwoIt becomes. m = 6 × 10Five, About 5.86 × 10 of legitimate entities for the attackerFiveIt requires twice as much computation time, ie, 40.7 days, and there is a large disparity in computation between legitimate entities and attackers. If 100 minutes were allowed for pre-key generation, this disparity would be increased by a factor of 10 and would require an attacker 407 days of computation time.
[0094]
Here, the calculation conditions are changed, and the following assumption is made.
(A) The amount of computation required to multiply two n-digit numbers is nTwoNot shown in (9) below.
[0095]
[Equation 38]
Figure 0003587746
[0096]
(B) 100 minutes are given for pre-key generation, and legal operation ABmod N is 10ThreeSuppose the speed is doubled.
[0097]
The amount of computation required by the attacker for the above multiplication is 137 days for 100 minutes of a valid entity. In this case, y1 mAre about 18.5 trillion decimal digits. This attack is impractical given the amount of memory required. Here, it is easy to increase the pre-key generation time by one or two digits, and to speed up the legal operation by one or two digits. Therefore, the first method can ensure security.
[0098]
(Method of Depending Security on Stochastic Structure of the Present Invention: Second Method)
The 2 × 2 center secret symmetric matrix H given in the above (1) is given as an N × N symmetric matrix H as shown in the following (10). However, the modulus N 'is (11) below.
[0099]
[Equation 39]
Figure 0003587746
[0100]
r1~ RSIs a 16-bit prime number, and a set of these prime numbers is Sr= {RiNotated as}. Element h of symmetric matrix HijIs a random number of prime numbers ri∈SrShall be divided by
[0101]
On the other hand, a hash value for an arbitrary entity X is given as in the following (12). Component x in the following (12)iIs a prime number ri∈SrAnd a random product of
[0102]
(Equation 40)
Figure 0003587746
[0103]
The center 1 receives N ′ = PQr for the entity X1rTwo... rSThe secret key shown in (13) below is sent secretly under the law. At the same time, the secret key shown in (14) below is also sent secretly.
[0104]
[Equation 41]
Figure 0003587746
[0105]
The common key for entity Y is generated in entity X as follows. First, the secret key of the above (14) and the hash value (y1), The intermediate value J is obtained as shown in the following (15), and the obtained intermediate value J, the secret key of the above (13), and the hash value (y1) And the common key K with the entity YXYIs calculated according to the following (16).
[0106]
(Equation 42)
Figure 0003587746
[0107]
As a specific example, when each parameter is set to N = 16, t = 16, and S = 64, the common key KXYThe number of terms when expanding the exponent of is16H16=31C16= 300540195. Even if the total number of entities is about one million, the total number of equations distributed from the center 1 (about 32 million) exceeds the number by about one digit, and the common key KXYIt is difficult to derive a center secret symmetric matrix from the form In addition, when solving equations distributed to each entity simultaneously, the modulus of each equation is not constant but a random value, and a part of the center secret symmetric matrix is in the exponent part. Therefore, it is difficult to expose the center secret.
[0108]
In this example, the data distribution amount from the center 1 to each entity is 32 bits as shown in (17) below.
t + 1 + N-1 = t + N = 32 (17)
On the other hand, when | PQ | = 1024 bits, N ′ = 1024 + t × S = 2048 bits. Therefore, the total amount of data distributed to each entity is 65.5 kbits (8.19 kbytes). In this case, the common key generation time is given by a time that is about 16 times the decryption time of the 2048-bit RSA encryption.
[0109]
As described above, in the second method, a part of the secret key distributed from the center 1 is placed in the exponent part, and the remaining part (an equation on the integer ring) has a stochastic structure. Since the common factors between these equations and the modulus N 'are given at random and some of the secret keys are in the exponent part, attacks such as taking the ratio between the reduced common keys are excluded, Attack is difficult.
[0110]
【The invention's effect】
As described above in detail, according to the present invention, the secret key generation in ID-NIKS which has a simple configuration principle and secures securityvessel,An encryption device, an encryption communication method, an encryption communication system, and a recording medium can be provided, which can contribute to the construction of an ideal ID-NIKS. Further, since the pre-key (intermediate key) is obtained in advance, the processing load at the time of key sharing can be reduced.
[Brief description of the drawings]
FIG. 1 is a schematic diagram showing a configuration of a cryptographic communication system of the present invention.
FIG. 2 is a schematic diagram showing a communication state of information between two entities.
FIG. 3 is a diagram showing a configuration of an embodiment of a recording medium.
FIG. 4 is a configuration diagram of an IC card.
FIG. 5 is a diagram illustrating the principle configuration of an ID-NIKS system.
[Explanation of symbols]
1 center
11,21 public key generator
12,22 common key generator
13 Encryptor
23 Decoder
30 communication channels
40 Computer
41, 42, 43 recording medium
50 IC card

Claims (19)

エンティティの特定情報と秘密の対称行列とを用いて、前記エンティティ固有の秘密鍵を生成する秘密鍵生成器において、エンティティXの特定情報に基づいてエンティティXの公開鍵ベクトルvX (x1 ,x2 )を取得する手段と、取得した公開鍵ベクトルvX と下記(A)で示される秘密の対称行列Hとを用いて、N=PQ(P,Qは素数)を法とする下記(B)に示すような秘密鍵を求める手段とを備えることを特徴とする秘密鍵生成器。
Figure 0003587746
但し、g:Nを法とする最大生成元
t:2以上の整数
A secret key generator for generating a secret key unique to the entity using the specific information of the entity and a secret symmetric matrix, wherein a public key vector v X (x 1 , x 2 ), using the obtained public key vector v X and the secret symmetric matrix H shown in (A) below, modulo N = PQ (P and Q are prime numbers) ) Means for obtaining a secret key as described in (1).
Figure 0003587746
Where g: the maximum generator modulo N t: an integer of 2 or more
エンティティの特定情報と秘密の対称行列とを用いて、前記エンティティ固有の秘密鍵を生成する秘密鍵生成器において、エンティティXの特定情報に基づいてエンティティXの公開鍵ベクトルvX (x1 ,x2 )を取得する手段と、取得した公開鍵ベクトルvX と下記(C)で示される秘密の対称行列Hとを用いて、N=PQ(P,Qは素数)を法とする下記(D)に示すような秘密鍵G1 ,G2 ,G3 を求める手段とを備えることを特徴とする秘密鍵生成器。
Figure 0003587746
但し、g:Nを法とする最大生成元
m:2以上の整数
A secret key generator for generating a secret key unique to the entity using the specific information of the entity and a secret symmetric matrix, wherein a public key vector v X (x 1 , x 2 ), using the obtained public key vector v X and a secret symmetric matrix H shown in the following (C), modulo N = PQ (P and Q are prime numbers) ), Means for obtaining the secret keys G 1 , G 2 , G 3 .
Figure 0003587746
Here, g: the maximum generator modulo N m: an integer of 2 or more
エンティティの特定情報と秘密の対称行列とを用いて、前記エンティティ固有の秘密鍵を生成する秘密鍵生成器において、エンティティXの特定情報に基づいてエンティティXの公開鍵ベクトルvX (x1 ,x2 ,…,xN )を取得する手段と、取得した公開鍵ベクトルvX と下記(E)で示される秘密の対称行列Hとを用いて、N′=PQr1 2 …rS (P,Q,r1 〜rS は素数)を法とする下記(F)及び(G)に示すような秘密鍵G1 ,G2 ,…,Gt+1 及びH2 ,…,Hi ,…,HN を求める手段とを備えることを特徴とする秘密鍵生成器。
Figure 0003587746
但し、g:N′を法とする最大生成元
S,t:2以上の整数
A secret key generator for generating a secret key unique to the entity using the specific information of the entity and a secret symmetric matrix, wherein a public key vector v X (x 1 , x 2, ..., with means for obtaining x N), and a symmetric matrix H secret indicated by the acquired public key vector v X and the following (E), N '= PQr 1 r 2 ... r S (P , Q, r 1 to r S are prime numbers) and secret keys G 1 , G 2 ,..., G t + 1 and H 2 ,. ..., a means for determining H N.
Figure 0003587746
Where g: the maximum generator S modulo N ', t: an integer of 2 or more
各エンティティの特定情報と秘密の対称行列とを用いて生成した各エンティティ固有の秘密鍵と、暗号文の送信先である相手のエンティティの特定情報に基づいて生成した公開鍵とにより生成した共通鍵を用いて平文を暗号文に暗号化する暗号化装置において、請求項1記載の秘密鍵生成器により生成されたエンティティXの秘密鍵を取得する手段と、取得した秘密鍵と相手のエンティティYの特定情報に基づくエンティティYの公開鍵ベクトルvy (y1 ,y2 )とを用いて、下記(H)に示すような共通鍵KXYを求める手段とを備えることを特徴とする暗号化装置。
Figure 0003587746
A common key generated from a secret key unique to each entity generated using specific information of each entity and a secret symmetric matrix, and a public key generated based on specific information of the other entity to which the cipher text is transmitted And a means for obtaining a secret key of the entity X generated by the secret key generator according to claim 1; A means for obtaining a common key K XY as shown in the following (H) using the public key vector v y (y 1 , y 2 ) of the entity Y based on the specific information. .
Figure 0003587746
各エンティティの特定情報と秘密の対称行列とを用いて生成した各エンティティ固有の秘密鍵と、暗号文の送信先である相手のエンティティの特定情報に基づいて生成した公開鍵とにより生成した共通鍵を用いて平文を暗号文に暗号化する暗号化装置において、請求項2記載の秘密鍵生成器により生成されたエンティティXの秘密鍵を取得する手段と、取得した秘密鍵と相手のエンティティYの特定情報に基づくエンティティYの公開鍵ベクトルvy (y1 ,y2 )とを用いて、下記(I)に示すような共通鍵KXYを求める手段とを備えることを特徴とする暗号化装置。
Figure 0003587746
A common key generated from a secret key unique to each entity generated using specific information of each entity and a secret symmetric matrix, and a public key generated based on specific information of the other entity to which the cipher text is transmitted And a means for obtaining the secret key of the entity X generated by the secret key generator according to claim 2; Means for obtaining a common key K XY as shown in the following (I) using a public key vector v y (y 1 , y 2 ) of the entity Y based on the specific information. .
Figure 0003587746
各エンティティの特定情報と秘密の対称行列とを用いて生成した各エンティティ固有の秘密鍵と、暗号文の送信先である相手のエンティティの特定情報に基づいて生成した公開鍵とにより生成した共通鍵を用いて平文を暗号文に暗号化する暗号化装置において、請求項3記載の秘密鍵生成器により生成されたエンティティXの秘密鍵を取得する手段と、取得した秘密鍵と相手のエンティティYの特定情報に基づく公開鍵ベクトル(y2 ,y3 ,…,yN )とを用いて、下記(J)に示すような中間値Jを求める手段と、取得した秘密鍵と求めた中間値JとエンティティYの特定情報に基づく公開鍵ベクトル(y1 )とを用いて、下記(K)に示すような共通鍵KXYを求める手段とを備えることを特徴とする暗号化装置。
Figure 0003587746
A common key generated from a secret key unique to each entity generated using specific information of each entity and a secret symmetric matrix, and a public key generated based on specific information of the other entity to which the cipher text is transmitted And a means for acquiring the secret key of the entity X generated by the secret key generator according to claim 3; Means for obtaining an intermediate value J as shown in the following (J) using the public key vector (y 2 , y 3 ,..., Y N ) based on the specific information, and the obtained secret key and the obtained intermediate value J And a means for obtaining a common key K XY as shown in the following (K) using the public key vector (y 1 ) based on the specific information of the entity Y.
Figure 0003587746
各エンティティ固有の前記秘密鍵と相手のエンティティの前記公開鍵とを用いて、前記共通鍵を生成するための中間鍵を生成する手段と、生成した中間鍵を各エンティティ側で記憶しておく手段とを備える請求項4〜6の何れかに記載の暗号化装置。Means for generating an intermediate key for generating the common key using the secret key unique to each entity and the public key of the other entity, and means for storing the generated intermediate key on each entity side The encryption device according to any one of claims 4 to 6, further comprising: 生成した中間鍵をICカードに記憶しておき、記憶した中間鍵を用いて前記ICカードにて前記共通鍵を生成するようにした請求項7記載の暗号化装置。The encryption device according to claim 7, wherein the generated intermediate key is stored in an IC card, and the common key is generated in the IC card using the stored intermediate key. センタ装置から各エンティティ装置へ各エンティティ固有の秘密鍵を送付し、一方のエンティティ装置が前記センタ装置から送付された該エンティティ固有の秘密鍵から求めた共通鍵を用いて平文を暗号文に暗号化して他方のエンティティ装置へ伝送し、該他方のエンティティ装置が伝送された暗号文を、前記センタ装置から送付された該エンティティ固有の秘密鍵から求めた、前記共通鍵と同一の共通鍵を用いて元の平文に復号することにより、エンティティ装置間で情報の通信を行う暗号通信方法において、エンティティXの特定情報に基づいてエンティティXの公開鍵ベクトルvX (x1 ,x2 )を取得するステップと、取得した公開鍵ベクトルvX と下記(L)で示される秘密の対称行列Hとを用いて、N=PQ(P,Qは素数)を法とする下記(M)に示すような秘密鍵を求めるステップと、求めた秘密鍵をエンティティ装置へ送付するステップとを有することを特徴とする暗号通信方法。
Figure 0003587746
但し、g:Nを法とする最大生成元
t:2以上の整数
The center device sends a secret key unique to each entity to each entity device, and one of the entity devices encrypts plaintext into ciphertext using a common key obtained from the secret key unique to the entity sent from the center device. And transmitting the ciphertext transmitted by the other entity device from the secret key unique to the entity sent from the center device, using the same common key as the common key. A step of obtaining a public key vector v X (x 1 , x 2 ) of the entity X based on the specific information of the entity X in a cryptographic communication method for communicating information between entity devices by decrypting the original plain text When, by using the symmetric matrix H secret indicated by the acquired public key vector v X and the following (L), N = PQ and (P, Q is a prime number) Cryptographic communication method characterized by comprising the steps of obtaining a secret key as shown below (M) which, a step of sending a private key determined to an entity device.
Figure 0003587746
Where g: the maximum generator modulo N t: an integer of 2 or more
センタ装置から各エンティティ装置へ各エンティティ固有の秘密鍵を送付し、一方のエンティティ装置が前記センタ装置から送付された該エンティティ固有の秘密鍵から求めた共通鍵を用いて平文を暗号文に暗号化して他方のエンティティ装置へ伝送し、該他方のエンティティ装置が伝送された暗号文を、前記センタ装置から送付された該エンティティ固有の秘密鍵から求めた、前記共通鍵と同一の共通鍵を用いて元の平文に復号することにより、エンティティ装置間で情報の通信を行う暗号通信方法において、エンティティXの特定情報に基づいてエンティティXの公開鍵ベクトルvX (x1 ,x2 )を取得するステップと、取得した公開鍵ベクトルvX と下記(N)で示される秘密の対称行列Hとを用いて、N=PQ(P,Qは素数)を法とする下記(O)に示すような秘密鍵G1 ,G2 ,G3 を求めるステップと、求めた秘密鍵をエンティティ装置へ送付するステップとを有することを特徴とする暗号通信方法。
Figure 0003587746
但し、g:Nを法とする最大生成元
m:2以上の整数
The center device sends a secret key unique to each entity to each entity device, and one of the entity devices encrypts the plaintext into ciphertext using the common key obtained from the secret key unique to the entity sent from the center device. And transmitting the ciphertext transmitted by the other entity device from the secret key unique to the entity sent from the center device, using the same common key as the common key. A step of obtaining a public key vector v X (x 1 , x 2 ) of the entity X based on the specific information of the entity X in a cryptographic communication method for communicating information between entity devices by decrypting the original plain text When, by using the symmetric matrix H secret indicated by the acquired public key vector v X and the following (N), N = PQ and (P, Q is a prime number) Cryptographic communication method characterized by comprising the steps of obtaining a secret key G 1, G 2, G 3, as shown in the following (O) which, with the steps of sending a private key determined to an entity device.
Figure 0003587746
Here, g: the maximum generator modulo N m: an integer of 2 or more
センタ装置から各エンティティ装置へ各エンティティ固有の秘密鍵を送付し、一方のエンティティ装置が前記センタ装置から送付された該エンティティ固有の秘密鍵から求めた共通鍵を用いて平文を暗号文に暗号化して他方のエンティティ装置へ伝送し、該他方のエンティティ装置が伝送された暗号文を、前記センタ装置から送付された該エンティティ固有の秘密鍵から求めた、前記共通鍵と同一の共通鍵を用いて元の平文に復号することにより、エンティティ装置間で情報の通信を行う暗号通信方法において、エンティティXの特定情報に基づいてエンティティXのN次元の公開鍵ベクトルvX (x1 ,x2 ,…,xN )を取得するステップと、取得した公開鍵ベクトルvX と下記(P)で示される秘密の対称行列Hとを用いて、N′=PQr1 2 …rS (P,Q,r1 〜rS は素数)を法とする下記(Q)及び(R)に示すような秘密鍵G1 ,G2 ,…,Gt+1 及びH2 ,…,Hi ,…,HN を求めるステップと、求めた秘密鍵をエンティティ装置へ送付するステップとを有することを特徴とする暗号通信方法。
Figure 0003587746
但し、g:N′を法とする最大生成元
S,t:2以上の整数
The center device sends a secret key unique to each entity to each entity device, and one of the entity devices encrypts the plaintext into ciphertext using the common key obtained from the secret key unique to the entity sent from the center device. And transmitting the ciphertext transmitted by the other entity device from the secret key unique to the entity sent from the center device, using the same common key as the common key. In a cryptographic communication method for performing information communication between entity devices by decrypting the original plaintext, an N-dimensional public key vector v X (x 1 , x 2 ,... using acquiring x N), and a symmetric matrix H secret indicated by the acquired public key vector v X and below (P), N '= P r 1 r 2 ... r S and (P, Q, r 1 ~r S is a prime number) the law following (Q) and a secret key, such as shown in (R) G 1, G 2 , ..., G t + 1 And H 2 ,..., H i ,..., H N , and sending the obtained secret key to the entity device.
Figure 0003587746
Where g: the maximum generator S modulo N ', t: an integer of 2 or more
前記共通鍵を生成するための中間鍵を生成し、生成した中間鍵を各エンティティ装置側で記憶しておく請求項9〜11の何れかに記載の暗号通信方法。The cryptographic communication method according to claim 9, wherein an intermediate key for generating the common key is generated, and the generated intermediate key is stored in each entity device. 生成した中間鍵をICカードに記憶しておき、記憶した中間鍵を用いて前記ICカードにて前記共通鍵を生成する請求項12記載の暗号通信方法。13. The encryption communication method according to claim 12, wherein the generated intermediate key is stored in an IC card, and the common key is generated by the IC card using the stored intermediate key. 送信すべき情報である平文を暗号文に暗号化する暗号化処理、及び、送信された暗号文を元の平文に復号する復号処理を、複数のエンティティ装置間で相互に行う暗号通信システムにおいて、請求項1記載の秘密鍵生成器と、生成した秘密鍵を各エンティティへ送付する手段とを有するセンタ装置、及び、エンティティXの秘密鍵を前記センタ装置から取得する手段と、取得した秘密鍵と相手のエンティティYの特定情報に基づくエンティティYのN次元の公開鍵ベクトルvy (y1 ,y2 )とを用いて、下記(S)に示すような前記暗号化処理及び復号処理に用いる共通鍵KXYを求める手段とを有する複数のエンティティ装置を備えることを特徴とする暗号通信システム。
Figure 0003587746
In a cryptographic communication system in which a plurality of entity devices mutually perform an encryption process of encrypting a plaintext that is information to be transmitted into a ciphertext, and a decryption process of decoding the transmitted ciphertext into the original plaintext, 2. A center device comprising: the secret key generator according to claim 1; and means for sending the generated secret key to each entity; and means for obtaining the secret key of the entity X from the center device; Using the N-dimensional public key vector v y (y 1 , y 2 ) of the entity Y based on the specific information of the partner entity Y, a common key used in the encryption processing and the decryption processing as shown in the following (S) A cryptographic communication system comprising a plurality of entity devices having means for determining a key KXY .
Figure 0003587746
送信すべき情報である平文を暗号文に暗号化する暗号化処理、及び、送信された暗号文を元の平文に復号する復号処理を、複数のエンティティ装置間で相互に行う暗号通信システムにおいて、請求項2記載の秘密鍵生成器と、生成した秘密鍵を各エンティティへ送付する手段とを有するセンタ装置、及び、エンティティXの秘密鍵を前記センタ装置から取得する手段と、取得した秘密鍵と相手のエンティティYの特定情報に基づくエンティティYのN次元の公開鍵ベクトルvy (y1 ,y2 )とを用いて、下記(T)に示すような前記暗号化処理及び復号処理に用いる共通鍵KXYを求める手段とを有する複数のエンティティ装置を備えることを特徴とする暗号通信システム。
Figure 0003587746
In a cryptographic communication system in which a plurality of entity devices mutually perform an encryption process of encrypting a plaintext that is information to be transmitted into a ciphertext, and a decryption process of decoding the transmitted ciphertext into the original plaintext, 3. A center device comprising: the secret key generator according to claim 2; and means for sending the generated secret key to each entity; and means for obtaining the secret key of the entity X from the center device. Using the N-dimensional public key vector v y (y 1 , y 2 ) of the entity Y based on the specific information of the partner entity Y, a common key used in the encryption processing and the decryption processing as shown in the following (T) A cryptographic communication system comprising a plurality of entity devices having means for determining a key KXY .
Figure 0003587746
送信すべき情報である平文を暗号文に暗号化する暗号化処理、及び、送信された暗号文を元の平文に復号する復号処理を、複数のエンティティ装置間で相互に行う暗号通信システムにおいて、請求項3記載の秘密鍵生成器と、生成した秘密鍵を各エンティティへ送付する手段とを有するセンタ装置、及び、エンティティXの秘密鍵を前記センタ装置から取得する手段と、取得した秘密鍵と相手のエンティティYの特定情報に基づくN−1次元の公開鍵ベクトル(y2 ,y3 ,…,yN )とを用いて、下記(U)に示すような中間値Jを求める手段と、取得した秘密鍵と求めた中間値JとエンティティYの特定情報に基づく1次元の公開鍵ベクトル(y1 )とを用いて、下記(V)に示すような共通鍵KXYを求める手段とを有する複数のエンティティ装置を備えることを特徴とする暗号通信システム。
Figure 0003587746
In a cryptographic communication system in which a plurality of entity devices mutually perform an encryption process of encrypting a plaintext that is information to be transmitted into a ciphertext, and a decryption process of decoding the transmitted ciphertext into the original plaintext, 4. A center device comprising: the secret key generator according to claim 3; and means for sending the generated secret key to each entity; and means for obtaining the secret key of the entity X from the center device; Means for obtaining an intermediate value J as shown in the following (U) using an N-1 dimensional public key vector (y 2 , y 3 ,..., Y N ) based on the specific information of the partner entity Y; A means for obtaining a common key K XY as shown in the following (V) using the obtained secret key, the obtained intermediate value J and the one-dimensional public key vector (y 1 ) based on the specific information of the entity Y. Multiple entertainment Cryptographic communication system, characterized in that it comprises a tee device.
Figure 0003587746
コンピュータを請求項1記載の秘密鍵生成器として機能させるためのコンピュータプログラムを記録してあることを特徴とする記録媒体。A recording medium on which a computer program for causing a computer to function as the secret key generator according to claim 1 is recorded. コンピュータを請求項2記載の秘密鍵生成器として機能させるためのコンピュータプログラムを記録してあることを特徴とする記録媒体。A recording medium on which a computer program for causing a computer to function as the secret key generator according to claim 2 is recorded. コンピュータを請求項3記載の秘密鍵生成器として機能させるためのコンピュータプログラムを記録してあることを特徴とする記録媒体。A recording medium on which a computer program for causing a computer to function as the secret key generator according to claim 3 is recorded.
JP26948699A 1999-09-22 1999-09-22 Secret key generator, encryption device, encryption communication method, encryption communication system, and recording medium Expired - Fee Related JP3587746B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP26948699A JP3587746B2 (en) 1999-09-22 1999-09-22 Secret key generator, encryption device, encryption communication method, encryption communication system, and recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP26948699A JP3587746B2 (en) 1999-09-22 1999-09-22 Secret key generator, encryption device, encryption communication method, encryption communication system, and recording medium

Publications (2)

Publication Number Publication Date
JP2001094546A JP2001094546A (en) 2001-04-06
JP3587746B2 true JP3587746B2 (en) 2004-11-10

Family

ID=17473121

Family Applications (1)

Application Number Title Priority Date Filing Date
JP26948699A Expired - Fee Related JP3587746B2 (en) 1999-09-22 1999-09-22 Secret key generator, encryption device, encryption communication method, encryption communication system, and recording medium

Country Status (1)

Country Link
JP (1) JP3587746B2 (en)

Also Published As

Publication number Publication date
JP2001094546A (en) 2001-04-06

Similar Documents

Publication Publication Date Title
Almaiah et al. A new hybrid text encryption approach over mobile ad hoc network
Mambo et al. Proxy cryptosystems: Delegation of the power to decrypt ciphertexts
KR100734162B1 (en) Method and apparatus for secure distribution of public / private key pairs
EP1043864A2 (en) System and method for document distribution
Son et al. Conditional proxy re-encryption for secure big data group sharing in cloud environment
JP2001211153A (en) Secret key generation method
JP4010766B2 (en) Public and non-commutative encoding method and encryption method of message
JP4450969B2 (en) Key sharing system, secret key generation device, common key generation system, encryption communication method, encryption communication system, and recording medium
JP2001211154A (en) Secret key generating method, ciphering method, and cipher communication method
CN106790259A (en) A kind of asymmetric across cryptographic system re-encryption, decryption method and system
Ordonez et al. Modified El Gamal algorithm for multiple senders and single receiver encryption
US20070183600A1 (en) Secure Cryptographic Communication System Using Kem-Dem
KR20030047148A (en) Method of messenger security based on client/server using RSA
Goswami et al. Design of a quantum one-way trapdoor function
EP1130843A2 (en) System and method for transferring the right to decode messages in a symmetric encoding scheme
Karki A comparative analysis of public key cryptography
JP3587746B2 (en) Secret key generator, encryption device, encryption communication method, encryption communication system, and recording medium
JPH06112935A (en) Cryptographic communication method
JP2001211155A (en) Method and device for generating common key and cipher communication method
JP3622072B2 (en) Encryption communication method
Gunnala et al. An Attribute Involved Public Key Cryptosystem Based on P-Sylow Subgroups and Randomization.
Krishna A randomized cloud library security environment
JP3884593B2 (en) Secret key generation device, encryption device, encryption communication method, encryption communication system, and recording medium
Nguyen et al. Multi-Document Signcryption Scheme Using RSA Cryptosystem, Merkle Hash Tree, and AES Block Cipher
JP3953235B2 (en) Cryptographic communication method and cryptographic communication system

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040518

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040708

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040810

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees