JP5512601B2 - 情報共有システム、方法、装置及びプログラム - Google Patents

情報共有システム、方法、装置及びプログラム Download PDF

Info

Publication number
JP5512601B2
JP5512601B2 JP2011118822A JP2011118822A JP5512601B2 JP 5512601 B2 JP5512601 B2 JP 5512601B2 JP 2011118822 A JP2011118822 A JP 2011118822A JP 2011118822 A JP2011118822 A JP 2011118822A JP 5512601 B2 JP5512601 B2 JP 5512601B2
Authority
JP
Japan
Prior art keywords
information sharing
short
term
sharing apparatus
public key
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2011118822A
Other languages
English (en)
Other versions
JP2012249054A (ja
Inventor
一樹 米山
幸太郎 鈴木
淳 藤岡
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2011118822A priority Critical patent/JP5512601B2/ja
Publication of JP2012249054A publication Critical patent/JP2012249054A/ja
Application granted granted Critical
Publication of JP5512601B2 publication Critical patent/JP5512601B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

この発明は、情報セキュリティ技術に関する。特に、二者間で同じ情報を共有するための技術に関する。
二者間でセッション鍵等の情報を共有する技術として、以下のようなHMQV、NAXOSが知られている。HMQVの詳細については非特許文献1、NAXOSの詳細については非特許文献2を参照のこと。
『HMQV方式』
HMQVは、次のような方式である。HMQVの概要を図6に示す。
<公開パラメータ>Gをkbitの素数位数pの巡回群、gをGの生成元、H:{0,1}*→ZpとH’:{0,1}*→{0,1}kをハッシュ関数とする。
<鍵生成>鍵生成者は、ユーザUAに対して、長期秘密鍵a∈Zpを計算し、長期公開鍵A=gaを公開する。同様にユーザUBに対して、長期秘密鍵b∈Zpを計算し、長期公開鍵B=gbを公開する。
<鍵交換>長期秘密鍵aをもつユーザUAと、長期秘密鍵bをもつユーザUBは、以下のようにして認証鍵交換を行い共有鍵Kを共有する。
1.ユーザUAは、短期秘密鍵x∈Zpをランダムに選び、短期公開鍵をX=gxとし、ユーザUBに送る。
2.ユーザUBは、Xを受信し、短期秘密鍵y∈Zpをランダムに選び、短期公開鍵をY=gyとし、ユーザUAに送る。
ユーザUBは、d=H(X,UB)、e=H(Y,UA)、σ=(XAd)y+ebを計算し、共有鍵K=H’(σ)を得る。
3.ユーザUAは、Yを受信し、d=H(X,UB)、e=H(Y,UA)、σ=(YBe)x+daを計算し、共有鍵K=H’(σ)を得る。
共有秘密情報は両方のユーザが計算した
σ=(XAd)y+eb=(YBe)x+da=g(x+da)(y+eb)
から得られるので、両者で計算した共有鍵Kは一致する。
このようにして、同一の共有情報である共有鍵Kが共有される。
『NAXOS方式』
NAXOSは、次のような方式である。NAXOSの概要を図7に示す。
<公開パラメータ>Gをkbitの素数位数pの巡回群、gをGの生成元、H:{0,1}→ZpとH’:{0,1}→{0,1}kをハッシュ関数とする。
<鍵生成>鍵生成者は、ユーザUAに対して、長期秘密鍵a∈Zpを計算し、長期公開鍵A=gaを公開する。同様にユーザUBに対して、長期秘密鍵b∈Zpを計算し、長期公開鍵B=gbを公開する。
<鍵交換>長期秘密鍵aをもつユーザUAと、長期秘密鍵bをもつユーザUBは、以下のようにして認証鍵交換を行い共有鍵Kを共有する。
1.ユーザUAは、短期秘密鍵x∈Zpをランダムに選び、x~=H(x,a)を計算し、短期公開鍵をX=gx~とし、ユーザUBに送る。
2.ユーザUBは、Xを受信し、短期秘密鍵y∈Zpをランダムに選び、y~=H(y,b)を計算し、短期公開鍵をY=gy~とし、ユーザUAに送る。
ユーザUBは、σ1=Ay~、σ2=Xb、σ3=Xy~を計算し、共有鍵K=H’(σ123,UA,UB)を得る。
3.ユーザUAは、Yを受信し、σ1=Ya、σ2=Bx~、σ3=Yx~を計算し、共有鍵K=H’(σ123,UA,UB)を得る。
共有秘密情報は両方のユーザが計算した
σ1=gy~a2=gx~b3=gx~y~
から得られるので、両者で計算した共有鍵Kは一致する。
このようにして、同一の共有情報である共有鍵Kが共有される。
Hugo Krawczyk, "HMQV: A High-Performance Secure Diffie-Hellman Protocol", CRYPTO2005 Brian LaMacchia, Kristin Lauter, Anton Mityagin, "Stronger Security of Authenticated Key Exchange", ProvSec2007
背景技術に記載した技術では、安全性を保証するためにいわゆるギャップ問題の難しさを仮定する必要がある。ギャップ問題とは、探索問題を解くために判定オラクルの利用を許した問題のことであり、一般にいわゆる探索問題よりも解きやすい問題となる。よって、ギャップ問題の難しさを仮定するよりも、探索問題の難しさを仮定した方が仮定を弱めることができるので望ましい。
この発明の課題は、探索問題の難しさを仮定することにより安全性が保証される情報共有システム、方法、装置及びプログラムを提供することである。
この発明の一態様による情報共有システムは、nを正の整数とし、1≦i≦nとし、Hi:{0,1}*→Zpをハッシュ関数とし、di,eiを所定の定数とし、Fを予め定められた関数とし、セキュリティパラメータkを正の整数とし、Gをkbitの素数位数pの巡回群、gをGの生成元とし、a1,a2∈Zpを情報共有装置Uの長期秘密鍵とし、A1=ga1,A2=ga2を情報共有装置Uの長期公開鍵とし、b1,b2∈Zpを情報共有装置Uの長期秘密鍵とし、B1=gb1,B2=gb2を情報共有装置Uの長期公開鍵として、短期秘密鍵x∈Zpを生成する短期秘密鍵生成部と、短期公開鍵をX=gxを計算する短期公開鍵生成部と、短期公開鍵Xを情報共有装置Uに送信する送信部と、短期公開鍵Yを情報共有装置Uから受信する受信部と、1≦i≦nのそれぞれのiについてのσi1=(YB1 ei)x+dia1、σi1’=(YB2 ei)x+dia1、σi2=(YB1 ei)x+dia2、σi2’=(YB2 ei)x+dia2を計算する共有秘密情報計算部と、F(σ1111’,σ1212’,…,σn1n1’,σn2n2’)を計算する共有情報生成部と、を含む情報共有装置Uと、短期秘密鍵y∈Zpを生成する短期秘密鍵生成部と、短期公開鍵をY=gyを計算する短期公開鍵生成部と、短期公開鍵Yを情報共有装置Uに送信する送信部と、短期公開鍵Xを情報共有装置Uから受信する受信部と、1≦i≦nのそれぞれのiについてのσi1=(XA1 di)y+eib1、σi1’=(XA1 di)y+eib2、σi2=(XA2 di)y+eib1、σi2’=(XA2 di)y+eib2を計算する共有秘密情報計算部と、F(σ1111’,σ1212’,…,σn1n1’,σn2n2’)を計算する共有情報生成部と、を含む情報共有装置Uと、を含む。
この発明の一態様による情報共有システムは、nを正の整数とし、1≦i≦nとし、Hi:{0,1}*→Zpをハッシュ関数とし、di1,di2,ei1,ei2を所定の定数とし、Fを予め定められた関数とし、セキュリティパラメータkを正の整数とし、Gをkbitの素数位数pの巡回群、gをGの生成元とし、a∈Zpを情報共有装置Uの長期秘密鍵とし、A=gaを情報共有装置Uの長期公開鍵とし、b∈Zpを情報共有装置Uの長期秘密鍵とし、B=gaを情報共有装置Uの長期公開鍵として、短期秘密鍵x1,x2∈Zpを生成する短期秘密鍵生成部と、短期公開鍵をX1=gx1,X2=gx2を計算する短期公開鍵生成部と、短期公開鍵X1,X2を情報共有装置Uに送信する送信部と、短期公開鍵Y1,Y2を情報共有装置Uから受信する受信部と、1≦i≦nのそれぞれのiについてのσi1=(Y1Bei1)x1+di1a、σi1’=(Y2Bei2)x1+di1a、σi2=(Y1Bei1)x2+di2a、σi2’=(Y2Bei2)x2+di2aを計算する共有秘密情報計算部と、F(σ1111’,σ1212’,…,σn1n1’,σn2n2’)を計算する共有情報生成部と、を含む情報共有装置Uと、短期秘密鍵y1,y2∈Zpを生成する短期秘密鍵生成部と、短期公開鍵をY1=gy1,Y2=gy2を計算する短期公開鍵生成部と、短期公開鍵Y1,Y2を情報共有装置Uに送信する送信部と、短期公開鍵X1,X2を情報共有装置Uから受信する受信部と、1≦i≦nのそれぞれのiについてのσi1=(X1Adi1)y1+ei1b、σi1’=(X1Adi1)y2+ei2b、σi2=(X2Adi2)y1+ei1b、σi2’=(X2Adi2)y2+ei2bを計算する共有秘密情報計算部と、F(σ1111’,σ1212’,…,σn1n1’,σn2n2’)を計算する共有情報生成部と、を含む情報共有装置Uと、を含む。
この発明の一態様による情報共有システムは、H:{0,1}*→Zpをハッシュ関数とし、Fを予め定められた関数とし、セキュリティパラメータkを正の整数とし、Gをkbitの素数位数pの巡回群、gをGの生成元とし、a1,a2∈Zpを情報共有装置Uの長期秘密鍵とし、A1=ga1,A2=ga2を情報共有装置Uの長期公開鍵とし、b1,b2∈Zpを情報共有装置Uの長期秘密鍵とし、B1=gb1,B2=gb2を情報共有装置Uの長期公開鍵とし、UAを情報共有装置Uに対応する所定の値とし、UBは情報共有装置Uに対応する所定の値とし、UAを情報共有装置Uに対応する所定の値とし、UBを情報共有装置Uに対応する所定の値として、
短期秘密鍵x∈Zpを生成する短期秘密鍵生成部と、x~1=H(x,a1),x~2=H(x,a2)を計算するハッシュ値計算部と、短期公開鍵X1=gx~1,X2=gx~2を計算する短期公開鍵生成部と、短期公開鍵X1,X2を情報共有装置Uに送信する送信部と、短期公開鍵Y1,Y2を情報共有装置Uから受信する受信部と、σ1=Y1 a1、σ1’=Y1 a2、σ2=Y2 a1、σ2’=Y2 a2、σ3=B1 x~1、σ3’=B1 x~2、σ4=B2 x~1、σ4’=B2 x~2、σ5=Y1 x~1、σ5’=Y2 x~1、σ6=Y1 x~2、σ6’=Y2 x~2を計算する共有秘密情報計算部と、F(σ11’,σ22’,σ33’,σ44’,σ55’,σ66’,UA,UB)を計算する共有情報生成部と、を含む情報共有装置Uと、短期秘密鍵y∈Zpを生成する短期秘密鍵生成部と、y~1=H(y,b1),y~2=H(y,b2)を計算するハッシュ値計算部と、短期公開鍵Y1=gy~1,Y2=gy~2を計算する短期公開鍵生成部と、短期公開鍵Y1,Y2を情報共有装置Uに送信する送信部と、短期公開鍵X1,X2を情報共有装置Uから受信する受信部と、nを正の整数とし、1≦i≦nのそれぞれのiについてのσ1=A1 y~1、σ1’=A2 y~1、σ2=A1 y~2、σ2’=A2 y~2、σ3=X1 b1、σ3’=X2 b1、σ4=X1 b2、σ4’=X2 b2、σ5=X1 y~1、σ5’=X1 y~2、σ6=X2 y~1、σ6’=X2 y~2を計算する共有秘密情報計算部と、F(σ11’,σ22’,σ33’,σ44’,σ55’,σ66’,UA,UB)を計算する共有情報生成部と、を含む情報共有装置Uと、を含む。
この発明の一態様による情報共有システムは、H:{0,1}*→Zpをハッシュ関数とし、Fを予め定められた関数とし、セキュリティパラメータkを正の整数とし、Gをkbitの素数位数pの巡回群、gをGの生成元とし、a∈Zpを情報共有装置Uの長期秘密鍵とし、A=gaを情報共有装置Uの長期公開鍵とし、b∈Zpを情報共有装置Uの長期秘密鍵とし、B=gbを情報共有装置Uの長期公開鍵とし、UAを情報共有装置Uに対応する所定の値とし、UBを情報共有装置Uに対応する所定の値として、短期秘密鍵x1,x2∈Zpを生成する短期秘密鍵生成部と、x~1=H(x1,a)、x~2=H(x2,a)を計算するハッシュ値計算部と、短期公開鍵X1=gx~1,X2=gx~2を計算する短期公開鍵生成部と、短期公開鍵X1,X2を情報共有装置Uに送信する送信部と、短期公開鍵Y1,Y2を情報共有装置Uから受信する受信部と、σ1=Y1 a、σ1’=Y2 a、σ2=Bx~1、σ2’=Bx~2、σ3=Y1 x~1、σ3’=Y1 x~2、σ4=Y2 x~1、σ4’=Y2 x~2を計算する共有秘密情報計算部と、F(σ11’,σ22’,σ33’,σ44’,UA,UB)を計算する共有情報生成部と、を含む情報共有装置Uと、短期秘密鍵y1,y2∈Zpを生成する短期秘密鍵生成部と、y~1=H(y1,b)、y~2=H(y2,b)を計算するハッシュ値計算部と、短期公開鍵Y1=gy~1,Y2=gy~2を計算する短期公開鍵生成部と、短期公開鍵Y1,Y2を情報共有装置Uに送信する送信部と、短期公開鍵X1,X2を情報共有装置Uから受信する受信部と、σ1=Ay~1、σ1’=Ay~2、σ2=X1 b、σ2’=X2 b、σ3=X1 y~1、σ3’=X2 y~1、σ4=X1 y~2、σ4’=X2 y~2を計算する共有秘密情報計算部と、F(σ11’,σ22’,σ33’,σ44’,σ55’,σ66’,UA,UB)を計算する共有情報生成部と、を含む情報共有装置Uと、を含む。
探索問題の難しさを仮定して安全性を保証することができる。
情報共有システムの構成を説明するためのブロック図。 情報共有装置Uの構成を説明するためのブロック図。 情報共有装置Uの構成を説明するためのブロック図。 情報共有装置Uの処理を説明するためのフローチャート。 情報共有装置Uの処理を説明するためのフローチャート。 従来のHMQVの概要を説明するための図。 長期鍵二重化HMQVの概要を説明するための図。 短期鍵二重化HMQVの概要を説明するための図。 従来のNAXOSの概要を説明するための図。 長期鍵二重化NAXOSの概要を説明するための図。 短期鍵二重化NAXOSの概要を説明するための図。
以下、図面を参照してこの発明の一実施形態を説明する。
[第一実施形態]
まず、第一実施形態のアルゴリズムである長期鍵二重化HMQVについて説明する。
『長期鍵二重化HMQV』
長期鍵二重化HMQVは、次のような方式である。長期鍵二重化HMQVの概要を図7に示す。
<公開パラメータ>Gをkbitの素数位数pの巡回群、gをGの生成元、Hi:{0,1}*→Zp及びH’:{0,1}*→{0,1}kをハッシュ関数とする。kは、セキュリティパラメータであり正の整数である。また、1≦i≦nでありnは正の整数である。
<鍵生成>鍵生成者は、ユーザUAに対して、長期秘密鍵a1,a2∈Zpを計算し、長期公開鍵A1=ga1,A2=ga2を公開する。
ga1の右肩の「a1」は「a1」を意味する。このように、この明細書、特許請求の範囲及び図面において、ある文字の上付きの文字及び数字の一部がその上付きの中で更に上付き又は下付きである場合がある点に留意する。同様に、ある文字の下付きの文字及び数字の一部がその下付きの中で更に上付き又は下付きである場合がある点に留意する。
鍵生成者は、同様にユーザUBに対して、長期秘密鍵b1,b2∈Zpを計算し、長期公開鍵B1=gb1,B2=gb2を公開する。
<鍵交換>長期秘密鍵a1,a2をもつユーザUAと、長期秘密鍵b1,b2をもつユーザUBは、以下のようにして認証鍵交換を行い共有情報Kを共有する。共有情報Kは、例えば共有鍵として用いられる。
1.ユーザUAは、短期秘密鍵x∈Zpをランダムに選び、短期公開鍵をX=gxとし、ユーザUBに送る。
2.ユーザUBは、Xを受信し、短期秘密鍵y∈Zpをランダムに選び、短期公開鍵をY=gyとし、ユーザUAに送る。
ユーザUBは、1≦i≦nについて、di=Hi(X,UB)、ei=Hi(Y,UA)、σi1=(XA1 di)y+eib1、σi1’=(XA1 di)y+eib2、σi2=(XA2 di)y+eib1、σi2’=(XA2 di)y+eib2を計算し、共有情報K=H’(σ1111’, σ1212’,…,σn1n1’,σn2n2’)を得る。ただし、nは正の整数。diとeiは、di=Hi(X,UB)、ei=Hi(Y,UA)以外の事前に定められた定数であっても良い。
3.ユーザUAは、Yを受信し、1≦i≦nについて、di=Hi(X,UB)、ei=Hi(Y,UA)、σi1=(YB1 ei)x+dia1、σi1’=(YB2 ei)x+dia1、σi2=(YB1 ei)x+dia2、σi2’=(YB2 ei)x+dia2を計算し、共有情報K=H’(σ1111’,σ1212’,…,σn1n1’,σn2n2’)を得る。diとeiは、di=Hi(X,UB)、ei=Hi(Y,UA)以外の事前に定められた定数であっても良い。
共有秘密情報は両方のユーザが計算した
σi1=g(x+dia1)(y+eib1)i1’=g(x+dia1)(y+eib2)i2=g(x+dia2)(y+eib1)i2’=g(x+dia2)(y+eib2)
から得られるので、両者で計算した共有情報Kは一致する。
次に、上記『長期鍵二重化HMQV』の欄で説明したアルゴリズムを実行する情報共有システムの一例を説明する。この情報共有システムは、図1に例示するように、情報共有装置U及び情報共有装置Uから構成される。
情報共有装置Uが『長期鍵二重化HMQV』の欄で説明したユーザUに対応し、情報共有装置Uが『長期鍵二重化HMQV』の欄で説明したユーザUに対応する。情報共有装置Uは図4に例示した処理を行い、情報共有装置Uは図5に例示した処理を行う。
情報共有装置Uは、図2に示すように、記憶部10、短期秘密鍵生成部11、短期公開鍵生成部12、送信部13、受信部14、共有秘密情報生成部15、共有情報生成部16を例えば含む。
情報共有装置Uは、図3に示すように、記憶部20、短期秘密鍵生成部21、短期公開鍵生成部22、送信部23、受信部24、共有秘密情報生成部25、共有情報生成部26を例えば含む。
情報共有の前に、ハッシュ関数Hi、セキュリティパラメータk、群G及び生成元g等の情報共有のために必要なパラメータが設定され、必要に応じて記憶部10及び記憶部20に記憶されているものとする。
また、情報共有の前に、情報共有装置Uには、長期秘密鍵a1,a2及び長期公開鍵A1,A2が予め定められ、必要に応じて記憶部10に記憶されているものとする。同様に、情報共有の前に、情報共有装置Uには、長期秘密鍵b1,b2及び長期公開鍵B1,B2が予め定められ、必要に応じて記憶部10に記憶されているものとする。長期秘密鍵a1,a2,b1,b2及び長期公開鍵A1,A2,B1,B2の計算は、鍵生成装置3(図1)により行われる。
これらの記憶部10及び20に記憶されたデータは、適宜読み出されて以下に説明する計算が行われる。
情報共有装置Uの短期秘密鍵生成部11(図2)は、短期秘密鍵x∈Zpを生成する(ステップA1)。例えば、Zpの中から一様ランダムに元を選び短期秘密鍵xとする。求める安全性のレベルが高くない場合には、一様ランダムに選択する必要はない。生成された短期秘密鍵xは、短期公開鍵生成部12に送信される。
情報共有装置Uの短期公開鍵生成部12は、短期秘密鍵xを用いて短期公開鍵X=gxを計算する(ステップA2)。短期公開鍵Xは、共有秘密情報生成部15及び送信部13に送信される。
情報共有装置Uの送信部13は、短期公開鍵Xを情報共有装置Uに送信する(ステップA3)。
情報共有装置Uの短期秘密鍵生成部21(図3)は、短期秘密鍵y∈Zpを生成する(ステップB1)。例えば、Zpの中から一様ランダムに元を選び短期秘密鍵yとする。求める安全性のレベルが高くない場合には、一様ランダムに選択する必要はない。生成された短期秘密鍵yは、短期公開鍵生成部22に送信される。
情報共有装置Uの短期公開鍵生成部22は、短期秘密鍵yを用いて短期公開鍵Y=gyを計算する(ステップB2)。短期公開鍵Yは、共有秘密情報生成部25及び送信部23に送信される。
情報共有装置Uの送信部23は、短期公開鍵Yを情報共有装置Uに送信する(ステップB4)。
情報共有装置Uの受信部24は、短期公開鍵Xを情報共有装置Uから受信する(ステップB5)。
情報共有装置Uの共有秘密情報生成部25は、1≦i≦nのそれぞれのiについての共有秘密情報σi1=(XA1 di)y+eib1、σi1’=(XA1 di)y+eib2、σi2=(XA2 di)y+eib1、σi2’=(XA2 di)y+eib2を計算する(ステップB6)。すなわち、計4n個の共有秘密情報σ11,σ11’,σ21,σ21’,…σ1n,σ1n’,σ2n,σ2n’を計算する。計算された共有秘密情報は、共有情報生成部26に送信される。
ここで、di及びeiは、所定の定数である。例えば、di=Hi(X,UB),ei=Hi(Y,UA)である。第一実施形態の情報共有装置Uは、補助情報di=Hi(X,UB)、ei=Hi(Y,UA)を計算する補助情報生成部28を有していても良い。
情報共有装置Uの共有情報生成部26は、H’(σ1111’,σ1212’,…,σn1n1’,σn2n2’)を計算して、その計算結果を共有情報Kとする(ステップB7)。この共有情報Kは、例えば認証鍵として用いられる。
情報共有装置Uの受信部14(図2)は、短期公開鍵Yを情報共有装置Uから受信する(ステップA4)。
情報共有装置Uの共有秘密情報生成部15は、1≦i≦nのそれぞれのiについてのσi1=(YB1 ei)x+dia1、σi1’=(YB2 ei)x+dia1、σi2=(YB1 ei)x+dia2、σi2’=(YB2 ei)x+dia2を計算する(ステップA5)。すなわち、計4n個の共有秘密情報σ11,σ11’,σ21,σ21’,…σ1n,σ1n’,σ2n,σ2n’を計算する。計算された共有秘密情報は、共有情報生成部16に送信される。
ここで、di及びeiは、所定の定数である。例えば、di=Hi(X,UB),ei=Hi(Y,UA)である。第一実施形態の情報共有装置Uは、補助情報di=Hi(X,UB)、ei=Hi(Y,UA)を計算する補助情報生成部18を有していても良い。
情報共有装置Uの共有情報生成部16は、H’(σ1111’,σ1212’,…,σn1n1’,σn2n2’)を計算して、その計算結果を共有情報Kとする(ステップA6)。この共有情報Kは、例えば認証鍵として用いられる。
このようにして、情報共有が行われる。
[第二実施形態]
まず、第二実施形態のアルゴリズムである長期鍵二重化HMQVについて説明する。
『短期鍵二重化HMQV』
短期鍵二重化HMQVは、次のような方式である。短期鍵二重化HMQVの概要を図8に示す。
<公開パラメータ>Gをkbitの素数位数pの巡回群、gをGの生成元、Hi:{0,1}*→Zp及びH’:{0,1}*→{0,1}kをハッシュ関数とする。kは、セキュリティパラメータであり正の整数である。また、1≦i≦nでありnは正の整数である。
<鍵生成>鍵生成者は、ユーザUAに対して、長期秘密鍵a∈Zpを計算し、長期公開鍵A=gaを公開する。
<鍵交換>長期秘密鍵aをもつユーザUAと、長期秘密鍵bをもつユーザUBは、以下のようにして認証鍵交換を行い共有情報Kを共有する。共有情報Kは、例えば共有鍵として用いられる。
1.ユーザUAは、短期秘密鍵x1,x2∈Zpをランダムに選び、短期公開鍵をX1=gx1,X2=gx2とし、ユーザUBに送る。
2.ユーザUBは、X1,X2を受信し、短期秘密鍵y1,y2∈Zpをランダムに選び、短期公開鍵をY1=gy1,Y2=gy2とし、ユーザUAに送る。
ユーザUBは、1≦i≦nについて、di1=Hi(X1,UB)、di2=Hi(X2,UB)、ei1=Hi(Y1,UA)、ei2=Hi(Y2,UA)、σi1=(X1Adi1)y1+ei1b、σi1’=(X1Adi1)y2+ei2b、σi2=(X2Adi2)y1+ei1b、σi2’=(X2Adi2)y2+ei2bを計算し、共有情報K=H’(σ1111’,σ1212’,…,σn1n1’,σn2n2’)を得る。ただし、nは正の整数。di1,di2,ei1,ei2は、di1=Hi(X1,UB)、di2=Hi(X2,UB)、ei1=Hi(Y1,UA)、ei2=Hi(Y2,UA)以外の事前に定められた定数であっても良い。
3.ユーザUAは、Y1,Y2を受信し、1≦i≦nについて、di1=Hi(X1,UB)、di2=Hi(X2,UB)、ei1=Hi(Y1,UA)、ei2=Hi(Y2,UA)、σi1=(Y1Bei1)x1+di1a、σi1’=(Y2Bei2)x1+di1a、σi2=(Y1Bei1)x2+di2a、σi2’=(Y2Bei2)x2+di2aを計算し、共有鍵K=H’(σ1111’,σ1212’,…,σn1n1’,σn2n2’)を得る。ただし、nは正の整数。di1,di2,ei1,ei2は、di1=Hi(X1,UB)、di2=Hi(X2,UB)、ei1=Hi(Y1,UA)、ei2=Hi(Y2,UA)以外の事前に定められた定数であっても良い。
共有秘密情報は両方のユーザが計算した
σi1=g(x1+di1a)(y1+ei1b)i1’=g(x1+di1a)(y2+ei2b)i2=g(x2+di2a)(y1+ei1b)i2’=g(x2+di2a)(y2+ei2b)
から得られるので、両者で計算した共有情報Kは一致する。
次に、上記『短期鍵二重化HMQV』の欄で説明したアルゴリズムを実行する情報共有システムの一例を説明する。この情報共有システムは、図1に例示するように、情報共有装置U及び情報共有装置Uから構成される。
情報共有装置Uが『短期鍵二重化HMQV』の欄で説明したユーザUに対応し、情報共有装置Uが『短期鍵二重化HMQV』の欄で説明したユーザUに対応する。情報共有装置Uは図4に例示した処理を行い、情報共有装置Uは図5に例示した処理を行う。
情報共有装置Uは、図2に示すように、記憶部10、短期秘密鍵生成部11、短期公開鍵生成部12、送信部13、受信部14、共有秘密情報生成部15、共有情報生成部16を例えば含む。
情報共有装置Uは、図3に示すように、記憶部20、短期秘密鍵生成部21、短期公開鍵生成部22、送信部23、受信部24、共有秘密情報生成部25、共有情報生成部26を例えば含む。
情報共有の前に、ハッシュ関数Hi、セキュリティパラメータk、群G及び生成元g等の情報共有のために必要なパラメータが設定され、必要に応じて記憶部10及び記憶部20に記憶されているものとする。
また、情報共有の前に、情報共有装置Uには、長期秘密鍵a及び長期公開鍵Aが予め定められ、必要に応じて記憶部10に記憶されているものとする。同様に、情報共有の前に、情報共有装置Uには、長期秘密鍵b及び長期公開鍵Bが予め定められ、必要に応じて記憶部10に記憶されているものとする。長期秘密鍵a,b及び長期公開鍵A,Bの計算は、鍵生成装置3(図1)により行われる。
これらの記憶部10及び20に記憶されたデータは、適宜読み出されて以下に説明する計算が行われる。
情報共有装置Uの短期秘密鍵生成部11(図2)は、短期秘密鍵x1,x2∈Zpを生成する(ステップA1)。例えば、Zpの中から一様ランダムに2つの元を選びそれぞれ短期秘密鍵x1,x2とする。求める安全性のレベルが高くない場合には、一様ランダムに選択する必要はない。生成された短期秘密鍵x1,x2は、短期公開鍵生成部12に送信される。
情報共有装置Uの短期公開鍵生成部12は、短期秘密鍵x1,x2を用いて短期公開鍵X1=gx1,X2=gx2を計算する(ステップA2)。短期公開鍵X1,X2は、共有秘密情報生成部15及び送信部13に送信される。
情報共有装置Uの送信部13は、短期公開鍵X1,X2を情報共有装置Uに送信する(ステップA3)。
情報共有装置Uの短期秘密鍵生成部21(図3)は、短期秘密鍵y1,y2∈Zpを生成する(ステップB1)。例えば、Zpの中から一様ランダムに2つの元を選びそれぞれ短期秘密鍵y1,y2とする。求める安全性のレベルが高くない場合には、一様ランダムに選択する必要はない。生成された短期秘密鍵yは、短期公開鍵生成部22に送信される。
情報共有装置Uの短期公開鍵生成部22は、短期秘密鍵y1,y2を用いて短期公開鍵Y1=gy1,Y2=gy2を計算する(ステップB2)。短期公開鍵Y1=gy1,Y2=gy2は、共有秘密情報生成部25及び送信部23に送信される。
情報共有装置Uの送信部23は、短期公開鍵Y1,Y2を情報共有装置Uに送信する(ステップB4)。
情報共有装置Uの受信部24は、短期公開鍵X1,X2を情報共有装置Uから受信する(ステップB5)。
情報共有装置Uの共有秘密情報生成部25は、1≦i≦nのそれぞれのiについての共有秘密情報σi1=(X1Adi1)y1+ei1b、σi1’=(X1Adi1)y2+ei2b、σi2=(X2Adi2)y1+ei1b、σi2’=(X2Adi2)y2+ei2bを計算する(ステップB6)。すなわち、計4n個の共有秘密情報σ11,σ11’,σ21,σ21’,…σ1n,σ1n’,σ2n,σ2n’を計算する。計算された共有秘密情報は、共有情報生成部26に送信される。
ここで、di1,di2,ei1,ei2は、所定の定数である。例えば、di1=Hi(X1,UB)、di2=Hi(X2,UB)、ei1=Hi(Y1,UA)、ei2=Hi(Y2,UA)である。第二実施形態の情報共有装置Uは、補助情報di=Hi(X,UB)、ei=Hi(Y,UA)を計算する補助情報生成部28を有していても良い。
情報共有装置Uの共有情報生成部26は、H’(σ1111’,σ1212’,…,σn1n1’,σn2n2’)を計算して、その計算結果を共有情報Kとする(ステップB7)。この共有情報Kは、例えば認証鍵として用いられる。
情報共有装置Uの受信部14(図2)は、短期公開鍵Yを情報共有装置Uから受信する(ステップA4)。
情報共有装置Uの共有秘密情報生成部15は、1≦i≦nのそれぞれのiについてのσi1=(Y1Bei1)x1+di1a、σi1’=(Y2Bei2)x1+di1a、σi2=(Y1Bei1)x2+di2a、σi2’=(Y2Bei2)x2+di2aを計算する(ステップA5)。すなわち、計4n個の共有秘密情報σ11,σ11’,σ21,σ21’,…σ1n,σ1n’,σ2n,σ2n’を計算する。計算された共有秘密情報は、共有情報生成部16に送信される。
ここで、di1,di2,ei1,ei2は、所定の定数である。例えば、di1=Hi(X1,UB)、di2=Hi(X2,UB)、ei1=Hi(Y1,UA)、ei2=Hi(Y2,UA)である。第二実施形態の情報共有装置Uは、補助情報di1=Hi(X1,UB)、di2=Hi(X2,UB)、ei1=Hi(Y1,UA)、ei2=Hi(Y2,UA)を計算する補助情報生成部18を有していても良い。
情報共有装置Uの共有情報生成部16は、H’(σ1111’,σ1212’,…,σn1n1’,σn2n2’)を計算して、その計算結果を共有情報Kとする(ステップA6)。この共有情報Kは、例えば認証鍵として用いられる。
このようにして、情報共有が行われる。
[第三実施形態]
まず、第三実施形態のアルゴリズムである長期鍵二重化NAXOSについて説明する。
『長期鍵二重化NAXOS』
長期鍵二重化NAXOSは、次のような方式である。長期鍵二重化NAXOSの概要を図9に示す。
<公開パラメータ>Gをkbitの素数位数pの巡回群、gをGの生成元、H:{0,1}*→Zp及びH’:{0,1}*→{0,1}kをハッシュ関数とする。
<鍵生成>鍵生成者は、ユーザUAに対して、長期秘密鍵a1,a2∈Zpを計算し、長期公開鍵A1=ga1,A2=ga2を公開する。鍵生成者は、同様にユーザUBに対して、長期秘密鍵b1,b2∈Zpを計算し、長期公開鍵B1=gb1,B2=gb2を公開する。
<鍵交換>長期秘密鍵a1,a2をもつユーザUAと、長期秘密鍵b1,b2をもつユーザUBは、以下のようにして認証鍵交換を行い共有情報Kを共有する。共有情報Kは、例えば共有鍵として用いられる。
1.ユーザUAは、短期秘密鍵x∈Zpをランダムに選び、x~1=H(x,a1),x~2=H(x,a2)を計算し、短期公開鍵をX1=gx~1,X2=gx~2とし、ユーザUBに送る。
2.ユーザUBは、X1,X2を受信し、短期秘密鍵y∈Zpをランダムに選び、y~1=H(y,b1), y~2=H(y,b2)を計算し、短期公開鍵をY1=gy~1,Y2=gy~2とし、ユーザUAに送る。
ユーザUBは、σ1=A1 y~1、σ1’=A2 y~1、σ2=A1 y~2、σ2’=A2 y~2、σ3=X1 b1、σ3’=X2 b1、σ4=X1 b2、σ4’=X2 b2、σ5=X1 y~1、σ5’=X1 y~2、σ6=X2 y~1、σ6’=X2 y~2を計算し、K=H’(σ11’,σ22’,σ33’,σ44’,σ55’,σ66’,UA,UB)を得る。
UAは、ユーザUA(情報共有装置U)に対応する所定の値である。同様に、UBは、ユーザUB(情報共有装置U)に対応する所定の値である。
3.ユーザUAは、Yを受信し、σ1=Y1 a1、σ1’=Y1 a2、σ2=Y2 a1、σ2’=Y2 a2、σ3=B1 x~1、σ3’=B1 x~2、σ4=B2 x~1、σ4’=B2 x~2、σ5=Y1 x~1、σ5’=Y2 x~1、σ6=Y1 x~2、σ6’=Y2 x~2を計算し、共有情報K=H’(σ11’,σ22’,σ33’,σ44’,σ55’,σ66’,UA,UB)を得る。
共有秘密情報は両方のユーザが計算した
σ1=gy~1a11’=gy~1a22=gy~2a12’=gy~2a23=gx~1b13’=gx~1b24=gx~2b14’=gx~2b25=gx~1y~15’=gx~1y~26=gx~2y~16’=gx~2y~2から得られるので、両者で計算した共有鍵K は一致する。
次に、上記『長期鍵二重化NAXOS』の欄で説明したアルゴリズムを実行する情報共有システムの一例を説明する。この情報共有システムは、図1に例示するように、情報共有装置U及び情報共有装置Uから構成される。
情報共有装置Uが『長期鍵二重化NAXOS』の欄で説明したユーザUに対応し、情報共有装置Uが『長期鍵二重化NAXOS』の欄で説明したユーザUに対応する。情報共有装置Uは図4に例示した処理を行い、情報共有装置Uは図5に例示した処理を行う。
情報共有装置Uは、図2に示すように、記憶部10、短期秘密鍵生成部11、短期公開鍵生成部12、送信部13、受信部14、共有秘密情報生成部15、共有情報生成部16、破線で示したハッシュ値計算部17を例えば含む。
情報共有装置Uは、図3に示すように、記憶部20、短期秘密鍵生成部21、短期公開鍵生成部22、送信部23、受信部24、共有秘密情報生成部25、共有情報生成部26、破線で示したハッシュ値計算部27を例えば含む。
情報共有の前に、ハッシュ関数H、セキュリティパラメータk、群G及び生成元g等の情報共有のために必要なパラメータが設定され、必要に応じて記憶部10及び記憶部20に記憶されているものとする。
また、情報共有の前に、情報共有装置Uには、長期秘密鍵a1,a2及び長期公開鍵A1,A2が予め定められ、必要に応じて記憶部10に記憶されているものとする。同様に、情報共有の前に、情報共有装置Uには、長期秘密鍵b1,b2及び長期公開鍵B1,B2が予め定められ、必要に応じて記憶部10に記憶されているものとする。長期秘密鍵a1,a2,b1,b2及び長期公開鍵A1,A2,B1,B2の計算は、鍵生成装置3(図1)により行われる。
これらの記憶部10及び20に記憶されたデータは、適宜読み出されて以下に説明する計算が行われる。
情報共有装置Uの短期秘密鍵生成部11(図2)は、短期秘密鍵x∈Zpを生成する(ステップA1)。例えば、Zpの中から一様ランダムに元を選び短期秘密鍵xとする。求める安全性のレベルが高くない場合には、一様ランダムに選択する必要はない。生成された短期秘密鍵xは、ハッシュ値計算部17に送信される。
情報共有装置Uのハッシュ値計算部17は、x~1=H(x,a1),x~2=H(x,a2)を計算する(ステップA7)。計算されたハッシュ値x~1,x~2は、短期公開鍵生成部12及び共有秘密情報生成部15に送信される。
情報共有装置Uの短期公開鍵生成部12は、計算されたハッシュ値x~1,x~2をそれぞれ用いて短期公開鍵X1=gx~1,X2=gx~2を計算する(ステップA2)。短期公開鍵X1,X2は、共有秘密情報生成部15及び送信部13に送信される。
情報共有装置Uの送信部13は、短期公開鍵X1,X2を情報共有装置Uに送信する(ステップA3)。
情報共有装置Uの短期秘密鍵生成部21(図3)は、短期秘密鍵y∈Zpを生成する(ステップB1)。例えば、Zpの中から一様ランダムに元を選び短期秘密鍵yとする。求める安全性のレベルが高くない場合には、一様ランダムに選択する必要はない。生成された短期秘密鍵yは、ハッシュ値計算部27に送信される。
情報共有装置Uのハッシュ値計算部27は、y~1=H(y,b1),y~2=H(y,b2)を計算する。計算されたハッシュ値y~1,y~2は、短期公開鍵生成部22及び共有秘密情報生成部25に送信される。
情報共有装置Uの短期公開鍵生成部22は、ハッシュ値y~1,y~2をそれぞれ用いて短期公開鍵Y1=gy~1,Y2=gy~2を計算する(ステップB7)。短期公開鍵Y1,Y2は、共有秘密情報生成部25及び送信部23に送信される。
情報共有装置Uの送信部23は、短期公開鍵Y1,Y2を情報共有装置Uに送信する(ステップB4)。
情報共有装置Uの受信部24は、短期公開鍵X1,X2を情報共有装置Uから受信する(ステップB5)。
情報共有装置Uの共有秘密情報生成部25は、12個の共有秘密情報σ1=A1 y~1、σ1’=A2 y~1、σ2=A1 y~2、σ2’=A2 y~2、σ3=X1 b1、σ3’=X2 b1、σ4=X1 b2、σ4’=X2 b2、σ5=X1 y~1、σ5’=X1 y~2、σ6=X2 y~1、σ6’=X2 y~2を計算する(ステップB6)。計算された共有秘密情報は、共有情報生成部26に送信される。
情報共有装置Uの共有情報生成部26は、H’(σ11’,σ22’,σ33’,σ44’,σ55’,σ66’,UA,UB)を計算して、その計算結果を共有情報Kとする(ステップB7)。この共有情報Kは、例えば認証鍵として用いられる。
情報共有装置Uの受信部14(図2)は、短期公開鍵Y1,Y2を情報共有装置Uから受信する(ステップA4)。
情報共有装置Uの共有秘密情報生成部15は、σ1=Y1 a1、σ1’=Y1 a2、σ2=Y2 a1、σ2’=Y2 a2、σ3=B1 x~1、σ3’=B1 x~2、σ4=B2 x~1、σ4’=B2 x~2、σ5=Y1 x~1、σ5’=Y2 x~1、σ6=Y1 x~2、σ6’=Y2 x~2を計算する(ステップA5)。計算された共有秘密情報は、共有情報生成部16に送信される。
情報共有装置Uの共有情報生成部16は、H’(σ11’,σ22’,σ33’,σ44’,σ55’,σ66’,UA,UB)を計算して、その計算結果を共有情報Kとする(ステップA6)。この共有情報Kは、例えば認証鍵として用いられる。
このようにして、情報共有が行われる。
[第四実施形態]
まず、第四実施形態のアルゴリズムである短期鍵二重化NAXOSについて説明する。
『短期鍵二重化NAXOS』
短期鍵二重化NAXOSは、次のような方式である。短期鍵二重化NAXOSの概要を図10に示す。
<公開パラメータ>Gをkbitの素数位数pの巡回群、gをGの生成元、H:{0,1}*→Zp及びH’:{0,1}*→{0,1}kをハッシュ関数とする。
<鍵生成>鍵生成者は、ユーザUAに対して、長期秘密鍵a∈Zpを計算し、長期公開鍵A=gaを公開する。同様に、鍵生成者は、ユーザUBに対して、長期秘密鍵b∈Zpを計算し、長期公開鍵B=gbを公開する。
<鍵交換>長期秘密鍵aをもつユーザUAと、長期秘密鍵bをもつユーザUBは、以下のようにして認証鍵交換を行い共有情報Kを共有する。
1.ユーザUAは、短期秘密鍵x1,x2∈Zpをランダムに選び、x~1=H(x1,a)、x~2=H(x2,a)を計算し、短期公開鍵をX1=gx~1,X2=gx~2とし、ユーザUBに送る。
2.ユーザUBは、X1,X2を受信し、短期秘密鍵y1,y2∈Zpをランダムに選び、y~1=H(y1,b)、y~2=H(y2,b)を計算し、短期公開鍵をY1=gy~1,Y2=gy~2とし、ユーザUAに送る。
ユーザUBは、σ1=Ay~1、σ1’=Ay~2、σ2=X1 b、σ2’=X2 b、σ3=X1 y~1、σ3’=X2 y~1、σ4=X1 y~2、σ4’=X2 y~2を計算し、共有情報K=H’(σ11’,σ22’,σ33’,σ44’,UA,UB)を得る。
UAは、ユーザUA(情報共有装置U)に対応する所定の値である。同様に、UBは、ユーザUB(情報共有装置U)に対応する所定の値である。
3.ユーザUAは、Y1,Y2を受信し、σ1=Y1 a、σ1’=Y2 a、σ2=Bx~1、σ2’=Bx~2、σ3=Y1 x~1、σ3’=Y1 x~2、σ4=Y2 x~1、σ4’=Y2 x~2を計算し、共有情報K=H′(σ11’,σ22’,σ33’,σ44’,UA,UB)を得る。
共有秘密情報は両方のユーザが計算した
σ1=gy~1a1’=gy~2a2=gx~1b2’=gx~2b3=gx~1y~13’=gx~2y~14=gx~1y~24’=gx~2y~2
から得られるので、両者で計算した共有情報Kは一致する。
次に、上記『短期鍵二重化NAXOS』の欄で説明したアルゴリズムを実行する情報共有システムの一例を説明する。この情報共有システムは、図1に例示するように、情報共有装置U及び情報共有装置Uから構成される。
情報共有装置Uが『短期鍵二重化NAXOS』の欄で説明したユーザUに対応し、情報共有装置Uが『短期鍵二重化NAXOS』の欄で説明したユーザUに対応する。情報共有装置Uは図4に例示した処理を行い、情報共有装置Uは図5に例示した処理を行う。
情報共有装置Uは、図2に示すように、記憶部10、短期秘密鍵生成部11、短期公開鍵生成部12、送信部13、受信部14、共有秘密情報生成部15、共有情報生成部16、破線で示したハッシュ値計算部17を例えば含む。
情報共有装置Uは、図3に示すように、記憶部20、短期秘密鍵生成部21、短期公開鍵生成部22、送信部23、受信部24、共有秘密情報生成部25、共有情報生成部26、破線で示したハッシュ値計算部27を例えば含む。
情報共有の前に、ハッシュ関数H、セキュリティパラメータk、群G及び生成元g等の情報共有のために必要なパラメータが設定され、必要に応じて記憶部10及び記憶部20に記憶されているものとする。
また、情報共有の前に、情報共有装置Uには、長期秘密鍵a及び長期公開鍵Aが予め定められ、必要に応じて記憶部10に記憶されているものとする。同様に、情報共有の前に、情報共有装置Uには、長期秘密鍵b及び長期公開鍵Bが予め定められ、必要に応じて記憶部10に記憶されているものとする。長期秘密鍵a,b及び長期公開鍵A,Bの計算は、鍵生成装置3(図1)により行われる。
これらの記憶部10及び20に記憶されたデータは、適宜読み出されて以下に説明する計算が行われる。
情報共有装置Uの短期秘密鍵生成部11(図2)は、短期秘密鍵x1,x2∈Zpを生成する(ステップA1)。例えば、Zpの中から一様ランダムに2つの元を選びそれぞれ短期秘密鍵x1,x2とする。求める安全性のレベルが高くない場合には、一様ランダムに選択する必要はない。生成された短期秘密鍵x1,x2は、ハッシュ値計算部17に送信される。
情報共有装置Uのハッシュ値計算部17は、x~1=H(x1,a),x~2=H(x2,a)を計算する(ステップA7)。計算されたハッシュ値x~1,x~2は、短期公開鍵生成部12及び共有秘密情報生成部15に送信される。
情報共有装置Uの短期公開鍵生成部12は、計算されたハッシュ値x~1,x~2をそれぞれ用いて短期公開鍵X1=gx~1,X2=gx~2を計算する(ステップA2)。短期公開鍵X1,X2は、共有秘密情報生成部15及び送信部13に送信される。
情報共有装置Uの送信部13は、短期公開鍵X1,X2を情報共有装置Uに送信する(ステップA3)。
情報共有装置Uの短期秘密鍵生成部21(図3)は、短期秘密鍵y1,y2∈Zpを生成する(ステップB1)。例えば、Zpの中から一様ランダムに2つの元を選び短期秘密鍵y1,y2とする。求める安全性のレベルが高くない場合には、一様ランダムに選択する必要はない。生成された短期秘密鍵y1,y2は、ハッシュ値計算部27に送信される。
情報共有装置Uのハッシュ値計算部27は、y~1=H(y1,b),y~2=H(y2,b)を計算する。計算されたハッシュ値y~1,y~2は、短期公開鍵生成部22及び共有秘密情報生成部25に送信される。
情報共有装置Uの短期公開鍵生成部22は、ハッシュ値y~1,y~2をそれぞれ用いて短期公開鍵Y1=gy~1,Y2=gy~2を計算する(ステップB7)。短期公開鍵Y1,Y2は、共有秘密情報生成部25及び送信部23に送信される。
情報共有装置Uの送信部23は、短期公開鍵Y1,Y2を情報共有装置Uに送信する(ステップB4)。
情報共有装置Uの受信部24は、短期公開鍵X1,X2を情報共有装置Uから受信する(ステップB5)。
情報共有装置Uの共有秘密情報生成部25は、計8個の共有秘密情報σ1=Ay~1、σ1’=Ay~2、σ2=X1 b、σ2’=X2 b、σ3=X1 y~1、σ3’=X2 y~1、σ4=X1 y~2、σ4’=X2 y~2を計算する(ステップB6)。計算された共有秘密情報は、共有情報生成部26に送信される。
情報共有装置Uの共有情報生成部26は、H’(σ11’,σ22’,σ33’,σ44’,UA,UB)を計算して、その計算結果を共有情報Kとする(ステップB7)。この共有情報Kは、例えば認証鍵として用いられる。
情報共有装置Uの受信部14(図2)は、短期公開鍵Y1,Y2を情報共有装置Uから受信する(ステップA4)。
情報共有装置Uの共有秘密情報生成部15は、σ1=Y1 a~1、σ1’=Y1 a~2、σ2=Y2 a~1、σ2’=Y2 a~2、σ3=B1 x~1、σ3’=B1 x~2、σ4=B2 x~1、σ4’=B2 x~2、σ5=Y1 x~1、σ5’=Y2 x~1、σ6=Y1 x~2、σ6’=Y2 x~2を計算する(ステップA5)。計算された共有秘密情報は、共有情報生成部16に送信される。
情報共有装置Uの共有情報生成部16は、H’(σ11’,σ22’,σ33’,σ44’,UA,UB)を計算して、その計算結果を共有情報Kとする(ステップA6)。この共有情報Kは、例えば認証鍵として用いられる。
このようにして、情報共有が行われる。
[変形例等]
情報共有装置Uの各部間のデータのやり取りは直接行われてもよいし、記憶部10を介して行われてもよい。同様に、情報共有装置Uの各部間のデータのやり取りは直接行われてもよいし、記憶部20を介して行われてもよい。
上記の例では、共有情報生成部16及び共有情報生成部26は、ハッシュ関数H’を用いたが、任意の予め定められた関数Fを用いて共有情報を求めてもよい。すなわち、第一実施形態及び第二実施形態においてはF(σ1111’,σ1212’,…,σn1n1’,σn2n2’)を計算してその計算結果を共有情報kとしても良いし、第三実施形態においてはF(σ11’,σ22’,σ33’,σ44’,σ55’,σ66’,UA,UB)を計算してその計算結果を共有情報kとしても良いし、第四実施形態においては、F(σ11’,σ22’,σ33’,σ44’,UA,UB)を計算してその計算結果を共有情報kとしても良い。
その他、この発明は上述の実施形態に限定されるものではない。例えば、上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。
また、上述の構成をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。
その他、この発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
[安全性の証明]
このように、長期秘密鍵又は短期秘密鍵を二重化し、共有情報を計算するための共有秘密情報であって長期秘密鍵又は短期秘密鍵に由来する共有秘密情報を短期秘密鍵ごとに計算する。これにより、ギャップ問題の難しさを仮定することなく探索問題の難しさをのみを仮定することで安全性を証明することができる。以下、その安全性の証明の概要を説明する。
まず、探索問題(探索Diffie-Hellman問題)及びギャップ問題(ギャップDiffie-Hellman問題)の定義を説明する。
探索Diffie-Hellman問題:κをセキュリティパラメータとし、pをκビット素数とする。Gをgを生成元とする位数pの巡回群とする。Diffie-Hellman関数CDH:G2→GをCDH(gu,gv)=guvとして定義し、判定Diffie-Hellman述語オラクルDDH:G3→{0,1}を(gu,gv,gw)を入力としuv=w mod pが成り立つとき1を出力し、そうでなければ0を出力する関数として定義する。
解答者Sは、一様ランダムに選ばれたU=gu,V=gv∈Gと判定Diffie-Hellman述語オラクルDDH(・,・,・)へのアクセスを入力され、CDH(U,V)の出力を試みる。解答者Sのアドバンテージを次のように定義する。
ADVGDH(S)=Pr[U,V∈G,SDDH(・,・,・)(g,U,V)=CDH(U,V)],
ADVGDH(S)が無視できない確率であるとき、解答者SはギャップDiffie-Hellman問題を解いたという。
ギャップ問題は上記のように判定オラクルのヒント付きの探索問題とみなせるので、ギャップ問題の方が真に易しい。
鍵交換方式(情報共有方式)の安全性証明を行う際は、「ギャップ問題、もしくは探索問題を解くことが難しいことを仮定すると、情報共有方式への攻撃者が存在しない」ことを示す必要がある。これは、対偶を取ることにより、「情報共有方式への攻撃者が存在すると仮定すると、問題を解く解答者を構成できる」ことを示すことと同値である。従って、安全性証明では実際に攻撃者から解答者を構成する必要がある。そのためには解答者は攻撃者を実際の攻撃環境と見分けがつかないように動作させなければならない。
HMQVでは、攻撃者が出力したσに対してσ=(XAd)y+ebを解答者が検証し、結果に応じて動作を変えねばならない。しかし、解答者はyとbを知ることができないので、自分で上記の検証を行うことができない。よって、判定オラクルに(XAd,YBe,σ)を聞き、検証式が成り立つかどうかの答えをもらうことによって証明を行う。このためギャップ問題の難しさを仮定する必要がある。
一方、第一実施形態の『長期鍵二重化HMQV』では、任意のsとrについて、解答者は証明中でa2=s-ra1と設定することでσ1=(XA1 d)y+eb1、σ1’=(XA1 d)y+eb2、σ2=(XA2 d)y+eb1、σ2’=(XA2 d)y+eb2の検証をyとb1,b2を知ること無しに行うことができる。具体的には、σ1 rσ2=(YB1 e)sの真理値がσ1=(XA1 d)y+eb1∧σ2=(XA2 d)y+eb1の真理値と一致することを利用して検証を行う。このテクニックは落とし戸試験と呼ばれる。
σ1 rσ2=(YB1 e)sは解答者の持つ情報のみで検証できるため、判定オラクルは不要であり、ギャップ問題の難しさを仮定する必要が無くなる。同様に、σ1rσ2’=(YB2 e)sの落とし戸試験を行うことで、σ1’=(XA1 d)y+eb2∧σ2’=(XA2 d)y+eb2の検証を行うことができる。
第二実施形態の『短期鍵二重化HMQV』でも同様に、シミュレータは証明中でx2=s-rx1と設定し、σ1 rσ2=(Y1Be1)sとσ1rσ2’=(Y2Be2)sの落とし戸試験を行うことによって、判定オラクル無しでσ1=(X1Ad1)y1+e1b、σ1’=(X1Ad1)y2+e2b、σ2=(X2Ad2)y1+e1b、σ2’=(X2Ad2)y2+e2bの検証を行うことができる。
第三実施形態の『長期鍵二重化NAXOS』でも同様に、シミュレータは証明中でa2=s-ra1、およびx~2=s’-r’x~1と設定し、σ1 rσ1’=Y1 s、σ2 rσ2’=Y2 s、σ5 r’σ5’=Y1 s′、σ6 r’σ6’=Y2 s’の落とし戸試験を行うことによって、判定オラクル無しでσ1=Y1 a1、σ1’=Y1 a2、σ2=Y2 a1、σ2’=Y2 a2、σ5=Y1 x~1、σ5’=Y1 x~2、σ6=Y2 x~1、σ6’=Y2 x~2の検証を行うことができる。
第四実施形態の『短期鍵二重化NAXOS』でも同様に、シミュレータは証明中でx~2=s-rx~1と設定し、σ1 rσ1’=As、σ2 rσ2’=Bs、σ3 rσ3’=Y1 s、σ4 rσ4’=Y2 sの落とし戸試験を行うことによって、判定オラクル無しでσ1=Ay~1、σ1’=Ay~2、σ2=Bx~1、σ2’=Bx~2、σ3=Y1 x~1、σ3’=Y1 x~2、σ4=Y2 x~1、σ4’=Y2 x~2の検証を行うことができる。
情報共有装置
10 記憶部
11 短期秘密鍵生成部
12 短期公開鍵生成部
13 送信部
14 受信部
15 共有秘密情報生成部
16 共有情報生成部
17 ハッシュ値計算部
18 補助情報生成部
情報共有装置
20 記憶部
21 短期秘密鍵生成部
22 短期公開鍵生成部
23 送信部
24 受信部
25 共有秘密情報生成部
26 共有情報生成部
27 ハッシュ値計算部
28 補助情報生成部

Claims (16)

  1. nを正の整数とし、1≦i≦nとし、Hi:{0,1}*→Zpをハッシュ関数とし、di,eiを所定の定数とし、Fを予め定められた関数とし、セキュリティパラメータkを正の整数とし、Gをkbitの素数位数pの巡回群、gをGの生成元とし、a1,a2∈Zpを情報共有装置Uの長期秘密鍵とし、A1=ga1,A2=ga2を情報共有装置Uの長期公開鍵とし、b1,b2∈Zpを情報共有装置Uの長期秘密鍵とし、B1=gb1,B2=gb2を情報共有装置Uの長期公開鍵として、
    短期秘密鍵x∈Zpを生成する短期秘密鍵生成部と、短期公開鍵をX=gxを計算する短期公開鍵生成部と、上記短期公開鍵Xを情報共有装置Uに送信する送信部と、短期公開鍵Yを上記情報共有装置Uから受信する受信部と、1≦i≦nのそれぞれのiについてのσi1=(YB1 ei)x+dia1、σi1’=(YB2 ei)x+dia1、σi2=(YB1 ei)x+dia2、σi2’=(YB2 ei)x+dia2を計算する共有秘密情報計算部と、F(σ1111’,σ1212’,…,σn1n1’,σn2n2’)を計算する共有情報生成部と、を含む情報共有装置Uと、
    短期秘密鍵y∈Zpを生成する短期秘密鍵生成部と、短期公開鍵をY=gyを計算する短期公開鍵生成部と、上記短期公開鍵Yを情報共有装置Uに送信する送信部と、短期公開鍵Xを上記情報共有装置Uから受信する受信部と、1≦i≦nのそれぞれのiについてのσi1=(XA1 di)y+eib1、σi1’=(XA1 di)y+eib2、σi2=(XA2 di)y+eib1、σi2’=(XA2 di)y+eib2を計算する共有秘密情報計算部と、F(σ1111’,σ1212’,…,σn1n1’,σn2n2’)を計算する共有情報生成部と、を含む情報共有装置Uと、
    を含む情報共有システム。
  2. nを正の整数とし、1≦i≦nとし、Hi:{0,1}*→Zpをハッシュ関数とし、di1,di2,ei1,ei2を所定の定数とし、Fを予め定められた関数とし、セキュリティパラメータkを正の整数とし、Gをkbitの素数位数pの巡回群、gをGの生成元とし、a∈Zpを情報共有装置Uの長期秘密鍵とし、A=gaを情報共有装置Uの長期公開鍵とし、b∈Zpを情報共有装置Uの長期秘密鍵とし、B=gaを情報共有装置Uの長期公開鍵として、
    短期秘密鍵x1,x2∈Zpを生成する短期秘密鍵生成部と、短期公開鍵をX1=gx1,X2=gx2を計算する短期公開鍵生成部と、上記短期公開鍵X1,X2を情報共有装置Uに送信する送信部と、短期公開鍵Y1,Y2を上記情報共有装置Uから受信する受信部と、1≦i≦nのそれぞれのiについてのσi1=(Y1Bei1)x1+di1a、σi1’=(Y2Bei2)x1+di1a、σi2=(Y1Bei1)x2+di2a、σi2’=(Y2Bei2)x2+di2aを計算する共有秘密情報計算部と、F(σ1111’,σ1212’,…,σn1n1’,σn2n2’)を計算する共有情報生成部と、を含む情報共有装置Uと、
    短期秘密鍵y1,y2∈Zpを生成する短期秘密鍵生成部と、短期公開鍵をY1=gy1,Y2=gy2を計算する短期公開鍵生成部と、上記短期公開鍵Y1,Y2を情報共有装置Uに送信する送信部と、短期公開鍵X1,X2を上記情報共有装置Uから受信する受信部と、1≦i≦nのそれぞれのiについてのσi1=(X1Adi1)y1+ei1b、σi1’=(X1Adi1)y2+ei2b、σi2=(X2Adi2)y1+ei1b、σi2’=(X2Adi2)y2+ei2bを計算する共有秘密情報計算部と、F(σ1111’,σ1212’,…,σn1n1’,σn2n2’)を計算する共有情報生成部と、を含む情報共有装置Uと、
    を含む情報共有システム。
  3. H:{0,1}*→Zpをハッシュ関数とし、Fを予め定められた関数とし、セキュリティパラメータkを正の整数とし、Gをkbitの素数位数pの巡回群、gをGの生成元とし、a1,a2∈Zpを情報共有装置Uの長期秘密鍵とし、A1=ga1,A2=ga2を情報共有装置Uの長期公開鍵とし、b1,b2∈Zpを情報共有装置Uの長期秘密鍵とし、B1=gb1,B2=gb2を情報共有装置Uの長期公開鍵とし、UAを情報共有装置Uに対応する所定の値とし、UBを情報共有装置Uに対応する所定の値として、
    短期秘密鍵x∈Zpを生成する短期秘密鍵生成部と、x~1=H(x,a1),x~2=H(x,a2)を計算するハッシュ値計算部と、短期公開鍵X1=gx~1,X2=gx~2を計算する短期公開鍵生成部と、上記短期公開鍵X1,X2を情報共有装置Uに送信する送信部と、短期公開鍵Y1,Y2を上記情報共有装置Uから受信する受信部と、σ1=Y1 a1、σ1’=Y1 a2、σ2=Y2 a1、σ2’=Y2 a2、σ3=B1 x~1、σ3’=B1 x~2、σ4=B2 x~1、σ4’=B2 x~2、σ5=Y1 x~1、σ5’=Y2 x~1、σ6=Y1 x~2、σ6’=Y2 x~2を計算する共有秘密情報計算部と、F(σ11’,σ22’,σ33’,σ44’,σ55’,σ66’,UA,UB)を計算する共有情報生成部と、を含む情報共有装置Uと、
    短期秘密鍵y∈Zpを生成する短期秘密鍵生成部と、y~1=H(y,b1),y~2=H(y,b2)を計算するハッシュ値計算部と、短期公開鍵Y1=gy~1,Y2=gy~2を計算する短期公開鍵生成部と、上記短期公開鍵Y1,Y2を情報共有装置Uに送信する送信部と、短期公開鍵X1,X2を上記情報共有装置Uから受信する受信部と、nを正の整数とし、1≦i≦nのそれぞれのiについてのσ1=A1 y~1、σ1’=A2 y~1、σ2=A1 y~2、σ2’=A2 y~2、σ3=X1 b1、σ3’=X2 b1、σ4=X1 b2、σ4’=X2 b2、σ5=X1 y~1、σ5’=X1 y~2、σ6=X2 y~1、σ6’=X2 y~2を計算する共有秘密情報計算部と、F(σ11’,σ22’,σ33’,σ44’,σ55’,σ66’,UA,UB)を計算する共有情報生成部と、を含む情報共有装置Uと、
    を含む情報共有システム。
  4. H:{0,1}*→Zpをハッシュ関数とし、Fを予め定められた関数とし、セキュリティパラメータkを正の整数とし、Gをkbitの素数位数pの巡回群、gをGの生成元とし、a∈Zpを情報共有装置Uの長期秘密鍵とし、A=gaを情報共有装置Uの長期公開鍵とし、b∈Zpを情報共有装置Uの長期秘密鍵とし、B=gbを情報共有装置Uの長期公開鍵とし、UAを情報共有装置Uに対応する所定の値とし、UBを情報共有装置Uに対応する所定の値として、
    短期秘密鍵x1,x2∈Zpを生成する短期秘密鍵生成部と、x~1=H(x1,a)、x~2=H(x2,a)を計算するハッシュ値計算部と、短期公開鍵X1=gx~1,X2=gx~2を計算する短期公開鍵生成部と、上記短期公開鍵X1,X2を情報共有装置Uに送信する送信部と、短期公開鍵Y1,Y2を上記情報共有装置Uから受信する受信部と、σ1=Y1 a、σ1’=Y2 a、σ2=Bx~1、σ2’=Bx~2、σ3=Y1 x~1、σ3’=Y1 x~2、σ4=Y2 x~1、σ4’=Y2 x~2を計算する共有秘密情報計算部と、F(σ11’,σ22’,σ33’,σ44’,UA,UB)を計算する共有情報生成部と、を含む情報共有装置Uと、
    短期秘密鍵y1,y2∈Zpを生成する短期秘密鍵生成部と、y~1=H(y1,b)、y~2=H(y2,b)を計算するハッシュ値計算部と、短期公開鍵Y1=gy~1,Y2=gy~2を計算する短期公開鍵生成部と、上記短期公開鍵Y1,Y2を情報共有装置Uに送信する送信部と、短期公開鍵X1,X2を上記情報共有装置Uから受信する受信部と、σ1=Ay~1、σ1’=Ay~2、σ2=X1 b、σ2’=X2 b、σ3=X1 y~1、σ3’=X2 y~1、σ4=X1 y~2、σ4’=X2 y~2を計算する共有秘密情報計算部と、F(σ11’,σ22’,σ33’,σ44’,σ55’,σ66’,UA,UB)を計算する共有情報生成部と、を含む情報共有装置Uと、
    を含む情報共有システム。
  5. 請求項1の情報共有システムにおいて、
    UAを上記情報共有装置Uに対応する所定の値とし、UBを上記情報共有装置Uに対応する所定の値として、
    上記di=Hi(X,UB)であり、上記ei=Hi(Y,UA)である、
    情報共有システム。
  6. 請求項2の情報共有システムにおいて、
    UAを上記情報共有装置Uに対応する所定の値とし、UBを上記情報共有装置Uに対応する所定の値として、
    上記di1=Hi(X1,UB)であり、上記di2=Hi(X2,UB)であり、上記ei1=Hi(Y1,UA)であり、上記ei2=Hi(Y2,UA)である、
    情報共有システム。
  7. 請求項1から6の情報共有システムにおいて、
    上記関数Fは、ハッシュ関数H’:{0,1}*→{0,1}である、
    情報共有システム。
  8. nを正の整数とし、1≦i≦nとし、Hi:{0,1}*→Zpをハッシュ関数とし、di,eiを所定の定数とし、Fを予め定められた関数とし、セキュリティパラメータkを正の整数とし、Gをkbitの素数位数pの巡回群、gをGの生成元とし、a1,a2∈Zpを情報共有装置Uの長期秘密鍵とし、A1=ga1,A2=ga2を情報共有装置Uの長期公開鍵とし、b1,b2∈Zpを情報共有装置Uの長期秘密鍵とし、B1=gb1,B2=gb2を情報共有装置Uの長期公開鍵として、
    情報共有装置Uの短期秘密鍵生成部が、短期秘密鍵x∈Zpを生成する短期秘密鍵生成ステップと、
    情報共有装置Uの短期公開鍵生成部が、短期公開鍵をX=gxを計算する短期公開鍵生成ステップと、
    情報共有装置Uの送信部が、上記短期公開鍵Xを情報共有装置Uに送信する送信ステップと、
    情報共有装置Uの受信部が、短期公開鍵Yを上記情報共有装置Uから受信する受信ステップと、
    情報共有装置Uの共有秘密情報計算部が、1≦i≦nのそれぞれのiについてのσi1=(YB1 ei)x+dia1、σi1’=(YB2 ei)x+dia1、σi2=(YB1 ei)x+dia2、σi2’=(YB2 ei)x+dia2を計算する共有秘密情報計算ステップと、
    情報共有装置Uの共有情報生成部が、F(σ1111’,σ1212’,…,σn1n1’,σn2n2’)を計算する共有情報生成ステップと、
    情報共有装置Uの短期秘密鍵生成部が、短期秘密鍵y∈Zpを生成する短期秘密鍵生成ステップと、
    情報共有装置Uの短期公開鍵生成部が、短期公開鍵をY=gyを計算する短期公開鍵生成ステップと、
    情報共有装置Uの送信部が、上記短期公開鍵Yを情報共有装置Uに送信する送信ステップと、
    情報共有装置Uの受信部が、短期公開鍵Xを上記情報共有装置Uから受信する受信ステップと、
    情報共有装置Uの共有秘密情報計算部が、1≦i≦nのそれぞれのiについてのσi1=(XA1 di)y+eib1、σi1’=(XA1 di)y+eib2、σi2=(XA2 di)y+eib1、σi2’=(XA2 di)y+eib2を計算する共有秘密情報計算ステップと、
    情報共有装置Uの共有情報生成部が、F(σ1111’,σ1212’,…,σn1n1’,σn2n2’)を計算する共有情報生成ステップと、
    を含む情報共有方法。
  9. nを正の整数とし、1≦i≦nとし、Hi:{0,1}*→Zpをハッシュ関数とし、di1,di2,ei1,ei2を所定の定数とし、Fを予め定められた関数とし、セキュリティパラメータkを正の整数とし、Gをkbitの素数位数pの巡回群、gをGの生成元とし、a∈Zpを情報共有装置Uの長期秘密鍵とし、A=gaを情報共有装置Uの長期公開鍵とし、b∈Zpを情報共有装置Uの長期秘密鍵とし、B=gaを情報共有装置Uの長期公開鍵として、
    情報共有装置Uの短期秘密鍵生成部が、短期秘密鍵x1,x2∈Zpを生成する短期秘密鍵生成ステップと、
    情報共有装置Uの短期公開鍵生成部が、短期公開鍵をX1=gx1,X2=gx2を計算する短期公開鍵生成ステップと、
    情報共有装置Uの送信部が、上記短期公開鍵X1,X2を情報共有装置Uに送信する送信ステップと、
    情報共有装置Uの受信部が、短期公開鍵Y1,Y2を上記情報共有装置Uから受信する受信ステップと、
    情報共有装置Uの共有秘密情報計算部が、1≦i≦nのそれぞれのiについてのσi1=(Y1Bei1)x1+di1a、σi1’=(Y2Bei2)x1+di1a、σi2=(Y1Bei1)x2+di2a、σi2’=(Y2Bei2)x2+di2aを計算する共有秘密情報計算ステップと、
    情報共有装置Uの共有情報生成部が、F(σ1111’,σ1212’,…,σn1n1’,σn2n2’)を計算する共有情報生成ステップと、
    情報共有装置Uの短期秘密鍵生成部が、短期秘密鍵y1,y2∈Zpを生成する短期秘密鍵生成ステップと、
    情報共有装置Uの短期公開鍵生成部が、短期公開鍵をY1=gy1,Y2=gy2を計算する短期公開鍵生成ステップと、
    情報共有装置Uの送信部が、上記短期公開鍵Y1,Y2を情報共有装置Uに送信する送信ステップと、
    情報共有装置Uの受信部が、短期公開鍵X1,X2を上記情報共有装置Uから受信する受信ステップと、
    情報共有装置Uの共有秘密情報計算部が、1≦i≦nのそれぞれのiについてのσi1=(X1Adi1)y1+ei1b、σi1’=(X1Adi1)y2+ei2b、σi2=(X2Adi2)y1+ei1b、σi2’=(X2Adi2)y2+ei2bを計算する共有秘密情報計算ステップと、
    情報共有装置Uの共有情報生成部が、F(σ1111’,σ1212’,…,σn1n1’,σn2n2’)を計算する共有情報生成ステップと、
    を含む情報共有方法。
  10. H:{0,1}*→Zpをハッシュ関数とし、Fを予め定められた関数とし、セキュリティパラメータkを正の整数とし、Gをkbitの素数位数pの巡回群、gをGの生成元とし、a1,a2∈Zpを情報共有装置Uの長期秘密鍵とし、A1=ga1,A2=ga2を情報共有装置Uの長期公開鍵とし、b1,b2∈Zpを情報共有装置Uの長期秘密鍵とし、B1=gb1,B2=gb2を情報共有装置Uの長期公開鍵とし、UAを情報共有装置Uに対応する所定の値とし、UBを情報共有装置Uに対応する所定の値として、
    情報共有装置Uの短期秘密鍵生成部が、短期秘密鍵x∈Zpを生成する短期秘密鍵生成ステップと、
    情報共有装置Uのハッシュ値計算部が、x~1=H(x,a1),x~2=H(x,a2)を計算するハッシュ値計算ステップと、
    情報共有装置Uの短期公開鍵生成部が、短期公開鍵X1=gx~1,X2=gx~2を計算する短期公開鍵生成ステップと、
    情報共有装置Uの送信部が、上記短期公開鍵X1,X2を情報共有装置Uに送信する送信ステップと、
    情報共有装置Uの受信部が、短期公開鍵Y1,Y2を上記情報共有装置Uから受信する受信ステップと、
    情報共有装置Uの共有秘密情報計算部が、σ1=Y1 a1、σ1’=Y1 a2、σ2=Y2 a1、σ2’=Y2 a2、σ3=B1 x~1、σ3’=B1 x~2、σ4=B2 x~1、σ4’=B2 x~2、σ5=Y1 x~1、σ5’=Y2 x~1、σ6=Y1 x~2、σ6’=Y2 x~2を計算する共有秘密情報計算ステップと、
    情報共有装置Uの共有情報生成部が、F(σ11’,σ22’,σ33’,σ44’,σ55’,σ66’,UA,UB)を計算する共有情報生成ステップと、
    情報共有装置Uの短期秘密鍵生成部が、短期秘密鍵y∈Zpを生成する短期秘密鍵生成ステップと、
    情報共有装置Uのハッシュ値計算部が、y~1=H(y,b1),y~2=H(y,b2)を計算するハッシュ値計算ステップと、
    情報共有装置Uの短期公開鍵生成部が、短期公開鍵Y1=gy~1,Y2=gy~2を計算する短期公開鍵生成ステップと、
    情報共有装置Uの送信部が、上記短期公開鍵Y1,Y2を情報共有装置Uに送信する送信ステップと、
    情報共有装置Uの受信部が、短期公開鍵X1,X2を上記情報共有装置Uから受信する受信ステップと、
    情報共有装置Uの共有秘密情報計算部が、nを正の整数とし、1≦i≦nのそれぞれのiについてのσ1=A1 y~1、σ1’=A2 y~1、σ2=A1 y~2、σ2’=A2 y~2、σ3=X1 b1、σ3’=X2 b1、σ4=X1 b2、σ4’=X2 b2、σ5=X1 y~1、σ5’=X1 y~2、σ6=X2 y~1、σ6’=X2 y~2を計算する共有秘密情報計算ステップと、
    情報共有装置Uの共有情報生成部が、F(σ11’,σ22’,σ33’,σ44’,σ55’,σ66’,UA,UB)を計算する共有情報生成ステップと、
    を含む情報共有方法。
  11. H:{0,1}*→Zpをハッシュ関数とし、Fを予め定められた関数とし、セキュリティパラメータkを正の整数とし、Gをkbitの素数位数pの巡回群、gをGの生成元とし、a∈Zpを情報共有装置Uの長期秘密鍵とし、A=gaを情報共有装置Uの長期公開鍵とし、b∈Zpを情報共有装置Uの長期秘密鍵とし、B=gbを情報共有装置Uの長期公開鍵とし、UAを情報共有装置Uに対応する所定の値とし、UBを情報共有装置Uに対応する所定の値として、
    情報共有装置Uの短期秘密鍵生成部が、短期秘密鍵x1,x2∈Zpを生成する短期秘密鍵生成ステップと、
    情報共有装置Uのハッシュ値計算部が、x~1=H(x1,a)、x~2=H(x2,a)を計算するハッシュ値計算ステップと、
    情報共有装置Uの短期公開鍵生成部が、短期公開鍵X1=gx~1,X2=gx~2を計算する短期公開鍵生成ステップと、
    情報共有装置Uの送信部が、上記短期公開鍵X1,X2を情報共有装置Uに送信する送信ステップと、
    情報共有装置Uの受信部が、短期公開鍵Y1,Y2を上記情報共有装置Uから受信する受信ステップと、
    情報共有装置Uの共有秘密情報計算部が、σ1=Y1 a、σ1’=Y2 a、σ2=Bx~1、σ2’=Bx~2、σ3=Y1 x~1、σ3’=Y1 x~2、σ4=Y2 x~1、σ4’=Y2 x~2を計算する共有秘密情報計算ステップと、
    情報共有装置Uの共有情報生成部が、F(σ11’,σ22’,σ33’,σ44’,UA,UB)を計算する共有情報生成ステップと、
    情報共有装置Uの短期秘密鍵生成部が、短期秘密鍵y1,y2∈Zpを生成する短期秘密鍵生成ステップと、
    情報共有装置Uのハッシュ値計算部が、y~1=H(y1,b)、y~2=H(y2,b)を計算するハッシュ値計算ステップと、
    情報共有装置Uの短期公開鍵生成部が、短期公開鍵Y1=gy~1,Y2=gy~2を計算する短期公開鍵生成ステップと、
    情報共有装置Uの送信部が、上記短期公開鍵Y1,Y2を情報共有装置Uに送信する送信ステップと、
    情報共有装置Uの受信部が、短期公開鍵X1,X2を上記情報共有装置Uから受信する受信ステップと、
    情報共有装置Uの共有秘密情報計算部が、σ1=Ay~1、σ1’=Ay~2、σ2=X1 b、σ2’=X2 b、σ3=X1 y~1、σ3’=X2 y~1、σ4=X1 y~2、σ4’=X2 y~2を計算する共有秘密情報計算ステップと、
    情報共有装置Uの共有情報生成部が、F(σ11’,σ22’,σ33’,σ44’,σ55’,σ66’,UA,UB)を計算する共有情報生成ステップと、
    を含む情報共有方法。
  12. nを正の整数とし、1≦i≦nとし、Hi:{0,1}*→Zpをハッシュ関数とし、di,eiを所定の定数とし、Fを予め定められた関数とし、セキュリティパラメータkを正の整数とし、Gをkbitの素数位数pの巡回群、gをGの生成元とし、a1,a2∈Zpを情報共有装置Uの長期秘密鍵とし、A1=ga1,A2=ga2を情報共有装置Uの長期公開鍵とし、b1,b2∈Zpを情報共有装置Uの長期秘密鍵とし、B1=gb1,B2=gb2を情報共有装置Uの長期公開鍵として、
    短期秘密鍵x∈Zpを生成する短期秘密鍵生成部と、
    短期公開鍵をX=gxを計算する短期公開鍵生成部と、
    上記短期公開鍵Xを情報共有装置Uに送信する送信部と、
    短期公開鍵Yを上記情報共有装置Uから受信する受信部と、
    1≦i≦nのそれぞれのiについてのσi1=(YB1 ei)x+dia1、σi1’=(YB2 ei)x+dia1、σi2=(YB1 ei)x+dia2、σi2’=(YB2 ei)x+dia2を計算する共有秘密情報計算部と、
    F(σ1111’,σ1212’,…,σn1n1’,σn2n2’)を計算する共有情報生成部と、
    を含む情報共有装置Uである情報共有装置。
  13. nを正の整数とし、1≦i≦nとし、Hi:{0,1}*→Zpをハッシュ関数とし、di1,di2,ei1,ei2を所定の定数とし、Fを予め定められた関数とし、セキュリティパラメータkを正の整数とし、Gをkbitの素数位数pの巡回群、gをGの生成元とし、a∈Zpを情報共有装置Uの長期秘密鍵とし、A=gaを情報共有装置Uの長期公開鍵とし、b∈Zpを情報共有装置Uの長期秘密鍵とし、B=gaを情報共有装置Uの長期公開鍵として、
    短期秘密鍵x1,x2∈Zpを生成する短期秘密鍵生成部と、
    短期公開鍵をX1=gx1,X2=gx2を計算する短期公開鍵生成部と、
    上記短期公開鍵X1,X2を情報共有装置Uに送信する送信部と、
    短期公開鍵Y1,Y2を上記情報共有装置Uから受信する受信部と、
    1≦i≦nのそれぞれのiについてのσi1=(Y1Bei1)x1+di1a、σi1’=(Y2Bei2)x1+di1a、σi2=(Y1Bei1)x2+di2a、σi2’=(Y2Bei2)x2+di2aを計算する共有秘密情報計算部と、
    F(σ1111’,σ1212’,…,σn1n1’,σn2n2’)を計算する共有情報生成部と、
    を含む情報共有装置Uである情報共有装置。
  14. H:{0,1}*→Zpをハッシュ関数とし、Fを予め定められた関数とし、セキュリティパラメータkを正の整数とし、Gをkbitの素数位数pの巡回群、gをGの生成元とし、a1,a2∈Zpを情報共有装置Uの長期秘密鍵とし、A1=ga1,A2=ga2を情報共有装置Uの長期公開鍵とし、b1,b2∈Zpを情報共有装置Uの長期秘密鍵とし、B1=gb1,B2=gb2を情報共有装置Uの長期公開鍵とし、UAを情報共有装置Uに対応する所定の値とし、UBを情報共有装置Uに対応する所定の値として、
    短期秘密鍵x∈Zpを生成する短期秘密鍵生成部と、
    x~1=H(x,a1),x~2=H(x,a2)を計算するハッシュ値計算部と、
    短期公開鍵X1=gx~1,X2=gx~2を計算する短期公開鍵生成部と、
    上記短期公開鍵X1,X2を情報共有装置Uに送信する送信部と、
    短期公開鍵Y1,Y2を上記情報共有装置Uから受信する受信部と、
    σ1=Y1 a1、σ1’=Y1 a2、σ2=Y2 a1、σ2’=Y2 a2、σ3=B1 x~1、σ3’=B1 x~2、σ4=B2 x~1、σ4’=B2 x~2、σ5=Y1 x~1、σ5’=Y2 x~1、σ6=Y1 x~2、σ6’=Y2 x~2を計算する共有秘密情報計算部と、
    F(σ11’,σ22’,σ33’,σ44’,σ55’,σ66’,UA,UB)を計算する共有情報生成部と、
    を含む情報共有装置Uである情報共有装置。。
  15. H:{0,1}*→Zpをハッシュ関数とし、Fを予め定められた関数とし、セキュリティパラメータkを正の整数とし、Gをkbitの素数位数pの巡回群、gをGの生成元とし、a∈Zpを情報共有装置Uの長期秘密鍵とし、A=gaを情報共有装置Uの長期公開鍵とし、b∈Zpを情報共有装置Uの長期秘密鍵とし、B=gbを情報共有装置Uの長期公開鍵とし、UAを情報共有装置Uに対応する所定の値とし、UBを情報共有装置Uに対応する所定の値として、
    短期秘密鍵x1,x2∈Zpを生成する短期秘密鍵生成部と、
    x~1=H(x1,a)、x~2=H(x2,a)を計算するハッシュ値計算部と、
    短期公開鍵X1=gx~1,X2=gx~2を計算する短期公開鍵生成部と、
    上記短期公開鍵X1,X2を情報共有装置Uに送信する送信部と、
    短期公開鍵Y1,Y2を上記情報共有装置Uから受信する受信部と、
    σ1=Y1 a、σ1’=Y2 a、σ2=Bx~1、σ2’=Bx~2、σ3=Y1 x~1、σ3’=Y1 x~2、σ4=Y2 x~1、σ4’=Y2 x~2を計算する共有秘密情報計算部と、
    F(σ11’,σ22’,σ33’,σ44’,UA,UB)を計算する共有情報生成部と、
    を含む情報共有装置Uである情報共有装置。
  16. 請求項12から15の何れかに記載の情報共有装置の各部としてコンピュータを機能させるためのプログラム。
JP2011118822A 2011-05-27 2011-05-27 情報共有システム、方法、装置及びプログラム Active JP5512601B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011118822A JP5512601B2 (ja) 2011-05-27 2011-05-27 情報共有システム、方法、装置及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011118822A JP5512601B2 (ja) 2011-05-27 2011-05-27 情報共有システム、方法、装置及びプログラム

Publications (2)

Publication Number Publication Date
JP2012249054A JP2012249054A (ja) 2012-12-13
JP5512601B2 true JP5512601B2 (ja) 2014-06-04

Family

ID=47469096

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011118822A Active JP5512601B2 (ja) 2011-05-27 2011-05-27 情報共有システム、方法、装置及びプログラム

Country Status (1)

Country Link
JP (1) JP5512601B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5931795B2 (ja) * 2013-05-09 2016-06-08 日本電信電話株式会社 鍵交換システム、鍵生成装置、通信装置、鍵交換方法及びプログラム
CN109314636B (zh) * 2016-02-23 2022-01-11 区块链控股有限公司 用于从区块链中安全提取数据的密码方法和系统
CN114584982A (zh) * 2017-03-01 2022-06-03 苹果公司 使用移动设备的系统访问
JP7377495B2 (ja) 2020-06-10 2023-11-10 日本電信電話株式会社 暗号システム及び方法

Also Published As

Publication number Publication date
JP2012249054A (ja) 2012-12-13

Similar Documents

Publication Publication Date Title
CN112889047A (zh) 利用多个装置以增强生物计量认证安全
US11310060B1 (en) Atomic cross-chain swaps using equivalent secret values
US8654975B2 (en) Joint encryption of data
CN103563288B (zh) 基于口令的单轮密钥交换协议
WO2013031414A1 (ja) 署名検証装置、署名検証方法、プログラム、及び記録媒体
CN111566988A (zh) 跨越以无信任或无交易员方式操作的群组执行计算任务的计算机实现的系统和方法
JP5224481B2 (ja) パスワード認証方法
US20220051314A1 (en) Information processing apparatus, information processing system, member identification method, and non-transitory computer readable medium storing program
CN103765809A (zh) 隐式认证的公钥
JP5099003B2 (ja) グループ署名システムおよび情報処理方法
CN110959163A (zh) 能够在多个存储节点上安全存储大型区块链的计算机实现的系统和方法
WO2013031555A1 (ja) 情報処理装置、署名生成装置、情報処理方法、署名生成方法、及びプログラム
CN111147245A (zh) 一种区块链中使用国家密码进行加密的算法
WO2020212796A1 (en) Computer implemented method and system for encrypting data
KR20210139344A (ko) 데이터 기반 활동을 수행하는 방법 및 장치
JP6041864B2 (ja) データの暗号化のための方法、コンピュータ・プログラム、および装置
JP5512601B2 (ja) 情報共有システム、方法、装置及びプログラム
EP3854052A1 (en) Computer implemented system and method for sharing a common secret
TWI511517B (zh) Information processing apparatus, information processing method, program and recording medium
Wu et al. An improved and provable self‐certified digital signature scheme with message recovery
JP5512598B2 (ja) 情報共有システム、方法、装置及びプログラム
JP5314449B2 (ja) 電子署名検証システム、電子署名装置、検証装置、電子署名検証方法、電子署名方法、検証方法、電子署名プログラム、検証プログラム
CN116318636A (zh) 一种基于sm2的门限签名方法
JP2009290698A (ja) ブラインド署名装置、部分ブラインド署名装置、受信装置、システム、方法、及びプログラム
JP2009111594A (ja) 短い系列を用いた認証システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130718

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140305

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140326

R150 Certificate of patent or registration of utility model

Ref document number: 5512601

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150