JP2012244232A - Information sharing system, method, device and program - Google Patents

Information sharing system, method, device and program Download PDF

Info

Publication number
JP2012244232A
JP2012244232A JP2011109490A JP2011109490A JP2012244232A JP 2012244232 A JP2012244232 A JP 2012244232A JP 2011109490 A JP2011109490 A JP 2011109490A JP 2011109490 A JP2011109490 A JP 2011109490A JP 2012244232 A JP2012244232 A JP 2012244232A
Authority
JP
Japan
Prior art keywords
information
information sharing
sharing apparatus
shared secret
short
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.)
Granted
Application number
JP2011109490A
Other languages
Japanese (ja)
Other versions
JP5512598B2 (en
Inventor
Kazuki Yoneyama
一樹 米山
Kotaro Suzuki
幸太郎 鈴木
Atsushi Fujioka
淳 藤岡
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 JP2011109490A priority Critical patent/JP5512598B2/en
Publication of JP2012244232A publication Critical patent/JP2012244232A/en
Application granted granted Critical
Publication of JP5512598B2 publication Critical patent/JP5512598B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

PROBLEM TO BE SOLVED: To provide information sharing system, method, device and program in which safety is guaranteed by assuming the difficulty not of the gap problem but of the search problem.SOLUTION: Shared secret information for calculating the shared information by duplicating a short term secret key and derived from the short term secret key is calculated for each short term secret key. The information is shared based on the shared secret information. Consequently, safety can be proved by assuming only the difficulty of the search problem without assuming the difficulty of the gap problem.

Description

この発明は、情報セキュリティ技術に関する。特に、二者間で同じ情報を共有するための技術に関する。   The present invention relates to information security technology. In particular, the present invention relates to a technique for sharing the same information between two parties.

二者間でセッション鍵等の情報を共有する技術として、以下のような階層型ID鍵交換方式が知られている(例えば、非特許文献1参照。)。   As a technique for sharing information such as a session key between two parties, the following hierarchical ID key exchange method is known (for example, see Non-Patent Document 1).

<公開パラメータ>PIDをプロトコルIDとし、プロトコル仕様に対応した固有のIDとする。セキュリティパラメータをkとする。pをkビット素数とし、G,GTをそれぞれ双線形写像e:G×G→GT を効率的に計算可能なg,gTを生成元とする群とする。H1:{0,1}*→G、H2:{0,1}*→Zp、H:{0,1}*→{0,1}kをハッシュ関数とする。 <Public parameter> PID is a protocol ID, and a unique ID corresponding to the protocol specification. Let k be the security parameter. Let p be a k-bit prime number, and G and G T be a group having g and g T that can be efficiently calculated as a bilinear map e: G × G → G T , respectively. H 1 : {0,1} * → G, H 2 : {0,1} * → Z p , and H: {0,1} * → {0,1} k are hash functions.

<鍵生成>鍵生成アルゴリズムは、一様ランダムにマスタ秘密鍵s0∈Zpを選び、S0=1Gを設定する。1GはGの単位元である。鍵生成アルゴリズムは、マスタ公開鍵P0=g及びQ0=P0 s0を計算して公開する。 <Key generation> The key generation algorithm uniformly selects a master secret key s 0 εZ p and sets S 0 = 1 G. 1G is a unit element of G. The key generation algorithm calculates and publicizes the master public keys P 0 = g and Q 0 = P 0 s0 .

<鍵抽出>ID=(ID1,…,IDt-1)に対応するユーザ装置は初期化として、st-1∈Zpを一様ランダムに選び、秘密の状態情報として保持する。同様にして他のユーザのそれぞれも、秘密の状態情報としてZpの元を一様ランダムに選択して保持する。ID=(ID1,…,IDt-1)に対応するユーザは鍵抽出者として自分の長期秘密鍵(St-1,Q1,…,Qt-1)を用いて、そのユーザの下位のユーザであってID’=(ID1,…,IDt-1,IDt)に対応するユーザ向けに次のように長期秘密鍵(St,Q1,…,Qt-1,Qt)を生成する。ここで、Pt=H1(ID1,…,IDt-1,IDt)、St=St-1Pt st-1、Qt=P0 stである。 <Key extraction> The user apparatus corresponding to ID = (ID 1 ,..., ID t−1 ) selects s t−1 εZ p uniformly and randomly as initialization, and holds it as secret state information. Similarly, each of the other users also selects and holds the element of Z p as secret state information uniformly at random. The user corresponding to ID = (ID 1 , ..., ID t-1 ) uses his / her long-term secret key (S t-1 , Q 1 , ..., Q t-1 ) as a key extractor, and For lower-level users who correspond to ID '= (ID 1 , ..., ID t-1, ID t ), the long-term secret key (S t , Q 1 , ..., Q t-1, Q t ) is generated. Here, P t = H 1 (ID 1 ,..., ID t−1 , ID t ), S t = S t−1 P t st−1 , and Q t = P 0 st .

<鍵交換>以下では、ユーザUAを鍵交換セッションのイニシエータとし、ユーザUBをレスポンダとする。ユーザUAはIDA=(IDA,1,…,IDA,α)に対応する長期秘密鍵を持ち、ユーザUBはIDB=(IDB,1,…,IDB,β)に対応する長期秘密鍵を持つとする。 <Key Exchange> In the following, it is assumed that user U A is the initiator of the key exchange session and user U B is the responder. User U A has a long-term secret key corresponding to ID A = (ID A, 1 , ..., ID A, α ), and user U B has ID B = (ID B, 1 , ..., ID B, β ) Suppose you have a corresponding long-term secret key.

1.ユーザUAはランダムに短期秘密鍵x~UZpを選ぶ。このとき、ユーザUAは、x=H2(SA,α,x~)を計算し、短期公開鍵epkIDB=(X0=P0 x,XB,2=PB,2 x,…,XB,β=PB,β x)を計算する。ただし、PB,i=H1(IDB,1,…,IDB,i)(1≦i≦β)である。ユーザUAは、epkIDBをユーザUBに送る。 1. User U A randomly selects a short-term secret key x ~U Z p . At this time, the user U A calculates x = H 2 (S A, α , x ~ ), and the short-term public key epk IDB = (X 0 = P 0 x , X B, 2 = P B, 2 x , ..., X B, β = P B, β x ) is calculated. However, P B, i = H 1 (ID B, 1 ,..., ID B, i ) (1 ≦ i ≦ β). User U A sends an epk IDB to user U B.

2.ユーザUBはランダムに短期秘密鍵y~UZpを選ぶ。このとき、ユーザUBは、y=H2(SB,β,y~)を計算し、短期公開鍵epkIDA=(Y0=P0 y,YA,2=PA,2 y,…,YA,α=PA,α y)を計算する。ただし、PA,i=H1(IDA,1,…,IDA,i)(1≦i≦α)である。ユーザUBは、epkIDAをユーザUAに送る。 2. User U B randomly selects the short-term secret key y ~U Z p . At this time, the user U B calculates y = H 2 (S B, β , y ~ ), and the short-term public key epk IDA = (Y 0 = P 0 y , Y A, 2 = P A, 2 y , ..., Y A, α = P A, α y ). However, P A, i = H 1 (ID A, 1 ,..., ID A, i ) (1 ≦ i ≦ α). User U B sends epk IDA to user U A.

ユーザUBは、共有秘密情報σ123をそれぞれ次のように計算する。 User U B calculates the shared secret information σ 1 , σ 2 , and σ 3 as follows.

σ1=e(X0,SB,β)/Πi=2 βe(QB,i-1,XB,i)
σ2=e(Q0,PA,1)y
σ3=(X0)y
その後、ユーザUBは、セッション鍵K=H(σ123,PID,IDA,IDB,epkIDB,epkIDA)を計算して出力し、セッションを終了する。
σ 1 = e (X 0 , S B, β ) / Π i = 2 β e (Q B, i-1 , X B, i )
σ 2 = e (Q 0 , P A, 1 ) y
σ 3 = (X 0 ) y
Thereafter, the user U B calculates and outputs a session key K = H (σ 1 , σ 2 , σ 3 , PID, ID A , ID B , epk IDB , epk IDA ), and ends the session.

3.ユーザUAは、共有秘密情報σ123をそれぞれ次のように計算する。 3. The user U A calculates the shared secret information σ 1 , σ 2 , and σ 3 as follows.

σ1=e(Q0,PB,1)x
σ2=e(Y0,SA,α)/Πi=2 αe(QA,i-1,YA,i)
σ3=(Y0)x
その後、ユーザUAは、セッション鍵K=H(σ123,PID,IDA,IDB,epkIDB,epkIDA)を計算して出力し、セッションを終了する。
σ 1 = e (Q 0 , P B, 1 ) x
σ 2 = e (Y 0 , S A, α ) / Π i = 2 α e (Q A, i-1 , Y A, i )
σ 3 = (Y 0 ) x
Thereafter, the user U A calculates and outputs a session key K = H (σ 1 , σ 2 , σ 3 , PID, ID A , ID B , epk IDB , epk IDA ), and ends the session.

共有秘密情報には次の関係があるため、ユーザUAが計算した共有秘密情報σ123はそれぞれユーザUBが計算した共有秘密情報σ123と一致する。 Since the shared secret information has the following relationship, the shared secret information σ 1 , σ 2 , σ 3 calculated by the user U A matches the shared secret information σ 1 , σ 2 , σ 3 calculated by the user U B, respectively. To do.

σ1i=1 βe(P0,PB,i)xsi-1i=2 βe(P0,PB,i)xsi-1=e(Q0,PB,1)x=e(P0,PB,1)s0x
σ2i=1 αe(P0,PA,i)ysi-1i=2 αe(P0,PA,i)ysi-1=e(Q0,PA,1)y=e(P0,PA,1)s0y
σ3=(X0)y=(Y0)x=P0 xy
このようにして、同一の共有情報であるセッション鍵Kが共有される。
σ 1 = Π i = 1 β e (P 0 , P B, i ) xsi-1 / Π i = 2 β e (P 0 , P B, i ) xsi-1 = e (Q 0 , P B, 1 ) x = e (P 0 , P B, 1 ) s0x
σ 2 = Π i = 1 α e (P 0 , P A, i ) ysi-1 / Π i = 2 α e (P 0 , P A, i ) ysi-1 = e (Q 0 , P A, 1 ) y = e (P 0 , P A, 1 ) s0y
σ 3 = (X 0 ) y = (Y 0 ) x = P 0 xy
In this way, the session key K which is the same shared information is shared.

Atsushi Fujioka, Koutarou Suzuki, Kazuki Yoneyama, “Hierarchical ID-Based Authenticated Key Exchange Resilient to Ephemeral Key Leakage”, IWSE 2010, LNCS 6434, pp.164-180, 2010Atsushi Fujioka, Koutarou Suzuki, Kazuki Yoneyama, “Hierarchical ID-Based Authenticated Key Exchange Resilient to Ephemeral Key Leakage”, IWSE 2010, LNCS 6434, pp.164-180, 2010

背景技術に記載した技術では、安全性を保証するためにいわゆるギャップ問題の難しさを仮定する必要がある。ギャップ問題とは、探索問題を解くために判定オラクルの利用を許した問題のことであり、一般にいわゆる探索問題よりも解きやすい問題となる。よって、ギャップ問題の難しさを仮定するよりも、探索問題の難しさを仮定した方が仮定を弱めることができるので望ましい。   In the technique described in the background art, it is necessary to assume the difficulty of a so-called gap problem in order to guarantee safety. A gap problem is a problem that allows the use of a decision oracle to solve a search problem, and is generally easier to solve than a so-called search problem. Therefore, it is desirable to assume the difficulty of the search problem rather than to assume the difficulty of the gap problem because the assumption can be weakened.

この発明の課題は、探索問題の難しさを仮定することにより安全性が保証される情報共有システム、方法、装置及びプログラムを提供することである。   An object of the present invention is to provide an information sharing system, method, apparatus, and program in which safety is guaranteed by assuming difficulty of a search problem.

この発明の一態様による情報共有システムは、プロトコルIDであるPIDを所定のビット列とし、H1:{0,1}*→G、H2:{0,1}*→Zpをハッシュ関数とし、Fを予め定められた関数として、G,GTをそれぞれ双線形写像e:G×G→GTを計算可能なg,gTを生成元とする群とし、Gの単位元を1Gとし、S0=1Gとし、マスタ公開鍵P0=g,Q0=P0 s0∈Gとし、ID=(ID1,ID2,…,IDt-1)に対応する情報共有装置の秘密情報をst-1∈Zpとし、その情報共有装置の長期秘密鍵を(St-1,Q1,…,Qt-1)とし、その情報共有装置の下位の情報共有装置であってID’=(ID1,ID2,…,IDt-1,IDt)に対応する情報共有装置の長期秘密鍵を(St,Q1,…,Qt)とし、Pt=H1(ID1,ID2,…,IDt-1,IDt)とし、St=St-1Pt st-1,Qt=P0 stとすることにより定まる、IDA=(IDA,1,…,IDA,α)に対応する情報共有装置Uの長期秘密鍵を(SA,α,QA,1,…,QA,α)、IDB=(IDB,1,…,IDB,β)に対応する情報共有装置Uの長期秘密鍵を(SB,β,QB,1,…,QB,β)として、短期秘密鍵x~ 1,x~ 2∈Zpを生成する短期秘密鍵生成部と、x1=H2(SA,α,x~ 1)及びx2=H2(SA,α,x~ 2)を計算するハッシュ値計算部と、PB,i=H1(IDB,1,…,IDB,i)(1≦i≦β)として短期公開鍵epkIDB=(X0=P0 x1,XB,2=PB,2 x1,…,XB,β=PB,β x1,X0’=P0 x2,XB,2’=PB,2 x2,…,XB,β’=PB,β x2)を計算する短期公開鍵生成部と、短期公開鍵epkIDBを情報共有装置Uに送信する送信部と、短期公開鍵epkIDAを情報共有装置Uから受信する受信部と、第一共有秘密情報σ1=e(Q0,PB,1)x1を計算する第一共有秘密情報計算部と、第二共有秘密情報σ1’=e(Q0,PB,1)x2を計算する第二共有秘密情報計算部と、第三共有秘密情報σ2=e(Y0,SA,α)/Πi=2 αe(QA,i-1,YA,i)を計算する第三共有秘密情報計算部と、第四共有秘密情報σ2’=e(Y0’,SA,α)/Πi=2 αe(QA,i-1,YA,i’)を計算する第四共有秘密情報計算部と、第五秘密情報計算部σ3=(Y0)x1を計算する第五秘密情報計算部と、F(σ11’,σ22’,σ3,PID,IDA,IDB,epkIDB,epkIDA)を計算する共有情報生成部と、を含む情報共有装置Uと、短期秘密鍵y~ 1,y~ 2∈Zpを生成する短期秘密鍵生成部と、y1=H2(SB,β,y~ 1)及びy2=H2(SB,β,y~ 2)を計算するハッシュ値計算部と、PA,i=H1(IDA,1,…,IDA,i)(1≦i≦α)として短期公開鍵epkIDA=(Y0=P0 y1,YA,2=PA,2 y1,…,YA,α=PA,α y1,Y0’=P0 y2,YA,2’=PA,2 y2,…,YA,α’=PA,α y2)を計算する短期公開鍵生成部と、短期公開鍵epkIDAを情報共有装置Uに送信する送信部と、短期公開鍵epkIDBを情報共有装置Uから受信する受信部と、第一共有秘密情報σ1=e(X0,SB,β)/Πi=2 βe(QB,i-1,XB,i)を計算する第一共有秘密情報計算部と、第二共有秘密情報σ1’=e(X0’,SB,β)/Πi=2 βe(QB,i-1,XB,i’)を計算する第二共有秘密情報計算部と、第三共有秘密情報σ2=e(Q0,PA,1)y1を計算する第三共有秘密情報計算部と、第四共有秘密情報σ2’=e(Q0,PA,1)y2を計算する第四共有秘密情報計算部と、第五秘密情報計算部σ3=(X0)y1を計算する第五秘密情報計算部と、F(σ11’,σ22’,σ3,PID,IDA,IDB,epkIDB,epkIDA)を計算する共有情報生成部と、を含む情報共有装置Uと、を含む。 In the information sharing system according to one aspect of the present invention, PID which is a protocol ID is a predetermined bit string, and H 1 : {0,1} * → G, H 2 : {0,1} * → Z p is a hash function. , F is a predetermined function, G and G T are groups that have bilinear maps e: G × G → G T that can be calculated as g and g T , respectively, and the unit element of G is 1 G S 0 = 1 G , master public key P 0 = g, Q 0 = P 0 s0 ∈G, and information sharing apparatus corresponding to ID = (ID 1 , ID 2 ,..., ID t-1 ) The secret information is s t-1 ∈Z p , the long-term secret key of the information sharing device is (S t-1 , Q 1 , ..., Q t-1 ), and the information sharing device below the information sharing device Where the long-term secret key of the information sharing device corresponding to ID ′ = (ID 1 , ID 2 ,..., ID t−1 , ID t ) is (S t , Q 1 ,..., Q t ), and P t = H 1 (ID 1 , ID 2 , ..., ID t-1 , ID t ), and S t = S t-1 P t st-1 , Q t = P 0 st , ID A = ( ID a, 1, ..., long secret of ID a, the information sharing apparatus corresponding to alpha) U a The key (S A, α, Q A , 1, ..., Q A, α), ID B = (ID B, 1, ..., ID B, β) a long secret key of the information sharing apparatus U B corresponding to (S B, β , Q B, 1 , ..., Q B, β ) as a short-term secret key generator for generating short-term secret keys x ~ 1 , x ~ 2 ∈Z p , and x 1 = H 2 (S A, α , x ~ 1 ) and x 2 = H 2 (S A, α , x ~ 2 ) and a hash value calculator, and P B, i = H 1 (ID B, 1 ,, ..., ID B , i ) (1 ≤ i ≤ β), short-term public key epk IDB = (X 0 = P 0 x1 , X B, 2 = P B, 2 x1 , ..., X B, β = P B, β x1 , X 0 ′ = P 0 x2 , X B, 2 ′ = P B, 2 x2 ,…, X B, β ′ = P B, β x2 ) and short-term public key epk IDB a transmission unit for transmitting to the shared device U B, a receiver for receiving a short-term public key epk IDA from the information sharing apparatus U B, the first shared secret σ 1 = e (Q 0, P B, 1) to x1 A first shared secret information calculation unit for calculating, a second shared secret information calculation unit for calculating the second shared secret information σ 1 ′ = e (Q 0 , P B, 1 ) x2 , and a third shared secret information σ 2 = e (Y 0 , S A, α ) / Π i = 2 α Third shared secret information calculation unit for calculating e (Q A, i-1 , Y A, i ), and fourth shared secret information σ 2 ′ = e (Y 0 ′, S A, α ) / Π i = 2 The fourth shared secret information calculation unit that calculates α e (Q A, i-1 , Y A, i ') and the fifth secret information calculation unit σ 3 = (Y 0 ) x1 Information sharing including a calculation unit and a shared information generation unit that calculates F (σ 1 , σ 1 ', σ 2 , σ 2 ', σ 3 , PID, ID A , ID B , epk IDB , epk IDA ) a device U a, a short-term private key generating unit for generating a short term private key y ~ 1, y ~ 2 ∈Z p, y 1 = H 2 (S B, β, y ~ 1) and y 2 = H 2 ( A hash value calculation unit for calculating S B, β , y ~ 2 ) and a short-term public key epk as P A, i = H 1 (ID A, 1 , ..., ID A, i ) (1 ≦ i ≦ α) IDA = (Y 0 = P 0 y1 , Y A, 2 = P A, 2 y1 ,…, Y A, α = P A, α y1 , Y 0 '= P 0 y2 , Y A, 2 ' = P A , 2 y2, ..., Y a , α '= P a, a short-term public key generation unit for calculating the alpha y2), a transmission unit for transmitting the short-term public key epk IDA to the information sharing apparatus U a, short-term public key epk receive IDB from the information sharing apparatus U a A receiving unit that, the first shared secret σ 1 = e (X 0, S B, β) / Π i = 2 β e (Q B, i-1, X B, i) a first co-calculating the Secret information calculation section and second shared secret information σ 1 '= e (X 0 ', S B, β ) / Π i = 2 β e (Q B, i-1 , X B, i ') Second shared secret information calculation unit, third shared secret information σ 2 = e (Q 0 , P A, 1 ) y1 and fourth shared secret information σ 2 '= a fourth shared secret information calculation unit for calculating e (Q 0 , P A, 1 ) y2 , a fifth secret information calculation unit for calculating a fifth secret information calculation unit σ 3 = (X 0 ) y1 , and F ( an information sharing device U B including a shared information generating unit that calculates σ 1 , σ 1 ′, σ 2 , σ 2 ′, σ 3 , PID, ID A , ID B , epk IDB , epk IDA ) Including.

探索問題の難しさを仮定することにより安全性を保証することができる。   Safety can be ensured by assuming the difficulty of the search problem.

実施形態の情報共有システムの構成を説明するためのブロック図。The block diagram for demonstrating the structure of the information sharing system of embodiment. 実施形態の情報共有装置Uの構成を説明するためのブロック図。The block diagram for demonstrating the structure of the information sharing apparatus UA of embodiment. 実施形態の情報共有装置Uの構成を説明するためのブロック図。The block diagram for demonstrating the structure of the information sharing apparatus UB of embodiment. 実施形態の情報共有装置Uの処理を説明するためのフローチャート。Flow chart for explaining the processing of the information sharing apparatus U A embodiment. 実施形態の情報共有装置Uの処理を説明するためのフローチャート。Flow chart for explaining a process of the information sharing apparatus U B embodiment.

以下、図面を参照してこの発明の一実施形態を説明する。   An embodiment of the present invention will be described below with reference to the drawings.

[アルゴリズム]
まず、この発明のアルゴリズムの例について説明する。
[algorithm]
First, an example of the algorithm of the present invention will be described.

<公開パラメータ>PIDをプロトコルIDとし、プロトコル仕様に対応した固有のIDとする。すなわち、PIDはプロトコル仕様に応じた所定のビット列である。セキュリティパラメータをkとする。kは、所定の正の整数である。pをkビット素数とし、G,GTをそれぞれ双線形写像e:G×G→GTを効率的に計算可能なg,gTを生成元とする群とする。H1:{0,1}*→G、H2:{0,1}*→Zp、H:{0,1}*→{0,1}kをハッシュ関数とする。 <Public parameter> PID is a protocol ID, and a unique ID corresponding to the protocol specification. That is, the PID is a predetermined bit string corresponding to the protocol specification. Let k be the security parameter. k is a predetermined positive integer. Let p be a k-bit prime number, and G and G T be a group having g and g T that can be efficiently calculated as a bilinear map e: G × G → G T , respectively. H 1 : {0,1} * → G, H 2 : {0,1} * → Z p , and H: {0,1} * → {0,1} k are hash functions.

<鍵生成>鍵生成アルゴリズムは、一様ランダムにマスタ秘密鍵s0∈Zpを選び、S0=1Gを設定する。1GはGの単位元である。鍵生成アルゴリズムは、マスタ公開鍵P0=g及びQ0=P0 s0を計算して公開する。ここで、P0の右肩の「s0」は「s0」を意味する。このように、ある文字の上付きの文字及び数字の一部がその上付きの中で更に上付き又は下付きである場合がある点に留意する。同様に、ある文字の下付きの文字及び数字の一部がその下付きの中で更に上付き又は下付きである場合がある点に留意する。 <Key generation> The key generation algorithm uniformly selects a master secret key s 0 εZ p and sets S 0 = 1 G. 1G is a unit element of G. The key generation algorithm calculates and publicizes the master public keys P 0 = g and Q 0 = P 0 s0 . Here, “s0” on the right shoulder of P 0 means “s 0 ”. Thus, it should be noted that some superscripts and numbers of a character may be superscripts or subscripts in the superscript. Similarly, it should be noted that some subscript letters and numbers of a character may be further superscripts or subscripts within the subscript.

<鍵抽出>ID=(ID1,…,IDt-1)に対応するユーザ装置は初期化として、st-1∈Zpを一様ランダムに選び、秘密の状態情報として保持する。同様にして他のユーザのそれぞれも、秘密の状態情報としてZpの元を一様ランダムに選択して保持する。ID=(ID1,…,IDt-1)に対応するユーザは鍵抽出者として自分の長期秘密鍵(St-1,Q1,…,Qt-1)を用いて、そのユーザの下位のユーザであってID’=(ID1,…,IDt-1,IDt)に対応するユーザ向けに次のように長期秘密鍵(St,Q1,…,Qt-1,Qt)を生成する。ここで、Pt=H1(ID1,…,IDt-1,IDt)、St=St-1Pt st-1、Qt=P0 stである。 <Key extraction> The user apparatus corresponding to ID = (ID 1 ,..., ID t−1 ) selects s t−1 εZ p uniformly and randomly as initialization, and holds it as secret state information. Similarly, each of the other users also selects and holds the element of Z p as secret state information uniformly at random. The user corresponding to ID = (ID 1 , ..., ID t-1 ) uses his / her long-term secret key (S t-1 , Q 1 , ..., Q t-1 ) as a key extractor, and For lower-level users who correspond to ID '= (ID 1 , ..., ID t-1, ID t ), the long-term secret key (S t , Q 1 , ..., Q t-1, Q t ) is generated. Here, P t = H 1 (ID 1 ,..., ID t−1 , ID t ), S t = S t−1 P t st−1 , and Q t = P 0 st .

<鍵交換>以下では、ユーザUAを鍵交換セッションのイニシエータとし、ユーザUBをレスポンダとする。ユーザUAはIDA=(IDA,1,…,IDA,α)に対応する長期秘密鍵(SA,α,QA,1,…,QA,α)を持ち、ユーザUBはIDB=(IDB,1,…,IDB,β)に対応する長期秘密鍵(SB,β,QB,1,…,QB,β)を持つとする。 <Key Exchange> In the following, it is assumed that user U A is the initiator of the key exchange session and user U B is the responder. User U A has a long-term secret key (S A, α , Q A, 1 , ..., Q A, α ) corresponding to ID A = (ID A, 1 , ..., ID A, α ) and user U B Is assumed to have a long-term secret key (S B, β , Q B, 1 ,..., Q B, β ) corresponding to ID B = (ID B, 1 , ..., ID B, β ).

1.ユーザUAはランダムに短期秘密鍵x~ 1,x~ 2UZpを選ぶ。このとき、ユーザUAは、x1=H2(SA,α,x~ 1)及びx2=H2(SA,α,x~ 2)を計算し、短期公開鍵epkIDB=(X0=P0 x1,XB,2=PB,2 x1,…,XB,β=PB,β x1,X0’=P0 x2,XB,2’=PB,2 x2,…,XB,β’=PB,β x2)を計算する。ただし、PB,i=H1(IDB,1,…,IDB,i)(1≦i≦β)である。ユーザUAは、epkIDBをユーザUBに送る。 1. User U A randomly selects short-term secret keys x ~ 1 , x ~ 2U Z p . At this time, the user U A calculates x 1 = H 2 (S A, α , x ~ 1 ) and x 2 = H 2 (S A, α , x ~ 2 ), and the short-term public key epk IDB = ( X 0 = P 0 x1 , X B, 2 = P B, 2 x1 ,…, X B, β = P B, β x1 , X 0 '= P 0 x2 , X B, 2 ' = P B, 2 x2 , ..., X B, β '= P B, β x2 ). However, P B, i = H 1 (ID B, 1 ,..., ID B, i ) (1 ≦ i ≦ β). User U A sends an epk IDB to user U B.

2.ユーザUBはランダムに短期秘密鍵y~ 1,y~ 2∈Zpを選ぶ。このとき、ユーザUBは、y1=H2(SB,β,y~ 1)及びy2=H2(SB,β,y~ 2)を計算し、短期公開鍵epkIDA=(Y0=P0 y1,YA,2=PA,2 y1,…,YA,α=PA,α y1,Y0’=P0 y2,YA,2’=PA,2 y2,…,YA,α’=PA,α y2)を計算する。ただし、PA,i=H1(IDA,1,…,IDA,i)(1≦i≦α)である。ユーザUBは、epkIDAをユーザUAに送る。 2. The user U B randomly selects the short-term secret key y ~ 1 , y ~ 2 ∈ Z p . At this time, the user U B calculates y 1 = H 2 (S B, β , y ~ 1 ) and y 2 = H 2 (S B, β , y ~ 2 ), and the short-term public key epk IDA = ( Y 0 = P 0 y1 , Y A, 2 = P A, 2 y1 ,…, Y A, α = P A, α y1 , Y 0 '= P 0 y2 , Y A, 2 ' = P A, 2 y2 , ..., Y A, α '= P A, α y2 ). However, P A, i = H 1 (ID A, 1 ,..., ID A, i ) (1 ≦ i ≦ α). User U B sends epk IDA to user U A.

ユーザUBは、共有秘密情報σ123をそれぞれ次のように計算する。 User U B calculates the shared secret information σ 1 , σ 2 , and σ 3 as follows.

σ1=e(X0,SB,β)/Πi=2 βe(QB,i-1,XB,i)
σ1’=e(X0’,SB,β)/Πi=2 βe(QB,i-1,XB,i’)
σ2=e(Q0,PA,1)y1
σ2’=e(Q0,PA,1)y2
σ3=(X0)y1
その後、ユーザUBは、セッション鍵K=H(σ11’,σ22’,σ3,PID,IDA,IDB,epkIDB,epkIDA)を計算して出力し、セッションを終了する。
σ 1 = e (X 0 , S B, β ) / Π i = 2 β e (Q B, i-1 , X B, i )
σ 1 '= e (X 0 ', S B, β ) / Π i = 2 β e (Q B, i-1 , X B, i ')
σ 2 = e (Q 0 , P A, 1 ) y1
σ 2 '= e (Q 0 , P A, 1 ) y2
σ 3 = (X 0 ) y1
After that, the user U B calculates and outputs the session key K = H (σ 1 , σ 1 ', σ 2 , σ 2 ', σ 3 , PID, ID A , ID B , epk IDB , epk IDA ). End the session.

3.ユーザUAは、共有秘密情報σ1,σ1’,σ2,σ2’,σ3をそれぞれ次のように計算する。 3. The user U A calculates the shared secret information σ 1 , σ 1 ′, σ 2 , σ 2 ′, and σ 3 as follows.

σ1=e(Q0,PB,1)x1
σ1’=e(Q0,PB,1)x2
σ2=e(Y0,SA,α)/Πi=2 αe(QA,i-1,YA,i)
σ2’=e(Y0’,SA,α)/Πi=2 αe(QA,i-1,YA,i’)
σ3=(Y0)x1
その後、ユーザUAは、セッション鍵K=H(σ11’,σ22’,σ3,PID,IDA,IDB,epkIDB,epkIDA)を計算して出力し、セッションを終了する。
σ 1 = e (Q 0 , P B, 1 ) x1
σ 1 '= e (Q 0 , P B, 1 ) x2
σ 2 = e (Y 0 , S A, α ) / Π i = 2 α e (Q A, i-1 , Y A, i )
σ 2 '= e (Y 0 ', S A, α ) / Π i = 2 α e (Q A, i-1 , Y A, i ')
σ 3 = (Y 0 ) x1
After that, the user U A calculates and outputs the session key K = H (σ 1 , σ 1 ', σ 2 , σ 2 ', σ 3 , PID, ID A , ID B , epk IDB , epk IDA ). End the session.

共有秘密情報には次の関係があるため、ユーザUAが計算した共有秘密情報σ11’,σ22’,σ3はそれぞれユーザUBが計算した共有秘密情報σ11’,σ22’,σ3と一致する。 Since the shared secret information have the following relationship, the user U A shared secret sigma 1 which has been calculated, σ 1 ', σ 2, σ 2', σ 3 shared secret sigma 1 calculated by the user U B, respectively , σ 1 ′, σ 2 , σ 2 ′, σ 3 .

σ1=e(P0i=1 βPB,i si-1)x1i=2 βe(P0 si-1,PB,i x1)=Πi=1 βe(P0,PB,i)x1si-1i=2 βe(P0,PB,i)x1si-1=e(Q0,PB,1)x1=e(P0,PB,1)s0x1
σ1’=e(P0i=1 βPB,i si-1)x2i=2 βe(P0 si-1,PB,i x2)=Πi=1 βe(P0,PB,i)x2si-1i=2 βe(P0,PB,i)x2si-1=e(Q0,PB,1)x2=e(P0,PB,1)s0x2
σ2=e(P0i=1 αPA,i si-1)y1i=2 αe(P0 si-1,PA,i y1)=Πi=1 αe(P0,PA,i)y1si-1i=2 αe(P0,PA,i)y1si-1=e(Q0,PA,1)y1=e(P0,PA,1)s0y1
σ2’=e(P0i=1 αPA,i si-1)y2i=2 αe(P0 si-1,PA,i y2)=Πi=1 αe(P0,PA,i)y2si-1i=2 αe(P0,PA,i)y2si-1=e(Q0,PA,1)y2=e(P0,PA,1)s0y2
σ3=(X0)y1=(Y0)x1=P0 x1y1
このようにして、同一の共有情報であるセッション鍵Kが共有される。
σ 1 = e (P 0 , Π i = 1 β P B, i si-1 ) x1 / Π i = 2 β e (P 0 si-1 , P B, i x1 ) = Π i = 1 β e ( P 0 , P B, i ) x1si-1 / Π i = 2 β e (P 0 , P B, i ) x1si-1 = e (Q 0 , P B, 1 ) x1 = e (P 0 , P B , 1 ) s0x1
σ 1 '= e (P 0 , Π i = 1 β P B, i si-1 ) x2 / Π i = 2 β e (P 0 si-1 , P B, i x2 ) = Π i = 1 β e (P 0 , P B, i ) x2si-1 / Π i = 2 β e (P 0 , P B, i ) x2si-1 = e (Q 0 , P B, 1 ) x2 = e (P 0 , P B, 1 ) s0x2
σ 2 = e (P 0 , Π i = 1 α P A, i si-1 ) y1 / Π i = 2 α e (P 0 si-1 , P A, i y1 ) = Π i = 1 α e ( P 0 , P A, i ) y1si-1 / Π i = 2 α e (P 0 , P A, i ) y1si-1 = e (Q 0 , P A, 1 ) y1 = e (P 0 , P A , 1 ) s0y1
σ 2 '= e (P 0 , Π i = 1 α P A, i si-1 ) y2 / Π i = 2 α e (P 0 si-1 , P A, i y2 ) = Π i = 1 α e (P 0 , P A, i ) y2si-1 / Π i = 2 α e (P 0 , P A, i ) y2si-1 = e (Q 0 , P A, 1 ) y2 = e (P 0 , P A, 1 ) s0y2
σ 3 = (X 0 ) y1 = (Y 0 ) x1 = P 0 x1y1
In this way, the session key K which is the same shared information is shared.

[実施形態]
次に、上記[アルゴリズム]の欄で説明したアルゴリズムを実行する情報共有システムの一例を説明する。この情報共有システムは、図1に例示するように、情報共有装置U及び情報共有装置Uから構成される。情報共有装置Uが[アルゴリズム]の欄で説明したユーザUに対応し、情報共有装置Uが[アルゴリズム]の欄で説明したユーザUに対応する。情報共有装置Uは図4に例示した処理を行い、情報共有装置Uは図5に例示した処理を行う。
[Embodiment]
Next, an example of an information sharing system that executes the algorithm described in the above [Algorithm] column will be described. The information sharing system, as illustrated in FIG. 1, an information sharing apparatus U A and the information sharing apparatus U B. Information sharing device U A corresponds to the user U A mentioned in the description of the algorithm, the information sharing apparatus U B corresponding to the user U B mentioned in the description of the algorithm. Information sharing apparatus U A performs the processing illustrated in FIG. 4, the information sharing apparatus U B performs the processing illustrated in FIG.

情報共有の前に、[アルゴリズム]の<鍵抽出>の欄で説明した方法により、マスタ秘密鍵s0及びマスタ公開鍵P0=g及びQ0=P0 s0等の情報共有のために必要なパラメータが設定され、必要に応じて記憶部10及び記憶部20に記憶されているものとする。また、情報共有の前に、情報共有装置U及び情報共有装置Uには、[アルゴリズム]の<鍵抽出>の欄で説明した方法により、ID及び秘密の状態情報及び長期秘密鍵が予め定められ、必要に応じて記憶部10及び記憶部20に記憶されているものとする。これらの記憶部10及び20に記憶されたデータは、適宜読み出されて下記に説明する計算が行われる。 Necessary for information sharing such as master secret key s 0 and master public key P 0 = g and Q 0 = P 0 s0 by the method described in the <Key extraction> column of [Algorithm] before information sharing It is assumed that various parameters are set and stored in the storage unit 10 and the storage unit 20 as necessary. Further, before the information sharing, the information sharing apparatus U A and the information sharing apparatus U B, by the method described in the section of <key extraction> of [Algorithm], advance the ID and secret state information and long-term private key It is determined and stored in the storage unit 10 and the storage unit 20 as necessary. The data stored in these storage units 10 and 20 is read out as appropriate, and the calculation described below is performed.

情報共有装置UのIDを、IDA=(IDA,1,…,IDA,α)とする。αは正の整数である。このように、IDAはα個のIDAの断片IDA,1,…,IDA,αから構成される。[アルゴリズム]の<鍵抽出>の欄で説明した方法により定められた情報共有装置Uの長期秘密鍵を(SA,α,QA,1,…,QA,α)とする。 The ID of the information sharing apparatus U A, ID A = (ID A, 1, ..., ID A, α) to. α is a positive integer. In this way, ID A is composed of α ID A fragments ID A, 1 ,..., ID A, α . [Algorithm] of the long-term private key column in the information sharing apparatus defined by the method described U A of <key extraction> (S A, α, Q A, 1, ..., Q A, α) to.

情報共有装置UのIDを、IDB=(IDB,1,…,IDB,β)とする。βは正の整数である。このように、IDBはβ個のIDBの断片IDB,1,…,IDB,βから構成される。[アルゴリズム]の<鍵抽出>の欄で説明した方法により定められた情報共有装置Uの長期秘密鍵を(SB,β,QB,1,…,QB,β)とする。 The ID of the information sharing apparatus U B, ID B = (ID B, 1, ..., ID B, β) to. β is a positive integer. Thus, ID B is composed of β ID B fragments ID B, 1 ,..., ID B, β . [Algorithm] long term private key of the <key extraction> information sharing apparatus as defined by the method described in the column of U B (S B, β, Q B, 1, ..., Q B, β) to.

情報共有装置U及び情報共有装置Uによる自分より下位の情報共有装置(ユーザ)に対する鍵の抽出、すなわち長期秘密鍵の生成は、それぞれ図2,3の鍵抽出部112,212により行われる。 Information sharing apparatus U A and the information sharing apparatus U B extracted key for the lower information sharing device than their (user) by, i.e. generation of long-term secret key is performed by the key extraction unit 112, 212, respectively, of FIG 2 and 3 .

情報共有装置Uは、図2に示すように、記憶部10、短期秘密鍵生成部11、ハッシュ値計算部12、短期公開鍵生成部13、送信部14、受信部15、第一共有秘密情報生成部16、第二共有秘密情報生成部17、第三共有秘密情報生成部18、第四共有秘密情報生成部19、第五共有秘密情報生成部110、共有情報生成部111、鍵抽出部112を例えば含む。 Information sharing apparatus U A, as shown in FIG. 2, the storage unit 10, the short-term private key generating unit 11, the hash value calculation unit 12, the short-term public key generation unit 13, transmitting unit 14, receiving unit 15, first shared Secret information generation unit 16, second shared secret information generation unit 17, third shared secret information generation unit 18, fourth shared secret information generation unit 19, fifth shared secret information generation unit 110, shared information generation unit 111, key extraction For example, the unit 112 is included.

情報共有装置Uは、図3に示すように、記憶部20、短期秘密鍵生成部21、ハッシュ値計算部22、短期公開鍵生成部23、送信部24、受信部25、第一共有秘密情報生成部26、第二共有秘密情報生成部27、第三共有秘密情報生成部28、第四共有秘密情報生成部29、第五共有秘密情報生成部210、共有情報生成部211、鍵抽出部212を例えば含む。 Information sharing apparatus U B, as shown in FIG. 3, the storage unit 20, the short-term private key generation unit 21, the hash value calculation unit 22, the short-term public key generation unit 23, transmitting unit 24, receiving unit 25, first shared Secret information generation unit 26, second shared secret information generation unit 27, third shared secret information generation unit 28, fourth shared secret information generation unit 29, fifth shared secret information generation unit 210, shared information generation unit 211, key extraction For example, the unit 212 is included.

情報共有装置Uの短期秘密鍵生成部11(図2)は、短期秘密鍵x~ 1,x~ 2∈Zpを生成する(ステップA1)。例えば、Zpの中から一様ランダムに2つの元を選びそれぞれ短期秘密鍵y~ 1,y~ 2とする。求める安全性のレベルが高くない場合には、一様ランダムに選択する必要はない。生成された短期秘密鍵x~ 1,x~ 2は、ハッシュ値計算部12に送信される。 Short-term secret key generation unit 11 of the information sharing apparatus U A (FIG. 2) generates a short-term private key x ~ 1, x ~ 2 ∈Z p ( step A1). For example, the respective short-term private key y ~ 1, y ~ 2 uniformly randomly selected two original from the Z p. When the required level of safety is not high, it is not necessary to select uniformly at random. The generated short-term secret keys x ~ 1 and x ~ 2 are transmitted to the hash value calculation unit 12.

情報共有装置Uのハッシュ値計算部12は、短期秘密鍵x~ 1,x~ 2及び長期秘密鍵の中のSA,αを用いて、ハッシュ値x1=H2(SA,α,x~ 1)及びx2=H2(SA,α,x~ 2)を計算する(ステップA2)。ハッシュ値x1は、短期公開鍵生成部13、第一共有秘密情報生成部16、第五共有秘密情報生成部110に送信される。ハッシュ値x2は、短期公開鍵生成部13、第二共有秘密情報生成部17に送信される。 Hash value calculation unit of the information sharing apparatus U A 12 is short secret key x ~ 1, x ~ 2 and S A in the long-term private key, using alpha, hash values x 1 = H 2 (S A , α , x ~ 1) and x 2 = H 2 (S a , α, x ~ 2) to calculate the (step A2). The hash value x 1 is transmitted to the short-term public key generation unit 13, the first shared secret information generation unit 16, and the fifth shared secret information generation unit 110. The hash value x 2 is transmitted to the short-term public key generation unit 13 and the second shared secret information generation unit 17.

情報共有装置Uの短期公開鍵生成部13は、短期公開鍵epkIDB=(X0=P0 x1,XB,2=PB,2 x1,…,XB,β=PB,β x1,X0’=P0 x2,XB,2’=PB,2 x2,…,XB,β’=PB,β x2)を計算する(ステップA3)。ここで、PB,i=H1(IDB,1,…,IDB,i)(1≦i≦β)とする。計算された短期公開鍵epkIDBは、送信部14に送信される。 Short-term public key generation unit 13 of the information sharing apparatus U A is short public key epk IDB = (X 0 = P 0 x1, X B, 2 = P B, 2 x1, ..., X B, β = P B, β x1, X 0 '= P 0 x2, X B, 2' = P B, 2 x2, ..., X B, β '= P B, β x2) to calculate the (step A3). Here, P B, i = H 1 (ID B, 1 ,..., ID B, i ) (1 ≦ i ≦ β). The calculated short-term public key epk IDB is transmitted to the transmission unit 14.

情報共有装置Uの送信部14は、短期公開鍵epkIDBを情報共有装置Uに送信する(ステップA4)。 Transmission unit 14 of the information sharing apparatus U A sends a short public key epk IDB to the information sharing apparatus U A (step A4).

情報共有装置Uの短期秘密鍵生成部21(図3)は、短期秘密鍵y~ 1,y~ 2∈Zpを生成する(ステップB1)。例えば、Zpの中から一様ランダムに2つの元を選びそれぞれ短期秘密鍵y~ 1,y~ 2とする。求める安全性のレベルが高くない場合には、一様ランダムに選択する必要はない。生成された短期秘密鍵y~ 1,y~ 2は、ハッシュ値計算部22に送信される。 Short-term private key generation unit 21 of the information sharing apparatus U B (FIG. 3) generates a short-term private key y ~ 1, y ~ 2 ∈Z p ( step B1). For example, the respective short-term private key y ~ 1, y ~ 2 uniformly randomly selected two original from the Z p. When the required level of safety is not high, it is not necessary to select uniformly at random. Short-term private key y ~ 1, y ~ 2 produced is sent to the hash value calculation unit 22.

情報共有装置Uのハッシュ値計算部22は、短期秘密鍵y~ 1,y~ 2及び長期秘密鍵の中のSB,βを用いて、ハッシュ値y1=H2(SB,β,y~ 1)及びy2=H2(SB,β,y~ 2)を計算する(ステップB2)。ハッシュ値y1は、短期公開鍵生成部23、第三共有秘密情報生成部28、第五共有秘密情報生成部210に送信される。ハッシュ値y2は、短期公開鍵生成部23、第四共有秘密情報生成部29に送信される。 Hash value calculation unit 22 of the information sharing apparatus U B is short secret key y ~ 1, y ~ 2 and long secret S B in the key, with a beta, hash value y 1 = H 2 (S B , β , y ~ 1) and y 2 = H 2 (S B , β, y ~ 2) to calculate the (step B2). The hash value y 1 is transmitted to the short-term public key generation unit 23, the third shared secret information generation unit 28, and the fifth shared secret information generation unit 210. The hash value y 2 is transmitted to the short-term public key generation unit 23 and the fourth shared secret information generation unit 29.

情報共有装置Uの短期公開鍵生成部23は、短期公開鍵epkIDA=(Y0=P0 y1,YA,2=PA,2 y1,…,YA,α=PA,α y1,Y0’=P0 y2,YA,2’=PA,2 y2,…,YA,α’=PA,α y2)を計算する(ステップB3)。ここで、PA,i=H1(IDA,1,…,IDA,i)(1≦i≦α)とする。計算された短期公開鍵epkIDAは、送信部24に送信される。 The short-term public key generation unit 23 of the information sharing apparatus U B uses the short-term public key epk IDA = (Y 0 = P 0 y 1 , Y A, 2 = P A, 2 y 1 ,..., Y A, α = P A, α y1, Y 0 '= P 0 y2, Y a, 2' = P a, 2 y2, ..., Y a, α '= P a, α y2) calculate the (step B3). Here, P A, i = H 1 (ID A, 1 ,..., ID A, i ) (1 ≦ i ≦ α). The calculated short-term public key epk IDA is transmitted to the transmission unit 24.

情報共有装置Uの送信部24は、短期公開鍵epkIDAを情報共有装置Uに送信する(ステップB4)。 Transmitter 24 of the information sharing apparatus U B sends a short public key epk IDA to the information sharing apparatus U B (step B4).

情報共有装置Uの受信部25は、短期公開鍵epkIDBを情報共有装置Uから受信する(ステップB5)。 Receiving unit 25 of the information sharing apparatus U B receives the short-term public key epk IDB from the information sharing apparatus U A (step B5).

情報共有装置Uの第一共有秘密情報生成部26は、第一共有秘密情報σ1=e(X0,SB,β)/Πi=2 βe(QB,i-1,XB,i)を計算する(ステップB6)。計算された第一共有秘密情報σ1は、共有情報生成部211に送信される。 First shared secret information generation unit 26 of the information sharing apparatus U B, the first shared secret σ 1 = e (X 0, S B, β) / Π i = 2 β e (Q B, i-1 , X B, i ) is calculated (step B6). The calculated first shared secret information σ 1 is transmitted to the shared information generation unit 211.

情報共有装置Uの第二共有秘密情報生成部27は、第二共有秘密情報σ1’=e(X0’,SB,β)/Πi=2 βe(QB,i-1,XB,i’)を計算する(ステップB7)。計算された第二共有秘密情報σ1’は、共有情報生成部211に送信される。 The second shared secret information generating unit 27 of the information sharing apparatus U B, the second shared secret σ 1 '= e (X 0 ', S B, β) / Π i = 2 β e (Q B, i-1 , X B, i ′) is calculated (step B7). The calculated second shared secret information σ 1 ′ is transmitted to the shared information generation unit 211.

情報共有装置Uの第三共有秘密情報生成部28は、第三共有秘密情報σ2=e(Q0,PA,1)y1を計算する(ステップB8)。計算された第三共有秘密情報σ2は、共有情報生成部211に送信される。 Third shared secret information generation unit 28 of the information sharing apparatus U B, the third shared secret σ 2 = e (Q 0, P A, 1) to calculate the y1 (step B8). The calculated third shared secret information σ 2 is transmitted to the shared information generation unit 211.

情報共有装置Uの第四共有秘密情報生成部29は、第四共有秘密情報σ2’=e(Q0,PA,1)y2を計算する(ステップB9)。計算された第四共有秘密情報σ2’は、共有情報生成部211に送信される。 Fourth shared secret information generation unit 29 of the information sharing apparatus U B are quaternary shared secret σ 2 '= e (Q 0 , P A, 1) to calculate the y2 (step B9). The calculated fourth shared secret information σ 2 ′ is transmitted to the shared information generation unit 211.

情報共有装置Uの第五共有秘密情報生成部210は、第五秘密情報計算部σ3=(X0)y1を計算する(ステップB10)。計算された第五秘密情報計算部σ3は、共有情報生成部211に送信される。 Fifth shared secret information generation unit 210 of the information sharing apparatus U B is the fifth secret information calculation section σ 3 = (X 0) to calculate the y1 (step B10). The calculated fifth secret information calculation unit σ 3 is transmitted to the shared information generation unit 211.

情報共有装置Uの共有情報生成部211は、H(σ11’,σ22’,σ3,PID,IDA,IDB,epkIDB,epkIDA)を計算して、その計算結果を共有情報とする(ステップB11)。 Share information generating unit 211 of the information sharing apparatus U B is, H (σ 1, σ 1 ', σ 2, σ 2', σ 3, PID, ID A, ID B, epk IDB, epk IDA) to calculate the The calculation result is used as shared information (step B11).

情報共有装置Uの受信部15(図2)は、短期公開鍵epkIDAを情報共有装置Uから受信する(ステップA5)。 Receiver 15 of the information sharing apparatus U A (FIG. 2) receives the short-term public key epk IDA from the information sharing apparatus U A (step A5).

情報共有装置Uの第一共有秘密情報生成部16は、第一共有秘密情報σ1=e(Q0,PB,1)x1を計算する(ステップA6)。計算された第一共有秘密情報σ1は、共有情報生成部111に送信される。 First shared secret information generation unit 16 of the information sharing apparatus U A, the first shared secret σ 1 = e (Q 0, P B, 1) to calculate the x1 (step A6). The calculated first shared secret information σ 1 is transmitted to the shared information generation unit 111.

情報共有装置Uの第二共有秘密情報生成部17は、第二共有秘密情報σ1’=e(Q0,PB,1)x2を計算する(ステップA7)。計算された第二共有秘密情報σ1’は、共有情報生成部111に送信される。 The second shared secret information generating unit 17 of the information sharing apparatus U A, the second shared secret σ 1 '= e (Q 0 , P B, 1) to calculate the x2 (step A7). The calculated second shared secret information σ 1 ′ is transmitted to the shared information generation unit 111.

情報共有装置Uの第三共有秘密情報生成部18は、第三共有秘密情報σ2=e(Y0,SA,α)/Πi=2 αe(QA,i-1,YA,i)(ステップA8)。計算された第三共有秘密情報σ2は、共有情報生成部111に送信される。 Third shared secret information generation unit 18 of the information sharing apparatus U A, the third shared secret σ 2 = e (Y 0, S A, α) / Π i = 2 α e (Q A, i-1, Y A, i ) (step A8). The calculated third shared secret information σ 2 is transmitted to the shared information generation unit 111.

情報共有装置Uの第四共有秘密情報生成部19は、第四共有秘密情報σ2’=e(Y0’,SA,α)/Πi=2 αe(QA,i-1,YA,i’)を計算する(ステップA9)。計算された第四共有秘密情報σ2’は、共有情報生成部111に送信される。 Fourth shared secret information generation unit 19 of the information sharing apparatus U A are quaternary shared secret σ 2 '= e (Y 0 ', S A, α) / Π i = 2 α e (Q A, i-1 , Y A, i ′) is calculated (step A9). The calculated fourth shared secret information σ 2 ′ is transmitted to the shared information generation unit 111.

情報共有装置Uの第五共有秘密情報生成部110は、第五秘密情報計算部σ3=(Y0)x1を計算する(ステップA10)。計算された第五秘密情報計算部σ3は、共有情報生成部111に送信される。 Fifth shared secret information generation unit 110 of the information sharing apparatus U A is the fifth secret information calculation section σ 3 = (Y 0) to calculate the x1 (step A10). The calculated fifth secret information calculation unit σ 3 is transmitted to the shared information generation unit 111.

情報共有装置Uの共有情報生成部111は、H(σ11’,σ22’,σ3,PID,IDA,IDB,epkIDB,epkIDA)を計算して、その計算結果を共有情報とする(ステップA11)。この共有情報は、例えば認証鍵として用いられる。 Share information generating unit 111 of the information sharing apparatus U A is, H (σ 1, σ 1 ', σ 2, σ 2', σ 3, PID, ID A, ID B, epk IDB, epk IDA) to calculate the The calculation result is used as shared information (step A11). This shared information is used as an authentication key, for example.

このようにして、情報共有が行われる。   In this way, information sharing is performed.

[変形例等]
情報共有装置Uの各部間のデータのやり取りは直接行われてもよいし、記憶部10を介して行われてもよい。同様に、情報共有装置Uの各部間のデータのやり取りは直接行われてもよいし、記憶部20を介して行われてもよい。
[Modifications, etc.]
Exchange of data between each part of the information sharing apparatus U A is may be performed directly or may be performed via the storage unit 10. Similarly, the exchange of data between each part of the information sharing apparatus U B is may be made directly or may be performed via the storage unit 20.

上記の例では、共有情報生成部111及び共有情報生成部211は、ハッシュ関数Hを用いたが、任意の予め定められた関数Fを用いて共有情報を求めてもよい。すなわち、共有情報生成部111及び共有情報生成部211は、F(σ11’,σ22’,σ3,PID,IDA,IDB,epkIDB,epkIDA)を計算して、その計算結果を共有情報としてもよい。 In the above example, the shared information generation unit 111 and the shared information generation unit 211 use the hash function H. However, the shared information may be obtained using an arbitrary predetermined function F. That is, the shared information generating unit 111 and the shared information generating unit 211 calculate F (σ 1 , σ 1 ′, σ 2 , σ 2 ′, σ 3 , PID, ID A , ID B , epk IDB , epk IDA ). Then, the calculation result may be shared information.

その他、この発明は上述の実施形態に限定されるものではない。例えば、上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。   In addition, the present invention is not limited to the above-described embodiment. For example, the various processes described above are not only executed in time series according to the description, but may also be executed in parallel or individually as required by the processing capability of the apparatus that executes the processes.

また、上述の構成をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。   Further, when the above-described configuration is realized by a computer, processing contents of functions that each device should have are described by a program. The processing functions are realized on the computer by executing the program on the computer.

この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。   The program describing the processing contents can be recorded on a computer-readable recording medium. As the computer-readable recording medium, for example, any recording medium such as a magnetic recording device, an optical disk, a magneto-optical recording medium, and a semiconductor memory may be used.

その他、この発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。   Needless to say, other modifications are possible without departing from the spirit of the present invention.

[安全性の証明]
このように、短期秘密鍵を二重化し、共有情報を計算するための共有秘密情報であって短期秘密鍵に由来する共有秘密情報を短期秘密鍵ごとに計算する。これにより、ギャップ問題の難しさを仮定することなく探索問題の難しさをのみを仮定することで安全性を証明することができる。以下、その安全性の証明の概要を説明する。
[Proof of safety]
In this way, the short-term secret key is duplicated, and the shared secret information for calculating the shared information and derived from the short-term secret key is calculated for each short-term secret key. Thus, it is possible to prove the safety by assuming only the difficulty of the search problem without assuming the difficulty of the gap problem. The outline of the safety proof will be described below.

まず、探索問題(探索双線形Diffie-Hellman問題)及びギャップ問題(ギャップ双線形Diffie-Hellman問題)の定義を説明する。   First, definitions of a search problem (search bilinear Diffie-Hellman problem) and a gap problem (gap bilinear Diffie-Hellman problem) will be described.

探索双線形Diffie-Hellman問題:κをセキュリティパラメータとし、Pをκビット素数とする。Gをgを生成元とする位数pの巡回群とし、GTをgTを生成元とする巡回群とする。e:G×G→GTを双線形写像とする。双線形Diffie-Hellman関数BDH:G3→GTをBDH(gu,gv,gw)=gT uvwとして定義する。解答者Sは一様ランダムに選ばれたU=gu,V=gv,W=gw,∈Gを入力され、BDH(U,V,W)の出力を試みる。解答者Sのアドバンテージを次のように定義する。 Search Bilinear Diffie-Hellman Problem: Let κ be a security parameter and P be a κ-bit prime. Let G be a cyclic group of order p with g as the generator, and G T be a cyclic group with g T as the generator. e: G × G → G T is a bilinear map. The bilinear Diffie-Hellman function BDH: G 3 → G T is defined as BDH (g u , g v , g w ) = g T uvw . The solver S receives U = g u , V = g v , W = g w , and ∈ G, which are uniformly selected at random, and tries to output BDH (U, V, W). The advantage of solver S is defined as follows:

ADVBDH(S)=Pr[U,V,W∈G,S(g,gT,U,V,)=BDH(U; V;W)]
ADVBDH(S)が無視できない確率であるとき、解答者Sは探索双線形Diffie-Hellman 問題を解いたという。
ADV BDH (S) = Pr [U, V, W∈G, S (g, g T , U, V,) = BDH (U; V; W)]
When ADV BDH (S) has a non-negligible probability, solver S is said to have solved the search bilinear Diffie-Hellman problem.

ギャップ双線形Diffie-Hellman 問題:κをセキュリティパラメータとし、pをκビット素数とする。Gをgを生成元とする位数pの巡回群とし、GTをgTを生成元とする巡回群とする。e:G×G→GTを双線形写像とする。双線形Diffie-Hellman関数BDH:G3→GTをBDH(gu,gv,gw)=gT uvwとして定義し、判定双線形Diffie-Hellman述語オラクルDBDH:G3×GT→{0,1}を(gu,gv,gw,gT r)を入力としuvw=r mod pが成り立つとき1を出力し、そうでなければ0を出力する関数として定義する。解答者Sは一様ランダムに選ばれたU=gu,V=gv,W=gw∈Gと判定双線形Diffie-Hellman 述語オラクルDBDH(・,・,・,・)へのアクセスを入力され、BDH(U,V,W)の出力を試みる。解答者Sのアドバンテージを次のように定義する。 Gap bilinear Diffie-Hellman Problem: Let κ be a security parameter and p be a κ-bit prime. Let G be a cyclic group of order p with g as the generator, and G T be a cyclic group with g T as the generator. e: G × G → G T is a bilinear map. Bilinear Diffie-Hellman function BDH: G 3 → G T is defined as BDH (g u , g v , g w ) = g T uvw and decision bilinear Diffie-Hellman predicate Oracle DBDH: G 3 × G T → { 0,1} is defined as a function that inputs (g u , g v , g w , g T r ) and outputs 1 when uvw = r mod p holds, and outputs 0 otherwise. Solver S has access to randomly chosen U = g u , V = g v , W = g w ∈G and the decision bilinear Diffie-Hellman predicate oracle DBDH (・, ・, ・, ・). Attempted to output BDH (U, V, W). The advantage of solver S is defined as follows:

ADVGBDH(S)=Pr[U,V,W∈G,SDBDH(・,・,・,・)(g,U,V,W)=BDH(U,V,W)]
ADVGBDH(S)が無視できない確率であるとき、解答者Sはギャップ双線形Diffie-Hellman問題を解いたという。
ADV GBDH (S) = Pr [U, V, W∈G, S DBDH (・, ・, ・, ・) (g, U, V, W) = BDH (U, V, W)]
When ADV GBDH (S) has a non-negligible probability, solver S is said to have solved the gap bilinear Diffie-Hellman problem.

ギャップ問題は上記のように判定オラクルのヒント付きの探索問題とみなせるので、ギャップ問題の方が真に易しい。   Since the gap problem can be regarded as a search problem with a hint of judgment oracle as described above, the gap problem is really easier.

情報共有方式の安全性証明を行う際は、「ギャップ問題、もしくは探索問題を解くことが難しいことを仮定すると、情報共有方式への攻撃者が存在しない」ことを示す必要がある。これは、対偶を取ることにより、「情報共有方式への攻撃者が存在すると仮定すると、問題を解く解答者を構成できる」ことを示すことと同値である。したがって、安全性証明では実際に攻撃者から解答者を構成する必要がある。そのためには解答者は攻撃者を実際の攻撃環境と見分けがつかないように動作させなければならない。   When performing the security proof of the information sharing method, it is necessary to indicate that "there is no attacker to the information sharing method assuming that it is difficult to solve the gap problem or the search problem". This is equivalent to showing that by taking an even number, "assuming that there is an attacker to the information sharing method, an answerer who can solve the problem can be constructed". Therefore, in the security proof, it is necessary to actually configure the answerer from the attacker. In order to do so, the respondent must operate the attacker in a way that is indistinguishable from the actual attack environment.

既存方式では、攻撃者が出力したσ1に対してσ1=e(PB,1,Q0)xとσ2=e(PA,1,Q0)yを解答者が検証し、結果に応じて動作を変えねばならない。しかし、解答者はxとyを知ることができないので、自分で上記の検証を行うことができない。よって、判定オラクルに(PB,1,Q0,X,σ1)と(PA,1,Q0,Y,σ2)を聞き、検証式が成り立つかどうかの答えをもらうことによって証明を行う。このためギャップ問題の難しさを仮定する必要がある。上記の情報共有方式では、双線形ペアリング関数を用いた方式の場合は、w2=s-rw1に対してZ1 rZ2=e(X,Y)sの真理値がZ1=e(X,Y)w1∧Z2=e(X,Y)w2の真理値と一致することを利用して検証を行う。このテクニックは落とし戸試験と呼ばれる。実施例では、任意のsとrについて、解答者は証明中でx2=s-rx1,y2=s’-r’y1と設定することでσ1 rσ1’=e(PB,1,Q0)sとσ2 r’σ2’=e(PA,1,Q0)s’の落とし戸試験を行うことで、σ1=e(PB,1,Q0)x11’=e(PB,1,Q0)x22=e(PA,1,Q0)y12’=e(PA,1,Q0)y2の検証をy1とx1を知ること無しに行うことができる。σ1 rσ1’=e(PB,1,Q0)sとσ2 r’σ2’=e(PA,1,Q0)s’は解答者の持つ情報のみで検証できるため、判定オラクルは不要であり、ギャップ問題の難しさを仮定する必要が無くなる。 In existing schemes, sigma 1 = e respect sigma 1 an attacker output (P B, 1, Q 0 ) x and σ 2 = e (P A, 1, Q 0) y the respondent verified, The operation must be changed according to the result. However, since the answerer cannot know x and y, he cannot perform the above verification by himself. Therefore, it is proved by hearing (P B, 1 , Q 0 , X, σ 1 ) and (P A, 1 , Q 0 , Y, σ 2 ) from the judgment oracle, and getting an answer as to whether the verification equation holds. I do. For this reason, it is necessary to assume the difficulty of the gap problem. In the above information sharing method, in the case of method using a bilinear pairing function, w 2 = Z 1 r Z 2 with respect to = s-rw 1 e (X , Y) truth value of s is Z 1 = e (X, Y) w1 ∧Z 2 = e (X, Y) Verify by using the fact that it matches the truth value of w2 . This technique is called the trapdoor test. In the example, for any s and r, the solver sets σ 1 r σ 1 '= e (P in the proof by setting x 2 = s-rx 1 , y 2 = s'-r'y 1 B, 1, Q 0) s and σ 2 r 'σ 2' = e (P a, 1, Q 0) by performing a trapdoor test s', σ 1 = e ( P B, 1, Q 0 ) x1 , σ 1 '= e (P B, 1 , Q 0 ) x2 , σ 2 = e (P A, 1 , Q 0 ) y1 , σ 2 ' = e (P A, 1 , Q 0 ) y2 Verification can be done without knowing y 1 and x 1 . σ 1 r σ 1 '= e (P B, 1 , Q 0 ) s and σ 2 r ' σ 2 '= e (P A, 1 , Q 0 ) s' can be verified only with the information held by the answerer The determination oracle is unnecessary, and it is not necessary to assume the difficulty of the gap problem.

10 記憶部
11 短期秘密鍵生成部
12 ハッシュ値計算部
13 短期公開鍵生成部
14 送信部
15 受信部
16 第一共有秘密情報生成部
17 第二共有秘密情報生成部
18 第三共有秘密情報生成部
19 第四共有秘密情報生成部
110 第五共有秘密情報生成部
111 共有情報生成部
112 鍵抽出部
20 記憶部
21 短期秘密鍵生成部
22 ハッシュ値計算部
23 短期公開鍵生成部
24 送信部
25 受信部
26 第一共有秘密情報生成部
27 第二共有秘密情報生成部
28 第三共有秘密情報生成部
29 第四共有秘密情報生成部
210 第五共有秘密情報生成部
211 共有情報生成部
212 鍵抽出部
10 storage unit 11 short-term secret key generation unit 12 hash value calculation unit 13 short-term public key generation unit 14 transmission unit 15 reception unit 16 first shared secret information generation unit 17 second shared secret information generation unit 18 third shared secret information generation Unit 19 fourth shared secret information generation unit 110 fifth shared secret information generation unit 111 shared information generation unit 112 key extraction unit 20 storage unit 21 short-term secret key generation unit 22 hash value calculation unit 23 short-term public key generation unit 24 transmission unit 25 Receiving unit 26 first shared secret information generating unit 27 second shared secret information generating unit 28 third shared secret information generating unit 29 fourth shared secret information generating unit 210 fifth shared secret information generating unit 211 shared information generating unit 212 key Extraction unit

Claims (6)

プロトコルIDであるPIDを所定のビット列とし、H1:{0,1}*→G、H2:{0,1}*→Zpをハッシュ関数とし、Fを予め定められた関数として、G,GTをそれぞれ双線形写像e:G×G→GTを計算可能なg,gTを生成元とする群とし、Gの単位元を1Gとし、S0=1Gとし、マスタ公開鍵P0=g,Q0=P0 s0∈Gとし、ID=(ID1,ID2,…,IDt-1)に対応する情報共有装置の秘密情報をst-1∈Zpとし、その情報共有装置の長期秘密鍵を(St-1,Q1,…,Qt-1)とし、その情報共有装置の下位の情報共有装置であってID’=(ID1,ID2,…,IDt-1,IDt)に対応する情報共有装置の長期秘密鍵を(St,Q1,…,Qt)とし、Pt=H1(ID1,ID2,…,IDt-1,IDt)とし、St=St-1Pt st-1,Qt=P0 stとすることにより定まる、IDA=(IDA,1,…,IDA,α)に対応する情報共有装置Uの長期秘密鍵を(SA,α,QA,1,…,QA,α)、IDB=(IDB,1,…,IDB,β)に対応する情報共有装置Uの長期秘密鍵を(SB,β,QB,1,…,QB,β)として、
短期秘密鍵x~ 1,x~ 2∈Zpを生成する短期秘密鍵生成部と、x1=H2(SA,α,x~ 1)及びx2=H2(SA,α,x~ 2)を計算するハッシュ値計算部と、PB,i=H1(IDB,1,…,IDB,i)(1≦i≦β)として短期公開鍵epkIDB=(X0=P0 x1,XB,2=PB,2 x1,…,XB,β=PB,β x1,X0’=P0 x2,XB,2’=PB,2 x2,…,XB,β’=PB,β x2)を計算する短期公開鍵生成部と、上記短期公開鍵epkIDBを情報共有装置Uに送信する送信部と、短期公開鍵epkIDAを上記情報共有装置Uから受信する受信部と、第一共有秘密情報σ1=e(Q0,PB,1)x1を計算する第一共有秘密情報計算部と、第二共有秘密情報σ1’=e(Q0,PB,1)x2を計算する第二共有秘密情報計算部と、第三共有秘密情報σ2=e(Y0,SA,α)/Πi=2 αe(QA,i-1,YA,i)を計算する第三共有秘密情報計算部と、第四共有秘密情報σ2’=e(Y0’,SA,α)/Πi=2 αe(QA,i-1,YA,i’)を計算する第四共有秘密情報計算部と、第五秘密情報計算部σ3=(Y0)x1を計算する第五秘密情報計算部と、F(σ11’,σ22’,σ3,PID,IDA,IDB,epkIDB,epkIDA)を計算する共有情報生成部と、を含む情報共有装置Uと、
短期秘密鍵y~ 1,y~ 2∈Zpを生成する短期秘密鍵生成部と、y1=H2(SB,β,y~ 1)及びy2=H2(SB,β,y~ 2)を計算するハッシュ値計算部と、PA,i=H1(IDA,1,…,IDA,i)(1≦i≦α)として短期公開鍵epkIDA=(Y0=P0 y1,YA,2=PA,2 y1,…,YA,α=PA,α y1,Y0’=P0 y2,YA,2’=PA,2 y2,…,YA,α’=PA,α y2)を計算する短期公開鍵生成部と、上記短期公開鍵epkIDAを上記情報共有装置Uに送信する送信部と、短期公開鍵epkIDBを上記情報共有装置Uから受信する受信部と、第一共有秘密情報σ1=e(X0,SB,β)/Πi=2 βe(QB,i-1,XB,i)を計算する第一共有秘密情報計算部と、第二共有秘密情報σ1’=e(X0’,SB,β)/Πi=2 βe(QB,i-1,XB,i’)を計算する第二共有秘密情報計算部と、第三共有秘密情報σ2=e(Q0,PA,1)y1を計算する第三共有秘密情報計算部と、第四共有秘密情報σ2’=e(Q0,PA,1)y2を計算する第四共有秘密情報計算部と、第五秘密情報計算部σ3=(X0)y1を計算する第五秘密情報計算部と、F(σ11’,σ22’,σ3,PID,IDA,IDB,epkIDB,epkIDA)を計算する共有情報生成部と、を含む情報共有装置Uと、
を含む情報共有システム。
PID which is a protocol ID is a predetermined bit string, H 1 : {0,1} * → G, H 2 : {0,1} * → Z p is a hash function, F is a predetermined function, G , G T is a bilinear map e: G × G → G T is a group that can be calculated g, g T as a generator, G unit element is 1 G , S 0 = 1 G , master release The key P 0 = g, Q 0 = P 0 s0 ∈G, and the secret information of the information sharing device corresponding to ID = (ID 1 , ID 2 , ..., ID t-1 ) is s t-1 ∈Z p , The long-term secret key of the information sharing apparatus is (S t−1 , Q 1 ,..., Q t−1 ), and the information sharing apparatus is a subordinate information sharing apparatus with ID ′ = (ID 1 , ID 2 , ..., ID t-1 , ID t ), the long-term secret key of the information sharing apparatus is (S t , Q 1 , ..., Q t ), and P t = H 1 (ID 1 , ID 2 , ..., ID t-1 , ID t ), and S t = S t-1 P t st-1 , Q t = P 0 st , ID A = (ID A, 1 , ..., ID A, α long private key (S a of the information sharing apparatus U a corresponding to), α, Q a, 1 , ..., Q a, α), ID B = (ID B, 1, ..., ID B, Long private key (S B of the information sharing apparatus U B corresponding to), β, Q B, 1 , ..., Q B, as beta),
A short-term secret key generator for generating short-term secret keys x ~ 1 , x ~ 2 ∈Z p , and x 1 = H 2 (S A, α , x ~ 1 ) and x 2 = H 2 (S A, α , x ~ 2 ) and a hash value calculation unit for calculating P B, i = H 1 (ID B, 1 , ..., ID B, i ) (1 ≦ i ≦ β) and short-term public key epk IDB = (X 0 = P 0 x1 , X B, 2 = P B, 2 x1 ,…, X B, β = P B, β x1 , X 0 '= P 0 x2 , X B, 2 ' = P B, 2 x2 ,… , X B, β '= P B, β x2) and short-term public key generation unit for calculating a transmission section that transmits the short-term public key epk IDB to the information sharing apparatus U B, short public key epk IDA said information a receiver for receiving from the shared device U B, the first shared secret σ 1 = e (Q 0, P B, 1) and the first shared secret information calculation unit for calculating a x1, a second shared secret sigma 1 ′ = e (Q 0 , P B, 1 ) x2 second shared secret information calculation unit and third shared secret information σ 2 = e (Y 0 , S A, α ) / Π i = 2 α Third shared secret information calculation unit for calculating e (Q A, i-1 , Y A, i ), and fourth shared secret information σ 2 ′ = e (Y 0 ′, S A, α ) / Π i = 2 α e (Q a, i -1, Y a, i ') a A fourth shared secret calculation unit for calculation, a fifth secret information calculation unit for calculating a fifth secret information calculation section σ 3 = (Y 0) x1 , F (σ 1, σ 1 ', σ 2, σ 2 ', and σ 3, PID, ID a, ID B, epk IDB, information sharing device including the shared information generation unit for calculating a epk IDA), the U a,
A short-term secret key generator for generating short-term secret keys y ~ 1 , y ~ 2 ∈Z p , and y 1 = H 2 (S B, β , y ~ 1 ) and y 2 = H 2 (S B, β , y ~ 2 ) and a hash value calculation unit for calculating P A, i = H 1 (ID A, 1 , ..., ID A, i ) (1 ≦ i ≦ α), short-term public key epk IDA = (Y 0 = P 0 y1 , Y A, 2 = P A, 2 y1 ,…, Y A, α = P A, α y1 , Y 0 '= P 0 y2 , Y A, 2 ' = P A, 2 y2 ,… , Y a, α '= P a, a short-term public key generation unit for calculating the alpha y2), and a transmission unit for transmitting the short-term public key epk IDA in the information sharing apparatus U a, a short-term public key epk IDB above a receiver for receiving from the information sharing apparatus U A, the first shared secret σ 1 = e (X 0, S B, β) / Π i = 2 β e (Q B, i-1, X B, i ) And a second shared secret information σ 1 '= e (X 0 ', S B, β ) / Π i = 2 β e (Q B, i-1 , X B, i ′), a second shared secret information calculation unit that calculates third shared secret information σ 2 = e (Q 0 , P A, 1 ) y1 , a fourth shared secret information calculation unit, Shared secret information σ 2 '= e (Q 0 , P A, 1 ) y A fourth shared secret information calculation unit for calculating 2 , a fifth secret information calculation unit σ 3 = (X 0 ) y1 , a F (σ 1 , σ 1 ', σ 2 , sigma 2 ', and σ 3, PID, ID a, ID B, epk IDB, epk IDA) information sharing apparatus U B; and a shared information generating unit for calculating a,
Information sharing system.
請求項1の情報共有システムにおいて、
所定の正の整数をセキュリティパラメータkとして、
上記関数Fは、ハッシュ関数H:{0,1}*→{0,1}である、
情報共有システム。
The information sharing system according to claim 1,
A predetermined positive integer as a security parameter k,
The function F is a hash function H: {0,1} * → {0,1}.
Information sharing system.
プロトコルIDであるPIDを所定のビット列とし、H1:{0,1}*→G、H2:{0,1}*→Zpをハッシュ関数とし、Fを予め定められた関数として、G,GTをそれぞれ双線形写像e:G×G→GTを計算可能なg,gTを生成元とする群とし、Gの単位元を1Gとし、S0=1Gとし、マスタ公開鍵P0=g,Q0=P0 s0∈Gとし、ID=(ID1,ID2,…,IDt-1)に対応する情報共有装置の秘密情報をst-1∈Zpとし、その情報共有装置の長期秘密鍵を(St-1,Q1,…,Qt-1)とし、その情報共有装置の下位の情報共有装置であってID’=(ID1,ID2,…,IDt-1,IDt)に対応する情報共有装置の長期秘密鍵を(St,Q1,…,Qt)とし、Pt=H1(ID1,ID2,…,IDt-1,IDt)とし、St=St-1Pt st-1,Qt=P0 stとすることにより定まる、IDA=(IDA,1,…,IDA,α)に対応する情報共有装置Uの長期秘密鍵を(SA,α,QA,1,…,QA,α)、IDB=(IDB,1,…,IDB,β)に対応する情報共有装置Uの長期秘密鍵を(SB,β,QB,1,…,QB,β)として、
情報共有装置Uの短期秘密鍵生成部が、短期秘密鍵x~ 1,x~ 2∈Zpを生成する短期秘密鍵生成ステップと、
情報共有装置Uのハッシュ値計算部が、x1=H2(SA,α,x~ 1)及びx2=H2(SA,α,x~ 2)を計算するハッシュ値計算ステップと、
情報共有装置Uの短期公開鍵生成部が、PB,i=H1(IDB,1,…,IDB,i)(1≦i≦β)として短期公開鍵epkIDB=(X0=P0 x1,XB,2=PB,2 x1,…,XB,β=PB,β x1,X0’=P0 x2,XB,2’=PB,2 x2,…,XB,β’=PB,β x2)を計算する短期公開鍵生成ステップと、
情報共有装置Uの送信部が、上記短期公開鍵epkIDBを情報共有装置Uに送信する送信ステップと、
情報共有装置Uの短期秘密鍵生成部が、短期秘密鍵y~ 1,y~ 2∈Zpを生成する短期秘密鍵生成ステップと、
情報共有装置Uのハッシュ値計算部が、y1=H2(SB,β,y~ 1)及びy2=H2(SB,β,y~ 2)を計算するハッシュ値計算ステップと、
情報共有装置Uの短期公開鍵生成部が、PA,i=H1(IDA,1,…,IDA,i)(1≦i≦α)として短期公開鍵epkIDA=(Y0=P0 y1,YA,2=PA,2 y1,…,YA,α=PA,α y1,Y0’=P0 y2,YA,2’=PA,2 y2,…,YA,α’=PA,α y2)を計算する短期公開鍵生成ステップと、
情報共有装置Uの送信部が、上記短期公開鍵epkIDAを上記情報共有装置Uに送信する送信ステップと、
情報共有装置Uの受信部が、短期公開鍵epkIDBを上記情報共有装置Uから受信する受信ステップと、
情報共有装置Uの第一共有秘密情報計算部が、第一共有秘密情報σ1=e(X0,SB,β)/Πi=2 βe(QB,i-1,XB,i)を計算する第一共有秘密情報計算ステップと、
情報共有装置Uの第二共有秘密情報計算部が、第二共有秘密情報σ1’=e(X0’,SB,β)/Πi=2 βe(QB,i-1,XB,i’)を計算する第二共有秘密情報計算ステップと、
情報共有装置Uの第三共有秘密情報計算部が、第三共有秘密情報σ2=e(Q0,PA,1)y1を計算する第三共有秘密情報計算ステップと、
情報共有装置Uの第四共有秘密情報計算部が、第四共有秘密情報σ2’=e(Q0,PA,1)y2を計算する第四共有秘密情報計算ステップと、
情報共有装置Uの第五共有秘密情報計算部が、第五秘密情報計算部σ3=(X0)y1を計算する第五秘密情報計算ステップと、
情報共有装置Uの共有情報生成部が、F(σ11’,σ22’,σ3,PID,IDA,IDB,epkIDB,epkIDA)を計算する共有情報生成ステップと、
情報共有装置Uの受信部が、短期公開鍵epkIDAを上記情報共有装置Uから受信する受信ステップと、
情報共有装置Uの第一共有秘密情報計算部が、第一共有秘密情報σ1=e(Q0,PB,1)x1を計算する第一共有秘密情報計算ステップと、
情報共有装置Uの第二共有秘密情報計算部が、第二共有秘密情報σ1’=e(Q0,PB,1)x2を計算する第二共有秘密情報計算ステップと、
情報共有装置Uの第三共有秘密情報計算部が、第三共有秘密情報σ2=e(Y0,SA,α)/Πi=2 αe(QA,i-1,YA,i)を計算する第三共有秘密情報計算ステップと、
情報共有装置Uの第四共有秘密情報計算部が、第四共有秘密情報σ2’=e(Y0’,SA,α)/Πi=2 αe(QA,i-1,YA,i’)を計算する第四共有秘密情報計算ステップと、
情報共有装置Uの第五共有秘密情報計算部が、第五秘密情報計算部σ3=(Y0)x1を計算する第五秘密情報計算ステップと、
情報共有装置Uの共有情報生成部が、F(σ11’,σ22’,σ3,PID,IDA,IDB,epkIDB,epkIDA)を計算する共有情報生成ステップと、
を含む情報共有方法。
PID which is a protocol ID is a predetermined bit string, H 1 : {0,1} * → G, H 2 : {0,1} * → Z p is a hash function, F is a predetermined function, G , G T is a bilinear map e: G × G → G T is a group that can be calculated g, g T as a generator, G unit element is 1 G , S 0 = 1 G , master release The key P 0 = g, Q 0 = P 0 s0 ∈G, and the secret information of the information sharing device corresponding to ID = (ID 1 , ID 2 , ..., ID t-1 ) is s t-1 ∈Z p , The long-term secret key of the information sharing apparatus is (S t−1 , Q 1 ,..., Q t−1 ), and the information sharing apparatus is a subordinate information sharing apparatus with ID ′ = (ID 1 , ID 2 , ..., ID t-1 , ID t ), the long-term secret key of the information sharing apparatus is (S t , Q 1 , ..., Q t ), and P t = H 1 (ID 1 , ID 2 , ..., ID t-1 , ID t ), and S t = S t-1 P t st-1 , Q t = P 0 st , ID A = (ID A, 1 , ..., ID A, α long private key (S a of the information sharing apparatus U a corresponding to), α, Q a, 1 , ..., Q a, α), ID B = (ID B, 1, ..., ID B, Long private key (S B of the information sharing apparatus U B corresponding to), β, Q B, 1 , ..., Q B, as beta),
A short-term secret key generation unit in which a short-term secret key generation unit of the information sharing apparatus UA generates short-term secret keys x ~ 1 , x ~ 2 ∈Z p ;
Hash value calculation unit of the information sharing apparatus U A is, x 1 = H 2 (S A, α, x ~ 1) and x 2 = H 2 (S A , α, x ~ 2) hash value calculation step of calculating the When,
Short-term public key generation unit of the information sharing apparatus U A is, P B, i = H 1 (ID B, 1, ..., ID B, i) (1 ≦ i ≦ β) short-term public key epk IDB = (X 0 = P 0 x1 , X B, 2 = P B, 2 x1 ,…, X B, β = P B, β x1 , X 0 '= P 0 x2 , X B, 2 ' = P B, 2 x2 ,… , X B, β '= P B, β x2 )
Transmission of the information sharing apparatus U A is a transmission step of transmitting the short-term public key epk IDB to the information sharing apparatus U B,
Short-term private key generating unit of the information sharing apparatus U B is a short-term private key generation step of generating a short-term private key y ~ 1, y ~ 2 ∈Z p,
Hash value calculation unit of the information sharing apparatus U B is, y 1 = H 2 (S B, β, y ~ 1) and y 2 = H 2 (S B , β, y ~ 2) hash value calculation step of calculating the When,
Short-term public key generation unit of the information sharing apparatus U B is, P A, i = H 1 (ID A, 1, ..., ID A, i) Short-term public key as (1 ≦ i ≦ α) epk IDA = (Y 0 = P 0 y1 , Y A, 2 = P A, 2 y1 ,…, Y A, α = P A, α y1 , Y 0 '= P 0 y2 , Y A, 2 ' = P A, 2 y2 ,… , Y A, α '= P A, α y2 )
Transmission of the information sharing apparatus U B is a transmission step of transmitting the short-term public key epk IDA in the information sharing apparatus U A,
Receiver of the information sharing apparatus U B is a receiving step of receiving short-term public key epk IDB from the information sharing device U A,
First shared secret information calculation unit of the information sharing apparatus U B is first shared secret σ 1 = e (X 0, S B, β) / Π i = 2 β e (Q B, i-1, X B, i ) calculating first shared secret information step;
The second shared secret information calculation unit of the information sharing apparatus U B performs the second shared secret information σ 1 ′ = e (X 0 ′, S B, β ) / Π i = 2 β e (Q B, i−1 , A second shared secret calculation step for calculating X B, i '),
Third shared secret information calculation unit of the information sharing apparatus U B is a third shared secret calculation step of calculating a third shared secret σ 2 = e (Q 0, P A, 1) y1,
Fourth shared secret information calculation unit of the information sharing apparatus U B is a fourth shared secret calculation step of calculating a fourth shared secret σ 2 '= e (Q 0 , P A, 1) y2,
Fifth shared secret information calculation unit of the information sharing apparatus U B is a fifth secret information calculating step of calculating a fifth secret information calculation section σ 3 = (X 0) y1 ,
Shared information generating unit of the information sharing apparatus U B is, shared information to compute F (σ 1, σ 1 ' , σ 2, σ 2', σ 3, PID, ID A, ID B, epk IDB, epk IDA) to Generation step;
Receiver of the information sharing apparatus U A is a receiving step of receiving short-term public key epk IDA from the information sharing device U B,
A first shared secret information calculation step in which the first shared secret information calculation unit of the information sharing device UA calculates the first shared secret information σ 1 = e (Q 0 , P B, 1 ) x 1 ;
A second shared secret information calculation step in which the second shared secret information calculation unit of the information sharing apparatus UA calculates the second shared secret information σ 1 ′ = e (Q 0 , P B, 1 ) x 2 ;
Third shared secret information calculation unit of the information sharing apparatus U A is the third shared secret σ 2 = e (Y 0, S A, α) / Π i = 2 α e (Q A, i-1, Y A , i ) calculating a third shared secret information step;
Fourth shared secret information calculation unit of the information sharing apparatus U A is the fourth shared secret σ 2 '= e (Y 0 ', S A, α) / Π i = 2 α e (Q A, i-1, A fourth shared secret calculation step for calculating Y A, i ');
A fifth secret information calculation step in which a fifth shared secret information calculation unit of the information sharing apparatus UA calculates a fifth secret information calculation unit σ 3 = (Y 0 ) x 1 ;
Shared information generating unit of the information sharing apparatus U A is, shared information to compute F (σ 1, σ 1 ' , σ 2, σ 2', σ 3, PID, ID A, ID B, epk IDB, epk IDA) to Generation step;
Information sharing method.
プロトコルIDであるPIDを所定のビット列とし、H1:{0,1}*→G、H2:{0,1}*→Zpをハッシュ関数とし、Fを予め定められた関数として、G,GTをそれぞれ双線形写像e:G×G→GTを計算可能なg,gTを生成元とする群とし、Gの単位元を1Gとし、S0=1Gとし、マスタ公開鍵P0=g,Q0=P0 s0∈Gとし、ID=(ID1,ID2,…,IDt-1)に対応する情報共有装置の秘密情報をst-1∈Zpとし、その情報共有装置の長期秘密鍵を(St-1,Q1,…,Qt-1)とし、その情報共有装置の下位の情報共有装置であってID’=(ID1,ID2,…,IDt-1,IDt)に対応する情報共有装置の長期秘密鍵を(St,Q1,…,Qt)とし、Pt=H1(ID1,ID2,…,IDt-1,IDt)とし、St=St-1Pt st-1,Qt=P0 stとすることにより定まる、IDA=(IDA,1,…,IDA,α)に対応する情報共有装置Uの長期秘密鍵を(SA,α,QA,1,…,QA,α)、IDB=(IDB,1,…,IDB,β)に対応する情報共有装置Uの長期秘密鍵を(SB,β,QB,1,…,QB,β)として、
短期秘密鍵x~ 1,x~ 2∈Zpを生成する短期秘密鍵生成部と、
x1=H2(SA,α,x~ 1)及びx2=H2(SA,α,x~ 2)を計算するハッシュ値計算部と、PB,i=H1(IDB,1,…,IDB,i)(1≦i≦β)として短期公開鍵epkIDB=(X0=P0 x1,XB,2=PB,2 x1,…,XB,β=PB,β x1,X0’=P0 x2,XB,2’=PB,2 x2,…,XB,β’=PB,β x2)を計算する短期公開鍵生成部と、上記短期公開鍵epkIDBを情報共有装置Uに送信する送信部と、短期公開鍵epkIDA=(Y0=P0 y1,YA,2=PA,2 y1,…,YA,α=PA,α y1,Y0’=P0 y2,YA,2’=PA,2 y2,…,YA,α’=PA,α y2)(PA,i=H1(IDA,1,…,IDA,i)(1≦i≦α)を上記情報共有装置Uから受信する受信部と、第一共有秘密情報σ1=e(Q0,PB,1)x1を計算する第一共有秘密情報計算部と、第二共有秘密情報σ1’=e(Q0,PB,1)x2を計算する第二共有秘密情報計算部と、第三共有秘密情報σ2=e(Y0,SA,α)/Πi=2 αe(QA,i-1,YA,i)を計算する第三共有秘密情報計算部と、第四共有秘密情報σ2’=e(Y0’,SA,α)/Πi=2 αe(QA,i-1,YA,i’)を計算する第四共有秘密情報計算部と、第五秘密情報計算部σ3=(Y0)x1を計算する第五秘密情報計算部と、F(σ11’,σ22’,σ3,PID,IDA,IDB,epkIDB,epkIDA)を計算する共有情報生成部と、を含む情報共有装置Uである情報共有装置。
PID which is a protocol ID is a predetermined bit string, H 1 : {0,1} * → G, H 2 : {0,1} * → Z p is a hash function, F is a predetermined function, G , G T is a bilinear map e: G × G → G T is a group that can be calculated g, g T as a generator, G unit element is 1 G , S 0 = 1 G , master release The key P 0 = g, Q 0 = P 0 s0 ∈G, and the secret information of the information sharing device corresponding to ID = (ID 1 , ID 2 , ..., ID t-1 ) is s t-1 ∈Z p , The long-term secret key of the information sharing apparatus is (S t−1 , Q 1 ,..., Q t−1 ), and the information sharing apparatus is a subordinate information sharing apparatus with ID ′ = (ID 1 , ID 2 , ..., ID t-1 , ID t ), the long-term secret key of the information sharing apparatus is (S t , Q 1 , ..., Q t ), and P t = H 1 (ID 1 , ID 2 , ..., ID t-1 , ID t ), and S t = S t-1 P t st-1 , Q t = P 0 st , ID A = (ID A, 1 , ..., ID A, α long private key (S a of the information sharing apparatus U a corresponding to), α, Q a, 1 , ..., Q a, α), ID B = (ID B, 1, ..., ID B, Long private key (S B of the information sharing apparatus U B corresponding to), β, Q B, 1 , ..., Q B, as beta),
A short-term secret key generator for generating short-term secret keys x ~ 1 and x ~ 2 ∈Z p ;
A hash value calculator that calculates x 1 = H 2 (S A, α , x ~ 1 ) and x 2 = H 2 (S A, α , x ~ 2 ), and P B, i = H 1 (ID B , 1 , ..., ID B, i ) (1≤i≤β) as short-term public key epk IDB = (X 0 = P 0 x1 , X B, 2 = P B, 2 x1 , ..., X B, β = (P B, β x1 , X 0 '= P 0 x2 , X B, 2 ' = P B, 2 x2 , ..., X B, β '= P B, β x2 ) a transmission unit for transmitting the short-term public key epk IDB to the information sharing apparatus U B, short public key epk IDA = (Y 0 = P 0 y1, Y a, 2 = P a, 2 y1, ..., Y a, α = P A, α y1 , Y 0 '= P 0 y2 , Y A, 2 ' = P A, 2 y2 ,…, Y A, α '= P A, α y2 ) (P A, i = H 1 ( ID a, 1, ..., ID a, i) (1 a ≦ i ≦ α) a receiver for receiving from the information sharing device U B, the first shared secret σ 1 = e (Q 0, P B, 1 ) a first shared secret information calculation unit for calculating x1 , a second shared secret information calculation unit for calculating second shared secret information σ 1 ′ = e (Q 0 , P B, 1 ) x2 , and a third shared secret σ 2 = e (Y 0, S a, α) and the third shared secret calculation unit for calculating a / Π i = 2 α e ( Q a, i-1, Y a, i), the Shared secret σ 2 '= e (Y 0 ' and, S A, α) / Π i = 2 α e (Q A, i-1, Y A, i ') a fourth shared secret calculation unit for calculating a , The fifth secret information calculation unit σ 3 = (Y 0 ) x1 and F (σ 1 , σ 1 ', σ 2 , σ 2 ', σ 3 , PID, ID A , ID B, epk IDB, the information sharing apparatus which is information sharing apparatus U a including the shared information generation unit for calculating a epk IDA), the.
プロトコルIDであるPIDを所定のビット列とし、H1:{0,1}*→G、H2:{0,1}*→Zpをハッシュ関数とし、Fを予め定められた関数として、G,GTをそれぞれ双線形写像e:G×G→GTを計算可能なg,gTを生成元とする群とし、Gの単位元を1Gとし、S0=1Gとし、マスタ公開鍵P0=g,Q0=P0 s0∈Gとし、ID=(ID1,ID2,…,IDt-1)に対応する情報共有装置の秘密情報をst-1∈Zpとし、その情報共有装置の長期秘密鍵を(St-1,Q1,…,Qt-1)とし、その情報共有装置の下位の情報共有装置であってID’=(ID1,ID2,…,IDt-1,IDt)に対応する情報共有装置の長期秘密鍵を(St,Q1,…,Qt)とし、Pt=H1(ID1,ID2,…,IDt-1,IDt)とし、St=St-1Pt st-1,Qt=P0 stとすることにより定まる、IDA=(IDA,1,…,IDA,α)に対応する情報共有装置Uの長期秘密鍵を(SA,α,QA,1,…,QA,α)、IDB=(IDB,1,…,IDB,β)に対応する情報共有装置Uの長期秘密鍵を(SB,β,QB,1,…,QB,β)として、
短期秘密鍵y~ 1,y~ 2∈Zpを生成する短期秘密鍵生成部と、y1=H2(SB,β,y~ 1)及びy2=H2(SB,β,y~ 2)を計算するハッシュ値計算部と、PA,i=H1(IDA,1,…,IDA,i)(1≦i≦α)として短期公開鍵epkIDA=(Y0=P0 y1,YA,2=PA,2 y1,…,YA,α=PA,α y1,Y0’=P0 y2,YA,2’=PA,2 y2,…,YA,α’=PA,α y2)を計算する短期公開鍵生成部と、上記短期公開鍵epkIDAを上記情報共有装置Uに送信する送信部と、短期公開鍵epkIDB=(X0=P0 x1,XB,2=PB,2 x1,…,XB,β=PB,β x1,X0’=P0 x2,XB,2’=PB,2 x2,…,XB,β’=PB,β x2)(PB,i=H1(IDB,1,…,IDB,i)(1≦i≦β))を上記情報共有装置Uから受信する受信部と、第一共有秘密情報σ1=e(X0,SB,β)/Πi=2 βe(QB,i-1,XB,i)を計算する第一共有秘密情報計算部と、第二共有秘密情報σ1’=e(X0’,SB,β)/Πi=2 βe(QB,i-1,XB,i’)を計算する第二共有秘密情報計算部と、第三共有秘密情報σ2=e(Q0,PA,1)y1を計算する第三共有秘密情報計算部と、第四共有秘密情報σ2’=e(Q0,PA,1)y2を計算する第四共有秘密情報計算部と、第五秘密情報計算部σ3=(X0)y1を計算する第五秘密情報計算部と、F(σ11’,σ22’,σ3,PID,IDA,IDB,epkIDB,epkIDA)を計算する共有情報生成部と、を含む情報共有装置Uである情報共有装置。
PID which is a protocol ID is a predetermined bit string, H 1 : {0,1} * → G, H 2 : {0,1} * → Z p is a hash function, F is a predetermined function, G , G T is a bilinear map e: G × G → G T is a group that can be calculated g, g T as a generator, G unit element is 1 G , S 0 = 1 G , master release The key P 0 = g, Q 0 = P 0 s0 ∈G, and the secret information of the information sharing device corresponding to ID = (ID 1 , ID 2 , ..., ID t-1 ) is s t-1 ∈Z p , The long-term secret key of the information sharing apparatus is (S t−1 , Q 1 ,..., Q t−1 ), and the information sharing apparatus is a subordinate information sharing apparatus with ID ′ = (ID 1 , ID 2 , ..., ID t-1 , ID t ), the long-term secret key of the information sharing apparatus is (S t , Q 1 , ..., Q t ), and P t = H 1 (ID 1 , ID 2 , ..., ID t-1 , ID t ), and S t = S t-1 P t st-1 , Q t = P 0 st , ID A = (ID A, 1 , ..., ID A, α long private key (S a of the information sharing apparatus U a corresponding to), α, Q a, 1 , ..., Q a, α), ID B = (ID B, 1, ..., ID B, Long private key (S B of the information sharing apparatus U B corresponding to), β, Q B, 1 , ..., Q B, as beta),
A short-term secret key generator for generating short-term secret keys y ~ 1 , y ~ 2 ∈Z p , and y 1 = H 2 (S B, β , y ~ 1 ) and y 2 = H 2 (S B, β , y ~ 2 ) and a hash value calculation unit for calculating P A, i = H 1 (ID A, 1 , ..., ID A, i ) (1 ≦ i ≦ α), short-term public key epk IDA = (Y 0 = P 0 y1 , Y A, 2 = P A, 2 y1 ,…, Y A, α = P A, α y1 , Y 0 '= P 0 y2 , Y A, 2 ' = P A, 2 y2 ,… , Y a, α '= P a, α y2) and short-term public key generation unit for calculating a transmission section that transmits the short-term public key epk IDA in the information sharing apparatus U a, short-term public key epk IDB = ( X 0 = P 0 x1 , X B, 2 = P B, 2 x1 ,…, X B, β = P B, β x1 , X 0 '= P 0 x2 , X B, 2 ' = P B, 2 x2 , ..., X B, β '= P B, β x2 ) (P B, i = H 1 (ID B, 1 , ..., ID B, i ) (1 ≦ i ≦ β)) calculating a reception unit which receives from a, the first shared secret σ 1 = e (X 0, S B, β) / Π i = 2 β e (Q B, i-1, X B, i) the The first shared secret information calculation unit and the second shared secret information σ 1 '= e (X 0 ', S B, β ) / Π i = 2 β e (Q B, i-1 , X B, i ' ) Calculate second shared secret information A Department, third shared secret σ 2 = e (Q 0, P A, 1) and the third shared secret calculation unit for calculating a y1, fourth shared secret σ 2 '= e (Q 0 , P A , 1 ) a fourth shared secret information calculation unit for calculating y2 , a fifth secret information calculation unit σ 3 = (X 0 ) y1 , a fifth secret information calculation unit for calculating y2 , and F (σ 1 , σ 1 ', σ 2, σ 2 ', σ 3, PID, ID a, ID B, epk IDB, the information sharing apparatus which is information sharing apparatus U B including the shared information generation unit for calculating a epk IDA), the.
請求項4又は5の情報共有装置の各部としてコンピュータを機能させるためのプログラム。   The program for functioning a computer as each part of the information sharing apparatus of Claim 4 or 5.
JP2011109490A 2011-05-16 2011-05-16 Information sharing system, method, apparatus and program Active JP5512598B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011109490A JP5512598B2 (en) 2011-05-16 2011-05-16 Information sharing system, method, apparatus and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011109490A JP5512598B2 (en) 2011-05-16 2011-05-16 Information sharing system, method, apparatus and program

Publications (2)

Publication Number Publication Date
JP2012244232A true JP2012244232A (en) 2012-12-10
JP5512598B2 JP5512598B2 (en) 2014-06-04

Family

ID=47465510

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011109490A Active JP5512598B2 (en) 2011-05-16 2011-05-16 Information sharing system, method, apparatus and program

Country Status (1)

Country Link
JP (1) JP5512598B2 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014220669A (en) * 2013-05-09 2014-11-20 日本電信電話株式会社 Key exchange system, key generation device, communication device, key exchange method, and program
CN113242125A (en) * 2021-05-17 2021-08-10 长沙理工大学 Verifiable multi-secret sharing scheme of general access structure based on bilinear mapping
JP2022037089A (en) * 2016-02-23 2022-03-08 エヌチェーン ホールディングス リミテッド Cryptographic method and system for secure extraction of data from blockchain

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014220669A (en) * 2013-05-09 2014-11-20 日本電信電話株式会社 Key exchange system, key generation device, communication device, key exchange method, and program
JP2022037089A (en) * 2016-02-23 2022-03-08 エヌチェーン ホールディングス リミテッド Cryptographic method and system for secure extraction of data from blockchain
JP7292365B2 (en) 2016-02-23 2023-06-16 エヌチェーン ライセンシング アーゲー Cryptographic methods and systems for secure extraction of data from blockchains
CN113242125A (en) * 2021-05-17 2021-08-10 长沙理工大学 Verifiable multi-secret sharing scheme of general access structure based on bilinear mapping

Also Published As

Publication number Publication date
JP5512598B2 (en) 2014-06-04

Similar Documents

Publication Publication Date Title
US12028454B2 (en) Multi-party threshold authenticated encryption
CN103563288B (en) Single-round password-based key exchange protocols
WO2013031414A1 (en) Signature verification device, signature verification method, program, and recording medium
EP3791533A1 (en) Password based threshold token generation
US7007164B1 (en) Method and array for authenticating a first instance and a second instance
US9037623B2 (en) Proxy calculation system, proxy calculation method, proxy calculation requesting apparatus, and proxy calculation program and recording medium therefor
JP6950745B2 (en) Key exchange device, key exchange system, key exchange method, and key exchange program
CN111159745B (en) Verification method and device suitable for block chain
CN107294696B (en) Method for distributing full homomorphic keys for Leveled
WO2013031555A1 (en) Information processing device, signature generation device, information processing method, signature generation method, and program
JP4869824B2 (en) Receiver device, sender device, cryptographic communication system, and program
EP3232603B1 (en) Key-exchange method, key-exchange system, terminal device, and program
Tbatou et al. A New Mutuel Kerberos Authentication Protocol for Distributed Systems.
TWI511517B (en) Information processing apparatus, information processing method, program and recording medium
KR20210063378A (en) Computer-implemented systems and methods that share common secrets
Battagliola et al. Threshold ecdsa with an offline recovery party
JP2007114494A (en) Secrecy computing method and device
Irshad et al. A low-cost privacy preserving user access in mobile edge computing framework
JP5512598B2 (en) Information sharing system, method, apparatus and program
JP5512601B2 (en) Information sharing system, method, apparatus and program
Qiao et al. An Anonymous and Efficient Certificate-Based Identity Authentication Protocol for VANET
JP5931795B2 (en) KEY EXCHANGE SYSTEM, KEY GENERATION DEVICE, COMMUNICATION DEVICE, KEY EXCHANGE METHOD, AND PROGRAM
Chen et al. Blockchain as a CA: A provably secure signcryption scheme leveraging blockchains
JP6267657B2 (en) Safety enhancement method, safety enhancement system, safety enhancement device, verification device, and program
Krzywiecki et al. Deniable key establishment resistance against eKCI attacks

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

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

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150