JP2011061306A - Information sharing system, method, and program - Google Patents
Information sharing system, method, and program Download PDFInfo
- 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
Links
Images
Abstract
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
また、中間者攻撃に対して安全で、かつ、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.
従来の情報共有方式は、中間者攻撃に対して安全であるが、演算量が大きいという課題がった。 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により生成される巡回群とし、第一情報共有装置の秘密鍵a1,a2を2kビット以上の正の整数の乱数とし、第一情報共有装置の公開鍵A1,A2をA1=Ga1,A2=Ga2として、第二情報共有装置の秘密鍵b1,b2を2kビット以上の正の整数の乱数とし、第二情報共有装置の公開鍵B1,B2をB1=Gb1,B2=Gb2として、第一情報共有装置の乱数生成部が2kビット以上の正の整数の乱数xを生成する。第一情報共有装置の交換情報生成部が乱数xを用いて交換情報X=Gxを生成する。第一情報共有装置の送受信部が交換情報Xを第二情報共有装置に送信する。第一情報共有装置の秘密情報生成部が第二情報共有装置から受信した交換情報Yを用いて第一秘密情報Z1=(YB1)x+a1及び第二秘密情報Z2=(YB2)x+a2を生成する。第一情報共有装置の秘密情報合成部が第一情報共有装置の秘密情報生成部が生成した第一秘密情報Z1及び第二秘密情報Z2を予め定められた関数Hに入力した場合の出力値を計算する。第二情報共有装置の乱数生成部が2kビット以上の正の整数の乱数yを生成する。第二情報共有装置の交換情報生成部が乱数yを用いて交換情報Y=Gyを生成する。第二情報共有装置の送受信部が交換情報Yを第一情報共有装置に送信する。第二情報共有装置の秘密情報生成部が第一情報共有装置から受信した交換情報Xを用いて第一秘密情報Z1=(XA1)y+b1及び第二秘密情報Z2=(XA2)y+b2を生成する。第二情報共有装置の秘密情報合成部が第一秘密情報Z1及び第二秘密情報Z2を予め定められた関数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
以下、この発明の実施形態を詳細に説明する。 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には任意のビット列である識別子IDAが与えられており、第二情報共有装置Bには任意のビット列である識別子IDBが与えられており、第一情報共有装置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は秘密鍵(a1,a2)及び公開鍵(A1,A2)を生成し(ステップa1からステップa3)、第二情報共有装置Bは秘密鍵(b1,b2)及び公開鍵(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ビット以上の乱数a1,a2を生成する(ステップa1)。これらの乱数a1,a2は、第一情報共有装置Aの秘密鍵であり、第一情報共有装置Aの外部に漏れないように秘密に管理される。
The
公開鍵生成部13は、乱数a1,a2を用いて、A1=Ga1,A2=Ga2で定義される公開鍵A1,A2を生成する(ステップa2)。
The public
送受信部14は、公開鍵(A1,A2)を第二情報共有装置Bに送信する(ステップa3)。
The transmission /
第二情報共有装置Bの乱数生成部22は、2kビット以上の乱数b1,b2を生成する(ステップb1)。これらの乱数b1,b2は、第二情報共有装置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は、乱数b1,b2を用いて、B1=Gb1,B2=Gb2で定義される公開鍵B1,B2を生成する(ステップb2)。
The public
送受信部24は、公開鍵(B1,B2)を第二情報共有装置Aに送信する(ステップb3)。
The transmission /
第一情報共有装置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
交換情報生成部15は、X=Gxで定義される交換情報Xを生成する(ステップA2)。生成された交換情報Xは、送受信部14に送られる。
Exchanging
送受信部14は、交換情報Xを第二情報共有装置Bに送信する(ステップA3)。第二情報共有装置Bの送受信部24は、送られてきた交換情報Xが群<G>の元であるかどうかを判断し、群<G>の元でない場合には、情報Kを共有するための手続きを中止する。
The transmission /
第二情報共有装置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
交換情報生成部25は、Y=Gyで定義される交換情報Yを生成する(ステップB2)。生成された交換情報Yは、送受信部24に送られる。
The exchange
送受信部24は、交換情報Yを第一情報共有装置Aに送信する(ステップB3)。第一情報共有装置Aは、送られてきた交換情報Yが群<G>の元であるかどうかを判断し、群<G>の元でない場合には、情報Kを共有するための手続きを中止する。
The transmission /
第一情報共有装置Aの秘密情報生成部16は、交換情報Yを用いてZ1=(YB1)x+a1で定義される第一秘密情報Z1を生成する(ステップA4)。また、秘密情報生成部16は、交換情報Yを用いてZ2=(YB2)x+a2で定義される第二秘密情報Z2を生成する(ステップA5)。生成された第一秘密情報Z1及び第二秘密情報Z2は、秘密情報合成部17に送られる。
The secret
秘密情報合成部17は、第一秘密情報Z1及び第二秘密情報Z2を予め定められた関数Hに入力した場合の出力値を計算して、共有情報Kとする(ステップA6)。関数Hは、例えば第一秘密情報Z1、第二秘密情報Z2、交換情報X、交換情報Y、識別子IDA及び識別子IDBを入力とするハッシュ関数H(Z1,Z2,X,Y,IDA,IDB)である。
The secret
第二情報共有装置Bの秘密情報生成部26は、交換情報Xを用いてZ1=(XA1)y+b1で定義される第一秘密情報Z1を生成する(ステップB4)。また、秘密情報生成部26は、交換情報Xを用いてZ2=(XA2)y+b2で定義される第二秘密情報Z2を生成する(ステップB5)。生成された第一秘密情報Z1及び第二秘密情報Z2は、秘密情報合成部27に送られる。
The secret
秘密情報合成部27は、第一秘密情報Z1及び第二秘密情報Z2を予め定められた関数Hに入力した場合の出力値を計算して、共有される情報Kとする(ステップA6)。関数Hは、例えば第一秘密情報Z1、第二秘密情報Z2、交換情報X、交換情報Y、識別子IDA及び識別子IDBを入力とするハッシュ関数H(Z1,Z2,X,Y,IDA,IDB)である。第二情報共有装置Bの関数Hとして、第一情報共有装置Aの関数Hと同じ関数を用いる。
The secret
第一情報共有装置Aが生成する第一秘密情報Z1=(YB1)x+a1と、第二情報共有装置Bが生成する第一秘密情報Z1=(XA1)y+b1とは一致する。(YB1)x+a1=(GyGb1)x+a1=G(y+b1)(x+a1)=(GxGa1)y+b1=(XA1)y+b1であるためである。同様に、第一情報共有装置Aが生成する第二秘密情報Z2=(YB2)x+a2と、第二情報共有装置Bが生成する第二秘密情報Z2=(XA2)y+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=Gxの計算(ステップA2)、(2)第一秘密情報Z1=(YB1)x+a1の計算(ステップA4)、(3)第二秘密情報Z2=(YB2)x+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
図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は、第一秘密情報Z1及び第二秘密情報Z2を生成すると共に、Z3=(YB1)x+a2で定義される第三秘密情報Z3を生成し(ステップA7)、Z4=(YB2)x+a1で定義される第四秘密情報Z4を生成する(ステップA8)。生成された第三秘密情報Z3及び第四秘密情報Z4は、秘密情報合成部17に送られる。
In other words, the secret
秘密情報合成部17は、第一秘密情報Z1、第二秘密情報Z2、第三秘密情報Z3及び第四秘密情報Z4を予め定められた関数Hに入力した場合の出力値を計算して、共有される情報Kとする(ステップA6)。関数Hは、例えば第一秘密情報Z1、第二秘密情報Z2、第三秘密情報Z3、第四秘密情報Z4、交換情報X、交換情報Y、識別子IDA及び識別子IDBを入力とするハッシュ関数H(Z1,Z2,Z3,Z4,X,Y,IDA,IDB)である。
The secret
また、第二情報共有装置Bの秘密情報生成部26は、第一秘密情報Z1及び第二秘密情報Z2を生成すると共に、Z3=(XA1)x+b2で定義される第三秘密情報Z3を生成し(ステップB7)、Z4=(XA2)x+b1で定義される第四秘密情報Z4を生成する(ステップB8)。生成された第三秘密情報Z3及び第四秘密情報Z4は、秘密情報合成部17に送られる。
Further, the secret
秘密情報合成部27は、第一秘密情報Z1、第二秘密情報Z2、第三秘密情報Z3及び第四秘密情報Z4を予め定められた関数Hに入力した場合の出力値を計算して、共有される情報Kとする(ステップB6)。関数Hは、例えば第一秘密情報Z1、第二秘密情報Z2、第三秘密情報Z3、第四秘密情報Z4、交換情報X、交換情報Y、識別子IDA及び識別子IDBを入力とするハッシュ関数H(Z1,Z2,Z3,Z4,X,Y,IDA,IDB)である。第二情報共有装置Bの関数Hとして、第一情報共有装置Aの関数Hと同じ関数を用いる。
The secret
第二実施形態の第二情報共有装置A及び第二情報共有装置Bのそれぞれは群<G>のべき乗算を5回するだけで、情報Kを共有することができる。第一情報共有装置Aを例に挙げて説明すると、第一情報共有装置Aは、(1)交換情報X=Gxの計算(ステップA2)、(2)第一秘密情報Z1=(YB1)x+a1の計算(ステップA4)、(3)第二秘密情報Z2=(YB2)x+a2の計算(ステップA5)、(4)第三秘密情報Z3=(YB1)y+a2の計算(ステップA7)、(5)第四秘密情報Z4=(YB2)y+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を例に挙げて説明をすると、第一秘密情報Z1=(YB1)x+a1と第三秘密情報Z3=(YB1)y+a2を計算するときに底がYB1で共通しており、第二秘密情報Z2=(YB2)x+a2と第四秘密情報Z4=(YB2)y+a1を計算するときに底がYB2で共通している。したがって、第一秘密情報Z1=(YB1)x+a1のべき乗算が既に行われている場合には、第三秘密情報Z3=(YB1)y+a2を計算するときに、第一秘密情報Z1=(YB1)x+a1のべき乗算についての途中計算結果を再利用することで、第三秘密情報Z3=(YB1)y+a2の演算量を削減することができる。また、第二秘密情報Z2=(YB2)x+a2のべき乗算が既に行われている場合には、第四秘密情報Z4=(YB2)y+a1を計算するときに、第二秘密情報Z2=(YB2)x+a2のべき乗算についての途中計算結果を再利用することで、第四秘密情報Z4=(YB2)y+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(=sIsI−1…s0)乗のべき乗算をする場合には、図6の流れ図の処理を行う。sIsI−1…s0は整数sを二進数で表現したものであり、各si(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).
siが1であるかどうかを判断して(ステップS2)、siが1であればT×Rを演算してTに代入する(ステップS3)。siが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(=sIsI−1…s0)乗のべき乗算の演算結果である。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のみに依存して指数sI…s0に依存せず、底Qが同一であればR×Rの計算結果は同じであるためである。秘密情報生成部16は、例えば、第一秘密情報Z1=(YB1)x+a1のべき乗算を行う際に生じたR×Rの計算結果を一時記憶部161に記憶しておく。そして、第三秘密情報Z3=(YB1)y+a2を計算するときに、ステップS4においてR×Rの演算を行う代わりに、一時記憶部161からR×Rの計算結果を読み込むことでR×Rの演算を省略する。
When the secret
ステップ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
〔参考文献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
第一情報共有装置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
Claims (9)
セキュリティパラメータkを所定の正の整数とし、群<G>を生成元Gにより生成される巡回群とし、上記第一情報共有装置の秘密鍵a1,a2を2kビット以上の正の整数の乱数とし、上記第一情報共有装置の公開鍵A1,A2をA1=Ga1,A2=Ga2とし、上記第二情報共有装置の秘密鍵b1,b2を2kビット以上の正の整数の乱数とし、上記第二情報共有装置の公開鍵B1,B2をB1=Gb1,B2=Gb2として、
上記第一情報共有装置は、
2kビット以上の正の整数の乱数xを生成する乱数生成部と、
上記乱数xを用いて交換情報X=Gxを生成する交換情報生成部と、
上記交換情報Xを上記第二情報共有装置に送信する送受信部と、
上記第二情報共有装置から受信した交換情報Yを用いて第一秘密情報Z1=(YB1)x+a1及び第二秘密情報Z2=(YB2)x+a2を生成する秘密情報生成部と、
上記第一情報共有装置の秘密情報生成部が生成した第一秘密情報Z1及び第二秘密情報Z2を予め定められた関数Hに入力した場合の出力値を計算する秘密情報合成部と、
を含み、
上記第二情報共有装置は、
2kビット以上の正の整数の乱数yを生成する乱数生成部と、
上記乱数yを用いて交換情報Y=Gyを生成する交換情報生成部と、
上記交換情報Yを上記第一情報共有装置に送信する送受信部と、
上記第一情報共有装置から受信した交換情報Xを用いて第一秘密情報Z1=(XA1)y+b1及び第二秘密情報Z2=(XA2)y+b2を生成する秘密情報生成部と、
上記第一秘密情報Z1及び上記第二秘密情報Z2を予め定められた関数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.
上記第一情報共有装置の秘密情報生成部は第三秘密情報Z3=(YB1)y+a2及び第四秘密情報Z4=(YB2)y+a1を更に生成し、
上記第一情報共有装置の秘密情報合成部は、上記第一情報共有装置の秘密情報生成部が生成した第一秘密情報Z1、第二秘密情報Z2、第三秘密情報Z3及び第四秘密情報Z4を予め定められた関数Hに入力した場合の出力値を計算し、
上記第二情報共有装置の秘密情報生成部は第三秘密情報Z3=(XA1)y+b2及び第四秘密情報Z4=(XA2)y+b1を更に生成し、
上記第二情報共有装置の秘密情報合成部は、上記第二情報共有装置の秘密情報生成部が生成した第一秘密情報Z1、第二秘密情報Z2、第三秘密情報Z3及び第四秘密情報Z4を予め定められた関数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.
所定のビット列IDAを上記第一情報共有装置の識別子とし、所定のビット列IDBを上記第二情報共有装置の識別子として、
上記関数Hは、上記第一秘密情報Z1、上記第二秘密情報Z2、上記交換情報X、上記交換情報Y、上記識別子IDA及び上記識別子IDBを入力とするハッシュ関数であり、
上記第一情報共有装置の秘密情報合成部は、上記第一情報共有装置の秘密情報生成部が生成した第一秘密情報Z1、第二秘密情報Z2、上記交換情報X、上記交換情報Y、上記識別子IDA及び上記識別子IDBを上記関数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.
所定のビット列IDAを上記第一情報共有装置の識別子とし、所定のビット列IDBを上記第二情報共有装置の識別子として、
上記関数Hは、上記第一秘密情報Z1、上記第二秘密情報Z2、上記第三秘密情報Z3、上記第四秘密情報Z4、上記交換情報X、上記交換情報Y、上記識別子IDA及び上記識別子IDBを入力とするハッシュ関数であり、
上記第一情報共有装置の秘密情報合成部は、上記第一情報共有装置の秘密情報生成部が生成した第一秘密情報Z1、第二秘密情報Z2、第三秘密情報Z3、第四秘密情報Z4、上記交換情報X、上記交換情報Y、上記識別子IDA及び上記識別子IDBを上記関数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.
上記第一情報共有装置の秘密情報生成部と上記第二情報共有装置の秘密情報生成部との少なくとも一方は、既に行った同じ底のべき乗算についての途中計算結果を再利用する、
ことを特徴とする情報共有システム。 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により生成される巡回群とし、上記第一情報共有装置の秘密鍵a1,a2を2kビット以上の正の整数の乱数とし、上記第一情報共有装置の公開鍵A1,A2をA1=Ga1,A2=Ga2とし、上記第二情報共有装置の秘密鍵b1,b2を2kビット以上の正の整数の乱数とし、上記第二情報共有装置の公開鍵B1,B2をB1=Gb1,B2=Gb2として、
上記第一情報共有装置の乱数生成部が、2kビット以上の正の整数の乱数xを生成する乱数生成ステップと、
上記第一情報共有装置の交換情報生成部が、上記乱数xを用いて交換情報X=Gxを生成する交換情報生成ステップと、
上記第一情報共有装置の送受信部が、上記交換情報Xを上記第二情報共有装置に送信する送受信ステップと、
上記第一情報共有装置の秘密情報生成部が、上記第二情報共有装置から受信した交換情報Yを用いて第一秘密情報Z1=(YB1)x+a1及び第二秘密情報Z2=(YB2)x+a2を生成する秘密情報生成ステップと、
上記第一情報共有装置の秘密情報合成部が、上記第一情報共有装置の秘密情報生成部が生成した第一秘密情報Z1及び第二秘密情報Z2を予め定められた関数Hに入力した場合の出力値を計算する秘密情報合成ステップと、
上記第二情報共有装置の乱数生成部が、2kビット以上の正の整数の乱数yを生成する乱数生成ステップと、
上記第二情報共有装置の交換情報生成部が、上記乱数yを用いて交換情報Y=Gyを生成する交換情報生成ステップと、
上記第二情報共有装置の送受信部が、上記交換情報Yを上記第一情報共有装置に送信する送受信ステップと、
上記第二情報共有装置の秘密情報生成部が、上記第一情報共有装置から受信した交換情報Xを用いて第一秘密情報Z1=(XA1)y+b1及び第二秘密情報Z2=(XA2)y+b2を生成する秘密情報生成ステップと、
上記第二情報共有装置の秘密情報合成部が、上記第一秘密情報Z1及び上記第二秘密情報Z2を予め定められた関数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:
上記第一情報共有装置の秘密情報生成ステップは、第三秘密情報Z3=(YB1)y+a2及び第四秘密情報Z4=(YB2)y+a1を更に生成し、
上記第一情報共有装置の秘密情報合成ステップは、上記第一情報共有装置の秘密情報生成部が生成した第一秘密情報Z1、第二秘密情報Z2、第三秘密情報Z3及び第四秘密情報Z4を予め定められた関数Hに入力した場合の出力値を計算し、
上記第二情報共有装置の秘密情報生成ステップは、第三秘密情報Z3=(XA1)y+b2及び第四秘密情報Z4=(XA2)y+b1を更に生成し、
上記第二情報共有装置の秘密情報合成ステップは、上記第二情報共有装置の秘密情報生成部が生成した第一秘密情報Z1、第二秘密情報Z2、第三秘密情報Z3及び第四秘密情報Z4を予め定められた関数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.
上記第一情報共有装置の秘密情報生成ステップと上記第二情報共有装置の秘密情報生成ステップとの少なくとも一方は、既に行った同じ底のべき乗算についての途中計算結果を再利用する、
ことを特徴とする情報共有方法。 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により生成される巡回群とし、上記第一情報共有装置の秘密鍵a1,a2を2kビット以上の正の整数の乱数とし、上記第一情報共有装置の公開鍵A1,A2をA1=Ga1,A2=Ga2とし、上記第二情報共有装置の秘密鍵b1,b2を2kビット以上の正の整数の乱数とし、上記第二情報共有装置の公開鍵B1,B2をB1=Gb1,B2=Gb2として、
上記第一情報共有装置は、
2kビット以上の正の整数の乱数xを生成する乱数生成部と、
上記乱数xを用いて交換情報X=Gxを生成する交換情報生成部と、
上記交換情報Xを上記第二情報共有装置に送信する送受信部と、
上記第二情報共有装置から受信した交換情報Y=Gy(yは乱数)を用いて第一秘密情報Z1=(YB1)x+a1及び第二秘密情報Z2=(YB2)x+a2を生成する秘密情報生成部と、
上記第一情報共有装置の秘密情報生成部が生成した第一秘密情報Z1及び第二秘密情報Z2を予め定められた関数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.
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)
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) |
-
2009
- 2009-09-07 JP JP2009206085A patent/JP5295048B2/en not_active Expired - Fee Related
Patent Citations (2)
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)
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 |