Key exchanging apparatus
Claim Score by NHIP
Abstract
A key exchanging apparatus transmits the contribution data to the plurality of counterpart apparatuses, generates a signer contribution confirmation signature with respect to a contribution data set including all the contribution data received from the plurality of counterpart apparatuses, generates auxiliary data and auxiliary data validity certification sentence from the contribution data set and the contribution random number, transmits the auxiliary data, the auxiliary data validity certification sentence and the contribution confirmation signature to the plurality of counterpart apparatuses, verifies validity of auxiliary data by using the counterpart identifier set, the counterpart public key set, the contribution confirmation signature set including the data received from the plurality of counterpart apparatuses, the auxiliary data set and the auxiliary data validity certification sentence set, and generates a public key from the contribution data set and the auxiliary data received from the plurality of counterpart apparatuses.

Term
4.4 yearsto projected expiry
Projected expiry 27 February 2031, counted from filing; an application has no term until it is granted.
- Priority
- Filed
- Published
- Today
- Projected expiry
7 claims: 4 independent, 3 dependent
- 6A key exchanging apparatus which receives a public key, a secret key, an identifier, a counterpart public key set, a counterpart identifier set, a session number, and a random number inputted thereto, performs communication with a plurality of counterpart apparatuses identified by identifiers belonging to the counterpart identifier set, and generates and outputs a public key, the apparatus comprising:a contribution random number generating unit that generates a contribution random number by using the random number;a contribution data generating unit that generates contribution data from the contribution random number generated by the contribution random number generating unit;a communication unit that transmits the contribution data to the plurality of counterpart apparatuses;a signing unit that generates a signer contribution confirmation signature with respect to a contribution data set including every contribution data received by the communication unit from the plurality of counterpart apparatuses by using the secret key and the public key;a verifiable auxiliary data generating unit that generates auxiliary data and an auxiliary data validity certification sentence from the contribution data set and the contribution random number, the auxiliary data, the auxiliary data validity certification sentence and the contribution confirmation signature being transmitted to the plurality of counterpart apparatuses by the communication unit;a validity verifying unit that verifies validity of the auxiliary data by using the counterpart identifier set and the counterpart public key set, the contribution confirmation signature set, the auxiliary data set and the auxiliary data validity certification sentence including data received by the communication unit from the plurality of counterpart apparatus;and a key generating unit that generates the public key from the contribution data set and the auxiliary data received by the communication unit from the plurality of counterpart apparatus.
- 9Broadest claimClaim Score 35, narrow(NHIP)A key exchanging method in which a public key, a secret key, an identifier, a counterpart public key set, a counterpart identifier set, a session number and a random number are assigned, communication with a plurality of counterpart apparatuses identified by identifiers belonging to the counterpart identifier set is performed, and a public key is generated and outputted, the method comprising:generating a contribution random number by using the random number;generating contribution data from the contribution random number;transmitting the contribution data to the plurality of counterpart apparatuses;generating a signer contribution confirmation signature with respect to a contribution data set including all the contribution data received from the plurality of counterpart apparatuses by using the secret key and the public key;generating auxiliary data and an auxiliary data validity certification sentence from the contribution data set and the contribution random number, transmitting the auxiliary data, the auxiliary data validity certification sentence and the contribution confirmation signature to the plurality of counterpart apparatuses;verifying validity of the auxiliary data by using the counterpart identifier set and the counterpart public key set, the contribution confirmation signature set the auxiliary data set and the auxiliary data validity certification sentence including data received from the plurality of counterpart apparatus;and generating the public key by the contribution data set and the auxiliary data received from the plurality of counterpart apparatus.
- 10A record medium storing a program for a key exchanging apparatus which receives a public key, a secret key, an identifier, a counterpart public key set, a counterpart identifier set, a session number, and a random number inputted thereto, performs communication with a plurality of counterpart apparatuses identified by identifiers belonging to the counterpart identifier set, and generates and outputs a public key, said program comprising:the order of generating a contribution random number by using the random number;the order of generating contribution data from the contribution random number;the order of transmitting the contribution data to the plurality of counterpart apparatuses;the order of generating a signer contribution confirmation signature with respect to a contribution data set including every contribution data received by from the plurality of counterpart apparatuses by using the secret key and the public key;the order of generating auxiliary data and an auxiliary data validity certification sentence by the contribution data set and the contribution random number, the order of transmitting the auxiliary data, the auxiliary data validity certification sentence, and the contribution confirmation signature to the plurality of counterpart apparatuses;the order of verifying validity of the auxiliary data by using the counterpart identifier set and the counterpart public key set, and the contribution confirmation signature set the auxiliary data set and the auxiliary data validity certification sentence including data received from the plurality of counterpart apparatus;and the order of generating the public key from the contribution data set and the auxiliary data received from the plurality of counterpart apparatuses.
Independent claims3
82 paragraphs in 6 sections, as filed
FIELD OF THE INVENTION
0001The present invention relates to a key exchanging apparatus and a key exchanging method capable of exchanging the same key through communications.
DESCRIPTION OF THE PRIOR ART
0002A group key exchanging apparatus is disclosed in “Jonathan Katz, Ji Sun Shin: Modeling insider attacks on group key-exchange protocols. ACM Conference on Computer and Communications Security 2005:180-189”.
0003A method disclosed in the above document will now be described.
0004First, it shows a notation. p is a prime number, G<sub>T </sub>is a cyclic group of order q. The number of apparatuses for exchanging a key is n, and a number i is attached to each apparatus. An identifier indicating an apparatus i is U[i]. G is a constructor of G<sub>T</sub>. v and w are randomly selected integers. F and F′ are pseudo-random number generating apparatuses.
0005<figref idref="DRAWINGS">FIG. 1</figref> shows a key exchanging apparatus.
0006As shown in <figref idref="DRAWINGS">FIG. 1</figref>, a group exchanging apparatus according to the present exemplary embodiment includes verification data verifying unit <b>311</b>, verification data generating unit <b>312</b>, temporary key generating unit <b>313</b>, auxiliary data generating unit <b>314</b>, contribution random number generating unit <b>315</b>, contribution data generating unit <b>316</b>, and communication unit <b>317</b>.
0007Thus configured key exchanging apparatus <b>300</b>(<i>i</i>) receives counterpart identifier set <b>301</b>, i.e., a set of identifiers corresponding to each apparatus j of j={1, . . . , n}¥i, and counterpart public key set <b>302</b>, i.e., a set of public keys pk[j]. Also, secret key <b>305</b> (sk[i]) corresponding to public key <b>304</b> (pk[i]) and identifier <b>303</b> (U[i]) is inputted to the key exchanging apparatus. In addition, key-specific session number <b>306</b> (sid) generated from it is also inputted to the key exchanging apparatus.
0008In key exchanging apparatus <b>300</b>(<i>i</i>), contribution random number generating unit <b>315</b> randomly generates a contribution random number <b>324</b> (r[i]εZ/qZ) by using input random number <b>307</b>.
0009Contribution data generating unit <b>316</b> generates contribution data <b>325</b> (y[i]=g<sup>r[i]</sup>) by using <b>324</b> (r[i]εZ/qZ), and also generates signature sign(i, 1) with respect to sid, 1, U[i], y[i]. Contribution data generating unit <b>316</b> transmits (sid, 1, U[i], y[i], sig(i, 1)) to the (n−1) number of apparatuses from communication unit <b>317</b>.
0010In key exchanging apparatus <b>300</b>(<i>i</i>), regarding j={1, . . . , n}¥i, communication unit <b>317</b> waits for the apparatus j to receive the contribution data y[j] via communication line <b>309</b>.
0011When contribution data set <b>323</b> including all contribution data y[j] is formed, key exchanging apparatus <b>300</b>(<i>i</i>) verifies each signature.
0012Auxiliary data generating unit <b>314</b> generates auxiliary data <b>322</b> (x[i]=(y[i+1]/y[i−1])<sup>r[i]</sup>) by using contribution data set <b>323</b>, and generates signature sig(i,2) with respect to (sid, 2, U[i], x[i]).
0013Communication unit <b>317</b> transmits (sid, 2, U[i], x[i], sig(i, 2)) to the other (n−1) number of apparatuses.
0014When every x[j] is received via communication unit <b>317</b>, forming data set <b>321</b> including every x[j], key exchanging apparatus <b>300</b>(<i>i</i>) verifies each signature.
0015Next, temporary key generating unit <b>313</b> generates k[i]=(y[i−1]<sup>r[i]</sup>)<sup>n</sup>x[i+1]<sup>n</sup>x[i+2]<sup>n−1 </sup>. . . x[n]<sup>i+1</sup>x[1]<sup>1 </sup>. . . x[i−1]<sup>2</sup>x[i].
0016Thereafter, verification data generating unit <b>312</b> generates ack[i]=F(k[i], v), and temporary key generating unit <b>313</b> generates public key <b>308</b> (sk[i]=F′(k[i], w)). Also, it generates a signature sign(i, 3) with respect to (sid[i], <b>3</b>, U[i], ack[i]).
0017Communication unit <b>317</b> transmits (sid, 3, U[i], ack[i], sig(i, 3)) to the other (n−1) number of apparatuses.
0018Every ack[j] is received via communication unit <b>317</b>, and when the ack[j] are all set, verification data verifying unit <b>311</b> of key exchanging apparatus <b>300</b>(<i>i</i>) verifies each signature.
0019When verification data verifying unit <b>311</b> verifies ack[j]=ack[i] with respect to every j={1, . . . , n}¥i, temporary key generating unit <b>313</b> outputs public key <b>308</b> (sk[i]).
0020In the above-described technique, when the public key is exchanged, each apparatus needs to distribute data to all of other apparatuses three times. Until every apparatus completes their distribution of data to other apparatuses, each apparatus cannot perform the next step, so the amount of time required for data distribution is significantly lengthened compared to the amount of time required for calculating each data item. Here, much time is taken to process of matching synchronization in communications, making it difficult to terminate communication within a short time compared with a simple code calculation. Thus, in order to quickly perform key exchanging among the plurality of apparatuses, the number of data distributions needs to be reduced.
SUMMARY OF THE INVENTION
0021An object of the present invention is to provide a key exchanging apparatus capable of quickly exchanging a key among a plurality of apparatuses.
0022To achieve the above object, there is provided a key exchanging apparatus which receives a public key, a secret key, an identifier, a counterpart public key set, a counterpart identifier set, a session number, and a random number inputted thereto, performs communication with a plurality of counterpart apparatuses identified by identifiers belonging to the counterpart identifier set, and generates and outputs a public key, including a contribution random number generating unit that generates a contribution random number by using the random number; a contribution data generating unit that generates contribution data from the contribution random number generated by the contribution random number generating unit; a communication unit that transmits the contribution data to the plurality of counterpart apparatuses, a signing unit that generates a signer contribution confirmation signature with respect to a contribution data set including all contribution data received by the communication unit from the plurality of counterpart apparatuses by using the secret key and the public key; a verifiable auxiliary data generating unit that generates auxiliary data and an auxiliary data validity certification sentence by the contribution data set and the contribution random number, the auxiliary data, the auxiliary data validity the certification sentence and the contribution confirmation signature being transmitted to the plurality of counterpart apparatuses by the communication unit; a validity verifying unit that verifies validity of the auxiliary data by using the counterpart identifier set and the counterpart public key set, and the contribution confirmation signature set, the auxiliary data set and the auxiliary data validity certification sentence including data received by the communication unit from the plurality of counterpart apparatuses; and a key generating unit that generates the public key from the contribution data set and the auxiliary data that are received by the communication unit from the plurality of counterpart apparatuses.
0023According to the invention, with such a configuration as described above, when a secret key is shared among a plurality of apparatuses, the number of data distribution items by the apparatuses is merely two times, smaller by one time than the related art, so a key can be more quickly exchanged.
BRIEF DESCRIPTION OF THE DRAWINGS
0024<figref idref="DRAWINGS">FIG. 1</figref> illustrates an example of a key exchanging apparatus;
0025<figref idref="DRAWINGS">FIG. 2</figref> illustrates a key exchanging apparatus according to a first exemplary embodiment of the present invention; and
0026<figref idref="DRAWINGS">FIG. 3</figref> illustrates a key exchanging apparatus according to a second exemplary embodiment of the present invention.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
0027Exemplary embodiments of the present invention will now be described with reference to the accompanying drawings.
0028Notation Used in Exemplary Embodiments
0029p is prime number, G and G<sub>T </sub>are a circular group of an order p, and e is a bilinear mapping non-degenerative from G×G to G<sub>T</sub>. Here, the bilinearity refers to the face that e(g<sup>α</sup>,g<sup>β</sup>)=e(g,g)<sup>αβ</sup> is established for every α, βεZ/qZ and gεG. In addition, non-degeneration refers to the fact that when g is a generator of G, e(g,g) becomes a generator of G<sub>T</sub>.
0030The number of key exchanging apparatuses is n, and number i is attached to each apparatus. An identifier indicating the apparatus i is U[i]. g and h are generators of G<sub>T</sub>.
First Exemplary Embodiment
0031<figref idref="DRAWINGS">FIG. 2</figref> shows a key exchanging apparatus according to a first exemplary embodiment of the present invention.
0032As shown in <figref idref="DRAWINGS">FIG. 2</figref>, the key exchanging apparatus according to the first exemplary embodiment of the present invention includes input unit <b>110</b>, calculation unit <b>140</b>, output unit <b>120</b>, and communication unit <b>130</b>. The calculation unit <b>140</b> includes validity verifying unit <b>141</b>, key generating unit <b>142</b>, verifiable auxiliary data generating unit <b>143</b>, signing unit <b>144</b>, contribute random number generating unit <b>145</b>, and contribution data generating unit <b>146</b>.
0033Input unit <b>110</b> receives counterpart identifier set <b>101</b>, counterpart public key set <b>102</b>, identifier <b>103</b>, pubic key <b>104</b>, secret key <b>105</b>, session number <b>106</b>, and random number <b>107</b>.
0034Calculation unit <b>140</b> is means for calculating two groups G and G<sub>T </sub>the orders of which are identical to each other and in which there is bilinear mapping from two elements belonging to the group G to the group G<sub>T</sub>. Calculation unit <b>140</b> generates public key <b>108</b> by using counterpart identifier set <b>101</b>, counterpart public key set <b>102</b>, identifier <b>103</b>, public key <b>104</b>, secret key <b>105</b>, session number <b>106</b>, and random number <b>107</b> inputted via input unit <b>110</b>, and data received by communication unit <b>130</b>.
0035Output unit <b>120</b> outputs public key <b>108</b> generated by calculation unit <b>140</b>.
0036Contribution random number generating unit <b>145</b> generates contribute random number <b>156</b>, a random number for generating contribution data <b>157</b>, by using random number <b>107</b> inputted via input unit <b>110</b>.
0037Contribution data generating unit <b>146</b> generates contribution data <b>157</b> from contribution random number <b>156</b> generated by contribution random number generating unit <b>145</b>.
0038Signing unit <b>144</b> generates contribution confirmation signature <b>153</b> used as a signature for contribution data set <b>155</b> including all the contribution data received from all counterpart apparatus, by using secret key <b>105</b> and public key <b>104</b> inputted via input unit <b>110</b>.
0039Verifiable auxiliary data generating unit <b>143</b> generates auxiliary data <b>154</b> from contribution data set <b>155</b> and contribution random number <b>156</b>.
0040Validity verifying unit <b>141</b> verifies validity of auxiliary data by using counterpart identifier set <b>101</b> and counterpart public key set <b>102</b> inputted via the input unit <b>110</b>, contribution confirmation signature set <b>151</b> and auxiliary data set <b>152</b> including data received from each counterpart apparatus via communication unit <b>130</b>.
0041Key generating unit <b>142</b> generates public key <b>108</b> from contribution data set <b>155</b> and auxiliary data set <b>152</b> received from each counterpart apparatus via communication unit <b>130</b>.
0042Communication unit <b>130</b>, configured to exchange data with a counterpart apparatus via communication line <b>109</b>, transmits contribution data <b>157</b> generated by contribution data generating unit <b>146</b>, auxiliary data <b>154</b> generated by verifiable auxiliary data generating unit <b>143</b>, and contribution confirmation signature <b>153</b> generated by signing unit <b>144</b> to each counterpart apparatus via communication line <b>109</b>.
0043The operation of key exchanging apparatus <b>100</b> configured as described above will now be described.
0044Counterpart identifier set <b>101</b>, a set of identifiers U[j] corresponding to each apparatus j of j={1, . . . , n}¥i, and a counterpart public key set, a set of public key pk[j] corresponding to each apparatus j of j={1, . . . , n}¥i, are inputted to each key exchanging apparatus <b>100</b>(<i>i</i>) via input unit <b>110</b>. In addition, identifier <b>103</b> corresponding to its own apparatus, its public key <b>104</b> (pk[i]), and secret key <b>105</b> (sk[i]) corresponding to public key <b>104</b> (pk[i]) are also inputted to each key exchanging apparatus <b>100</b>(<i>i</i>) via input unit <b>110</b>. Also, public key <b>108</b>-specific session number <b>106</b> (sid) generated therefrom and random number <b>107</b> are inputted to each key exchanging apparatus <b>100</b>(<i>i</i>) via input unit <b>110</b>.
0045In key exchanging apparatus <b>100</b>(<i>i</i>), first, contribution random number generating unit <b>145</b> randomly generates <b>156</b> (r[i] εZ/qZ), a contribution random number for generating contribution data <b>157</b>, by using random number <b>107</b> inputted via input unit <b>110</b>.
0046Next, contribution data generating unit <b>146</b> generates contribution data <b>157</b> (y[i]=g<sup>r[i]</sup>) from contribution random number <b>156</b> generated by contribution random number generating unit <b>145</b>, and transmits contribution data <b>157</b> (y[i]=g<sup>r[i]</sup>) to the other (n−1) number of apparatuses via communication unit <b>130</b>.
0047Regarding j={1, . . . , n}¥i, key exchanging apparatus <b>100</b>(<i>i</i>) waits for receiving contribution data y[j] from apparatus j by communication unit <b>130</b>.
0048When contribution data y[j] is received by communication unit <b>130</b> from each apparatus, forming contribution data set <b>155</b> including all the contribution data y[j], verifiable auxiliary data generating unit <b>143</b> generates auxiliary data <b>154</b> (x[i]=(y[i+1]/y[i−1])<sup>r[i]</sup>) via contribution data set <b>155</b> and contribution random number <b>145</b>, and signing unit <b>144</b> generates signer contribution confirmation signature <b>153</b> (sig) with respect to contribution data set <b>155</b> (sid, y[1], . . . , y[n]) including all the contribution data received from each counterpart apparatus by using secret key <b>105</b> and public key <b>104</b> inputted via input unit <b>110</b>.
0049Communication unit <b>130</b> transmits (sid, x[i], sig) to the other (n−1) number of apparatuses.
0050When auxiliary data x[j] is received by communication unit <b>130</b> from each apparatus, forming auxiliary data set <b>152</b> including all auxiliary data x[j], validity verifying unit <b>141</b> verifies each signature of contribution confirmation signature set <b>151</b> by using counterpart identifier set <b>101</b> and counterpart public key set <b>102</b> inputted via input unit <b>110</b>, contribution confirmation signature set <b>151</b> and auxiliary data set <b>152</b> including data received, by communication unit <b>130</b>, which has been transferred from a different apparatus.
0051Next, key generating unit <b>142</b> generates k[i]=(y[i−1]<sup>r[i]</sup>)<sup>n</sup>x[i+1]<sup>n</sup>x[i+2]<sup>n−1 </sup>. . . x[n]<sup>i+1</sup>x[1]<sup>i </sup>. . . x[i−1]<sup>2</sup>x[i] from candidate data set <b>155</b> and auxiliary set <b>152</b> received by communication unit <b>130</b> from each counterpart apparatus.
0052Validity verifying unit <b>141</b> checks whether or not e(k[i], g)=e(y[n], y[1]Π<sub>j</sub><sup>n−1</sup>e(y[j], y[j+1]) has been established. If e(k[i], g)=e(y[n], y[1]Π<sub>j</sub><sup>n−1</sup>e(y[j], y[j+1]) has been established, public key <b>108</b> (sk[i]=e(g, h)) is outputted from key generating unit <b>142</b> via output unit <b>120</b>.
Second Exemplary Embodiment
0053This exemplary embodiment is different from the first exemplary embodiment in that there is no bilinear mapping.
0054<figref idref="DRAWINGS">FIG. 3</figref> illustrates a key exchanging apparatus according to a second exemplary embodiment of the present invention.
0055As shown in <figref idref="DRAWINGS">FIG. 3</figref>, the key exchanging apparatus according to the second exemplary embodiment includes input unit <b>210</b>, calculation unit <b>240</b>, output unit <b>220</b>, and communication unit <b>230</b>. Calculation unit <b>240</b> includes validity verifying unit <b>241</b>, key generating unit <b>242</b>, verifiable auxiliary data generating unit <b>243</b>, signing unit <b>244</b>, contribution random number generating unit <b>245</b>, and contribution data generating unit <b>246</b>.
0056Input unit <b>210</b> receives counterpart identifier set <b>201</b>, counterpart public key set <b>202</b>, identifier <b>203</b>, pubic key <b>204</b>, secret key <b>205</b>, session number <b>206</b>, and random number <b>207</b>.
0057Calculation unit <b>240</b> generates public key <b>208</b> by using counterpart identifier set <b>201</b>, counterpart public key set <b>202</b>, identifier <b>203</b>, public key <b>204</b>, secret key <b>205</b>, session number <b>206</b>, and random number <b>207</b> inputted via input unit <b>210</b>, and data received by communication unit <b>230</b>.
0058Output unit <b>220</b> outputs public key <b>208</b> generated by calculation unit <b>240</b>.
0059Contribution random number generating unit <b>245</b> generates contribute random number <b>256</b>, a random number for generating contribution data <b>257</b>, by using random number <b>207</b> inputted via input unit <b>210</b>.
0060Contribution data generating unit <b>246</b> generates contribution data <b>257</b> from contribution random number <b>256</b> generated by contribution random number generating unit <b>245</b>.
0061Signing unit <b>244</b> generates contribution confirmation signature <b>253</b> used as a signature for contribution data set <b>255</b> including all the contribution data received from each counterpart apparatus, by using secret key <b>205</b> and public key <b>204</b> inputted via input unit <b>210</b>.
0062Verifiable auxiliary data generating unit <b>243</b> generates auxiliary data <b>254</b> from contribution data set <b>255</b> and contribution random number <b>256</b>.
0063Validity verifying unit <b>241</b> verifies validity of auxiliary data by using counterpart identifier set <b>201</b> and counterpart public key set <b>202</b> inputted via input unit <b>210</b>, contribution confirmation signature set <b>251</b> including data received from each counterpart apparatus via communication unit <b>230</b>, auxiliary data set <b>252</b> and auxiliary data validity certification sentence set <b>258</b>.
0064Key generating unit <b>242</b> generates public key <b>208</b> from contribution data set <b>255</b> and auxiliary data set <b>252</b> received from every counterpart apparatus via communication unit <b>230</b>.
0065Communication unit <b>230</b>, configured to exchange data with a counterpart apparatus via communication line <b>209</b>, transmits contribution data <b>257</b> generated by contribution data generating unit <b>246</b>, auxiliary data <b>254</b> and auxiliary data validity certification sentence <b>259</b> generated by verifiable auxiliary data generating unit <b>243</b>, and contribution confirmation signature <b>253</b> generated by signing unit <b>244</b>, to each counterpart apparatus via communication line <b>209</b>.
0066The operation of key exchanging apparatus <b>200</b> configured as described above will now be explained.
0067Counterpart identifier set <b>201</b>, a set of identifiers U[j] corresponding to each apparatus j of j={1, . . . , n}¥i, and a counterpart public key set, a set of public key pk[j] corresponding to each apparatus j of j={1, . . . , n}¥i, are inputted to each key exchanging apparatus <b>200</b>(<i>i</i>) via input unit <b>210</b>. In addition, identifier <b>203</b> corresponding to its own apparatus, its public key <b>204</b> (pk[i]), and secret key <b>205</b> (sk[i]) corresponding to public key <b>204</b> (pk[i]) are also inputted to each key exchanging apparatus <b>200</b>(<i>i</i>) via input unit <b>210</b>. Also, public key <b>208</b>-specific session number <b>206</b> (sid) generated therefrom and random number <b>207</b> are inputted to each key exchanging apparatus <b>200</b>(<i>i</i>) via input unit <b>210</b>.
0068In key exchanging apparatus <b>200</b>(<i>i</i>), first, contribution random number generating unit <b>245</b> randomly generates <b>256</b> (r[i]εZ/qZ), a contribution random number for generating contribution data <b>257</b>, by using random number <b>207</b> inputted via input unit <b>210</b>.
0069Next, contribution data generating unit <b>246</b> generates contribution data <b>257</b> (y[i]=g<sup>r[i]</sup>) from contribution random number <b>256</b> generated by contribution random number generating unit <b>245</b>, and transmits contribution data <b>257</b> (y[i]=g<sup>r[i]</sup>) to the other (n−1) number of apparatuses via communication unit <b>230</b>.
0070Regarding j={1, . . . , n}¥i, key exchanging apparatus <b>200</b>(<i>i</i>) waits for receiving contribution data y[j] from apparatus j by communication unit <b>230</b>.
0071When contribution data y[j] is received by communication unit <b>230</b> from every apparatus, forming contribution data set <b>255</b> including all the contribution data y[j], verifiable auxiliary data generating unit <b>243</b> generates auxiliary data <b>254</b> (x[i]=(y[i+1]/y[i−1])<sup>r[i]</sup>) from contribution data set <b>255</b> and contribution random number <b>245</b>, and signing unit <b>244</b> generates signer contribution confirmation signature <b>253</b>(sig) with respect to contribution data set <b>255</b> (sid, y[1], . . . , y[n]) including every contribution data received from every counterpart apparatus by using secret key <b>205</b> and public key <b>204</b> input via input unit <b>210</b>. Verifiable auxiliary data generating unit <b>243</b> verifies that x[i] has been properly created by using y[i+1], y[i−1], r[i] with a non-interactive zero knowledge by indicating only y[i+1], y[i−1], r[i], g. This certification sentence is assumed as an auxiliary data validity certification sentence <b>259</b> (proof[i]).
0072Communication unit <b>230</b> transmits (sid, proof[i], sig) to the other (n−1) number of apparatuses.
0073When auxiliary data x[j] is received by communication unit <b>230</b> from each apparatus, forming auxiliary data set <b>252</b> including all auxiliary data x[j], validity verifying unit <b>241</b> verifies each signature of contribution confirmation signature set <b>251</b> and each auxiliary data validity certification sentence (proof[j]) of auxiliary data validity certification sentence set <b>258</b> by using counterpart identifier set <b>201</b> and counterpart public key set <b>202</b> inputted via input unit <b>210</b>, contribution confirmation signature set <b>251</b> including data received, by communication unit <b>230</b>, which has been transferred from a different apparatus, and auxiliary data set <b>252</b>.
0074Next, key generating unit <b>242</b> generates k[i]=(y[i−1]<sup>r[i]</sup>)<sup>n</sup>x[i+1]<sup>n</sup>x[i+2]<sup>n−1 </sup>. . . x[n]<sup>i+1</sup>x[1]<sup>i </sup>. . . x[i−1]<sup>2</sup>x[i] from candidate data set <b>255</b> and auxiliary set <b>252</b> received by communication.
0075Public key <b>208</b> (sk[i]=e(g, h)) is outputted from key generating unit <b>242</b> via output unit <b>220</b>.
0076In the two exemplary embodiments as described above, the sentences of subjects, for which each apparatus generates a signature, are all the same. In this case, the amount of calculation required for verification can be reduced by using an aggregate signature.
0077Meanwhile, in the present invention, processing within the key exchanging apparatus is realized by the above-described dedicated hardware. Besides, a program for realizing the function may be recorded in a recording medium that can be recorded by the key exchanging apparatus, can be read by the key exchanging apparatus so as to be executed. The key exchanging apparatus-readable recording medium may be an HDD installed within the key exchanging apparatus in addition to a movable recording medium such as floppy disks, optical magnetic disks, DVDs, or CDs. The program recorded in the recording medium may be read and controlled by, for example, a control block to perform the processing as described above.
INDUSTRIAL AVAILABILITY
0078Key exchanging among a plurality of apparatuses can be effective for a case where many users hold a conference through a network. Participating members can be checked, and a secret key shared by the conference members can be previously determined by using the key exchanging apparatus according to the present invention in order to prevent someone else, not members, from participating in the conference or wiretapping content of the conference.
0079While the invention has been shown and described with reference to the exemplary embodiments and examples, it will be understood by those skilled in the art that the invention is not limited thereto and that various changes may be made thereto without departing from the spirit and scope of the invention as defined by the following claims.
0080This application claims the priority of Japanese Patent Application No. 2007-138940 filed on May 25, 2007, the disclosures of which are incorporated herein by reference.
Contents6
5 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5
Every citation, both ways
| Document | Relation | Office | Cited during |
|---|---|---|---|
| US2010169656A1 | Cited by | United States of America | Pre-grant |
| US8200977B2 | Cited by | United States of America | Search report |
| US12273466B2 | Cited by | United States of America | Search report |
| US11411744B2 | Cited by | United States of America | Search report |
| US2005246533A1 | Cites | United States of America | Pre-grant |
| US2007162750A1 | Cites | United States of America | Pre-grant |
| US7650494B2 | Cites | United States of America | Pre-grant |
6 members in 4 offices
Priority claims9
| Document | Office | Kind | Date |
|---|---|---|---|
| 2007138940 | Japan | – | |
| 2007138940 | Japan | A | |
| 2007138940 | Japan | A | |
| 2008057507 | Japan | W | |
| 2008057507 | Japan | W | |
| 2007138940 | – | – | – |
| JP20070138940 | – | – | – |
| PCTJP2008057507 | – | – | – |
| WO2008JP57507 | – | – | – |
Members6
| Document | Office | Kind | |
|---|---|---|---|
| WO2008146547A1 | World Intellectual Property Organization (WIPO) | A1 | |
| EP2154667A1 | European Patent Office (EPO) | A1 | |
| US2010180119A1 | United States of America | A1 | |
| JPWO2008146547A1 | Japan | A1 | |
| US8638928B2 | United States of America | B2 | |
| EP2154667A4 | European Patent Office (EPO) | A4 |
53 transactions on the USPTO file
Allowed after 1 non-final rejection.
- Non-final rejections
- 1
- Final rejections
- 0
- RCEs
- 0
- Appeals
- 0
Over time
Point at a mark for the transactionTransactions
| Event | Code | |
|---|---|---|
| Expire PatentEXP. | EXP. | |
| Maintenance Fee Reminder MailedREM. | REM. | |
| Mail Post CardPST_CRD | PST_CRD | |
| Email NotificationEML_NTF | EML_NTF | |
| Mail-Record a Petition Decision of Granted for Patent Term Adjustment after AllowanceMP025 | MP025 | |
| Record a Petition Decision of Granted for Patent Term Adjustment after AllowanceP025 | P025 | |
| Mail O.P. Petition DecisionMOPPT | MOPPT | |
| O.P. Petition DecisionOPPT | OPPT | |
| Petition EnteredPET2 | PET2 | |
| Recordation of Patent Grant MailedPGM/ | PGM/ | |
| Patent Issue Date Used in PTA CalculationAllowedPTAC | PTAC | |
| Email NotificationEML_NTR | EML_NTR | |
| Issue Notification MailedAllowedWPIR | WPIR | |
| Email NotificationEML_NTR | EML_NTR | |
| Printer Rush- No mailingTCPB | TCPB | |
| Mail Response to 312 Amendment (PTO-271)MN271 | MN271 | |
| Dispatch to FDCD1935 | D1935 | |
| Application Is Considered Ready for IssuePILS | PILS | |
| Response to Amendment under Rule 312N271 | N271 | |
| Pubs Case Remand to TCPUBTC | PUBTC | |
| Issue Fee Payment VerifiedN084 | N084 | |
| Issue Fee Payment ReceivedIFEE | IFEE | |
| Amendment after Notice of Allowance (Rule 312)AllowedA.NA | A.NA | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Email NotificationEML_NTF | EML_NTF | |
| Mail Notice of AllowanceAllowedMN/=. | MN/=. | |
| Notice of Allowance Data Verification CompletedAllowedN/=. | N/=. | |
| Reasons for AllowanceEX.R | EX.R | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Response after Non-Final ActionA... | A... | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Email NotificationEML_NTF | EML_NTF | |
| Mail Non-Final RejectionNon-final rejectionMCTNF | MCTNF | |
| Non-Final RejectionNon-final rejectionCTNF | CTNF | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Email NotificationEML_NTR | EML_NTR | |
| PG-Pub Issue NotificationPG-ISSUE | PG-ISSUE | |
| Application Dispatched from OIPEOIPE | OIPE | |
| Email NotificationEML_NTR | EML_NTR | |
| Email NotificationEML_NTR | EML_NTR | |
| Filing ReceiptFLRCPT.O | FLRCPT.O | |
| Notice of DO/EO Acceptance MailedM903 | M903 | |
| Sent to Classification ContractorPGPC | PGPC | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Request for Foreign Priority (Priority Papers May Be Included)RQPR | RQPR | |
| Preliminary AmendmentA.PE | A.PE | |
| Electronic Information Disclosure StatementEIDS. | EIDS. | |
| 371 Completion Date371COMP | 371COMP | |
| Information Disclosure Statement (IDS) FiledWIDS | WIDS | |
| Cleared by OIPE CSRL194 | L194 | |
| Initial Exam Team nnIEXX | IEXX |
1 recorded assignment at the USPTO, latest first
- Now
Now: Held by
NEC CORP - 2009-11-30
Assignment of assignors interest.
Ownership change- From
- GIRAO JOAOARMKNECHT FREDERIKFURUKAWA JUN
- To
- NEC CORPNEC CORPORATION
Recorded 2009-11-30, Signed 2009-10-21
4 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| Fee payment procedureMAINTENANCE FEE REMINDER MAILED (ORIGINAL EVENT CODE: REM.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITYFEPP | FEPP | |
| Fee paymentFPAY | FPAY | |
| Information on status: patent grantGrantedPATENTED CASESTCF | STCF | |
| AssignmentAS | AS |
Numbers
- Publication
- 20100180119
- Publication, DOCDB
- 2010180119
- Publication, EPODOC
- US2010180119
- Application
- 12602057
- Application, DOCDB
- 60205708
- Application, EPODOC
- US20080602057
Titles
- English
- KEY EXCHANGING APPARATUS
Patent term adjustment
- A delay
- +755 daysthe office missed an examination deadline
- B delay
- +429 dayspendency past three years
- Overlap
- −102 daysdelays counted once
- Applicant delay
- −36 days
- Net adjustment
- 1,046 days
Classification
- CPC, 3
- H04L9/3073
- H04L9/0844
- H04L9/0869
- IPC, 2
- H04L9 32
- G06F7 58
- USPC, 4
- 713171000
- 708250000
- 713175000
- 713180000