JP2011061306A - Information sharing system, method, and program - Google Patents

Information sharing system, method, and program Download PDF

Info

Publication number
JP2011061306A
JP2011061306A JP2009206085A JP2009206085A JP2011061306A JP 2011061306 A JP2011061306 A JP 2011061306A JP 2009206085 A JP2009206085 A JP 2009206085A JP 2009206085 A JP2009206085 A JP 2009206085A JP 2011061306 A JP2011061306 A JP 2011061306A
Authority
JP
Japan
Prior art keywords
information
secret
secret information
information sharing
sharing device
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
JP2009206085A
Other languages
Japanese (ja)
Other versions
JP5295048B2 (en
Inventor
Takeshi Yamamoto
剛 山本
Tetsutaro Kobayashi
鉄太郎 小林
Atsushi Fujioka
淳 藤岡
Kotaro Suzuki
幸太郎 鈴木
Minkyuu Kim
ミンキュウ キム
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 JP2009206085A priority Critical patent/JP5295048B2/en
Publication of JP2011061306A publication Critical patent/JP2011061306A/en
Application granted granted Critical
Publication of JP5295048B2 publication Critical patent/JP5295048B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide an information sharing technique with a smaller amount of operations while safety equivalent to a conventional information sharing system is maintained. <P>SOLUTION: A secret information generator in a first information sharing device uses exchange information Y=G<SP>y</SP>received from a second information sharing device to generate first secret information Z<SB>1</SB>=(YB<SB>1</SB>)<SP>x+a1</SP>and second secret information Z<SB>2</SB>=(YB<SB>2</SB>)<SP>x+a2</SP>. A secret information synthesizer in the first information sharing device calculates an output value when the first secret information Z<SB>1</SB>and the second secret information Z<SB>2</SB>generated by the secret information generator in the first information sharing device, are inputted into a predetermined function H. A secret information generator in the second information sharing device uses exchange information X=G<SP>x</SP>received from the first information sharing device to generate first secret information Z<SB>1</SB>=(XA<SB>1</SB>)<SP>y+b1</SP>and second secret information Z<SB>2</SB>=(XA<SB>2</SB>)<SP>y+b2</SP>. A secret information synthesizer in the second information sharing device calculates an output value when the first secret information Z<SB>1</SB>and the second secret information Z<SB>2</SB>generated by the secret information generator in the second information sharing device, are inputted into the predetermined function H. <P>COPYRIGHT: (C)2011,JPO&INPIT

Description

この発明は、暗号技術に関し、特に2つのエンティティ間で秘密鍵等の情報を共有する技術に関する。   The present invention relates to a cryptographic technique, and more particularly to a technique for sharing information such as a secret key between two entities.

中間者攻撃に対して安全であり、ギャップDiffie−Hellman問題の困難性を仮定して安全性を証明可能である情報共有方式として、NAXOS方式が知られている(例えば、非特許文献1参照。)。NAXOS方式では、各情報共有装置は、群のべき乗算を4回行っていた。   The NAXOS method is known as an information sharing method that is safe against a man-in-the-middle attack and can prove the safety assuming the difficulty of the gap Diffie-Hellman problem (see Non-Patent Document 1, for example). ). In the NAXOS method, each information sharing device performs group power multiplication four times.

また、中間者攻撃に対して安全で、かつ、Diffie−Hellman問題の困難性を仮定して安全性を証明可能でありNAXOS方式よりも安全性が高い情報共有方式として、NAXOS+方式が知られている(例えば、非特許文献2参照。)。NAXOS+方式では、各情報共有装置は、群のべき乗算を5回行っていた。   Also, the NAXOS + method is known as an information sharing method that is safe against man-in-the-middle attacks and can be proved by assuming the difficulty of the Diffie-Hellman problem and is safer than the NAXOS method. (For example, see Non-Patent Document 2). In the NAXOS + system, each information sharing apparatus performs group power multiplication five times.

B. LaMacchia, K. Lauter, A. Mityagin, “Stronger Security of Authenticated Key Exchange”, ProveSec 2007, LNCS 4784, Springer Berlin, 2007B. LaMacchia, K. Lauter, A. Mityagin, “Stronger Security of Authenticated Key Exchange”, ProveSec 2007, LNCS 4784, Springer Berlin, 2007 J. Lee, J. Park, “Authenticated Key Exchange Secure underthe Computational Diffie-Hellman Assumption”, Preprint, http://eprint.iacr.org/2008/344/J. Lee, J. Park, “Authenticated Key Exchange Secure underthe Computational Diffie-Hellman Assumption”, Preprint, http://eprint.iacr.org/2008/344/

従来の情報共有方式は、中間者攻撃に対して安全であるが、演算量が大きいという課題がった。   Conventional information sharing methods are safe against man-in-the-middle attacks, but have the problem of a large amount of computation.

この発明は、従来の情報共有方式と同等の安全性を保ちつつ演算量がより小さい情報共有システム、方法及びプログラムを提供することを目的とする。   It is an object of the present invention to provide an information sharing system, method, and program having a smaller amount of computation while maintaining the same level of safety as a conventional information sharing system.

第一情報共有装置と第二情報共有装置との間で情報を共有する情報共有するために、セキュリティパラメータkを所定の正の整数とし、群<G>を生成元Gにより生成される巡回群とし、第一情報共有装置の秘密鍵a,aを2kビット以上の正の整数の乱数とし、第一情報共有装置の公開鍵A,AをA=Ga1,A=Ga2として、第二情報共有装置の秘密鍵b,bを2kビット以上の正の整数の乱数とし、第二情報共有装置の公開鍵B,BをB=Gb1,B=Gb2として、第一情報共有装置の乱数生成部が2kビット以上の正の整数の乱数xを生成する。第一情報共有装置の交換情報生成部が乱数xを用いて交換情報X=Gを生成する。第一情報共有装置の送受信部が交換情報Xを第二情報共有装置に送信する。第一情報共有装置の秘密情報生成部が第二情報共有装置から受信した交換情報Yを用いて第一秘密情報Z=(YBx+a1及び第二秘密情報Z=(YBx+a2を生成する。第一情報共有装置の秘密情報合成部が第一情報共有装置の秘密情報生成部が生成した第一秘密情報Z及び第二秘密情報Zを予め定められた関数Hに入力した場合の出力値を計算する。第二情報共有装置の乱数生成部が2kビット以上の正の整数の乱数yを生成する。第二情報共有装置の交換情報生成部が乱数yを用いて交換情報Y=Gを生成する。第二情報共有装置の送受信部が交換情報Yを第一情報共有装置に送信する。第二情報共有装置の秘密情報生成部が第一情報共有装置から受信した交換情報Xを用いて第一秘密情報Z=(XAy+b1及び第二秘密情報Z=(XAy+b2を生成する。第二情報共有装置の秘密情報合成部が第一秘密情報Z及び第二秘密情報Zを予め定められた関数Hに入力した場合の出力値を計算する情報とする。 In order to share information between the first information sharing apparatus and the second information sharing apparatus, the security parameter k is a predetermined positive integer, and the group <G> is a cyclic group generated by the generation source G And the secret keys a 1 and a 2 of the first information sharing apparatus are positive integer random numbers of 2 k bits or more, and the public keys A 1 and A 2 of the first information sharing apparatus are A 1 = G a1 and A 2 = As G a2 , the secret keys b 1 and b 2 of the second information sharing device are positive integer random numbers of 2 k bits or more, and the public keys B 1 and B 2 of the second information sharing device are B 1 = G b1 , B As 2 = Gb2 , the random number generation unit of the first information sharing apparatus generates a positive integer random number x of 2 k bits or more. The exchange information generation unit of the first information sharing apparatus generates exchange information X = G x using the random number x. The transmission / reception unit of the first information sharing apparatus transmits the exchange information X to the second information sharing apparatus. Using the exchange information Y received by the secret information generation unit of the first information sharing device from the second information sharing device, the first secret information Z 1 = (YB 1 ) x + a1 and the second secret information Z 2 = (YB 2 ) x + a2 Is generated. Output when secret information synthesizing unit of the first information sharing device is input to the first confidential information Z 1 and the second secret information Z 2 a predetermined function H secret information generating unit has generated the first information sharing device Calculate the value. The random number generation unit of the second information sharing apparatus generates a positive integer random number y of 2 k bits or more. The exchange information generation unit of the second information sharing apparatus generates exchange information Y = G y using the random number y. The transmission / reception unit of the second information sharing apparatus transmits the exchange information Y to the first information sharing apparatus. Using the exchange information X received from the first information sharing device by the secret information generation unit of the second information sharing device, the first secret information Z 1 = (XA 1 ) y + b1 and the second secret information Z 2 = (XA 2 ) y + b2 Is generated. And information for calculating the output value when the secret information synthesizing unit of the second information sharing device is input to the first confidential information Z 1 and the second secret information Z 2 a predetermined function H.

第一情報共有装置及び第二情報共有装置のそれぞれが行うべき乗算の回数は、従来の情報共有方式におけるべき乗算の回数以下となるか、従来とべき乗算の回数が同じ場合にはべき乗算1回あたりの平均演算量を従来の情報共有方式よりも小さくすることができる。したがって、情報共有のための演算量が小さくなる。   The number of multiplications to be performed by each of the first information sharing apparatus and the second information sharing apparatus is equal to or less than the number of power multiplications in the conventional information sharing system, or power multiplication 1 when the number of power multiplications is the same as in the conventional information sharing system. The average calculation amount per time can be made smaller than that of the conventional information sharing method. Therefore, the calculation amount for information sharing becomes small.

情報共有システムの例の機能ブロック図。The functional block diagram of the example of an information sharing system. 第一情報共有装置の例の機能ブロック図。The functional block diagram of the example of a 1st information sharing apparatus. 第二情報共有装置の例の機能ブロック図。The functional block diagram of the example of a 2nd information sharing apparatus. 第一実施形態の情報共有方法の例の流れ図。The flowchart of the example of the information sharing method of 1st embodiment. 第二実施形態の情報共有方法の例の流れ図。The flowchart of the example of the information sharing method of 2nd embodiment. バイナリ法によるべき乗算の流れ図。Flow chart of power multiplication by binary method.

以下、この発明の実施形態を詳細に説明する。   Hereinafter, embodiments of the present invention will be described in detail.

[第一実施形態]
この発明による情報共有システム及び方法は、図1に例示する第一情報共有装置Aと第二情報共有装置Bとの間で情報Kを共有するものである。第一情報共有装置Aと第二情報共有装置とは、通信内容の秘密が保たれるとは限らない通信路により接続されている。
[First embodiment]
The information sharing system and method according to the present invention share information K between the first information sharing apparatus A and the second information sharing apparatus B exemplified in FIG. The first information sharing apparatus A and the second information sharing apparatus are connected by a communication path that does not always keep the secret of the communication content.

第一情報共有装置Aには任意のビット列である識別子IDが与えられており、第二情報共有装置Bには任意のビット列である識別子IDが与えられており、第一情報共有装置A及び第二情報共有装置Bは互いの識別子を知っているとする。 The first information sharing apparatus A is given an identifier ID A which is an arbitrary bit string, and the second information sharing apparatus B is given an identifier ID B which is an arbitrary bit string, and the first information sharing apparatus A And the second information sharing apparatus B knows each other's identifier.

セキュリティパラメータkは、求めるセキュリティレベルに応じて適宜設定される正の整数である。群<G>は、Diffe−Hellman問題が困難な巡回群で、生成元Gにより生成されるものとする。例えば楕円エルガマル暗号で用いられる群が好適である。Hは、所定の関数である。例えばSHA−256等のハッシュ関数である。   The security parameter k is a positive integer that is appropriately set according to the required security level. The group <G> is a cyclic group in which Diffie-Hellman problem is difficult, and is generated by the generation source G. For example, a group used in elliptical El Gamal encryption is preferable. H is a predetermined function. For example, a hash function such as SHA-256.

図2は第一情報共有装置Aの例の機能ブロック図であり、図3は第二情報共有装置Bの例の機能ブロック図である。図4はこの実施形態の情報共有方法の処理の流れを示す図である。   FIG. 2 is a functional block diagram of an example of the first information sharing apparatus A, and FIG. 3 is a functional block diagram of an example of the second information sharing apparatus B. FIG. 4 is a diagram showing a processing flow of the information sharing method of this embodiment.

まず、第一情報共有装置Aは秘密鍵(a,a)及び公開鍵(A,A)を生成し(ステップa1からステップa3)、第二情報共有装置Bは秘密鍵(b,b)及び公開鍵(B1,B2)を生成する(ステップb1からステップb3)。これらのステップa1からステップa3、ステップb1からステップb3は、情報共有を行うための準備として事前に行っておく。 First, the first information sharing apparatus A generates a secret key (a 1 , a 2 ) and a public key (A 1 , A 2 ) (step a 1 to step a 3), and the second information sharing apparatus B receives a secret key (b 1 , b 2 ) and public keys (B1, B2) are generated (step b1 to step b3). These steps a1 to a3 and steps b1 to b3 are performed in advance as preparation for information sharing.

第一情報共有装置Aの乱数生成部12は、2kビット以上の乱数a,aを生成する(ステップa1)。これらの乱数a,aは、第一情報共有装置Aの秘密鍵であり、第一情報共有装置Aの外部に漏れないように秘密に管理される。 The random number generator 12 of the first information sharing apparatus A generates random numbers a 1 and a 2 of 2 k bits or more (step a1). These random numbers a 1 and a 2 are secret keys of the first information sharing apparatus A, and are secretly managed so as not to leak outside the first information sharing apparatus A.

公開鍵生成部13は、乱数a,aを用いて、A=Ga1,A=Ga2で定義される公開鍵A,Aを生成する(ステップa2)。 The public key generation unit 13 generates public keys A 1 and A 2 defined by A 1 = G a1 and A 2 = G a2 using the random numbers a 1 and a 2 (step a2).

送受信部14は、公開鍵(A,A)を第二情報共有装置Bに送信する(ステップa3)。 The transmission / reception unit 14 transmits the public key (A 1 , A 2 ) to the second information sharing apparatus B (step a3).

第二情報共有装置Bの乱数生成部22は、2kビット以上の乱数b,bを生成する(ステップb1)。これらの乱数b,bは、第二情報共有装置Bの秘密鍵であり、第二情報共有装置Bの外部に漏れないように秘密に管理される。 The random number generation unit 22 of the second information sharing apparatus B generates random numbers b 1 and b 2 of 2 k bits or more (step b1). These random numbers b 1 and b 2 are secret keys of the second information sharing apparatus B, and are secretly managed so as not to leak outside the second information sharing apparatus B.

公開鍵生成部23は、乱数b,bを用いて、B=Gb1,B=Gb2で定義される公開鍵B,Bを生成する(ステップb2)。 The public key generation unit 23 generates public keys B 1 and B 2 defined by B 1 = G b1 and B 2 = G b2 using the random numbers b 1 and b 2 (step b2).

送受信部24は、公開鍵(B1,B2)を第二情報共有装置Aに送信する(ステップb3)。   The transmission / reception unit 24 transmits the public key (B1, B2) to the second information sharing apparatus A (step b3).

第一情報共有装置A及び第二情報共有装置Bは情報Kを共有するために、以下のステップA1からA6、B1からB6の処理を行う。   In order to share the information K, the first information sharing apparatus A and the second information sharing apparatus B perform the following steps A1 to A6 and B1 to B6.

第一情報共有装置Aの乱数生成部12は、2kビット以上の乱数xを生成する(ステップA1)。生成された乱数xは、交換情報生成部15及び秘密情報生成部16に送られる。   The random number generation unit 12 of the first information sharing apparatus A generates a random number x of 2k bits or more (step A1). The generated random number x is sent to the exchange information generation unit 15 and the secret information generation unit 16.

交換情報生成部15は、X=Gで定義される交換情報Xを生成する(ステップA2)。生成された交換情報Xは、送受信部14に送られる。 Exchanging information generating unit 15 generates replacement information X defined by X = G x (Step A2). The generated exchange information X is sent to the transmission / reception unit 14.

送受信部14は、交換情報Xを第二情報共有装置Bに送信する(ステップA3)。第二情報共有装置Bの送受信部24は、送られてきた交換情報Xが群<G>の元であるかどうかを判断し、群<G>の元でない場合には、情報Kを共有するための手続きを中止する。   The transmission / reception unit 14 transmits the exchange information X to the second information sharing device B (step A3). The transmission / reception unit 24 of the second information sharing apparatus B determines whether or not the exchange information X that has been sent is an element of the group <G>, and if it is not an element of the group <G>, shares the information K. To cancel the process.

第二情報共有装置Bの乱数生成部22は、2kビット以上の乱数yを生成する(ステップB1)。生成された乱数yは、交換情報生成部25及び秘密情報生成部26に送られる。   The random number generation unit 22 of the second information sharing apparatus B generates a random number y of 2k bits or more (step B1). The generated random number y is sent to the exchange information generation unit 25 and the secret information generation unit 26.

交換情報生成部25は、Y=Gで定義される交換情報Yを生成する(ステップB2)。生成された交換情報Yは、送受信部24に送られる。 The exchange information generation unit 25 generates exchange information Y defined by Y = G y (step B2). The generated exchange information Y is sent to the transmission / reception unit 24.

送受信部24は、交換情報Yを第一情報共有装置Aに送信する(ステップB3)。第一情報共有装置Aは、送られてきた交換情報Yが群<G>の元であるかどうかを判断し、群<G>の元でない場合には、情報Kを共有するための手続きを中止する。   The transmission / reception unit 24 transmits the exchange information Y to the first information sharing apparatus A (step B3). The first information sharing apparatus A determines whether or not the exchange information Y sent is an element of the group <G>. If the exchange information Y is not an element of the group <G>, the first information sharing apparatus A performs a procedure for sharing the information K. Cancel.

第一情報共有装置Aの秘密情報生成部16は、交換情報Yを用いてZ=(YBx+a1で定義される第一秘密情報Zを生成する(ステップA4)。また、秘密情報生成部16は、交換情報Yを用いてZ=(YBx+a2で定義される第二秘密情報Zを生成する(ステップA5)。生成された第一秘密情報Z及び第二秘密情報Zは、秘密情報合成部17に送られる。 The secret information generation unit 16 of the first information sharing apparatus A generates the first secret information Z 1 defined by Z 1 = (YB 1 ) x + a1 using the exchange information Y (step A4). Also, the secret information generation unit 16 generates the second secret information Z 2 defined by Z 2 = (YB 2 ) x + a2 using the exchange information Y (step A5). The generated first secret information Z 1 and second secret information Z 2 are sent to the secret information combining unit 17.

秘密情報合成部17は、第一秘密情報Z及び第二秘密情報Zを予め定められた関数Hに入力した場合の出力値を計算して、共有情報Kとする(ステップA6)。関数Hは、例えば第一秘密情報Z、第二秘密情報Z、交換情報X、交換情報Y、識別子ID及び識別子IDを入力とするハッシュ関数H(Z,Z,X,Y,ID,ID)である。 The secret information combining unit 17, an output value when the input to the first confidential information Z 1 and the second secret information Z 2 a predetermined function H is calculated and the shared information K (step A6). The function H is, for example, a hash function H (Z 1 , Z 2 , X, etc.) having the first secret information Z 1 , the second secret information Z 2 , the exchange information X, the exchange information Y, the identifier ID A, and the identifier ID B as inputs. Y, ID A , ID B ).

第二情報共有装置Bの秘密情報生成部26は、交換情報Xを用いてZ=(XAy+b1で定義される第一秘密情報Zを生成する(ステップB4)。また、秘密情報生成部26は、交換情報Xを用いてZ=(XAy+b2で定義される第二秘密情報Zを生成する(ステップB5)。生成された第一秘密情報Z及び第二秘密情報Zは、秘密情報合成部27に送られる。 The secret information generation unit 26 of the second information sharing apparatus B generates the first secret information Z 1 defined by Z 1 = (XA 1 ) y + b1 using the exchange information X (step B4). Further, the secret information generation unit 26 generates the second secret information Z 2 defined by Z 2 = (XA 2 ) y + b2 using the exchange information X (step B5). The generated first secret information Z 1 and second secret information Z 2 are sent to the secret information combining unit 27.

秘密情報合成部27は、第一秘密情報Z及び第二秘密情報Zを予め定められた関数Hに入力した場合の出力値を計算して、共有される情報Kとする(ステップA6)。関数Hは、例えば第一秘密情報Z、第二秘密情報Z、交換情報X、交換情報Y、識別子ID及び識別子IDを入力とするハッシュ関数H(Z,Z,X,Y,ID,ID)である。第二情報共有装置Bの関数Hとして、第一情報共有装置Aの関数Hと同じ関数を用いる。 The secret information combining unit 27, an output value when the input to the first confidential information Z 1 and the second secret information Z 2 a predetermined function H is calculated and the information K to be shared (step A6) . Function H, for example, the first secret information Z 1, the second secret information Z 2, exchange information X, exchanging information Y, a hash function H (Z 1 to enter an identifier ID A and the identifier ID B, Z 2, X, Y, ID A , ID B ). As the function H of the second information sharing apparatus B, the same function as the function H of the first information sharing apparatus A is used.

第一情報共有装置Aが生成する第一秘密情報Z=(YBx+a1と、第二情報共有装置Bが生成する第一秘密情報Z=(XAy+b1とは一致する。(YBx+a1=(Gb1x+a1=G(y+b1)(x+a1)=(Ga1y+b1=(XAy+b1であるためである。同様に、第一情報共有装置Aが生成する第二秘密情報Z=(YBx+a2と、第二情報共有装置Bが生成する第二秘密情報Z=(XAy+b2とは一致する。このため、第一情報共有装置Aが生成する情報Kと第二情報共有装置Bが生成する情報Kとは一致する。 The first secret information Z 1 = (YB 1 ) x + a1 generated by the first information sharing apparatus A matches the first secret information Z 1 = (XA 1 ) y + b1 generated by the second information sharing apparatus B. This is because (YB 1 ) x + a 1 = (G y G b 1 ) x + a 1 = G (y + b 1) (x + a 1) = (G x G a 1 ) y + b 1 = (XA 1 ) y + b 1 Similarly, the second secret information Z 2 = (YB 2 ) x + a2 generated by the first information sharing apparatus A and the second secret information Z 2 = (XA 2 ) y + b2 generated by the second information sharing apparatus B match. To do. For this reason, the information K generated by the first information sharing apparatus A and the information K generated by the second information sharing apparatus B match.

第一実施形態の第一情報共有装置A及び第二情報共有装置Bのそれぞれは群<G>のべき乗算を3回するだけで、情報Kを共有することができる。第一情報共有装置Aを例に挙げて説明すると、第一情報共有装置Aは、(1)交換情報X=Gの計算(ステップA2)、(2)第一秘密情報Z=(YBx+a1の計算(ステップA4)、(3)第二秘密情報Z=(YBx+a2の計算(ステップA5)の3回のべき乗算をするだけで、情報Kを共有することができる。 Each of the first information sharing apparatus A and the second information sharing apparatus B of the first embodiment can share the information K only by performing the multiplication of the group <G> three times. The first information sharing apparatus A will be described as an example. The first information sharing apparatus A (1) calculates exchange information X = G x (step A2), (2) first secret information Z 1 = (YB 1 ) Calculation of x + a1 (step A4), (3) Second secret information Z 2 = (YB 2 ) Information K can be shared by performing only three power multiplications of calculation of x + a2 (step A5). .

このように、第一実施形態によれば、第一情報共有装置A及び第二情報共有装置Bのそれぞれが行うべき乗算の回数(3回)は、従来の情報共有方式におけるべき乗算の回数(4回)以下となり、情報共有のための演算量が小さい。   Thus, according to the first embodiment, the number of multiplications (3 times) to be performed by each of the first information sharing apparatus A and the second information sharing apparatus B is the number of multiplications (3 times) in the conventional information sharing system ( 4 times), and the amount of calculation for information sharing is small.

なお、証明は省略するが、第一実施形態の情報共有システム及び情報共有方法の安全性は、ギャップDiffie−Hellmann問題の困難性を仮定して説明することができる。すなわち、第一実施形態の情報共有システムの安全性は、NAXOS方式の安全性と同等である。   Although proof is omitted, the security of the information sharing system and the information sharing method of the first embodiment can be described assuming the difficulty of the gap Diffie-Hellmann problem. That is, the safety of the information sharing system of the first embodiment is equivalent to the safety of the NAXOS system.

[第二実施形態]
第二実施形態の情報共有システム及び方法は、中間者攻撃に対して安全で、かつ、Diffie−Hellman問題の困難性を仮定して安全性を証明可能であり第一実施形態よりも安全性が高く、NAXOS+方式と同等の安全性を保ちつつ演算量がより小さい情報共有システム、方法を提供するものである。以下、第一実施形態と異なる部分を説明し、同様の部分については重複説明を省略する。
[Second Embodiment]
The information sharing system and method according to the second embodiment is safe against man-in-the-middle attacks, and can prove the safety assuming the difficulty of the Diffie-Hellman problem, and is more secure than the first embodiment. It is an object of the present invention to provide an information sharing system and method that are high and have the same level of safety as that of the NAXOS + system while reducing the amount of calculation. Hereinafter, a different part from 1st embodiment is demonstrated and duplication description is abbreviate | omitted about the same part.

第二実施形態の第一情報共有装置A及び第二情報共有装置Bの機能ブロックは図2、図3に例示した第一実施形態の第一情報共有装置A及び第二情報共有装置Bの機能ブロックと同じであるが、後述するように秘密情報生成部16,26、秘密情報合成部17,27の機能が異なる。   The functional blocks of the first information sharing apparatus A and the second information sharing apparatus B of the second embodiment are the functions of the first information sharing apparatus A and the second information sharing apparatus B of the first embodiment illustrated in FIGS. Although it is the same as the block, the functions of the secret information generating units 16 and 26 and the secret information combining units 17 and 27 are different as will be described later.

図5に、第二実施形態の情報共有方法の処理の流れを例示する。第一情報共有装置Aは、第一実施形態と同様にステップa1からステップa3、ステップA1からA5の処理を行った後に、ステップA7及びステップA8の処理を行う。   FIG. 5 illustrates a processing flow of the information sharing method of the second embodiment. The first information sharing apparatus A performs the processing of step A7 and step A8 after performing the processing of step a1 to step a3 and step A1 to A5 as in the first embodiment.

すなわち、第一情報共有装置Aの秘密情報生成部16は、第一秘密情報Z及び第二秘密情報Zを生成すると共に、Z=(YBx+a2で定義される第三秘密情報Zを生成し(ステップA7)、Z=(YBx+a1で定義される第四秘密情報Zを生成する(ステップA8)。生成された第三秘密情報Z及び第四秘密情報Zは、秘密情報合成部17に送られる。 In other words, the secret information generation unit 16 of the first information sharing apparatus A generates the first secret information Z 1 and the second secret information Z 2, and the third secret information defined by Z 3 = (YB 1 ) x + a2 Z 3 is generated (step A7), and the fourth secret information Z 4 defined by Z 4 = (YB 2 ) x + a1 is generated (step A8). The generated third secret information Z 3 and fourth secret information Z 4 are sent to the secret information combining unit 17.

秘密情報合成部17は、第一秘密情報Z、第二秘密情報Z、第三秘密情報Z及び第四秘密情報Zを予め定められた関数Hに入力した場合の出力値を計算して、共有される情報Kとする(ステップA6)。関数Hは、例えば第一秘密情報Z、第二秘密情報Z、第三秘密情報Z、第四秘密情報Z、交換情報X、交換情報Y、識別子ID及び識別子IDを入力とするハッシュ関数H(Z,Z,Z,Z,X,Y,ID,ID)である。 The secret information combining unit 17 calculates an output value when the first secret information Z 1 , the second secret information Z 2 , the third secret information Z 3 and the fourth secret information Z 4 are input to a predetermined function H. Thus, the shared information K is set (step A6). Function H inputs, for example, first secret information Z 1 , second secret information Z 2 , third secret information Z 3 , fourth secret information Z 4 , exchange information X, exchange information Y, identifier ID A and identifier ID B A hash function H (Z 1 , Z 2 , Z 3 , Z 4 , X, Y, ID A , ID B ).

また、第二情報共有装置Bの秘密情報生成部26は、第一秘密情報Z及び第二秘密情報Zを生成すると共に、Z=(XAx+b2で定義される第三秘密情報Zを生成し(ステップB7)、Z=(XAx+b1で定義される第四秘密情報Zを生成する(ステップB8)。生成された第三秘密情報Z及び第四秘密情報Zは、秘密情報合成部17に送られる。 Further, the secret information generation unit 26 of the second information sharing apparatus B generates the first secret information Z 1 and the second secret information Z 2, and the third secret information defined by Z 3 = (XA 1 ) x + b 2. Z 3 is generated (step B 7), and fourth secret information Z 4 defined by Z 4 = (XA 2 ) x + b 1 is generated (step B 8). The generated third secret information Z 3 and fourth secret information Z 4 are sent to the secret information combining unit 17.

秘密情報合成部27は、第一秘密情報Z、第二秘密情報Z、第三秘密情報Z及び第四秘密情報Zを予め定められた関数Hに入力した場合の出力値を計算して、共有される情報Kとする(ステップB6)。関数Hは、例えば第一秘密情報Z、第二秘密情報Z、第三秘密情報Z、第四秘密情報Z、交換情報X、交換情報Y、識別子ID及び識別子IDを入力とするハッシュ関数H(Z,Z,Z,Z,X,Y,ID,ID)である。第二情報共有装置Bの関数Hとして、第一情報共有装置Aの関数Hと同じ関数を用いる。 The secret information combining unit 27 calculates an output value when the first secret information Z 1 , the second secret information Z 2 , the third secret information Z 3, and the fourth secret information Z 4 are input to a predetermined function H. Thus, the shared information K is set (step B6). Function H inputs, for example, first secret information Z 1 , second secret information Z 2 , third secret information Z 3 , fourth secret information Z 4 , exchange information X, exchange information Y, identifier ID A and identifier ID B A hash function H (Z 1 , Z 2 , Z 3 , Z 4 , X, Y, ID A , ID B ). As the function H of the second information sharing apparatus B, the same function as the function H of the first information sharing apparatus A is used.

第二実施形態の第二情報共有装置A及び第二情報共有装置Bのそれぞれは群<G>のべき乗算を5回するだけで、情報Kを共有することができる。第一情報共有装置Aを例に挙げて説明すると、第一情報共有装置Aは、(1)交換情報X=Gの計算(ステップA2)、(2)第一秘密情報Z=(YBx+a1の計算(ステップA4)、(3)第二秘密情報Z=(YBx+a2の計算(ステップA5)、(4)第三秘密情報Z=(YBy+a2の計算(ステップA7)、(5)第四秘密情報Z=(YBy+a1の計算(ステップA8)の5回のべき乗算をして、情報Kを共有することができる。 Each of the second information sharing apparatus A and the second information sharing apparatus B of the second embodiment can share the information K only by performing the multiplication of the group <G> five times. The first information sharing apparatus A will be described as an example. The first information sharing apparatus A (1) calculates exchange information X = G x (step A2), (2) first secret information Z 1 = (YB 1 ) Calculation of x + a1 (Step A4), (3) Calculation of second secret information Z 2 = (YB 2 ) x + a2 (Step A5), (4) Calculation of third secret information Z 3 = (YB 1 ) y + a2 ( Steps A7) and (5) The fourth secret information Z 4 = (YB 2 ) y + a1 is calculated (step A8) by five power multiplications to share the information K.

第二実施形態のべき乗算の回数(5回)は、従来のNAXOS+方式のべき乗算の回数(5回)と同じであるが、べき乗算1回あたりの平均演算量を従来のNAXOS+方式よりも小さくすることができる。   The number of power multiplications (5 times) of the second embodiment is the same as the number of power multiplications (5 times) of the conventional NAXOS + method, but the average amount of calculation per power multiplication is higher than that of the conventional NAXOS + method. Can be small.

具体的には、第二情報共有装置A及び第二情報共有装置Bのそれぞれは、べき乗算をする際に既に行った同じ底のべき乗算についての途中計算結果を再利用することで、重複計算を省いてべき乗算1回あたりの平均演算量を小さくすることができる。   Specifically, each of the second information sharing apparatus A and the second information sharing apparatus B uses the intermediate calculation result of the same base power multiplication that has already been performed when the power multiplication is performed, thereby overlapping calculation. It is possible to reduce the average amount of calculation per multiplication that should be omitted.

第一情報共有装置Aを例に挙げて説明をすると、第一秘密情報Z=(YBx+a1と第三秘密情報Z=(YBy+a2を計算するときに底がYBで共通しており、第二秘密情報Z=(YBx+a2と第四秘密情報Z=(YBy+a1を計算するときに底がYBで共通している。したがって、第一秘密情報Z=(YBx+a1のべき乗算が既に行われている場合には、第三秘密情報Z=(YBy+a2を計算するときに、第一秘密情報Z=(YBx+a1のべき乗算についての途中計算結果を再利用することで、第三秘密情報Z=(YBy+a2の演算量を削減することができる。また、第二秘密情報Z=(YBx+a2のべき乗算が既に行われている場合には、第四秘密情報Z=(YBy+a1を計算するときに、第二秘密情報Z=(YBx+a2のべき乗算についての途中計算結果を再利用することで、第四秘密情報Z=(YBy+a1の演算量を削減することができる。 The first information sharing apparatus A will be described as an example. When calculating the first secret information Z 1 = (YB 1 ) x + a1 and the third secret information Z 3 = (YB 1 ) y + a2 , the bottom is YB 1 The second secret information Z 2 = (YB 2 ) x + a2 and the fourth secret information Z 4 = (YB 2 ) y + a1 are common to YB 2 when calculating the second secret information Z 2 = (YB 2 ) x + a2 . Therefore, when the multiplication of the first secret information Z 1 = (YB 1 ) x + a1 has already been performed, the first secret information Z 3 is calculated when calculating the third secret information Z 3 = (YB 1 ) y + a2. By reusing the intermediate calculation result for the exponentiation of 1 = (YB 1 ) x + a1 , the amount of computation of the third secret information Z 3 = (YB 1 ) y + a2 can be reduced. In addition, when power multiplication of the second secret information Z 2 = (YB 2 ) x + a2 has already been performed, the second secret information Z 4 is calculated when calculating the fourth secret information Z 4 = (YB 2 ) y + a1. By reusing the intermediate calculation result for the exponentiation of 2 = (YB 2 ) x + a2, the amount of calculation of the fourth secret information Z 4 = (YB 2 ) y + a1 can be reduced.

以下、バイナリ法によりべき乗算をする場合の途中計算結果の再利用について説明をする。バイナリ法により底Qのs(=sI−1…s)乗のべき乗算をする場合には、図6の流れ図の処理を行う。sI−1…sは整数sを二進数で表現したものであり、各s(i=I,…,0)は0又は1である。 Hereinafter, the reuse of the calculation result during the power multiplication by the binary method will be described. When performing a power multiplication of the base Q to the power of s (= s I s I-1 ... S 0 ) by the binary method, the processing of the flowchart of FIG. s I s I-1 ... s 0 represents the integer s in binary, and each s i (i = I,..., 0) is 0 or 1.

まず、RにQを代入し、Tに1を代入し、iに0を代入して、各変数の初期化を行う(ステップS1)。   First, Q is substituted for R, 1 is substituted for T, 0 is substituted for i, and each variable is initialized (step S1).

が1であるかどうかを判断して(ステップS2)、sが1であればT×Rを演算してTに代入する(ステップS3)。sが1でなければ、ステップS3の処理を行わずに、ステップS4の処理を行う。×は群<G>で定義された演算である。 It is determined whether or not s i is 1 (step S2). If s i is 1, T × R is calculated and substituted for T (step S3). If s i is not 1, the process of step S4 is performed without performing the process of step S3. X is an operation defined by the group <G>.

R×Rを演算してRに代入する(ステップS4)
iがIであるかどうかを判断して(ステップS5)、iがIであれば処理を終了する。Tが底Qのs(=sI−1…s)乗のべき乗算の演算結果である。iがIでなければ、iを1だけインクリメントして(ステップS6)、すなわちiにi+1を代入して、ステップS2に戻る。
R × R is calculated and substituted for R (step S4).
It is determined whether i is I (step S5). If i is I, the process is terminated. T is the operation result of the power multiplication of the base Q to the power of s (= s I s I-1 ... S 0 ). If i is not I, i is incremented by 1 (step S6), that is, i + 1 is substituted for i, and the process returns to step S2.

第一情報共有装置Aの秘密情報生成部16が図6に例示したバイナリ法によりべき乗算を行う場合には、ステップS4のR×Rの計算結果を再利用することができる。ステップS4のR×Rの計算は、底Qのみに依存して指数s…sに依存せず、底Qが同一であればR×Rの計算結果は同じであるためである。秘密情報生成部16は、例えば、第一秘密情報Z=(YBx+a1のべき乗算を行う際に生じたR×Rの計算結果を一時記憶部161に記憶しておく。そして、第三秘密情報Z=(YBy+a2を計算するときに、ステップS4においてR×Rの演算を行う代わりに、一時記憶部161からR×Rの計算結果を読み込むことでR×Rの演算を省略する。 When the secret information generation unit 16 of the first information sharing apparatus A performs power multiplication by the binary method illustrated in FIG. 6, the calculation result of R × R in step S4 can be reused. This is because the calculation of R × R in step S4 depends only on the base Q and does not depend on the index s I ... S 0 . The secret information generation unit 16 stores, for example, the R × R calculation result generated when the first secret information Z 1 = (YB 1 ) x + a1 is multiplied in the temporary storage unit 161. Then, when calculating the third secret information Z 3 = (YB 1 ) y + a2 , R × R is read by reading the calculation result of R × R from the temporary storage unit 161 instead of performing the calculation of R × R in step S4. The calculation of R is omitted.

ステップS3におけるT×Rの演算量は約I/2であり、ステップS4におけるR×Rの演算量は約Iであることが知られている(例えば、参考文献1参照。)。したがって、初めて演算する底についての演算量は約3I/2(=(I/2)+I)であるが、その底と同じ底について再度べき乗算を行う場合にはステップS4のR×Rの演算を省くことにより演算量を約I/2にすることができる。   It is known that the calculation amount of T × R in step S3 is about I / 2, and the calculation amount of R × R in step S4 is about I (see, for example, Reference 1). Therefore, the amount of calculation for the base to be calculated for the first time is about 3I / 2 (= (I / 2) + I). However, in the case where exponentiation is performed again for the same base as that base, the calculation of R × R in step S4 is performed. By omitting, the amount of computation can be reduced to about I / 2.

〔参考文献1〕A. Menezes, P. Oorschot, S. Vanstone, “Handbook of Applied Cryptography,”,Revised Reprint with Updates, CRC Press, 1997.
従来のNAXOS+においては互いに異なる5つの底のべき乗算を行う必要があったため演算量は約15I/2(=5×(3I/2))となるのに対して、第二実施形態において5回のべき乗算のうち2回のべき乗算で既に行った同じ底のべき乗算についての途中計算結果を再利用することができるため演算量は約11I/2(=3×(3I/2)+2×(I/2))となる。したがって、途中計算結果を再利用することにより、演算量を約73%(=(11I/2)/(15I/2))にすることができる。
[Reference 1] A. Menezes, P. Oorschot, S. Vanstone, “Handbook of Applied Cryptography,”, Revised Reprint with Updates, CRC Press, 1997.
In the conventional NAXOS +, since it is necessary to perform multiplication of five different powers from each other, the calculation amount is about 15 I / 2 (= 5 × (3I / 2)), whereas in the second embodiment, five times. Since the intermediate calculation result for the same base power multiplication already performed in two power multiplications among the power multiplications can be reused, the amount of computation is about 11I / 2 (= 3 × (3I / 2) + 2 × (I / 2)). Therefore, the amount of calculation can be reduced to about 73% (= (11I / 2) / (15I / 2)) by reusing the calculation result on the way.

上記の例ではバイナリ法によりべき乗算を行う場合を例に挙げて演算量の削減について説明をしたが、他の方法によりべき乗算を行う場合にも既に行った同じ底のべき乗算についての途中計算結果を再利用することで演算量を削減することができる。例えば参考文献2に記載された方法によりべき乗算を行う場合には、既に行った同じ底のべき乗算についての途中計算結果を再利用することで、NAXOS+方式と比較して演算量を約2/3にすることができる。   In the above example, the case of performing power multiplication by the binary method has been described as an example, but the amount of calculation has been described. However, even when power multiplication is performed by another method, intermediate calculations for the same base power multiplication that have already been performed are performed. The amount of calculation can be reduced by reusing the result. For example, when power multiplication is performed by the method described in Reference 2, the calculation amount is reduced by about 2 / compared with the NAXOS + method by reusing the intermediate calculation result of the same power multiplication already performed. Can be 3.

〔参考文献2〕David M’Raihi and Acm Press and David Naccache, “Batch Exponentiation: A Fast DLP-based Signature Generation Strategy”, 1966, ACM
なお、証明は省略するが、第二実施形態の情報共有システム及び情報共有方法の安全性は、Diffie−Hellmann問題の困難性を仮定して説明することができる。すなわち、第二実施形態の情報共有システムの安全性は、NAXOS+方式の安全性と同等である。
[Reference 2] David M'Raihi and Acm Press and David Naccache, “Batch Exponentiation: A Fast DLP-based Signature Generation Strategy”, 1966, ACM
Although the proof is omitted, the security of the information sharing system and the information sharing method of the second embodiment can be described assuming the difficulty of the Diffie-Hellmann problem. That is, the security of the information sharing system of the second embodiment is equivalent to the security of the NAXOS + system.

[変形例等]
図2,図3では、各部でデータが直接やり取りされているが、記憶部11,21を介してデータの受け渡しが行われてもよい。すなわち、各部で生成された又は受信したデータは記憶部11,21に記憶され、各部は記憶部11,21からそのデータを読み込んでもよい。
[Modifications, etc.]
In FIG. 2 and FIG. 3, data is directly exchanged between the respective units, but data may be exchanged via the storage units 11 and 21. That is, data generated or received by each unit may be stored in the storage units 11 and 21, and each unit may read the data from the storage units 11 and 21.

第一情報共有装置A及び第二情報共有装置Bのそれぞれは、コンピュータによって実現することができる。この場合、各装置がそれぞれ有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、これらの装置における各処理機能が、コンピュータ上で実現される。   Each of the first information sharing apparatus A and the second information sharing apparatus B can be realized by a computer. In this case, the processing contents of the functions that each device should have are described by a program. Then, by executing this program on a computer, each processing function in these devices is realized on the computer.

この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、これらの装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。   The program describing the processing contents can be recorded on a computer-readable recording medium. In this embodiment, these apparatuses are configured by executing a predetermined program on a computer. However, at least a part of these processing contents may be realized by hardware.

この発明は、上述の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で適宜変更が可能である。例えば、上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。   The present invention is not limited to the above-described embodiment, and can be modified as appropriate without departing from the spirit of the present invention. 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.

A 第一情報共有装置
B 第二情報共有装置
11 記憶部
12 乱数生成部
13 公開鍵生成部
14 送受信部
15 交換情報生成部
16 秘密情報生成部
17 秘密情報合成部
21 記憶部
22 乱数生成部
23 公開鍵生成部
24 送受信部
25 交換情報生成部
26 秘密情報生成部
27 秘密情報合成部
A first information sharing device B second information sharing device 11 storage unit 12 random number generation unit 13 public key generation unit 14 transmission / reception unit 15 exchange information generation unit 16 secret information generation unit 17 secret information combination unit 21 storage unit 22 random number generation unit 23 Public key generation unit 24 Transmission / reception unit 25 Exchange information generation unit 26 Secret information generation unit 27 Secret information synthesis unit

Claims (9)

第一情報共有装置と第二情報共有装置との間で情報を共有する情報共有システムにおいて、
セキュリティパラメータkを所定の正の整数とし、群<G>を生成元Gにより生成される巡回群とし、上記第一情報共有装置の秘密鍵a,aを2kビット以上の正の整数の乱数とし、上記第一情報共有装置の公開鍵A,AをA=Ga1,A=Ga2とし、上記第二情報共有装置の秘密鍵b,bを2kビット以上の正の整数の乱数とし、上記第二情報共有装置の公開鍵B,BをB=Gb1,B=Gb2として、
上記第一情報共有装置は、
2kビット以上の正の整数の乱数xを生成する乱数生成部と、
上記乱数xを用いて交換情報X=Gを生成する交換情報生成部と、
上記交換情報Xを上記第二情報共有装置に送信する送受信部と、
上記第二情報共有装置から受信した交換情報Yを用いて第一秘密情報Z=(YBx+a1及び第二秘密情報Z=(YBx+a2を生成する秘密情報生成部と、
上記第一情報共有装置の秘密情報生成部が生成した第一秘密情報Z及び第二秘密情報Zを予め定められた関数Hに入力した場合の出力値を計算する秘密情報合成部と、
を含み、
上記第二情報共有装置は、
2kビット以上の正の整数の乱数yを生成する乱数生成部と、
上記乱数yを用いて交換情報Y=Gを生成する交換情報生成部と、
上記交換情報Yを上記第一情報共有装置に送信する送受信部と、
上記第一情報共有装置から受信した交換情報Xを用いて第一秘密情報Z=(XAy+b1及び第二秘密情報Z=(XAy+b2を生成する秘密情報生成部と、
上記第一秘密情報Z及び上記第二秘密情報Zを予め定められた関数Hに入力した場合の出力値を計算する情報とする秘密情報合成部と、
を含む、
ことを特徴とする情報共有システム。
In the information sharing system for sharing information between the first information sharing device and the second information sharing device,
The security parameter k is a predetermined positive integer, the group <G> is a cyclic group generated by the generator G, and the secret keys a 1 and a 2 of the first information sharing apparatus are positive integers of 2k bits or more. Random numbers are used, the public keys A 1 and A 2 of the first information sharing device are A 1 = G a1 and A 2 = G a2, and the secret keys b 1 and b 2 of the second information sharing device are 2 k bits or more. It is a positive integer random number, and public keys B 1 and B 2 of the second information sharing apparatus are set as B 1 = G b1 and B 2 = G b2 ,
The first information sharing device includes:
A random number generator for generating a positive integer random number x of 2 k bits or more;
An exchange information generating unit that generates exchange information X = G x using the random number x,
A transmission / reception unit for transmitting the exchange information X to the second information sharing device;
A secret information generating unit that generates first secret information Z 1 = (YB 1 ) x + a1 and second secret information Z 2 = (YB 2 ) x + a2 using the exchange information Y received from the second information sharing device;
And secret information combining unit for calculating the output value when the input to the first confidential information Z 1 and the second secret information Z 2 a predetermined function H secret information generating unit has generated the first information sharing apparatus,
Including
The second information sharing apparatus is
A random number generator for generating a positive integer random number y of 2 k bits or more;
An exchange information generating unit that generates exchange information Y = G y using the random number y;
A transmission / reception unit for transmitting the exchange information Y to the first information sharing device;
A secret information generating unit that generates first secret information Z 1 = (XA 1 ) y + b1 and second secret information Z 2 = (XA 2 ) y + b2 using the exchange information X received from the first information sharing device;
And secret information combining unit to the information to calculate the output value when the input to the first secret information Z 1 and the second secret information Z 2 a predetermined function H,
including,
An information sharing system characterized by this.
請求項1に記載の情報共有システムにおいて、
上記第一情報共有装置の秘密情報生成部は第三秘密情報Z=(YBy+a2及び第四秘密情報Z=(YBy+a1を更に生成し、
上記第一情報共有装置の秘密情報合成部は、上記第一情報共有装置の秘密情報生成部が生成した第一秘密情報Z、第二秘密情報Z、第三秘密情報Z及び第四秘密情報Zを予め定められた関数Hに入力した場合の出力値を計算し、
上記第二情報共有装置の秘密情報生成部は第三秘密情報Z=(XAy+b2及び第四秘密情報Z=(XAy+b1を更に生成し、
上記第二情報共有装置の秘密情報合成部は、上記第二情報共有装置の秘密情報生成部が生成した第一秘密情報Z、第二秘密情報Z、第三秘密情報Z及び第四秘密情報Zを予め定められた関数Hに入力した場合の出力値を計算する、
ことを特徴とする情報共有システム。
The information sharing system according to claim 1,
The secret information generation unit of the first information sharing apparatus further generates third secret information Z 3 = (YB 1 ) y + a2 and fourth secret information Z 4 = (YB 2 ) y + a1 ,
The secret information combining unit of the first information sharing device includes first secret information Z 1 , second secret information Z 2 , third secret information Z 3, and fourth generated by the secret information generation unit of the first information sharing device. Calculate the output value when secret information Z 4 is input to a predetermined function H;
The secret information generation unit of the second information sharing apparatus further generates third secret information Z 3 = (XA 1 ) y + b2 and fourth secret information Z 4 = (XA 2 ) y + b1 ;
The secret information combining unit of the second information sharing device includes first secret information Z 1 , second secret information Z 2 , third secret information Z 3, and fourth generated by the secret information generation unit of the second information sharing device. Calculating an output value when the secret information Z 4 is input to a predetermined function H;
An information sharing system characterized by this.
請求項1に記載の情報共有システムにおいて、
所定のビット列IDを上記第一情報共有装置の識別子とし、所定のビット列IDを上記第二情報共有装置の識別子として、
上記関数Hは、上記第一秘密情報Z、上記第二秘密情報Z、上記交換情報X、上記交換情報Y、上記識別子ID及び上記識別子IDを入力とするハッシュ関数であり、
上記第一情報共有装置の秘密情報合成部は、上記第一情報共有装置の秘密情報生成部が生成した第一秘密情報Z、第二秘密情報Z、上記交換情報X、上記交換情報Y、上記識別子ID及び上記識別子IDを上記関数Hに入力した場合の出力値を計算する、
ことを特徴とする情報共有システム。
The information sharing system according to claim 1,
A predetermined bit string ID A is an identifier of the first information sharing apparatus, and a predetermined bit string ID B is an identifier of the second information sharing apparatus,
The function H is a hash function having the first secret information Z 1 , the second secret information Z 2 , the exchange information X, the exchange information Y, the identifier ID A, and the identifier ID B as inputs,
The secret information combining unit of the first information sharing device includes the first secret information Z 1 , the second secret information Z 2 , the exchange information X, and the exchange information Y generated by the secret information generation unit of the first information share device. Calculating an output value when the identifier ID A and the identifier ID B are input to the function H;
An information sharing system characterized by this.
請求項2に記載の情報共有システムにおいて、
所定のビット列IDを上記第一情報共有装置の識別子とし、所定のビット列IDを上記第二情報共有装置の識別子として、
上記関数Hは、上記第一秘密情報Z、上記第二秘密情報Z、上記第三秘密情報Z、上記第四秘密情報Z、上記交換情報X、上記交換情報Y、上記識別子ID及び上記識別子IDを入力とするハッシュ関数であり、
上記第一情報共有装置の秘密情報合成部は、上記第一情報共有装置の秘密情報生成部が生成した第一秘密情報Z、第二秘密情報Z、第三秘密情報Z、第四秘密情報Z、上記交換情報X、上記交換情報Y、上記識別子ID及び上記識別子IDを上記関数Hに入力した場合の出力値を計算する、
ことを特徴とする情報共有システム。
The information sharing system according to claim 2,
A predetermined bit string ID A is an identifier of the first information sharing apparatus, and a predetermined bit string ID B is an identifier of the second information sharing apparatus,
The function H includes the first secret information Z 1 , the second secret information Z 2 , the third secret information Z 3 , the fourth secret information Z 4 , the exchange information X, the exchange information Y, and the identifier ID. A hash function having A and the identifier ID B as inputs,
The secret information combining unit of the first information sharing device includes first secret information Z 1 , second secret information Z 2 , third secret information Z 3 , and fourth generated by the secret information generation unit of the first information sharing device. Calculating an output value when the secret information Z 4 , the exchange information X, the exchange information Y, the identifier ID A, and the identifier ID B are input to the function H;
An information sharing system characterized by this.
請求項2又は4に記載の情報共有システムにおいて、
上記第一情報共有装置の秘密情報生成部と上記第二情報共有装置の秘密情報生成部との少なくとも一方は、既に行った同じ底のべき乗算についての途中計算結果を再利用する、
ことを特徴とする情報共有システム。
In the information sharing system according to claim 2 or 4,
At least one of the secret information generation unit of the first information sharing device and the secret information generation unit of the second information sharing device reuses the intermediate calculation result for the same power multiplication already performed,
An information sharing system characterized by this.
第一情報共有装置と第二情報共有装置との間で情報を共有する情報共有方法において、
セキュリティパラメータkを所定の正の整数とし、群<G>を生成元Gにより生成される巡回群とし、上記第一情報共有装置の秘密鍵a,aを2kビット以上の正の整数の乱数とし、上記第一情報共有装置の公開鍵A,AをA=Ga1,A=Ga2とし、上記第二情報共有装置の秘密鍵b,bを2kビット以上の正の整数の乱数とし、上記第二情報共有装置の公開鍵B,BをB=Gb1,B=Gb2として、
上記第一情報共有装置の乱数生成部が、2kビット以上の正の整数の乱数xを生成する乱数生成ステップと、
上記第一情報共有装置の交換情報生成部が、上記乱数xを用いて交換情報X=Gを生成する交換情報生成ステップと、
上記第一情報共有装置の送受信部が、上記交換情報Xを上記第二情報共有装置に送信する送受信ステップと、
上記第一情報共有装置の秘密情報生成部が、上記第二情報共有装置から受信した交換情報Yを用いて第一秘密情報Z=(YBx+a1及び第二秘密情報Z=(YBx+a2を生成する秘密情報生成ステップと、
上記第一情報共有装置の秘密情報合成部が、上記第一情報共有装置の秘密情報生成部が生成した第一秘密情報Z及び第二秘密情報Zを予め定められた関数Hに入力した場合の出力値を計算する秘密情報合成ステップと、
上記第二情報共有装置の乱数生成部が、2kビット以上の正の整数の乱数yを生成する乱数生成ステップと、
上記第二情報共有装置の交換情報生成部が、上記乱数yを用いて交換情報Y=Gを生成する交換情報生成ステップと、
上記第二情報共有装置の送受信部が、上記交換情報Yを上記第一情報共有装置に送信する送受信ステップと、
上記第二情報共有装置の秘密情報生成部が、上記第一情報共有装置から受信した交換情報Xを用いて第一秘密情報Z=(XAy+b1及び第二秘密情報Z=(XAy+b2を生成する秘密情報生成ステップと、
上記第二情報共有装置の秘密情報合成部が、上記第一秘密情報Z及び上記第二秘密情報Zを予め定められた関数Hに入力した場合の出力値を計算する情報とする秘密情報合成ステップと、
を含むことを特徴とする情報共有方法。
In the information sharing method for sharing information between the first information sharing device and the second information sharing device,
The security parameter k is a predetermined positive integer, the group <G> is a cyclic group generated by the generator G, and the secret keys a 1 and a 2 of the first information sharing apparatus are positive integers of 2k bits or more. Random numbers are used, the public keys A 1 and A 2 of the first information sharing device are A 1 = G a1 and A 2 = G a2, and the secret keys b 1 and b 2 of the second information sharing device are 2 k bits or more. It is a positive integer random number, and public keys B 1 and B 2 of the second information sharing apparatus are set as B 1 = G b1 and B 2 = G b2 ,
A random number generation step in which the random number generation unit of the first information sharing apparatus generates a positive integer random number x of 2 k bits or more;
An exchange information generating step in which the exchange information generating unit of the first information sharing apparatus generates exchange information X = G x using the random number x;
A transmission / reception step in which the transmission / reception unit of the first information sharing device transmits the exchange information X to the second information sharing device;
The secret information generation unit of the first information sharing device uses the exchange information Y received from the second information sharing device to use the first secret information Z 1 = (YB 1 ) x + a1 and the second secret information Z 2 = (YB 2 ) a secret information generation step of generating x + a2 ;
The secret information combining unit of the first information sharing device, entered into the first secret information Z 1 and the second secret information Z 2 a predetermined function H secret information generating unit has generated the first information sharing device A secret information synthesizing step for calculating an output value of the case,
A random number generation step in which the random number generation unit of the second information sharing apparatus generates a positive integer random number y of 2 k bits or more;
An exchange information generating step in which an exchange information generating unit of the second information sharing apparatus generates exchange information Y = G y using the random number y;
A transmitting / receiving step in which the transmitting / receiving unit of the second information sharing device transmits the exchange information Y to the first information sharing device;
The secret information generation unit of the second information sharing device uses the exchange information X received from the first information sharing device to use the first secret information Z 1 = (XA 1 ) y + b1 and the second secret information Z 2 = (XA 2 ) a secret information generation step of generating y + b2 ;
Confidential information confidential information synthesizing unit of the second information sharing apparatus, an information for calculating the output value when the input to the first secret information Z 1 and the second secret information Z 2 a predetermined function H A synthesis step;
An information sharing method comprising:
請求項6に記載の情報共有方法において、
上記第一情報共有装置の秘密情報生成ステップは、第三秘密情報Z=(YBy+a2及び第四秘密情報Z=(YBy+a1を更に生成し、
上記第一情報共有装置の秘密情報合成ステップは、上記第一情報共有装置の秘密情報生成部が生成した第一秘密情報Z、第二秘密情報Z、第三秘密情報Z及び第四秘密情報Zを予め定められた関数Hに入力した場合の出力値を計算し、
上記第二情報共有装置の秘密情報生成ステップは、第三秘密情報Z=(XAy+b2及び第四秘密情報Z=(XAy+b1を更に生成し、
上記第二情報共有装置の秘密情報合成ステップは、上記第二情報共有装置の秘密情報生成部が生成した第一秘密情報Z、第二秘密情報Z、第三秘密情報Z及び第四秘密情報Zを予め定められた関数Hに入力した場合の出力値を計算する、
ことを特徴とする情報共有方法。
The information sharing method according to claim 6,
The secret information generation step of the first information sharing device further generates third secret information Z 3 = (YB 1 ) y + a2 and fourth secret information Z 4 = (YB 2 ) y + a1 ,
The secret information combining step of the first information sharing apparatus includes the first secret information Z 1 , the second secret information Z 2 , the third secret information Z 3, and the fourth information generated by the secret information generation unit of the first information sharing apparatus. Calculate the output value when secret information Z 4 is input to a predetermined function H;
The secret information generation step of the second information sharing device further generates third secret information Z 3 = (XA 1 ) y + b2 and fourth secret information Z 4 = (XA 2 ) y + b1 ,
The secret information combining step of the second information sharing device includes the first secret information Z 1 , the second secret information Z 2 , the third secret information Z 3 and the fourth secret information generated by the secret information generation unit of the second information sharing device. Calculating an output value when the secret information Z 4 is input to a predetermined function H;
An information sharing method characterized by the above.
請求項7に記載の情報共有方法において、
上記第一情報共有装置の秘密情報生成ステップと上記第二情報共有装置の秘密情報生成ステップとの少なくとも一方は、既に行った同じ底のべき乗算についての途中計算結果を再利用する、
ことを特徴とする情報共有方法。
The information sharing method according to claim 7,
At least one of the secret information generation step of the first information sharing device and the secret information generation step of the second information sharing device reuses the intermediate calculation result on the same power multiplication that has already been performed,
An information sharing method characterized by the above.
第一情報共有装置と第二情報共有装置との間で情報を共有する第一情報共有装置としてコンピュータを機能させるための情報共有プログラムにおいて、
セキュリティパラメータkを所定の正の整数とし、群<G>を生成元Gにより生成される巡回群とし、上記第一情報共有装置の秘密鍵a,aを2kビット以上の正の整数の乱数とし、上記第一情報共有装置の公開鍵A,AをA=Ga1,A=Ga2とし、上記第二情報共有装置の秘密鍵b,bを2kビット以上の正の整数の乱数とし、上記第二情報共有装置の公開鍵B,BをB=Gb1,B=Gb2として、
上記第一情報共有装置は、
2kビット以上の正の整数の乱数xを生成する乱数生成部と、
上記乱数xを用いて交換情報X=Gを生成する交換情報生成部と、
上記交換情報Xを上記第二情報共有装置に送信する送受信部と、
上記第二情報共有装置から受信した交換情報Y=G(yは乱数)を用いて第一秘密情報Z=(YBx+a1及び第二秘密情報Z=(YBx+a2を生成する秘密情報生成部と、
上記第一情報共有装置の秘密情報生成部が生成した第一秘密情報Z及び第二秘密情報Zを予め定められた関数Hに入力した場合の出力値を計算する秘密情報合成部と、
を含む、
ことを特徴とする情報共有プログラム。
In an information sharing program for causing a computer to function as a first information sharing device that shares information between a first information sharing device and a second information sharing device,
The security parameter k is a predetermined positive integer, the group <G> is a cyclic group generated by the generator G, and the secret keys a 1 and a 2 of the first information sharing apparatus are positive integers of 2k bits or more. Random numbers are used, the public keys A 1 and A 2 of the first information sharing device are A 1 = G a1 and A 2 = G a2, and the secret keys b 1 and b 2 of the second information sharing device are 2 k bits or more. It is a positive integer random number, and public keys B 1 and B 2 of the second information sharing apparatus are set as B 1 = G b1 and B 2 = G b2 ,
The first information sharing device includes:
A random number generator for generating a positive integer random number x of 2 k bits or more;
An exchange information generating unit that generates exchange information X = G x using the random number x,
A transmission / reception unit for transmitting the exchange information X to the second information sharing device;
Using the exchange information Y = G y (y is a random number) received from the second information sharing apparatus, first secret information Z 1 = (YB 1 ) x + a1 and second secret information Z 2 = (YB 2 ) x + a2 are generated. A secret information generator to
And secret information combining unit for calculating the output value when the input to the first confidential information Z 1 and the second secret information Z 2 a predetermined function H secret information generating unit has generated the first information sharing apparatus,
including,
An information sharing program characterized by that.
JP2009206085A 2009-09-07 2009-09-07 Information sharing system, method and program Expired - Fee Related JP5295048B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009206085A JP5295048B2 (en) 2009-09-07 2009-09-07 Information sharing system, method and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009206085A JP5295048B2 (en) 2009-09-07 2009-09-07 Information sharing system, method and program

Publications (2)

Publication Number Publication Date
JP2011061306A true JP2011061306A (en) 2011-03-24
JP5295048B2 JP5295048B2 (en) 2013-09-18

Family

ID=43948476

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009206085A Expired - Fee Related JP5295048B2 (en) 2009-09-07 2009-09-07 Information sharing system, method and program

Country Status (1)

Country Link
JP (1) JP5295048B2 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009130872A (en) * 2007-11-28 2009-06-11 Nippon Telegr & Teleph Corp <Ntt> Method of sharing key, first device, second device, and their program
JP2009526411A (en) * 2005-02-10 2009-07-16 インターナショナル・ビジネス・マシーンズ・コーポレーション Method of exchange between two parties interconnected by a device or network, signal transmission medium, and device (method and structure for challenge-response signatures and high performance secure Diffie-Hellman protocol)

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009526411A (en) * 2005-02-10 2009-07-16 インターナショナル・ビジネス・マシーンズ・コーポレーション Method of exchange between two parties interconnected by a device or network, signal transmission medium, and device (method and structure for challenge-response signatures and high performance secure Diffie-Hellman protocol)
JP2009130872A (en) * 2007-11-28 2009-06-11 Nippon Telegr & Teleph Corp <Ntt> Method of sharing key, first device, second device, and their program

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
CSNJ201010031132; 森山大輔,土井洋: '"二者間鍵共有プロトコルにおける鍵導出関数の重要性に関する考察"' 2009年 暗号と情報セキュリティシンポジウム (SCIS2009) [CD-ROM] 2B3 鍵共有,2B3-2, 20090120, p.1-6, 電子情報通信学会情報セキュリティ研究専門委員会 *
JPN6012002500; Tatsuaki Okamoto: '"Authenticated Key Exchange and Key Encapsulation in the Standard Model"' 13th International Conference on the Theory and Application of Cryptology and Information Security K , 200712, p.474-484, Springer *
JPN6012002501; 岡本龍明: '"鍵交換:現代暗号の誕生とその発展"' Fundamentals Review Vol.1 No.4, 20080401, p.70-76, 社団法人電子情報通信学会 *
JPN6013025211; 森山大輔,土井洋: '"二者間鍵共有プロトコルにおける鍵導出関数の重要性に関する考察"' 2009年 暗号と情報セキュリティシンポジウム (SCIS2009) [CD-ROM] 2B3 鍵共有,2B3-2, 20090120, p.1-6, 電子情報通信学会情報セキュリティ研究専門委員会 *
JPN6013025214; Tatsuaki Okamoto: '"Authenticated Key Exchange and Key Encapsulation Without Random Oracles"' Cryptology ePrint Archive: Report 2007/473 Version: 20071226:081835, 20071226, [online] *
JPN6013025216; Minkyu Kim, Atsushi Fujioka, and Berkant Ustaoglu: '"Strongly Secure Authenticated Key Exchange without NAXOS' Approach"' LNCS, Advances in Information and Computer Security Vol.5824, 200910, p.174-191 *

Also Published As

Publication number Publication date
JP5295048B2 (en) 2013-09-18

Similar Documents

Publication Publication Date Title
US11070367B2 (en) Key exchange devices and methods
US8429408B2 (en) Masking the output of random number generators in key generation protocols
EP2787682B1 (en) Key negotiation method and apparatus according to sm2 key exchange protocol
JP5323908B2 (en) Transpose data conversion for security enhancement
US9037623B2 (en) Proxy calculation system, proxy calculation method, proxy calculation requesting apparatus, and proxy calculation program and recording medium therefor
Brogle et al. Sequential aggregate signatures with lazy verification from trapdoor permutations
US9686075B2 (en) Key sharing network device and configuration thereof
CN111901111B (en) SM9 key generation method, device and system and readable storage medium
KR100989185B1 (en) A password authenticated key exchange method using the RSA
Karati et al. Provably secure and authenticated data sharing protocol for IoT‐based crowdsensing network
Heninger RSA, DH, and DSA in the Wild
Yang et al. Quantum public-key cryptosystems based on induced trapdoor one-way transformations
Pandey et al. Cryptographic challenges and security in post quantum cryptography migration: A prospective approach
CA2742530C (en) Masking the output of random number generators in key generation protocols
US8484471B2 (en) Multi-party distributed multiplication device, multi-party distributed multiplication system and method
Liu et al. An efficient identity-based online/offline signature scheme without key escrow
JP5295048B2 (en) Information sharing system, method and program
Chen et al. Blockchain as a CA: A provably secure signcryption scheme leveraging blockchains
JP2004246350A (en) Enciphering device, deciphering device, enciphering system equipped with the same, enciphering method, and deciphering method
JPWO2020058806A5 (en)
CN117499026A (en) Group equipment secret key updating method and system
JP2016126228A (en) Safety reinforcement method, safety reinforcement system, safety reinforcement device, verification device, and program
CN117527225A (en) Backward secure certificateless authentication and key agreement method
CN117692138A (en) Backward secure anonymous authentication and key negotiation method
CN111447064A (en) Password reverse firewall method suitable for certificateless encryption

Legal Events

Date Code Title Description
RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20110721

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110825

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130516

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130611

R150 Certificate of patent or registration of utility model

Ref document number: 5295048

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees