JP5469618B2 - Encryption system, decryption method, key update method, key generation device, reception device, proxy calculation device, program - Google Patents

Encryption system, decryption method, key update method, key generation device, reception device, proxy calculation device, program Download PDF

Info

Publication number
JP5469618B2
JP5469618B2 JP2011009085A JP2011009085A JP5469618B2 JP 5469618 B2 JP5469618 B2 JP 5469618B2 JP 2011009085 A JP2011009085 A JP 2011009085A JP 2011009085 A JP2011009085 A JP 2011009085A JP 5469618 B2 JP5469618 B2 JP 5469618B2
Authority
JP
Japan
Prior art keywords
predetermined method
key
secret key
proxy
random number
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2011009085A
Other languages
Japanese (ja)
Other versions
JP2012150287A (en
Inventor
健一郎 武藤
盛 知加良
剛 山本
鉄太郎 小林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2011009085A priority Critical patent/JP5469618B2/en
Publication of JP2012150287A publication Critical patent/JP2012150287A/en
Application granted granted Critical
Publication of JP5469618B2 publication Critical patent/JP5469618B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、情報を安全に配送するための暗号化システム、復号方法、鍵更新方法、鍵生成装置、受信装置、代理計算装置、プログラムに関する。   The present invention relates to an encryption system, a decryption method, a key update method, a key generation device, a reception device, a proxy calculation device, and a program for safely delivering information.

受信装置(受信者)の属性を用いた暗号化技術としては、非特許文献1が従来技術として知られている。非特許文献1に記載されているIDベース暗号の方式を簡単に説明すると、以下のとおりである。   Non-patent document 1 is known as a conventional technique as an encryption technique using the attribute of a receiving device (recipient). The ID-based encryption method described in Non-Patent Document 1 will be briefly described as follows.

kは整数、pはkビットの素数、Gは位数pの巡回加算群、Gは位数pの巡回群、eはG×G→Gのように写像する双線形ペアリング関数、Hは群Gの元をnビットのビット列に写像するハッシュ関数を示す記号、Pは群Gの生成元、sは鍵生成装置が生成した0以上p−1以下の整数、PPub=sP、(P,PPub)は公開パラメータ、MaptoPointG1は任意長のビット列を群Gの元に写像する関数、IDは任意長のビット列、QID=MaptoPointG1(ID)、(+)はビット単位の排他的論理和を示す記号とする。 k is an integer, p is a prime number of k bits, G 1 is a cyclic addition group of order p, G 2 is a cyclic group of order p, and e is a bilinear pair that maps as G 1 × G 1 → G 2 ring function, H is a symbol indicating a hash function that maps the original group G 2 to the bit string of n bits, P is generator of the group G 1, s is 0 or p-1 an integer of the key generation device has generated, P Pub = sP, (P, P Pub) public parameter, MaptoPoint G1 function which maps a bit string of arbitrary length to the original group G 1, ID is arbitrary length bit string, Q ID = MaptoPoint G1 (ID ), ( (+) Is a symbol indicating a bitwise exclusive OR.

送信装置は、乱数rを0以上p−1以下の整数からランダムに選択し、
U=rP
のように計算する。また、平文Mを用いて
ID=e(QID,PPub
を計算し、
V=M(+)H(gID
のように計算し、暗号文Cを
C=<U,V>
のように求める。
The transmitting device randomly selects a random number r from an integer of 0 or more and p-1 or less,
U = rP
Calculate as follows. Also, using plaintext M, g ID = e (Q ID , P Pub )
Calculate
V = M (+) H (g ID r )
The ciphertext C is calculated as follows: C = <U, V>
Seek like.

受信装置は、dID=sQIDを復号用の鍵としてあらかじめ記録しておく。そして、受信装置は暗号文Cを受信すると、
M’=V(+)H(e(dID,U))
のように平文M’に復号する。
The receiving apparatus records d ID = sQ ID in advance as a decryption key. When the receiving device receives the ciphertext C,
M ′ = V (+) H (e (d ID , U))
As shown in FIG.

D.Boneh and M.franklin, “Identity-based encryption from the Weil pairing”, CRYPT’01, Volume 2139 of LNCS, p.213-229, Springer, 2001.D.Boneh and M.franklin, “Identity-based encryption from the Weil pairing”, CRYPT’01, Volume 2139 of LNCS, p.213-229, Springer, 2001.

しかしながら、属性情報のような公開された情報をもとに秘密鍵を生成する暗号方式では、秘密鍵と公開鍵の対応が一対一という特徴を持つ。そして、復号鍵を紛失した際や復号鍵が漏洩された際には、紛失した復号鍵もしくは漏洩された復号鍵による復号が出来ないようにするために復号鍵の更新を行う必要がある。しかし、受信者の属性の一部を公開鍵として利用している場合、公開鍵とする受信者属性の一部を変更しない限り復号鍵の更新が出来ない。また、鍵の漏洩・紛失対策を実施するためには公開鍵の変更が必要であるが、送信者にとって公開鍵が既知であった場合、公開鍵の変更を送信者に伝えるのが必ずしも容易ではない。   However, an encryption method for generating a secret key based on public information such as attribute information has a one-to-one correspondence between a secret key and a public key. When the decryption key is lost or the decryption key is leaked, it is necessary to update the decryption key in order to prevent decryption with the lost decryption key or the leaked decryption key. However, when a part of the recipient attribute is used as the public key, the decryption key cannot be updated unless a part of the recipient attribute as the public key is changed. In addition, it is necessary to change the public key in order to take measures against key leakage and loss, but if the public key is known to the sender, it is not always easy to tell the sender about the change of the public key. Absent.

本発明は、属性情報のような公開された情報をもとに秘密鍵を生成する暗号方式であっても、公開鍵を変更することなく復号鍵を再発行・更新できる暗号化技術を提供することを目的とする。   The present invention provides an encryption technique capable of reissuing / updating a decryption key without changing the public key even if the encryption method generates a secret key based on public information such as attribute information. For the purpose.

本発明の暗号化システムは、送信装置、受信装置、代理計算装置、鍵生成装置で構成される。まず、pは素数、Gは位数pの巡回加算群、Gは位数pの巡回群、eはG×G→Gのように写像する双線形ペアリング関数、Hは群Gの元をnビットのビット列に写像するハッシュ関数を示す記号、Pは群Gの生成元、sは鍵生成装置が生成した0以上p−1以下の整数、PPub=sP、(P,PPub)は公開パラメータ、MaptoPointG1は任意長のビット列を群Gの元に写像する関数、IDは任意長のビット列、QID=MaptoPointG1(ID)とする。 The encryption system of the present invention includes a transmission device, a reception device, a proxy calculation device, and a key generation device. First, p is a prime number, G 1 is a cyclic addition group of order p, G 2 is a cyclic group of order p, e is a bilinear pairing function that maps as G 1 × G 1 → G 2 , and H is A symbol indicating a hash function that maps an element of group G 2 to an n-bit bit string, P is a generator of group G 1 , s is an integer between 0 and p−1 generated by the key generation device, P Pub = sP, (P, P Pub) public parameter, MaptoPoint G1 function which maps a bit string of arbitrary length to the original group G 1, ID is an arbitrary length bit string, Q ID = MaptoPoint G1 (ID ).

鍵生成装置は、少なくとも鍵生成部、鍵分割部、鍵配布部を備える。鍵生成部は、秘密鍵K
=sQID
のように求める。
The key generation device includes at least a key generation unit, a key division unit, and a key distribution unit. The key generation unit sets the secret key K 0 to K 0 = sQ ID
Seek like.

鍵分割部は、分割用乱数K’を0以上p−1以下の整数から選択し、秘密鍵Kと分割用乱数K’を用いて所定の方法1にしたがって受信用秘密鍵Kを求める。なお、分割用乱数K’は、0以上p−1以下の整数からランダムに選択することが望ましいが、あらかじめ定めた他の方法で選択してもよい。鍵配布部は、分割用乱数K’を用いて所定の方法2で代理計算用秘密鍵Kを求め、受信用秘密鍵Kを受信装置に送信し、代理計算用秘密鍵Kを代理計算装置に送信する。 The key division section for dividing the random number K 3 'was selected from 0 or p-1 an integer, the secret key K 0 dividing the random number K 3' received secret key K 1 according to a predetermined method 1 using Ask for. The dividing random number K 3 ′ is desirably selected at random from an integer of 0 or more and p−1 or less, but may be selected by another predetermined method. The key distribution unit obtains the proxy calculation secret key K 3 by the predetermined method 2 using the dividing random number K 3 ′, transmits the reception secret key K 1 to the receiving device, and obtains the proxy calculation secret key K 3 . Send to proxy computing device.

送信装置は、少なくとも暗号化部を備える。暗号化部は、乱数rを0以上p−1以下の整数から選択し、乱数情報UをU=rPのように計算し、
ID=e(QID,PPub
を計算し、H(gID )を用いて所定の方法3で平文Mを暗号化して暗号化情報Vを求め、乱数情報Uと暗号化情報Vを含む情報を暗号文Cとして出力する。なお、乱数rは、0以上p−1以下の整数からランダムに選択することが望ましいが、あらかじめ定めた他の方法で選択してもよい。
The transmission device includes at least an encryption unit. The encryption unit selects the random number r from an integer of 0 to p−1, calculates the random number information U as U = rP,
g ID = e (Q ID , P Pub )
And the plaintext M is encrypted by the predetermined method 3 using H (g ID r ) to obtain the encrypted information V, and the information including the random number information U and the encrypted information V is output as the ciphertext C. The random number r is desirably selected at random from an integer of 0 or more and p−1 or less, but may be selected by another predetermined method.

受信装置は、少なくとも復号記録部、リクエスト作成部、復号部を備える。復号記録部は、少なくとも受信用秘密鍵Kを記録する。リクエスト作成部は、受信用秘密鍵Kと乱数情報Uを用いて所定の方法4でリクエストReqを作成する。復号部は、代理計算装置から受信したレスポンスResを用いて所定の方法2と所定の方法4に対応した方法である所定の方法5にしたがってgID の値Wを求める。そして、H(W)を用いて所定の方法3に対応した方法である所定の方法6にしたがって暗号化情報Vを復号して平文M’に復号する。 The receiving device includes at least a decryption recording unit, a request creation unit, and a decryption unit. Decoding recording unit records at least the received secret key K 1. The request creation unit creates a request Req by a predetermined method 4 using the reception secret key K 1 and the random number information U. The decryption unit obtains the value W of g ID r using the response Res received from the proxy computing device according to the predetermined method 2 that is a method corresponding to the predetermined method 2 and the predetermined method 4. Then, H (W) is used to decrypt the encrypted information V according to a predetermined method 6 that is a method corresponding to the predetermined method 3, and decrypt it into plaintext M ′.

代理計算装置は、少なくとも代理記録部、レスポンス作成部を備える。代理記録部は、少なくとも代理計算用秘密鍵Kを記録する。レスポンス作成部は、リクエストReqに対して、所定の方法1と所定の方法2と所定の方法4に対応した方法である所定の方法7にしたがって代理計算用秘密鍵Kを用いた計算を行ってレスポンスResを求める。 The proxy computing device includes at least a proxy recording unit and a response creation unit. Proxy recording section, recording at least proxy calculation for secret key K 3. The response creation unit performs a calculation using the proxy calculation private key K 3 on the request Req in accordance with a predetermined method 7, which is a method corresponding to the predetermined method 1, the predetermined method 2, and the predetermined method 4. To obtain the response Res.

そして、受信装置が、鍵生成装置に鍵の再発行を要求すると以下の処理を行って受信用秘密鍵Kと代理計算用秘密鍵Kを更新する。鍵分割部は、新しい分割用乱数K3new’を0以上p−1以下の整数から選択し、秘密鍵Kと新しい分割用乱数K3new’を用いて所定の方法1にしたがって新しい受信用秘密鍵K1newを求める。なお、新しい分割用乱数K3new’は、0以上p−1以下の整数からランダムに選択することが望ましいが、あらかじめ定めた他の方法で選択してもよい。鍵配布部は、新しい分割用乱数K3new’を用いて所定の方法2で新しい代理計算用秘密鍵K3newを求める。そして、新しい受信用秘密鍵K1newを受信装置に送信し、新しい代理計算用秘密鍵K3newを代理計算装置に送信する。復号記録部は、受信用秘密鍵Kを新しい受信用秘密鍵K1newに更新する。代理記録部は、代理計算用秘密鍵Kを新しい代理計算用秘密鍵K3newに更新する。 When the receiving device requests the key generating device to reissue the key, the following processing is performed to update the receiving secret key K 1 and the proxy calculation secret key K 3 . The key splitting unit selects a new split random number K 3new ′ from an integer between 0 and p−1 and uses the secret key K 0 and the new split random number K 3new ′ according to the predetermined method 1 to receive a new receive secret Find the key K 1new . The new dividing random number K 3new ′ is desirably selected at random from an integer of 0 or more and p−1 or less, but may be selected by another predetermined method. The key distribution unit obtains a new proxy calculation secret key K 3new by a predetermined method 2 using the new split random number K 3new ′. Then, the new reception secret key K 1new is transmitted to the reception device, and the new proxy calculation secret key K 3new is transmitted to the proxy calculation device. Decoding recording unit updates the received secret key K 1 to the new receiving secret key K 1 NEW. Proxy recording unit updates the proxy calculation for the secret key K 3 to the new proxy calculation for the secret key K 3new.

本発明の暗号化システムによれば、「秘密鍵Kから複数の復号鍵(受信用秘密鍵K,代理計算用秘密鍵K)を生成する方式」と「鍵を伴う一部の演算機能のリソースを外部装置(代理計算装置)に安全に代行させる方式」を組み合わせて構成する。したがって、属性情報のような公開された情報をもとに秘密鍵を生成する暗号方式であっても、公開鍵を変更することなく復号鍵を再発行・更新できる。 According to the encryption system of the present invention, a “method for generating a plurality of decryption keys (reception secret key K 1 , proxy calculation secret key K 3 ) from the secret key K 0 ” and “part of operations involving keys” It is configured by combining a method for safely substituting the function resource to an external device (proxy computing device). Therefore, even with an encryption method that generates a secret key based on public information such as attribute information, a decryption key can be reissued / updated without changing the public key.

本発明の暗号化システムの構成例を示す図。The figure which shows the structural example of the encryption system of this invention. 実施例1の暗号化システムの秘密鍵を配布する処理フローを示す図。FIG. 3 is a diagram illustrating a processing flow for distributing a secret key of the encryption system according to the first embodiment. 本発明の暗号文の生成から復号までの処理フローを示す図。The figure which shows the processing flow from the production | generation of a ciphertext of this invention to a decoding. 実施例1の受信用秘密鍵Kと代理計算用秘密鍵Kを更新するときの処理フローを示す図。It shows a process flow when updating the reception secret key K 1 as a proxy calculation secret key K 3 of Example 1. 実施例2の暗号化システムの秘密鍵を配布する処理フローを示す図。The figure which shows the processing flow which distributes the private key of the encryption system of Example 2. FIG. 実施例2の受信用秘密鍵Kと代理計算用秘密鍵Kを更新するときであって、保護用秘密鍵Kを送信する場合の処理フローを示す図。A is time to update the received secret key K 1 as a proxy calculation secret key K 3 of Example 2, illustrates a process flow for transmitting a protected private key K 2. 実施例2の受信用秘密鍵Kと代理計算用秘密鍵Kを更新するときであって、保護用秘密鍵Kを求めるための情報Passを送信する場合の処理フローを示す図。A is time to update the received secret key K 1 as a proxy calculation secret key K 3 of Example 2, illustrates a process flow for transmitting information Pass to seek protection for the private key K 2. 実施例2の保護用秘密鍵Kを更新するときの処理フローを示す図。It shows a process flow when updating the protection secret key K 2 of Example 2.

以下、本発明の実施の形態について、詳細に説明する。なお、同じ機能を有する構成部には同じ番号を付し、重複説明を省略する。   Hereinafter, embodiments of the present invention will be described in detail. In addition, the same number is attached | subjected to the structure part which has the same function, and duplication description is abbreviate | omitted.

図1に実施例1の暗号化システムの構成例を示す。図2に実施例1の暗号化システムの秘密鍵を配布する処理フローを、図3に暗号文の生成から復号までの処理フローを示す。実施例1の暗号化システムは、送信装置100、受信装置200、代理計算装置300、鍵生成装置400で構成される。   FIG. 1 shows a configuration example of the encryption system according to the first embodiment. FIG. 2 shows a processing flow for distributing the secret key of the encryption system of the first embodiment, and FIG. 3 shows a processing flow from generation of ciphertext to decryption. The encryption system according to the first embodiment includes a transmission device 100, a reception device 200, a proxy calculation device 300, and a key generation device 400.

以下の説明では、kは大きな整数、pはkビットの素数、Gは位数pの巡回加算群、Gは位数pの巡回群、eはG×G→Gのように写像する双線形ペアリング関数、Hは群Gの元をnビットのビット列に写像するハッシュ関数を示す記号、Pは群Gの生成元、sは鍵生成装置400が生成した0以上p−1以下の整数、PPub=sP、(P,PPub)は公開パラメータ、MaptoPointG1は任意長のビット列を群Gの元に写像する関数、IDは任意長のビット列、QID=MaptoPointG1(ID)、(+)はビット単位の排他的論理和を示す記号、^はべき乗を示す記号とする。なお、XとYを郡Gの元とし、aとbを整数とすると、
e(aX,bY)=e(X,Y)ab (1)
の関係が成り立つ。双線形ペアリング関数としては、例えばWeilペアリングを用いればよい。また、IDとして受信装置200の属性を示すビット列を用いてもよい。
In the following description, k is a large integer, p is a prime number of k bits, G 1 is a cyclic addition group of order p, G 2 is a cyclic group of order p, and e is G 1 × G 1 → G 2 Bi is a bilinear pairing function that maps to H, H is a symbol indicating a hash function that maps an element of group G 2 to an n-bit bit string, P is a generator of group G 1 , and s is 0 or more generated by key generator 400 An integer less than or equal to p−1, P Pub = sP, (P, P Pub ) is a public parameter, MaptoPoint G1 is a function that maps an arbitrary length bit string to the group G 1 , ID is an arbitrary length bit string, Q ID = MaptoPoint G1 (ID), (+) is a symbol indicating a bitwise exclusive OR, and ^ is a symbol indicating a power. If X and Y are elements of the group G 1 and a and b are integers,
e (aX, bY) = e (X, Y) ab (1)
The relationship holds. For example, Weil pairing may be used as the bilinear pairing function. Further, a bit string indicating the attribute of the receiving apparatus 200 may be used as the ID.

送信装置100は、暗号化部110と暗号化記録部190を備える。受信装置200は、属性送信部210、リクエスト作成部220、復号部230、復号記録部290を備える。代理計算装置300は、レスポンス作成部310、代理記録部390を備える。鍵生成装置400は、鍵生成部410、鍵分割部420、鍵配布部430、鍵生成記録部490を備える。以下に、処理フローを説明しながら、これらの構成部の機能を説明する。   The transmission device 100 includes an encryption unit 110 and an encryption recording unit 190. The receiving apparatus 200 includes an attribute transmission unit 210, a request creation unit 220, a decryption unit 230, and a decryption recording unit 290. The proxy calculation device 300 includes a response creation unit 310 and a proxy recording unit 390. The key generation device 400 includes a key generation unit 410, a key division unit 420, a key distribution unit 430, and a key generation recording unit 490. The functions of these components will be described below while explaining the processing flow.

[秘密鍵を配布する処理フロー、暗号文の生成から復号まで]
受信装置200の属性送信部210は、ビット列IDを鍵生成装置400に送信する(S211)。なお、ビット列IDは、A社の社員、20歳以上などの単独の属性情報を示すビット列でもよいし、A社の社員かつ男性、20歳以上または女性のような属性情報の論理式を示すビット列でもよい。鍵生成装置400の鍵生成部410は、秘密鍵K
=sQID
のように求める(S410)。
[Process flow for distributing private key, from generation to decryption of ciphertext]
The attribute transmission unit 210 of the reception device 200 transmits the bit string ID to the key generation device 400 (S211). The bit string ID may be a bit string indicating single attribute information such as an employee of company A, 20 years or older, or a bit string indicating a logical expression of attribute information such as an employee of company A, male, 20 years or older, or female. But you can. The key generation unit 410 of the key generation device 400 uses the secret key K 0 as K 0 = sQ ID.
(S410).

鍵分割部420は、分割用乱数K’を0以上p−1以下の整数から選択し(S421)、秘密鍵Kと分割用乱数K’を用いて所定の方法1にしたがって受信用秘密鍵Kを求める(S422)。なお、分割用乱数K’は、0以上p−1以下の整数からランダムに選択することが望ましいが、あらかじめ定めた他の方法で選択してもよい。鍵配布部430は、分割用乱数K’を用いて所定の方法2で代理計算用秘密鍵Kを求め(S434)、受信用秘密鍵Kを受信装置200に送信し、代理計算用秘密鍵Kを代理計算装置300に送信する(S435)。受信装置200の復号記録部290は、受信用秘密鍵Kを記録する(S291)。代理計算装置300の代理記録部390は、代理計算用秘密鍵Kを記録する(S391)。 The key splitting unit 420 selects a split random number K 3 ′ from integers between 0 and p−1 (S421), and uses the secret key K 0 and the split random number K 3 ′ for reception according to the predetermined method 1. seek the secret key K 1 (S422). The dividing random number K 3 ′ is desirably selected at random from an integer of 0 or more and p−1 or less, but may be selected by another predetermined method. The key distribution unit 430 obtains the proxy calculation secret key K 3 by the predetermined method 2 using the dividing random number K 3 ′ (S434), transmits the reception secret key K 1 to the reception device 200, and performs proxy calculation. to send a secret key K 3 to the proxy computing device 300 (S435). Decoding the recording unit 290 of the receiving apparatus 200 records the received secret key K 1 (S291). Proxy recording unit 390 of the proxy computing device 300 records the proxy calculation secret key K 3 (S391).

属性送信部210は、ビット列IDを送信装置100に送信する(S212)。送信装置100の暗号化部110は、乱数rを0以上p−1以下の整数から選択し、乱数情報UをU=rPのように計算する。なお、乱数rは、0以上p−1以下の整数からランダムに選択することが望ましいが、あらかじめ定めた他の方法で選択してもよい。また、暗号化部110は、
ID=e(QID,PPub
を計算し、H(gID )を用いて所定の方法3で平文Mを暗号化して暗号化情報Vを求める。そして、暗号化部110は、乱数情報Uと暗号化情報Vを含む情報を暗号文Cとして出力する(S110)。
The attribute transmission unit 210 transmits the bit string ID to the transmission device 100 (S212). The encryption unit 110 of the transmission device 100 selects the random number r from an integer between 0 and p−1 and calculates the random number information U as U = rP. The random number r is desirably selected at random from an integer of 0 or more and p−1 or less, but may be selected by another predetermined method. In addition, the encryption unit 110
g ID = e (Q ID , P Pub )
And the plaintext M is encrypted by the predetermined method 3 using H (g ID r ) to obtain the encrypted information V. Then, the encryption unit 110 outputs information including the random number information U and the encryption information V as the ciphertext C (S110).

受信装置200のリクエスト作成部220は、受信用秘密鍵Kと乱数情報Uを用いて所定の方法4でリクエストReqを作成する(S222)。なお、リクエスト作成部220は、乱数rtmpを0以上p−1以下の整数から選択し(S221)、ステップS222の所定の方法4で乱数rtmpも用いてもよい。このようにすることで、受信用秘密鍵Kに関する情報を隠蔽できる。なお、乱数rtmpは、0以上p−1以下の整数からランダムに選択することが望ましいが、あらかじめ定めた他の方法で選択してもよい。 Request creation unit 220 of the receiving device 200 generates a request Req to a predetermined method 4 using the received secret key K 1 and the random number information U (S222). Note that the request creation unit 220 may select the random number r tmp from an integer between 0 and p−1 (S221), and may also use the random number r tmp in the predetermined method 4 in step S222. In this way, it concealed the information about the received secret key K 1. The random number r tmp is desirably selected at random from an integer of 0 or more and p−1 or less, but may be selected by another predetermined method.

代理計算装置300のレスポンス作成部310は、リクエストReqに対して、所定の方法1と所定の方法2と所定の方法4に対応した方法である所定の方法7にしたがって代理計算用秘密鍵Kを用いた計算を行ってレスポンスResを求める(S310)。受信装置200の復号部230は、代理計算装置300から受信したレスポンスResを用いて所定の方法2と所定の方法4に対応した方法である所定の方法5にしたがってgID の値Wを求める。そして、H(W)を用いて所定の方法3に対応した方法である所定の方法6にしたがって暗号化情報Vを復号して平文M’に復号する(S230)。 Proxy response creation unit 310 of the computing device 300, the request Req, predetermined methods 1 and predetermined manner 2 and proxy calculation secret key K 3 according to a predetermined method 7 is a method corresponding to the predetermined method 4 A response Res is obtained by calculating using (S310). The decrypting unit 230 of the receiving device 200 uses the response Res received from the proxy computing device 300 to obtain the value W of g ID r according to the predetermined method 5 that is a method corresponding to the predetermined method 2 and the predetermined method 4. . Then, the encrypted information V is decrypted according to a predetermined method 6 that is a method corresponding to the predetermined method 3 using H (W), and is decrypted into plain text M ′ (S230).

次に、上述の所定の方法1〜7について説明する。所定の方法1〜7は「秘密鍵Kから複数の復号鍵(受信用秘密鍵K,代理計算用秘密鍵K)を生成する方式」と「鍵を伴う一部の演算機能のリソースを外部装置(代理計算装置)に安全に代行させる方式」を組み合わせて構成するために互いに対応していればよい。例えば、以下に示すような組み合わせがあり得る。ただし、「秘密鍵Kから複数の復号鍵(受信用秘密鍵K,代理計算用秘密鍵K)を生成する方式」と「鍵を伴う一部の演算機能のリソースを外部装置(代理計算装置)に安全に代行させる方式」とが機能する範囲ならば、これらの組み合わせに限定する必要はない。 Next, the predetermined methods 1 to 7 will be described. The predetermined methods 1 to 7 are “a method for generating a plurality of decryption keys (reception secret key K 1 , proxy calculation secret key K 3 ) from the secret key K 0 ” and “resources of some calculation functions with keys. In order to construct a combination of “methods for safely substituting external devices (proxy computing devices)”, it is only necessary to correspond to each other. For example, the following combinations are possible. However, the “method for generating a plurality of decryption keys (reception secret key K 1 , proxy calculation secret key K 3 ) from the secret key K 0 ” and “resources of some computation functions accompanied by the key are external devices (proxy It is not necessary to limit to these combinations as long as the “method of safely substituting the computing device” functions.

[所定の方法の組み合わせ1−1]
所定の方法1では、受信用秘密鍵K
=K’ K
のように求める。所定の方法2では、では、代理計算用秘密鍵K
=K−1
のように求める。所定の方法3では、暗号化情報Vを
V=M(+)H(gID
のように求める。所定の方法4では、リクエストReqを
Req=e(K,U)
のように求める。所定の方法5では、値Wを
W=Res
のように求める。所定の方法6では、平文M’を
M’=V(+)H(W)
のように求める。所定の方法7では、レスポンスResを
Res=Req^K
のように求める。
[Combination 1-1 of predetermined methods]
In the predetermined method 1, the reception private key K 1 is set to K 1 = K 3 ′ K 0
Seek like. In the predetermined method 2, the secret calculation private key K 3 is set to K 3 = K 3−1.
Seek like. In the predetermined method 3, the encryption information V is expressed as V = M (+) H (g ID r )
Seek like. In the predetermined method 4, the request Req is req = e (K 1 , U)
Seek like. In the predetermined method 5, the value W is set to W = Res
Seek like. In the predetermined method 6, plaintext M ′ is changed to M ′ = V (+) H (W)
Seek like. In the predetermined method 7, the response Res is Res = Req ^ K 3
Seek like.

なお、上述の所定の方法の組み合わせの一部を以下の例ように変更してもよい。   A part of the combination of the predetermined methods described above may be changed as in the following example.

第1の例では、所定の方法2を
=K
とし、所定の方法7を
Res=Req^(K −1
としてもよい。
In the first example, the predetermined method 2 is changed to K 3 = K 3
And the predetermined method 7 is Res = Req ^ (K 3 −1 )
It is good.

第2の例では、所定の方法1を
=(K’)−1
とし、所定の方法2を
=K
とし、所定の方法7を
Res=Req^K
としてもよい。
In the second example, the predetermined method 1 is changed to K 1 = (K 3 ′) −1 K 0
And the predetermined method 2 is K 3 = K 3
And the predetermined method 7 is Res = Req ^ K 3
It is good.

第3の例では、所定の方法3を、H(gID )を共通鍵として平文Mを暗号化し、暗号化情報Vを求めてもよい。この場合は、所定の方法6は、H(W)を共通鍵として暗号化情報Vを平文M’に復号するとすればよい。 In the third example, the encrypted information V may be obtained by encrypting the plaintext M with the predetermined method 3 using H (g ID r ) as a common key. In this case, the predetermined method 6 may be performed by decrypting the encrypted information V into plaintext M ′ using H (W) as a common key.

[所定の方法の組み合わせ1−2]
所定の方法1では、受信用秘密鍵K
=K’ K
のように求める。所定の方法2では、では、代理計算用秘密鍵K
=K−1
のように求める。所定の方法3では、暗号化情報Vを
V=M(+)H(gID
のように求める。所定の方法4では、リクエストReqを受信用秘密鍵Kと乱数情報Uを含む情報とする。所定の方法5では、値Wを
W=Res
のように求める。所定の方法6では、平文M’を
M’=V(+)H(W)
のように求める。所定の方法7では、レスポンスResを
Res=e(K,U)^K
のように求める。ただし、ペアリングeでは式(1)が成り立つので、
Res=e(K,U) または Res=e(K,KU)
のようにレスポンスResを求めてもよい。
[Combination of predetermined methods 1-2]
In the predetermined method 1, the reception private key K 1 is set to K 1 = K 3 ′ K 0
Seek like. In the predetermined method 2, the secret calculation private key K 3 is set to K 3 = K 3−1.
Seek like. In the predetermined method 3, the encryption information V is expressed as V = M (+) H (g ID r )
Seek like. In certain methods 4, the information including the received secret key K 1 and the random number information U request Req. In the predetermined method 5, the value W is set to W = Res
Seek like. In the predetermined method 6, plaintext M ′ is changed to M ′ = V (+) H (W)
Seek like. In the predetermined method 7, the response Res is Res = e (K 1 , U) ^ K 3
Seek like. However, since the formula (1) is established in the pairing e,
Res = e (K 3 K 1 , U) or Res = e (K 1 , K 3 U)
The response Res may be obtained as follows.

なお、上述の所定の方法の組み合わせの一部を以下の例ように変更してもよい。   A part of the combination of the predetermined methods described above may be changed as in the following example.

第1の例では、所定の方法2を
=K
とし、所定の方法7を
Res=e(K,U)^(K −1
としてもよい。ただし、ペアリングeでは式(1)が成り立つので、
Res=e((K −1)K,U) または Res=e(K,(K −1)U)
のようにレスポンスResを求めてもよい。
In the first example, the predetermined method 2 is changed to K 3 = K 3
And the predetermined method 7 is Res = e (K 1 , U) ^ (K 3 −1 )
It is good. However, since the formula (1) is established in the pairing e,
Res = e ((K 3 −1 ) K 1 , U) or Res = e (K 1 , (K 3 −1 ) U)
The response Res may be obtained as follows.

第2の例では、所定の方法1を
=(K’)−1
とし、所定の方法2を
=K
とし、所定の方法7を
Res=e(K,U)^K
としてもよい。ただし、ペアリングeでは式(1)が成り立つので、
Res=e(K,U) または Res=e(K,KU)
のようにレスポンスResを求めてもよい。
In the second example, the predetermined method 1 is changed to K 1 = (K 3 ′) −1 K 0
And the predetermined method 2 is K 3 = K 3
And the predetermined method 7 is Res = e (K 1 , U) ^ K 3
It is good. However, since the formula (1) is established in the pairing e,
Res = e (K 3 K 1 , U) or Res = e (K 1 , K 3 U)
The response Res may be obtained as follows.

第3の例では、所定の方法3を、H(gID )を共通鍵として平文Mを暗号化し、暗号化情報Vを求めてもよい。この場合は、所定の方法6は、H(W)を共通鍵として暗号化情報Vを平文M’に復号するとすればよい。 In the third example, the encrypted information V may be obtained by encrypting the plaintext M with the predetermined method 3 using H (g ID r ) as a common key. In this case, the predetermined method 6 may be performed by decrypting the encrypted information V into plaintext M ′ using H (W) as a common key.

[所定の方法の組み合わせ1−3]
所定の方法1では、受信用秘密鍵K
=K’ K
のように求める。所定の方法2では、では、代理計算用秘密鍵K
=K−1
のように求める。所定の方法3では、暗号化情報Vを
V=M(+)H(gID
のように求める。所定の方法4では、リクエスト作成部220が、乱数rtmpを0以上p−1以下の整数から選択し(S221)、リクエストReqを
Req=e(rtmp,U)
のように求める。ただし、ペアリングeでは式(1)が成り立つので、
Req=e(K,U)^rtmp
のようにリクエストReqを求めてもよい。所定の方法5では、値Wを
W=Res^rtmp −1
のように求める。所定の方法6では、平文M’を
M’=V(+)H(W)
のように求める。所定の方法7では、レスポンスResを
Res=Req^K
のように求める。
[Combination 1-3 of predetermined methods]
In the predetermined method 1, the reception private key K 1 is set to K 1 = K 3 ′ K 0
Seek like. In the predetermined method 2, the secret calculation private key K 3 is set to K 3 = K 3−1.
Seek like. In the predetermined method 3, the encryption information V is expressed as V = M (+) H (g ID r )
Seek like. In the predetermined method 4, the request creation unit 220 selects a random number r tmp from integers between 0 and p−1 (S221), and requests Req as Req = e (r tmp K 1 , U).
Seek like. However, since the formula (1) is established in the pairing e,
Req = e (K 1 , U) ^ r tmp
The request Req may be obtained as follows. In the predetermined method 5, the value W is set to W = Res ^ r tmp −1
Seek like. In the predetermined method 6, plaintext M ′ is changed to M ′ = V (+) H (W)
Seek like. In the predetermined method 7, the response Res is Res = Req ^ K 3
Seek like.

なお、この組み合わせのときは、所定の組み合わせ1−1と同じように一部を変更してもよい。   In this combination, a part of the combination may be changed in the same manner as the predetermined combination 1-1.

[所定の方法の組み合わせ1−4]
所定の方法1では、受信用秘密鍵K
=K’ K
のように求める。所定の方法2では、では、代理計算用秘密鍵K
=K−1
のように求める。所定の方法3では、暗号化情報Vを
V=M(+)H(gID
のように求める。所定の方法4では、リクエスト作成部220が、乱数rtmpを0以上p−1以下の整数から選択し(S221)、隠蔽鍵Ktmp
tmp=rtmp
を求め、リクエストReqを隠蔽鍵Ktmpと乱数情報Uを含む情報とする。所定の方法5では、値Wを
W=Res^rtmp −1
のように求める。所定の方法6では、平文M’を
M’=V(+)H(W)
のように求める。所定の方法7では、レスポンスResを
Res=e(Ktmp,U)^K
のように求める。ただし、ペアリングeでは式(1)が成り立つので、
Res=e(Ktmp,U) または Res=e(Ktmp,KU)
のようにレスポンスResを求めてもよい。
[Combination 1-4 of predetermined methods]
In the predetermined method 1, the reception private key K 1 is set to K 1 = K 3 ′ K 0
Seek like. In the predetermined method 2, the secret calculation private key K 3 is set to K 3 = K 3−1.
Seek like. In the predetermined method 3, the encryption information V is expressed as V = M (+) H (g ID r )
Seek like. In the predetermined method 4, the request creation unit 220 selects a random number r tmp from integers between 0 and p−1 (S221), and sets the concealment key K tmp as K tmp = r tmp K 1
And the request Req is information including the concealment key K tmp and the random number information U. In the predetermined method 5, the value W is set to W = Res ^ r tmp −1
Seek like. In the predetermined method 6, plaintext M ′ is changed to M ′ = V (+) H (W)
Seek like. In the predetermined method 7, the response Res is Res = e (K tmp , U) ^ K 3.
Seek like. However, since the formula (1) is established in the pairing e,
Res = e (K 3 K tmp , U) or Res = e (K tmp , K 3 U)
The response Res may be obtained as follows.

なお、上述の所定の方法の組み合わせの一部を以下の例ように変更してもよい。   A part of the combination of the predetermined methods described above may be changed as in the following example.

第1の例では、所定の方法2を
=K
とし、所定の方法7を
Res=e(Ktmp,U)^(K −1
としてもよい。ただし、ペアリングeでは式(1)が成り立つので、
Res=e((K −1)Ktmp,U) または Res=e(Ktmp,(K −1)U)
のようにレスポンスResを求めてもよい。
In the first example, the predetermined method 2 is changed to K 3 = K 3
And the predetermined method 7 is Res = e (K tmp , U) ^ (K 3 −1 )
It is good. However, since the formula (1) is established in the pairing e,
Res = e ((K 3 −1 ) K tmp , U) or Res = e (K tmp , (K 3 −1 ) U)
The response Res may be obtained as follows.

第2の例では、所定の方法1を
=(K’)−1
とし、所定の方法2を
=K
とし、所定の方法7を
Res=e(Ktmp,U)^K
としてもよい。ただし、ペアリングeでは式(1)が成り立つので、
Res=e(Ktmp,U) または Res=e(Ktmp,KU)
のようにレスポンスResを求めてもよい。
In the second example, the predetermined method 1 is changed to K 1 = (K 3 ′) −1 K 0
And the predetermined method 2 is K 3 = K 3
And the predetermined method 7 is Res = e (K tmp , U) ^ K 3
It is good. However, since the formula (1) is established in the pairing e,
Res = e (K 3 K tmp , U) or Res = e (K tmp , K 3 U)
The response Res may be obtained as follows.

第3の例では、所定の方法3を、H(gID )を共通鍵として平文Mを暗号化し、暗号化情報Vを求めてもよい。この場合は、所定の方法6は、H(W)を共通鍵として暗号化情報Vを平文M’に復号するとすればよい。 In the third example, the encrypted information V may be obtained by encrypting the plaintext M with the predetermined method 3 using H (g ID r ) as a common key. In this case, the predetermined method 6 may be performed by decrypting the encrypted information V into plaintext M ′ using H (W) as a common key.

[受信用秘密鍵Kと代理計算用秘密鍵Kの更新]
図4に受信用秘密鍵Kと代理計算用秘密鍵Kを更新するときの処理フローを示す。受信装置200が、鍵生成装置400に鍵の再発行を要求する(S214)。鍵生成装置400の鍵分割部420は、新しい分割用乱数K3new’を0以上p−1以下の整数から選択し(S424)、秘密鍵Kと新しい分割用乱数K3new’を用いて所定の方法1にしたがって新しい受信用秘密鍵K1newを求める(S422)。なお、新しい分割用乱数K3new’は、0以上p−1以下の整数からランダムに選択してもよいし、あらかじめ定めた方法で選択してもよい。鍵配布部430は、新しい分割用乱数K3new’を用いて所定の方法2で新しい代理計算用秘密鍵K3newを求める(S434)。そして、新しい受信用秘密鍵K1newを受信装置に送信し、新しい代理計算用秘密鍵K3newを代理計算装置に送信する(S435)。復号記録部290は、受信用秘密鍵Kを新しい受信用秘密鍵K1newに更新する(S292)。代理記録部390は、代理計算用秘密鍵Kを新しい代理計算用秘密鍵K3newに更新する(S392)。
[Renewal of private key K 1 for reception and private key K 3 for proxy calculation]
FIG. 4 shows a processing flow for updating the reception private key K 1 and the proxy calculation private key K 3 . The receiving device 200 requests the key generation device 400 to reissue a key (S214). The key splitting unit 420 of the key generation device 400 selects a new split random number K 3new ′ from an integer between 0 and p−1 (S424), and uses the secret key K 0 and the new split random number K 3new ′ to determine A new reception secret key K 1new is obtained according to method 1 of (S422). The new dividing random number K 3new ′ may be randomly selected from an integer of 0 or more and p−1 or less, or may be selected by a predetermined method. The key distribution unit 430 obtains a new proxy calculation private key K 3new by the predetermined method 2 using the new division random number K 3new ′ (S434). Then, the new reception secret key K 1new is transmitted to the reception device, and the new proxy calculation secret key K 3new is transmitted to the proxy calculation device (S435). Decoding the recording unit 290 updates the received secret key K 1 to the new receiving secret key K 1new (S292). Proxy recording unit 390, to update the proxy calculation for the secret key K 3 to the new proxy calculation for the secret key K 3new (S392).

実施例1の暗号化システムによれば、「秘密鍵Kから複数の復号鍵(受信用秘密鍵K,代理計算用秘密鍵K)を生成する方式」と「鍵を伴う一部の演算機能のリソースを外部装置(代理計算装置)に安全に代行させる方式」を組み合わせて構成する。したがって、属性情報のような公開された情報をもとに秘密鍵を生成する暗号方式であっても、公開鍵を変更することなく復号鍵を再発行・更新できる。 According to the encryption system of the first embodiment, “a method for generating a plurality of decryption keys (reception secret key K 1 , proxy calculation secret key K 3 ) from the secret key K 0 ” It is configured by combining a “method for safely substituting resources for computing functions to an external device (proxy computing device)”. Therefore, even with an encryption method that generates a secret key based on public information such as attribute information, a decryption key can be reissued / updated without changing the public key.

実施例2の暗号化システムの構成例も図1に示す。図5に実施例2の暗号化システムの秘密鍵を配布する処理フローを、図3に暗号文の生成から復号までの処理フローを示す。実施例2の暗号化システムも、送信装置100、受信装置200、代理計算装置300、鍵生成装置400で構成される。   A configuration example of the encryption system of the second embodiment is also shown in FIG. FIG. 5 shows a processing flow for distributing the secret key of the encryption system of the second embodiment, and FIG. 3 shows a processing flow from generation of ciphertext to decryption. The encryption system according to the second embodiment also includes a transmission device 100, a reception device 200, a proxy calculation device 300, and a key generation device 400.

以下の説明でも、kは大きな整数、pはkビットの素数、Gは位数pの巡回加算群、Gは位数pの巡回群、eはG×G→Gのように写像する双線形ペアリング関数、Hは群Gの元をnビットのビット列に写像するハッシュ関数を示す記号、Pは群Gの生成元、sは鍵生成装置400が生成した0以上p−1以下の整数、PPub=sP、(P,PPub)は公開パラメータ、MaptoPointG1は任意長のビット列を群Gの元に写像する関数、IDは任意長のビット列、QID=MaptoPointG1(ID)、(+)はビット単位の排他的論理和を示す記号、^はべき乗を示す記号とする。なお、IDとして受信装置200の属性を示すビット列を用いてもよい。 In the following description, k is a large integer, p is a prime number of k bits, G 1 is a cyclic addition group of order p, G 2 is a cyclic group of order p, and e is G 1 × G 1 → G 2 Bi is a bilinear pairing function that maps to H, H is a symbol indicating a hash function that maps an element of group G 2 to an n-bit bit string, P is a generator of group G 1 , and s is 0 or more generated by key generator 400 An integer less than or equal to p−1, P Pub = sP, (P, P Pub ) is a public parameter, MaptoPoint G1 is a function that maps an arbitrary length bit string to the group G 1 , ID is an arbitrary length bit string, Q ID = MaptoPoint G1 (ID), (+) is a symbol indicating a bitwise exclusive OR, and ^ is a symbol indicating a power. Note that a bit string indicating the attribute of the receiving apparatus 200 may be used as the ID.

送信装置100は、暗号化部110と暗号化記録部190を備える。受信装置200は、属性送信部210、リクエスト作成部220、復号部230、保護用秘密鍵更新部240、復号記録部290を備える。代理計算装置300は、レスポンス作成部310、代理計算用秘密鍵更新部320、代理記録部390を備える。鍵生成装置400は、鍵生成部410、鍵分割部420、鍵配布部430、鍵生成記録部490を備える。以下に、処理フローを説明しながら、これらの構成部の機能を説明する。   The transmission device 100 includes an encryption unit 110 and an encryption recording unit 190. The receiving apparatus 200 includes an attribute transmission unit 210, a request creation unit 220, a decryption unit 230, a protection private key update unit 240, and a decryption recording unit 290. The proxy calculation device 300 includes a response creation unit 310, a proxy calculation private key update unit 320, and a proxy recording unit 390. The key generation device 400 includes a key generation unit 410, a key division unit 420, a key distribution unit 430, and a key generation recording unit 490. The functions of these components will be described below while explaining the processing flow.

[秘密鍵を配布する処理フロー、暗号文の生成から復号まで]
受信装置200の属性送信部210は、ビット列IDを鍵生成装置400に送信する(S211)。なお、ビット列IDは、A社の社員、20歳以上などの単独の属性情報でもよいし、A社の社員かつ男性、20歳以上または女性のような属性情報の論理式を示す情報でもよい。鍵生成装置400の鍵生成部410は、秘密鍵K
=sQID
のように求める(S410)。
[Process flow for distributing private key, from generation to decryption of ciphertext]
The attribute transmission unit 210 of the reception device 200 transmits the bit string ID to the key generation device 400 (S211). The bit string ID may be individual attribute information such as an employee of company A, 20 years or older, or may be information indicating a logical expression of attribute information such as an employee of company A, male, 20 years of age or older, or female. The key generation unit 410 of the key generation device 400 uses the secret key K 0 as K 0 = sQ ID.
(S410).

鍵分割部420は、分割用乱数K’を0以上p−1以下の整数から選択し(S421)、秘密鍵Kと分割用乱数K’を用いて所定の方法1にしたがって受信用秘密鍵Kを求める(S422)。なお、分割用乱数K’は、0以上p−1以下の整数からランダムに選択することが望ましいが、あらかじめ定めた他の方法で選択してもよい。鍵配布部430は、分割用乱数K’を用いて所定の方法2で代理計算用秘密鍵Kを求める。本実施例の所定の方法2では、保護用秘密鍵Kを0以上p−1以下の整数から選択する(S431)。分割用乱数K’と保護用秘密鍵Kを用いて所定の方法2’にしたがって代理計算用秘密鍵Kを求める(S432)。なお、保護用秘密鍵Kは、鍵配布部430が単純に乱数として求める方法以外に、次のように求めてもよい。鍵配布部430が受信装置200から保護用秘密鍵Kを求めるための情報Passを受信する。そして、鍵配布部430が情報Passを用いて保護用秘密鍵Kを求めてもよい。例えば、情報Passとハッシュ関数を用いて保護用秘密鍵Kを求めてもよいし、情報Pass自体を保護用秘密鍵Kとしてもよい。また、情報Passとして、例えば受信装置200の利用者(受信者)が設定したパスワードを用いてもよい。また、保護用秘密鍵Kは、0以上p−1以下の整数からランダムに選択することが望ましいが、あらかじめ定めた他の方法で選択してもよい。 The key splitting unit 420 selects a split random number K 3 ′ from integers between 0 and p−1 (S421), and uses the secret key K 0 and the split random number K 3 ′ for reception according to the predetermined method 1. seek the secret key K 1 (S422). The dividing random number K 3 ′ is desirably selected at random from an integer of 0 or more and p−1 or less, but may be selected by another predetermined method. The key distribution unit 430 obtains the proxy calculation secret key K 3 by the predetermined method 2 using the dividing random number K 3 ′. In certain methods 2 of the present embodiment, the protective secret key K 2 selected from 0 or p-1 an integer (S431). A proxy calculation secret key K 3 is obtained according to a predetermined method 2 ′ using the split random number K 3 ′ and the protection secret key K 2 (S432). The protective secret key K 2 is other than the method key distribution unit 430 obtains a simply random, may be determined as follows. The key distribution unit 430 receives information Pass for obtaining the protection secret key K 2 from the receiving device 200. Then, the key distribution unit 430 may seek protection for the private key K 2 with the information Pass. For example, it may be obtained with a protective secret key K 2 with the information Pass and the hash function, the information Pass itself may protect secret key K 2. Further, as the information Pass, for example, a password set by a user (recipient) of the receiving device 200 may be used. The protective secret key K 2, it is desirable to randomly selected from 0 or p-1 an integer, may be selected in a predetermined other methods.

鍵配布部430は、受信用秘密鍵Kと保護用秘密鍵Kを受信装置200に送信し、代理計算用秘密鍵Kを代理計算装置300に送信する(S433)。受信装置200の復号記録部290は、受信用秘密鍵Kと保護用秘密鍵Kを記録する(S291)。なお、復号記録部290は、物理的に別の2つ以上の記録装置で構成してもよい。例えば、復号記録部290をICカードとパソコンのハードディスクで構成してもよい。そして、受信用秘密鍵KをICカードに記録し、保護用秘密鍵Kをパソコンのハードディスクに記録するようにしてもよい。このように物理的に別々に受信用秘密鍵Kと保護用秘密鍵Kを記録すれば、両方を同時に漏洩・紛失するリスクを低減できる。また、後述の鍵の更新でも、漏洩・紛失した鍵のみを更新すればよくなる。代理計算装置300の代理記録部390は、代理計算用秘密鍵Kを記録する(S391)。 Key distribution unit 430 transmits the received secret key K 1 and the protective secret key K 2 to the receiving apparatus 200 transmits the proxy calculation secret key K 3 to the proxy computing device 300 (S433). Decoding the recording unit 290 of the receiving apparatus 200 records the received secret key K 1 and the protective secret key K 2 (S291). Note that the decryption recording unit 290 may be configured by two or more physically different recording devices. For example, the decryption / recording unit 290 may be composed of an IC card and a personal computer hard disk. Then, record the receiving secret key K 1 to the IC card, may be recorded in a protective secret key K 2 in the computer's hard disk. Thus physically separately records the received secret key K 1 and the protective secret key K 2, both simultaneously reduce the risk of leakage or lost. In addition, only the leaked / lost key needs to be updated even in the key update described later. Proxy recording unit 390 of the proxy computing device 300 records the proxy calculation secret key K 3 (S391).

属性送信部210は、ビット列IDを送信装置100に送信する(S212)。送信装置100の暗号化部110は、乱数rを0以上p−1以下の整数から選択し、乱数情報UをU=rPのように計算する。なお、乱数rは、0以上p−1以下の整数からランダムに選択することが望ましいが、あらかじめ定めた他の方法で選択してもよい。また、暗号化部110は、
ID=e(QID,PPub
を計算し、H(gID )を用いて所定の方法3で平文Mを暗号化して暗号化情報Vを求める。そして、暗号化部110は、乱数情報Uと暗号化情報Vを含む情報を暗号文Cとして出力する(S110)。
The attribute transmission unit 210 transmits the bit string ID to the transmission device 100 (S212). The encryption unit 110 of the transmission device 100 selects the random number r from an integer between 0 and p−1 and calculates the random number information U as U = rP. The random number r is desirably selected at random from an integer of 0 or more and p−1 or less, but may be selected by another predetermined method. In addition, the encryption unit 110
g ID = e (Q ID , P Pub )
And the plaintext M is encrypted by the predetermined method 3 using H (g ID r ) to obtain the encrypted information V. Then, the encryption unit 110 outputs information including the random number information U and the encryption information V as the ciphertext C (S110).

受信装置200のリクエスト作成部220は、受信用秘密鍵Kと乱数情報Uを用いて所定の方法4でリクエストReqを作成する(S222)。なお、リクエスト作成部220は、乱数rtmpを0以上p−1以下の整数から選択し(S221)、ステップS222の所定の方法4で乱数rtmpも用いてもよい。このようにすることで、受信用秘密鍵Kに関する情報を隠蔽できる。なお、乱数rtmpは、0以上p−1以下の整数からランダムに選択することが望ましいが、あらかじめ定めた他の方法で選択してもよい。 Request creation unit 220 of the receiving device 200 generates a request Req to a predetermined method 4 using the received secret key K 1 and the random number information U (S222). Note that the request creation unit 220 may select the random number r tmp from an integer between 0 and p−1 (S221), and may also use the random number r tmp in the predetermined method 4 in step S222. In this way, it concealed the information about the received secret key K 1. The random number r tmp is desirably selected at random from an integer of 0 or more and p−1 or less, but may be selected by another predetermined method.

代理計算装置300のレスポンス作成部310は、リクエストReqに対して、所定の方法1と所定の方法2と所定の方法4に対応した方法である所定の方法7にしたがって代理計算用秘密鍵Kを用いた計算を行ってレスポンスResを求める(S310)。受信装置200の復号部230は、代理計算装置300から受信したレスポンスResを用いて所定の方法2と所定の方法4に対応した方法である所定の方法5にしたがってgID の値Wを求める。そして、H(W)を用いて所定の方法3に対応した方法である所定の方法6にしたがって暗号化情報Vを復号して平文M’に復号する(S230)。 Proxy response creation unit 310 of the computing device 300, the request Req, predetermined methods 1 and predetermined manner 2 and proxy calculation secret key K 3 according to a predetermined method 7 is a method corresponding to the predetermined method 4 A response Res is obtained by calculating using (S310). The decrypting unit 230 of the receiving device 200 uses the response Res received from the proxy computing device 300 to obtain the value W of g ID r according to the predetermined method 5 that is a method corresponding to the predetermined method 2 and the predetermined method 4. . Then, the encrypted information V is decrypted according to a predetermined method 6 that is a method corresponding to the predetermined method 3 using H (W), and is decrypted into plain text M ′ (S230).

次に、上述の所定の方法1〜7について説明する。所定の方法1〜7は「秘密鍵Kから複数の復号鍵(受信用秘密鍵K,保護用秘密鍵K,代理計算用秘密鍵K)を生成する方式」と「鍵を伴う一部の演算機能のリソースを外部装置(代理計算装置)に安全に代行させる方式」を組み合わせて構成するために互いに対応していればよい。例えば、以下に示すような組み合わせがあり得る。ただし、「秘密鍵Kから複数の復号鍵(受信用秘密鍵K,保護用秘密鍵K,代理計算用秘密鍵K)を生成する方式」と「鍵を伴う一部の演算機能のリソースを外部装置(代理計算装置)に安全に代行させる方式」とが機能する範囲ならば、これらの組み合わせに限定する必要はない。 Next, the predetermined methods 1 to 7 will be described. The predetermined methods 1 to 7 include “a method for generating a plurality of decryption keys (reception secret key K 1 , protection secret key K 2 , proxy calculation secret key K 3 ) from the secret key K 0 ” and “with key It is only necessary to correspond to each other in order to configure a combination of “methods for safely substituting resources for some arithmetic functions to an external device (proxy computing device)”. For example, the following combinations are possible. However, “a method for generating a plurality of decryption keys (reception secret key K 1 , protection secret key K 2 , proxy calculation secret key K 3 ) from the secret key K 0 ” and “partial calculation function with key” It is not necessary to limit to these combinations as long as the “method of safely substituting resources for the external device (proxy computing device)” functions.

[所定の方法の組み合わせ2−1]
所定の方法1では、受信用秘密鍵K
=K’K
のように求める。所定の方法2’では、代理計算用秘密鍵K
=(K’)−1
のように求める。所定の方法3では、暗号化情報Vを
V=M(+)H(gID
のように求める。所定の方法4では、リクエストReqを
Req=e(K,U)
のように求める。所定の方法5では、値Wを
W=Res^K
のように求める。所定の方法6では、平文M’を
M’=V(+)H(W)
のように求める。所定の方法7では、レスポンスResを
Res=Req^K
のように求める。
[Combination 2-1 of predetermined methods]
In the predetermined method 1, the reception private key K 1 is set to K 1 = K 3 'K 0
Seek like. In the predetermined method 2 ′, the proxy calculation private key K 3 is set to K 3 = (K 2 K 3 ′) −1.
Seek like. In the predetermined method 3, the encryption information V is expressed as V = M (+) H (g ID r )
Seek like. In the predetermined method 4, the request Req is req = e (K 1 , U)
Seek like. In the predetermined method 5, the value W is set to W = Res ^ K 2
Seek like. In the predetermined method 6, plaintext M ′ is changed to M ′ = V (+) H (W)
Seek like. In the predetermined method 7, the response Res is Res = Req ^ K 3
Seek like.

なお、上述の所定の方法の組み合わせの一部を以下の例ように変更してもよい。   A part of the combination of the predetermined methods described above may be changed as in the following example.

第1の例では、所定の方法2’を
=(K−1
とし、所定の方法7を
Res=Req^(K −1
としてもよい。
In the first example, the predetermined method 2 ′ is changed to K 3 = (K 2 ) −1 K 3 ′.
And the predetermined method 7 is Res = Req ^ (K 3 −1 )
It is good.

第2の例では、所定の方法1を
=(K’)−1
とし、所定の方法2’を
=(K−1
とし、所定の方法7を
Res=Req^K
としてもよい。
In the second example, the predetermined method 1 is changed to K 1 = (K 3 ′) −1 K 0
And the predetermined method 2 ′ is K 3 = (K 2 ) −1 K 3
And the predetermined method 7 is Res = Req ^ K 3
It is good.

第3の例では、所定の方法3を、H(gID )を共通鍵として平文Mを暗号化し、暗号化情報Vを求めてもよい。この場合は、所定の方法6は、H(W)を共通鍵として暗号化情報Vを平文M’に復号するとすればよい。 In the third example, the encrypted information V may be obtained by encrypting the plaintext M with the predetermined method 3 using H (g ID r ) as a common key. In this case, the predetermined method 6 may be performed by decrypting the encrypted information V into plaintext M ′ using H (W) as a common key.

[所定の方法の組み合わせ2−2]
所定の方法1では、受信用秘密鍵K
=K’K
のように求める。所定の方法2’では、代理計算用秘密鍵K
=(K’)−1
のように求める。所定の方法3では、暗号化情報Vを
V=M(+)H(gID
のように求める。所定の方法4では、リクエストReqを受信用秘密鍵Kと乱数情報Uを含む情報とする。所定の方法5では、値Wを
W=Res^K
のように求める。所定の方法6では、平文M’を
M’=V(+)H(W)
のように求める。所定の方法7では、レスポンスResを
Res=e(K,U)^K
のように求める。ただし、ペアリングeでは式(1)が成り立つので、
Res=e(K,U) または Res=e(K,KU)
のようにレスポンスResを求めてもよい。
[Combination 2-2 of predetermined methods]
In the predetermined method 1, the reception private key K 1 is set to K 1 = K 3 'K 0
Seek like. In the predetermined method 2 ′, the proxy calculation private key K 3 is set to K 3 = (K 2 K 3 ′) −1.
Seek like. In certain methods 3, the encrypted information V V = M (+) H (g ID r)
Seek like. In certain methods 4, the information including the received secret key K 1 and the random number information U request Req. In the predetermined method 5, the value W is set to W = Res ^ K 2
Seek like. In the predetermined method 6, plaintext M ′ is changed to M ′ = V (+) H (W)
Seek like. In the predetermined method 7, the response Res is Res = e (K 1 , U) ^ K 3
Seek like. However, since the formula (1) is established in the pairing e,
Res = e (K 3 K 1 , U) or Res = e (K 1 , K 3 U)
The response Res may be obtained as follows.

なお、上述の所定の方法の組み合わせの一部を以下の例ように変更してもよい。   A part of the combination of the predetermined methods described above may be changed as in the following example.

第1の例では、所定の方法2’を
=(K−1
とし、所定の方法7を
Res=e(K,U)^(K −1
としてもよい。ただし、ペアリングeでは式(1)が成り立つので、
Res=e((K −1)K,U) または Res=e(K,(K −1)U)
のようにレスポンスResを求めてもよい。
In the first example, the predetermined method 2 ′ is changed to K 3 = (K 2 ) −1 K 3 ′.
And the predetermined method 7 is Res = e (K 1 , U) ^ (K 3 −1 )
It is good. However, since the formula (1) is established in the pairing e,
Res = e ((K 3 −1 ) K 1 , U) or Res = e (K 1 , (K 3 −1 ) U)
The response Res may be obtained as follows.

第2の例では、所定の方法1を
=(K’)−1
とし、所定の方法2’を
=(K−1
とし、所定の方法7を
Res=e(K,U)^K
としてもよい。ただし、ペアリングeでは式(1)が成り立つので、
Res=e(K,U) または Res=e(K,KU)
のようにレスポンスResを求めてもよい。
In the second example, the predetermined method 1 is changed to K 1 = (K 3 ′) −1 K 0
And the predetermined method 2 ′ is K 3 = (K 2 ) −1 K 3
And the predetermined method 7 is Res = e (K 1 , U) ^ K 3
It is good. However, since the formula (1) is established in the pairing e,
Res = e (K 3 K 1 , U) or Res = e (K 1 , K 3 U)
The response Res may be obtained as follows.

第3の例では、所定の方法3を、H(gID )を共通鍵として平文Mを暗号化し、暗号化情報Vを求めてもよい。この場合は、所定の方法6は、H(W)を共通鍵として暗号化情報Vを平文M’に復号するとすればよい。 In the third example, the encrypted information V may be obtained by encrypting the plaintext M with the predetermined method 3 using H (g ID r ) as a common key. In this case, the predetermined method 6 may be performed by decrypting the encrypted information V into plaintext M ′ using H (W) as a common key.

[所定の方法の組み合わせ2−3]
所定の方法1では、受信用秘密鍵K
=K’K
のように求める。所定の方法2’では、代理計算用秘密鍵K
=(K’)−1
のように求める。所定の方法3では、暗号化情報Vを
V=M(+)H(gID
のように求める。所定の方法4では、リクエスト作成部220が、乱数rtmpを0以上p−1以下の整数から選択し(S221)、リクエストReqを
Req=e(rtmp,U)
のように求める。ただし、ペアリングeでは式(1)が成り立つので、
Req=e(K,U)^rtmp
のようにリクエストReqを求めてもよい。所定の方法5では、値Wを
W=Res^(rtmp −1
のように求める。所定の方法6では、平文M’を
M’=V(+)H(W)
のように求める。所定の方法7では、レスポンスResを
Res=Req^K
のように求める。
[Combination 2-3 of predetermined methods]
In the predetermined method 1, the reception private key K 1 is set to K 1 = K 3 'K 0
Seek like. In the predetermined method 2 ′, the proxy calculation private key K 3 is set to K 3 = (K 2 K 3 ′) −1.
Seek like. In the predetermined method 3, the encryption information V is expressed as V = M (+) H (g ID r )
Seek like. In the predetermined method 4, the request creation unit 220 selects a random number r tmp from integers between 0 and p−1 (S221), and requests Req as Req = e (r tmp K 1 , U).
Seek like. However, since the formula (1) is established in the pairing e,
Req = e (K 1 , U) ^ r tmp
The request Req may be obtained as follows. In the predetermined method 5, the value W is set to W = Res ^ (r tmp −1 K 2 )
Seek like. In the predetermined method 6, plaintext M ′ is changed to M ′ = V (+) H (W)
Seek like. In the predetermined method 7, the response Res is Res = Req ^ K 3
Seek like.

なお、この組み合わせのときは、所定の組み合わせ1−1と同じように一部を変更してもよい。   In this combination, a part of the combination may be changed in the same manner as the predetermined combination 1-1.

[所定の方法の組み合わせ2−4]
所定の方法1では、受信用秘密鍵K
=K’K
のように求める。所定の方法2’では、代理計算用秘密鍵K
=(K’)−1
のように求める。所定の方法3では、暗号化情報Vを
V=M(+)H(gID
のように求める。所定の方法4では、リクエスト作成部220が、乱数rtmpを0以上p−1以下の整数から選択し(S221)、隠蔽鍵Ktmp
tmp=rtmp
を求め、リクエストReqを隠蔽鍵Ktmpと乱数情報Uを含む情報とする。所定の方法5では、値Wを
W=Res^(rtmp −1
のように求める。所定の方法6では、平文M’を
M’=V(+)H(W)
のように求める。所定の方法7では、レスポンスResを
Res=e(Ktmp,U)^K
のように求める。ただし、ペアリングeでは式(1)が成り立つので、
Res=e(Ktmp,U) または Res=e(Ktmp,KU)
のようにレスポンスResを求めてもよい。
[Combination of predetermined methods 2-4]
In the predetermined method 1, the reception private key K 1 is set to K 1 = K 3 'K 0
Seek like. In the predetermined method 2 ′, the proxy calculation private key K 3 is set to K 3 = (K 2 K 3 ′) −1.
Seek like. In the predetermined method 3, the encryption information V is expressed as V = M (+) H (g ID r )
Seek like. In the predetermined method 4, the request creation unit 220 selects a random number r tmp from integers between 0 and p−1 (S221), and sets the concealment key K tmp as K tmp = r tmp K 1
And the request Req is information including the concealment key K tmp and the random number information U. In the predetermined method 5, the value W is set to W = Res ^ (r tmp −1 K 2 )
Seek like. In the predetermined method 6, plaintext M ′ is changed to M ′ = V (+) H (W)
Seek like. In the predetermined method 7, the response Res is Res = e (K tmp , U) ^ K 3.
Seek like. However, since the formula (1) is established in the pairing e,
Res = e (K 3 K tmp , U) or Res = e (K tmp , K 3 U)
The response Res may be obtained as follows.

なお、上述の所定の方法の組み合わせの一部を以下の例ように変更してもよい。   A part of the combination of the predetermined methods described above may be changed as in the following example.

第1の例では、所定の方法2’を
=(K−1
とし、所定の方法7を
Res=e(Ktmp,U)^(K −1
としてもよい。ただし、ペアリングeでは式(1)が成り立つので、
Res=e((K −1)Ktmp,U) または Res=e(Ktmp,(K −1)U)
のようにレスポンスResを求めてもよい。
In the first example, the predetermined method 2 ′ is changed to K 3 = (K 2 ) −1 K 3 ′.
And the predetermined method 7 is Res = e (K tmp , U) ^ (K 3 −1 )
It is good. However, since the formula (1) is established in the pairing e,
Res = e ((K 3 −1 ) K tmp , U) or Res = e (K tmp , (K 3 −1 ) U)
The response Res may be obtained as follows.

第2の例では、所定の方法1を
=(K’)−1
とし、所定の方法2’を
=(K−1
とし、所定の方法7を
Res=e(Ktmp,U)^K
としてもよい。ただし、ペアリングeでは式(1)が成り立つので、
Res=e(Ktmp,U) または Res=e(Ktmp,KU)
のようにレスポンスResを求めてもよい。
In the second example, the predetermined method 1 is changed to K 1 = (K 3 ′) −1 K 0
And the predetermined method 2 ′ is K 3 = (K 2 ) −1 K 3
And the predetermined method 7 is Res = e (K tmp , U) ^ K 3
It is good. However, since the formula (1) is established in the pairing e,
Res = e (K 3 K tmp , U) or Res = e (K tmp , K 3 U)
The response Res may be obtained as follows.

第3の例では、所定の方法3を、H(gID )を共通鍵として平文Mを暗号化し、暗号化情報Vを求めてもよい。この場合は、所定の方法6は、H(W)を共通鍵として暗号化情報Vを平文M’に復号するとすればよい。 In the third example, the encrypted information V may be obtained by encrypting the plaintext M with the predetermined method 3 using H (g ID r ) as a common key. In this case, the predetermined method 6 may be performed by decrypting the encrypted information V into plaintext M ′ using H (W) as a common key.

[受信用秘密鍵Kと代理計算用秘密鍵Kの更新1]
図6に受信用秘密鍵Kと代理計算用秘密鍵Kを更新するときであって、保護用秘密鍵Kを送信する場合の処理フローを示す。受信装置200が、鍵生成装置400に保護用秘密鍵Kを送信し、鍵の再発行を要求する(S213)。鍵生成装置400の鍵分割部420は、新しい分割用乱数K3new’を0以上p−1以下の整数から選択し(S424)、秘密鍵Kと新しい分割用乱数K3new’を用いて所定の方法1にしたがって新しい受信用秘密鍵K1newを求める(S422)。なお、新しい分割用乱数K3new’は、0以上p−1以下の整数からランダムに選択することが望ましいが、あらかじめ定めた他の方法で選択してもよい。鍵配布部430は、新しい分割用乱数K3new’と受信した保護用秘密鍵Kを用いて所定の方法2’にしたがって新しい代理計算用秘密鍵K3newを求める(S432)。そして、新しい受信用秘密鍵K1newを前記受信装置に送信し、新しい代理計算用秘密鍵K3newを前記代理計算装置に送信する(S435)。復号記録部290は、受信用秘密鍵Kを新しい受信用秘密鍵K1newに更新する(S292)。代理記録部390は、代理計算用秘密鍵Kを新しい代理計算用秘密鍵K3newに更新する(S392)。
[Renewal 1 of the private key K 1 for reception and the private key K 3 for proxy calculation]
A is time to update the received secret key K 1 as a proxy calculation secret key K 3 in FIG. 6 shows a processing flow for transmitting a protected private key K 2. Receiving apparatus 200 transmits a protective secret key K 2 to the key generation device 400, it requests a reissue of a key (S213). The key splitting unit 420 of the key generation device 400 selects a new split random number K 3new ′ from an integer between 0 and p−1 (S424), and uses the secret key K 0 and the new split random number K 3new ′ to determine A new reception secret key K 1new is obtained according to method 1 of (S422). The new dividing random number K 3new ′ is desirably selected at random from an integer of 0 or more and p−1 or less, but may be selected by another predetermined method. The key distribution unit 430 obtains a new proxy calculation secret key K 3new according to a predetermined method 2 ′ using the new split random number K 3new ′ and the received protection secret key K 2 (S432). Then, a new reception secret key K 1new is transmitted to the reception device, and a new proxy calculation secret key K 3new is transmitted to the proxy calculation device (S435). Decoding the recording unit 290 updates the received secret key K 1 to the new receiving secret key K 1new (S292). Proxy recording unit 390, to update the proxy calculation for the secret key K 3 to the new proxy calculation for the secret key K 3new (S392).

[受信用秘密鍵Kと代理計算用秘密鍵Kの更新2]
図7に受信用秘密鍵Kと代理計算用秘密鍵Kを更新するときであって、保護用秘密鍵Kを求めるための情報Passを送信する場合の処理フローを示す。受信装置200が、鍵生成装置400に保護用秘密鍵Kを求めるための情報Passを送信し、鍵の再発行を要求する(S215)。鍵生成装置400の鍵分割部420は、新しい分割用乱数K3new’を0以上p−1以下の整数から選択し(S424)、秘密鍵Kと新しい分割用乱数K3new’を用いて所定の方法1にしたがって新しい受信用秘密鍵K1newを求める(S422)。なお、新しい分割用乱数K3new’は、0以上p−1以下の整数からランダムに選択することが望ましいが、あらかじめ定めた他の方法で選択してもよい。鍵配布部430は、情報Passから保護用秘密鍵Kを求め、新しい分割用乱数K3new’と保護用秘密鍵Kを用いて前記所定の方法2’にしたがって新しい代理計算用秘密鍵K3newを求める(S432’)。例えば、情報Passとハッシュ関数を用いて保護用秘密鍵Kを求めてもよいし、情報Pass自体を保護用秘密鍵Kとしてもよい。そして、新しい受信用秘密鍵K1newを前記受信装置に送信し、新しい代理計算用秘密鍵K3newを前記代理計算装置に送信する(S435)。復号記録部290は、受信用秘密鍵Kを新しい受信用秘密鍵K1newに更新する(S292)。代理記録部390は、代理計算用秘密鍵Kを新しい代理計算用秘密鍵K3newに更新する(S392)。
[Update 2 of receiving secret key K 1 as a proxy calculation for the secret key K 3]
A is time to update the received secret key K 1 as a proxy calculation secret key K 3 in FIG. 7 shows a processing flow for transmitting information Pass to seek protection for the private key K 2. Receiving device 200 may transmit information Pass to seek protection for the private key K 2 to the key generation device 400, it requests a reissue of a key (S215). The key splitting unit 420 of the key generation device 400 selects a new split random number K 3new ′ from an integer between 0 and p−1 (S424), and uses the secret key K 0 and the new split random number K 3new ′ to determine A new reception secret key K 1new is obtained according to method 1 of (S422). The new dividing random number K 3new ′ is desirably selected at random from an integer of 0 or more and p−1 or less, but may be selected by another predetermined method. The key distribution unit 430 obtains a protection secret key K 2 from the information Pass, and uses the new split random number K 3new ′ and the protection secret key K 2 to create a new proxy calculation secret key K according to the predetermined method 2 ′. 3new is obtained (S432 '). For example, it may be obtained with a protective secret key K 2 with the information Pass and the hash function, the information Pass itself may protect secret key K 2. Then, a new reception secret key K 1new is transmitted to the reception device, and a new proxy calculation secret key K 3new is transmitted to the proxy calculation device (S435). Decoding the recording unit 290 updates the received secret key K 1 to the new receiving secret key K 1new (S292). Proxy recording unit 390, to update the proxy calculation for the secret key K 3 to the new proxy calculation for the secret key K 3new (S392).

[保護用秘密鍵Kの更新]
図8に保護用秘密鍵Kを更新するときの処理フローを示す。受信装置200の保護用秘密鍵更新部240は、新しい保護用秘密鍵K2newを0以上p−1以下の整数から選択する(S241)。例えば、受信者が新しい情報Passを設定し、その情報Passとハッシュ関数を用いて保護用秘密鍵K2newを求めてもよいし、その情報Pass自体を保護用秘密鍵K2newとしてもよい。また、新しい保護用秘密鍵K2newは、0以上p−1以下の整数から上記のようにランダムに選択することが望ましいが、あらかじめ定めた他の方法で選択してもよい。次に、保護用秘密鍵更新部240は、所定の方法2’に対応した所定の方法8にしたがって復号記録部が記録している保護用秘密鍵Kと新しい保護用秘密鍵K2newとの違いに応じた値であるアップデータUpdを求め、アップデータUpdを代理計算装置に送る(S242)。
[Update of protection for the secret key K 2]
Figure 8 shows a processing flow when updating the protection secret key K 2. The protection private key update unit 240 of the reception device 200 selects a new protection secret key K 2new from integers of 0 to p−1 (S241). For example, the receiver may set new information Pass and use the information Pass and a hash function to obtain the protection secret key K 2new , or the information Pass itself may be used as the protection secret key K 2new . The new protective secret key K 2new is preferably selected at random from an integer of 0 or more and p−1 or less as described above, but may be selected by another predetermined method. Next, the protection private key updating unit 240 determines whether the protection private key K 2 recorded by the decryption recording unit and the new protection private key K 2new are recorded according to the predetermined method 8 corresponding to the predetermined method 2 ′. The updater Upd which is a value corresponding to the difference is obtained, and the updater Upd is sent to the proxy computing device (S242).

代理計算装置の代理計算用秘密鍵更新部320は、代理記録部390に記録している代理計算用秘密鍵KとアップデータUpdを用いて、所定の方法8に対応した所定の方法9にしたがって新しい代理計算用秘密鍵K3newを求める(S320)。復号記録部290は、保護用秘密鍵Kを新しい保護用秘密鍵K2newに更新する(S293)。代理記録部は、代理計算用秘密鍵Kを新しい代理計算用秘密鍵K3newに更新する(S293)。 The proxy calculation private key update unit 320 of the proxy calculation device uses the proxy calculation secret key K 3 and the updater Upd recorded in the proxy recording unit 390 according to the predetermined method 9 corresponding to the predetermined method 8. A new proxy calculation secret key K3new is obtained (S320). Decryption recording unit 290, to update the protection for the secret key K 2 to the new protection for the secret key K 2new (S293). Proxy recording unit updates the proxy calculation for the secret key K 3 to the new proxy calculation for the secret key K 3new (S293).

例えば、情報Passとして受信装置200の利用者(受信者)が設定したパスワードを用いれば、受信者がパスワードを変更するたびに、保護用秘密鍵Kと代理計算用秘密鍵Kを更新することも可能である。 For example, if a password set by the user (recipient) of the receiving apparatus 200 is used as the information Pass, the protection private key K 2 and the proxy calculation private key K 3 are updated each time the recipient changes the password. It is also possible.

また、例えば、所定の方法8では、アップデータUpdを
Upd=K2new −1
のように求める。そして、所定の方法9では、新しい代理計算用秘密鍵K3new
3new=Upd・K
のように求めればよい。所定の方法8と所定の方法9はこのように対応付けされた組み合わせであればよく、上述の方法に限定する必要はない。
Further, for example, in the predetermined method 8, the update data Upd is updated as Upd = K 2new −1 K 2.
Seek like. In the predetermined method 9, a new proxy calculation secret key K 3new is set to K 3new = Upd · K 3
You can ask as follows. The predetermined method 8 and the predetermined method 9 may be a combination associated with each other as described above, and need not be limited to the above-described method.

実施例2の暗号化システムによれば、「秘密鍵Kから複数の復号鍵(受信用秘密鍵K,保護用秘密鍵K,代理計算用秘密鍵K)を生成する方式」と「鍵を伴う一部の演算機能のリソースを外部装置(代理計算装置)に安全に代行させる方式」を組み合わせて構成する。したがって、属性情報のような公開された情報をもとに秘密鍵を生成する暗号方式であっても、公開鍵を変更することなく復号鍵を再発行・更新できる。 According to the encryption system of the second embodiment, “a method of generating a plurality of decryption keys (reception secret key K 1 , protection secret key K 2 , proxy calculation secret key K 3 ) from the secret key K 0 ” It is configured by combining a “method of safely substituting resources of some computation functions with keys to an external device (proxy computing device)”. Therefore, even with an encryption method that generates a secret key based on public information such as attribute information, a decryption key can be reissued / updated without changing the public key.

[プログラム、記録媒体]
上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
[Program, recording medium]
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. Needless to say, other modifications are possible without departing from the spirit of the present invention.

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

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

また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD−ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。   The program is distributed by selling, transferring, or lending a portable recording medium such as a DVD or CD-ROM in which the program is recorded. Furthermore, the program may be distributed by storing the program in a storage device of the server computer and transferring the program from the server computer to another computer via a network.

このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。   A computer that executes such a program first stores, for example, a program recorded on a portable recording medium or a program transferred from a server computer in its own storage device. When executing the process, the computer reads a program stored in its own recording medium and executes a process according to the read program. As another execution form of the program, the computer may directly read the program from a portable recording medium and execute processing according to the program, and the program is transferred from the server computer to the computer. Each time, the processing according to the received program may be executed sequentially. Also, the program is not transferred from the server computer to the computer, and the above-described processing is executed by a so-called ASP (Application Service Provider) type service that realizes the processing function only by the execution instruction and result acquisition. It is good. Note that the program in this embodiment includes information that is used for processing by an electronic computer and that conforms to the program (data that is not a direct command to the computer but has a property that defines the processing of the computer).

また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。   In this embodiment, the present apparatus is 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 can be used in the field of cryptographic communication.

100 送信装置 110 暗号化部
190 暗号化記録部 200 受信装置
210 属性送信部 220 リクエスト作成部
230 復号部 240 保護用秘密鍵更新部
290 復号記録部 300 代理計算装置
310 レスポンス作成部 320 代理計算用秘密鍵更新部
390 代理記録部 400 鍵生成装置
410 鍵生成部 420 鍵分割部
430 鍵配布部 490 鍵生成記録部
DESCRIPTION OF SYMBOLS 100 Transmission apparatus 110 Encryption part 190 Encryption recording part 200 Reception apparatus 210 Attribute transmission part 220 Request creation part 230 Decryption part 240 Protection private key update part 290 Decryption recording part 300 Proxy calculation apparatus 310 Response creation part 320 Secret for secret calculation Key update unit 390 Proxy recording unit 400 Key generation device 410 Key generation unit 420 Key division unit 430 Key distribution unit 490 Key generation recording unit

Claims (23)

少なくとも受信装置、代理計算装置を有する暗号化システムであって、
pは素数、Gは位数pの巡回加算群、Gは位数pの巡回群、eはG×G→Gのように写像する双線形ペアリング関数、Hは群Gの元をnビットのビット列に写像するハッシュ関数を示す記号、Pは群Gの生成元、sは0以上p−1以下の整数、PPub=sP、(P,PPub)は公開パラメータ、MaptoPointG1は任意長のビット列を群Gの元に写像する関数、IDは任意長のビット列、QID=MaptoPointG1(ID)、KはK=sQIDのように求められた秘密鍵、K’は0以上p−1以下の整数から選択された分割用乱数、Kは秘密鍵Kと分割用乱数K’を用いて所定の方法1で求められた受信用秘密鍵、Kは分割用乱数K’を用いて所定の方法2で求められた代理計算用秘密鍵、rは0以上p−1以下の整数から選択された乱数、UはU=rPのように求められた乱数情報、gIDはgID=e(QID,PPub)のように求められた値、VはH(gID )を用いて所定の方法3で平文Mを暗号化した暗号化情報であり、
前記受信装置は、
受信用秘密鍵Kを記録する復号記録部と、
受信用秘密鍵Kと乱数情報Uを用いて所定の方法4でリクエストReqを作成するリクエスト作成部と、
前記代理計算装置から受信したレスポンスResを用いて前記所定の方法2と前記所定の方法4に対応した方法である所定の方法5にしたがってgID の値Wを求め、H(W)を用いて前記所定の方法3に対応した方法である所定の方法6にしたがって暗号化情報Vを復号して平文M’に復号する復号部と、
を備え、
前記代理計算装置は、
代理計算用秘密鍵Kを記録する代理記録部と、
リクエストReqに対して、前記所定の方法1と前記所定の方法2と前記所定の方法4に対応した方法である所定の方法7にしたがって代理計算用秘密鍵Kを用いた計算を行ってレスポンスResを求めるレスポンス作成部と
を備える
暗号化システム。
An encryption system having at least a receiving device and a proxy computing device,
p is a prime number, G 1 is a cyclic addition group of order p, G 2 is a cyclic group of order p, e is a bilinear pairing function that maps as G 1 × G 1 → G 2 , and H is a group G A symbol indicating a hash function that maps an element of 2 to an n-bit bit string, P is a generator of the group G 1 , s is an integer of 0 to p−1, P Pub = sP, (P, P Pub ) is public parameter, MaptoPoint G1 function which maps a bit string of arbitrary length to the original group G 1, ID is arbitrary length bit string, Q ID = MaptoPoint G1 (ID ), K 0 was determined as K 0 = sQ ID The secret key, K 3 ′ is a random number for division selected from an integer between 0 and p−1, and K 1 is for reception obtained by the predetermined method 1 using the secret key K 0 and the random number for division K 3 ′. secret key, K 3 is representative calculation secret key obtained by a predetermined method 2 using the divided random number K 3 ', r is 0 Random number chosen from the upper p-1 an integer, U is U = random number information obtained as rP, g ID is g ID = e (Q ID, P Pub) values were obtained as, V Is encrypted information obtained by encrypting plaintext M by a predetermined method 3 using H (g ID r ),
The receiving device is:
A decryption recording unit for recording the reception private key K 1 ;
A request creation unit that creates a request Req by a predetermined method 4 using the reception secret key K 1 and the random number information U;
Using the response Res received from the proxy computing device, the value W of g ID r is obtained according to the predetermined method 2 corresponding to the predetermined method 2 and the predetermined method 4, and H (W) is used. A decryption unit that decrypts the encrypted information V into plaintext M ′ according to the predetermined method 6 that is a method corresponding to the predetermined method 3;
With
The proxy computing device is:
And proxy recording unit for recording the proxy calculation for the secret key K 3,
The request Req, response by performing a calculation using a proxy calculation secret key K 3 according to the predetermined method 1 and predetermined manner 7 is a method wherein the predetermined method 2 corresponds to the predetermined method 4 An encryption system comprising a response creation unit for obtaining Res.
請求項1記載の暗号化システムであって、
前記所定の方法2では、
保護用秘密鍵Kを0以上p−1以下の整数から選択し、分割用乱数K’と保護用秘密鍵Kを用いて所定の方法2’にしたがって代理計算用秘密鍵Kを求め、
前記復号記録部は保護用秘密鍵Kも記録し、
前記所定の方法5は、前記所定の方法2’にも対応した方法で、保護用秘密鍵Kも用いて値Wを求める
ことを特徴とする暗号化システム。
The encryption system according to claim 1,
In the predetermined method 2,
The protection secret key K 2 is selected from an integer between 0 and p−1, and the proxy calculation secret key K 3 is selected according to the predetermined method 2 ′ using the split random number K 3 ′ and the protection secret key K 2. Seeking
The decryption recording unit also records a protective secret key K 2 ,
The predetermined method 5 is a method corresponding to the predetermined method 2 ′, and the value W is obtained using the protective secret key K 2 as well.
請求項1記載の暗号化システムであって、
(+)はビット単位の排他的論理和を示す記号、^はべき乗を示す記号とし、
前記所定の方法1では、受信用秘密鍵K
=K’K
のように求め、
前記所定の方法2では、では、代理計算用秘密鍵K
=K−1
のように求め、
前記所定の方法3では、暗号化情報Vを
V=M(+)H(gID
のように求め、
前記所定の方法4では、リクエストReqを
Req=e(K,U)
のように求め、
前記所定の方法5では、値Wを
W=Res
のように求め、
前記所定の方法6では、平文M’を
M’=V(+)H(W)
のように求め、
前記所定の方法7では、レスポンスResを
Res=Req^K
のように求める
ことを特徴とする暗号化システム。
The encryption system according to claim 1,
(+) Is a symbol indicating a bitwise exclusive OR, ^ is a symbol indicating a power,
In the predetermined method 1, the reception private key K 1 is set as K 1 = K 3 'K 0
Asking,
In the predetermined method 2, the proxy calculation private key K 3 is set to K 3 = K 3−1.
Asking,
In the predetermined method 3, the encryption information V is changed to V = M (+) H (g ID r )
Asking,
In the predetermined method 4, the request Req is changed to Req = e (K 1 , U)
Asking,
In the predetermined method 5, the value W is set to W = Res
Asking,
In the predetermined method 6, the plaintext M ′ is changed to M ′ = V (+) H (W)
Asking,
In the predetermined method 7, the response Res is set to Res = Req ^ K 3
An encryption system characterized by
請求項1記載の暗号化システムであって、
(+)はビット単位の排他的論理和を示す記号、^はべき乗を示す記号とし、
前記所定の方法1では、受信用秘密鍵K
=K’K
のように求め、
前記所定の方法2では、では、代理計算用秘密鍵K
=K−1
のように求め、
前記所定の方法3では、暗号化情報Vを
V=M(+)H(gID
のように求め、
前記所定の方法4では、リクエストReqを受信用秘密鍵Kと乱数情報Uを含む情報とし、
前記所定の方法5では、値Wを
W=Res
のように求め、
前記所定の方法6では、平文M’を
M’=V(+)H(W)
のように求め、
前記所定の方法7では、レスポンスResを
Res=e(K,U)^K
のように求める
ことを特徴とする暗号化システム。
The encryption system according to claim 1,
(+) Is a symbol indicating a bitwise exclusive OR, ^ is a symbol indicating a power,
In the predetermined method 1, the reception private key K 1 is set as K 1 = K 3 'K 0
Asking,
In the predetermined method 2, the proxy calculation private key K 3 is set to K 3 = K 3−1.
Asking,
In the predetermined method 3, the encryption information V is changed to V = M (+) H (g ID r )
Asking,
In the predetermined method 4, the information including the received secret key K 1 and the random number information U request Req,
In the predetermined method 5, the value W is set to W = Res
Asking,
In the predetermined method 6, the plaintext M ′ is changed to M ′ = V (+) H (W)
Asking,
In the predetermined method 7, the response Res is set to Res = e (K 1 , U) ^ K 3
An encryption system characterized by
請求項1記載の暗号化システムであって、
(+)はビット単位の排他的論理和を示す記号、^はべき乗を示す記号とし、
前記所定の方法1では、受信用秘密鍵K
=K’K
のように求め、
前記所定の方法2では、では、代理計算用秘密鍵K
=K−1
のように求め、
前記所定の方法3では、暗号化情報Vを
V=M(+)H(gID
のように求め、
前記所定の方法4では、前記リクエスト作成部が、乱数rtmpを0以上p−1以下の整数から選択し、リクエストReqを
Req=e(rtmp,U)
のように求め、
前記所定の方法5では、値Wを
W=Res^rtmp −1
のように求め、
前記所定の方法6では、平文M’を
M’=V(+)H(W)
のように求め、
前記所定の方法7では、レスポンスResを
Res=Req^K
のように求める
ことを特徴とする暗号化システム。
The encryption system according to claim 1,
(+) Is a symbol indicating a bitwise exclusive OR, ^ is a symbol indicating a power,
In the predetermined method 1, the reception private key K 1 is set as K 1 = K 3 'K 0
Asking,
In the predetermined method 2, the proxy calculation private key K 3 is set to K 3 = K 3−1.
Asking,
In the predetermined method 3, the encryption information V is changed to V = M (+) H (g ID r )
Asking,
In the predetermined method 4, the request creation unit selects a random number r tmp from integers not less than 0 and not more than p−1, and requests Req as Req = e (r tmp K 1 , U).
Asking,
In the predetermined method 5, the value W is set to W = Res ^ r tmp −1
Asking,
In the predetermined method 6, the plaintext M ′ is changed to M ′ = V (+) H (W)
Asking,
In the predetermined method 7, the response Res is set to Res = Req ^ K 3
An encryption system characterized by
請求項1記載の暗号化システムであって、
(+)はビット単位の排他的論理和を示す記号、^はべき乗を示す記号とし、
前記所定の方法1では、受信用秘密鍵K
=K’K
のように求め、
前記所定の方法2では、では、代理計算用秘密鍵K
=K−1
のように求め、
前記所定の方法3では、暗号化情報Vを
V=M(+)H(gID
のように求め、
前記所定の方法4では、前記リクエスト作成部が、乱数rtmpを0以上p−1以下の整数から選択し、隠蔽鍵Ktmp
tmp=rtmp
を求め、リクエストReqを隠蔽鍵Ktmpと乱数情報Uを含む情報とし、
前記所定の方法5では、値Wを
W=Res^rtmp −1
のように求め、
前記所定の方法6では、平文M’を
M’=V(+)H(W)
のように求め、
前記所定の方法7では、レスポンスResを
Res=e(Ktmp,U)^K
のように求める
ことを特徴とする暗号化システム。
The encryption system according to claim 1,
(+) Is a symbol indicating a bitwise exclusive OR, ^ is a symbol indicating a power,
In the predetermined method 1, the reception private key K 1 is set as K 1 = K 3 'K 0
Asking,
In the predetermined method 2, the proxy calculation private key K 3 is set to K 3 = K 3−1.
Asking,
In the predetermined method 3, the encryption information V is changed to V = M (+) H (g ID r )
Asking,
In the predetermined method 4, the request creation unit selects a random number r tmp from an integer of 0 to p−1 and sets a concealment key K tmp as K tmp = r tmp K 1
And request Req as information including concealment key K tmp and random number information U,
In the predetermined method 5, the value W is set to W = Res ^ r tmp −1
Asking,
In the predetermined method 6, the plaintext M ′ is changed to M ′ = V (+) H (W)
Asking,
In the predetermined method 7, the response Res is Res = e (K tmp , U) ^ K 3.
An encryption system characterized by
請求項2記載の暗号化システムであって、
(+)はビット単位の排他的論理和を示す記号、^はべき乗を示す記号とし、
前記所定の方法1では、受信用秘密鍵K
=K’K
のように求め、
前記所定の方法2’では、代理計算用秘密鍵K
=(K’)−1
のように求め、
前記所定の方法3では、暗号化情報Vを
V=M(+)H(gID
のように求め、
前記所定の方法4では、リクエストReqを
Req=e(K,U)
のように求め、
前記所定の方法5では、値Wを
W=Res^K
のように求め、
前記所定の方法6では、平文M’を
M’=V(+)H(W)
のように求め、
前記所定の方法7では、レスポンスResを
Res=Req^K
のように求める
ことを特徴とする暗号化システム。
The encryption system according to claim 2, wherein
(+) Is a symbol indicating a bitwise exclusive OR, ^ is a symbol indicating a power,
In the predetermined method 1, the reception private key K 1 is set as K 1 = K 3 'K 0
Asking,
In the predetermined method 2 ′, the proxy calculation private key K 3 is set to K 3 = (K 2 K 3 ′) −1.
Asking,
In the predetermined method 3, the encryption information V is changed to V = M (+) H (g ID r )
Asking,
In the predetermined method 4, the request Req is changed to Req = e (K 1 , U)
Asking,
In the predetermined method 5, the value W is set to W = Res ^ K 2
Asking,
In the predetermined method 6, the plaintext M ′ is changed to M ′ = V (+) H (W)
Asking,
In the predetermined method 7, the response Res is set to Res = Req ^ K 3
An encryption system characterized by
請求項2記載の暗号化システムであって、
(+)はビット単位の排他的論理和を示す記号、^はべき乗を示す記号とし、
前記所定の方法1では、受信用秘密鍵K
=K’K
のように求め、
前記所定の方法2’では、代理計算用秘密鍵K
=(K’)−1
のように求め、
前記所定の方法3では、暗号化情報Vを
V=M(+)H(gID
のように求め、
前記所定の方法4では、リクエストReqを受信用秘密鍵Kと乱数情報Uを含む情報とし、
前記所定の方法5では、値Wを
W=Res^K
のように求め、
前記所定の方法6では、平文M’を
M’=V(+)H(W)
のように求め、
前記所定の方法7では、レスポンスResを
Res=e(K,U)^K
のように求める
ことを特徴とする暗号化システム。
The encryption system according to claim 2, wherein
(+) Is a symbol indicating a bitwise exclusive OR, ^ is a symbol indicating a power,
In the predetermined method 1, the reception private key K 1 is set as K 1 = K 3 'K 0
Asking,
In the predetermined method 2 ′, the proxy calculation private key K 3 is set to K 3 = (K 2 K 3 ′) −1.
Asking,
In the predetermined method 3, the encryption information V is changed to V = M (+) H (g ID r )
Asking,
In the predetermined method 4, the information including the received secret key K 1 and the random number information U request Req,
In the predetermined method 5, the value W is set to W = Res ^ K 2
Asking,
In the predetermined method 6, the plaintext M ′ is changed to M ′ = V (+) H (W)
Asking,
In the predetermined method 7, the response Res is set to Res = e (K 1 , U) ^ K 3
An encryption system characterized by
請求項2記載の暗号化システムであって、
(+)はビット単位の排他的論理和を示す記号、^はべき乗を示す記号とし、
前記所定の方法1では、受信用秘密鍵K
=K’K
のように求め、
前記所定の方法2’では、代理計算用秘密鍵K
=(K’)−1
のように求め、
前記所定の方法3では、暗号化情報Vを
V=M(+)H(gID
のように求め、
前記所定の方法4では、前記リクエスト作成部が、乱数rtmpを0以上p−1以下の整数から選択し、リクエストReqを
Req=e(rtmp,U)
のように求め、
前記所定の方法5では、値Wを
W=Res^rtmp −1
のように求め、
前記所定の方法6では、平文M’を
M’=V(+)H(W)
のように求め、
前記所定の方法7では、レスポンスResを
Res=Req^K
のように求める
ことを特徴とする暗号化システム。
The encryption system according to claim 2, wherein
(+) Is a symbol indicating a bitwise exclusive OR, ^ is a symbol indicating a power,
In the predetermined method 1, the reception private key K 1 is set as K 1 = K 3 'K 0
Asking,
In the predetermined method 2 ′, the proxy calculation private key K 3 is set to K 3 = (K 2 K 3 ′) −1.
Asking,
In the predetermined method 3, the encryption information V is changed to V = M (+) H (g ID r )
Asking,
In the predetermined method 4, the request creation unit selects a random number r tmp from integers not less than 0 and not more than p−1, and requests Req as Req = e (r tmp K 1 , U).
Asking,
In the predetermined method 5, the value W is changed to W = Res ^ r tmp −1 K 2.
Asking,
In the predetermined method 6, the plaintext M ′ is changed to M ′ = V (+) H (W)
Asking,
In the predetermined method 7, the response Res is set to Res = Req ^ K 3
An encryption system characterized by
請求項2記載の暗号化システムであって、
(+)はビット単位の排他的論理和を示す記号、^はべき乗を示す記号とし、
前記所定の方法1では、受信用秘密鍵K
=K’K
のように求め、
前記所定の方法2’では、代理計算用秘密鍵K
=(K’)−1
のように求め、
前記所定の方法3では、暗号化情報Vを
V=M(+)H(gID
のように求め、
前記所定の方法4では、前記リクエスト作成部が、乱数rtmpを0以上p−1以下の整数から選択し、隠蔽鍵Ktmp
tmp=rtmp
を求め、リクエストReqを隠蔽鍵Ktmpと乱数情報Uを含む情報とし、
前記所定の方法5では、値Wを
W=Res^rtmp −1
のように求め、
前記所定の方法6では、平文M’を
M’=V(+)H(W)
のように求め、
前記所定の方法7では、レスポンスResを
Res=e(Ktmp,U)^K
のように求める
ことを特徴とする暗号化システム。
The encryption system according to claim 2, wherein
(+) Is a symbol indicating a bitwise exclusive OR, ^ is a symbol indicating a power,
In the predetermined method 1, the reception private key K 1 is set as K 1 = K 3 'K 0
Asking,
In the predetermined method 2 ′, the proxy calculation private key K 3 is set to K 3 = (K 2 K 3 ′) −1.
Asking,
In the predetermined method 3, the encryption information V is changed to V = M (+) H (g ID r )
Asking,
In the predetermined method 4, the request creation unit selects a random number r tmp from an integer of 0 to p−1 and sets a concealment key K tmp as K tmp = r tmp K 1
And request Req as information including concealment key K tmp and random number information U,
In the predetermined method 5, the value W is changed to W = Res ^ r tmp −1 K 2.
Asking,
In the predetermined method 6, the plaintext M ′ is changed to M ′ = V (+) H (W)
Asking,
In the predetermined method 7, the response Res is Res = e (K tmp , U) ^ K 3.
An encryption system characterized by
少なくとも受信装置、代理計算装置、鍵生成装置を有する暗号化システムであって、
pは素数、Gは位数pの巡回加算群、sは0以上p−1以下の整数、MaptoPointG1は任意長のビット列を群Gの元に写像する関数、IDは任意長のビット列、QID=MaptoPointG1(ID)、KはK=sQIDのように求められた秘密鍵、K’は0以上p−1以下の整数から選択された分割用乱数、Kは秘密鍵Kと分割用乱数K’を用いて所定の方法1で求められた受信用秘密鍵、Kは分割用乱数K’を用いて所定の方法2で求められた代理計算用秘密鍵であり、
前記鍵生成装置は、
前記受信装置からの鍵の再発行の要求を受信すると、
新しい分割用乱数K3new’を0以上p−1以下の整数から選択し、秘密鍵Kと新しい分割用乱数K3new’を用いて前記所定の方法1にしたがって新しい受信用秘密鍵K1newを求める鍵分割部と、
新しい分割用乱数K3new’を用いて前記所定の方法2で新しい代理計算用秘密鍵K3newを求め、新しい受信用秘密鍵K1newを前記受信装置に送信し、新しい代理計算用秘密鍵K3newを前記代理計算装置に送信する鍵配布部と、
を備え、
前記受信装置は、
あらかじめ記録していた受信用秘密鍵Kを新しい受信用秘密鍵K1newに更新する復号記録部を備え、
前記代理計算装置は、
あらかじめ記録していた代理計算用秘密鍵Kを新しい代理計算用秘密鍵K3newに更新する代理記録部を備える
暗号化システム。
An encryption system having at least a receiving device, a proxy computing device, and a key generation device,
p is a prime number, G 1 is cyclic addition group of order p, s is 0 or p-1 an integer, MaptoPoint G1 function which maps a bit string of arbitrary length to the original group G 1, ID is a bit string of arbitrary length , Q ID = MaptoPoint G1 (ID), K 0 is a secret key obtained as K 0 = sQ ID , K 3 ′ is a random number for division selected from an integer of 0 to p−1, and K 1 is The reception private key obtained by the predetermined method 1 using the secret key K 0 and the dividing random number K 3 ′, and K 3 for proxy calculation obtained by the predetermined method 2 using the dividing random number K 3 ′ Private key
The key generation device includes:
Upon receiving a key reissue request from the receiving device,
A new splitting random number K 3new ′ is selected from integers between 0 and p−1, and a new receiving secret key K 1new is selected according to the predetermined method 1 using the secret key K 0 and the new split random number K 3new ′. A key splitting unit to be obtained;
A new proxy calculation secret key K 3new is obtained by the predetermined method 2 using the new division random number K 3new ′, the new reception secret key K 1new is transmitted to the receiving device, and a new proxy calculation secret key K 3new is obtained. A key distribution unit for transmitting to the proxy computing device;
With
The receiving device is:
A decryption recording unit for updating the reception private key K 1 recorded in advance to a new reception private key K 1new ;
The proxy computing device is:
Encryption system that includes a proxy recording unit to update the proxy calculation for the secret key K 3, which had been pre-recorded in a new proxy calculation for the secret key K 3new.
少なくとも受信装置、代理計算装置、鍵生成装置を有する暗号化システムであって、
pは素数、Gは位数pの巡回加算群、sは0以上p−1以下の整数、MaptoPointG1は任意長のビット列を群Gの元に写像する関数、IDは任意長のビット列、QID=MaptoPointG1(ID)、KはK=sQIDのように求められた秘密鍵、K’は0以上p−1以下の整数から選択された分割用乱数、Kは秘密鍵Kと分割用乱数K’を用いて所定の方法1で求められた受信用秘密鍵、Kは0以上p−1以下の整数から選択された保護用秘密鍵、Kは分割用乱数K’と保護用秘密鍵Kを用いて所定の方法2’で求められた代理計算用秘密鍵であり、
前記鍵生成装置は、
前記受信装置から、保護用秘密鍵Kと鍵の再発行の要求を受信すると、
新しい分割用乱数K3new’を0以上p−1以下の整数から選択し、秘密鍵Kと新しい分割用乱数K3new’を用いて前記所定の方法1にしたがって新しい受信用秘密鍵K1newを求める鍵分割部と、
新しい分割用乱数K3new’と受信した保護用秘密鍵Kを用いて前記所定の方法2’にしたがって新しい代理計算用秘密鍵K3newを求め、新しい受信用秘密鍵K1newを前記受信装置に送信し、新しい代理計算用秘密鍵K3newを前記代理計算装置に送信する鍵配布部と、
を備え、
前記受信装置は、
あらかじめ記録していた受信用秘密鍵Kを新しい受信用秘密鍵K1newに更新する復号記録部を備え、
前記代理計算装置は、
あらかじめ記録していた代理計算用秘密鍵Kを新しい代理計算用秘密鍵K3newに更新する代理記録部を備える
暗号化システム。
An encryption system having at least a receiving device, a proxy computing device, and a key generation device,
p is a prime number, G 1 is cyclic addition group of order p, s is 0 or p-1 an integer, MaptoPoint G1 function which maps a bit string of arbitrary length to the original group G 1, ID is a bit string of arbitrary length , Q ID = MaptoPoint G1 (ID), K 0 is a secret key obtained as K 0 = sQ ID , K 3 ′ is a random number for division selected from an integer of 0 to p−1, and K 1 is The reception private key obtained by the predetermined method 1 using the private key K 0 and the dividing random number K 3 ′, K 2 is a protection private key selected from an integer of 0 to p−1, and K 3 is A proxy calculation private key obtained by a predetermined method 2 ′ using a dividing random number K 3 ′ and a protective private key K 2 ;
The key generation device includes:
From the receiving apparatus, when receiving the protection request for reissuing the secret key K 2 and the key,
A new splitting random number K 3new ′ is selected from integers between 0 and p−1, and a new receiving secret key K 1new is selected according to the predetermined method 1 using the secret key K 0 and the new split random number K 3new ′. A key splitting unit to be obtained;
A new proxy calculation secret key K 3new is obtained according to the predetermined method 2 ′ using the new split random number K 3new ′ and the received protection secret key K 2 , and the new reception secret key K 1new is sent to the receiving device. A key distribution unit for transmitting and transmitting a new proxy calculation private key K 3new to the proxy calculation device;
With
The receiving device is:
A decryption recording unit for updating the reception private key K 1 recorded in advance to a new reception private key K 1new ;
The proxy computing device is:
Encryption system that includes a proxy recording unit to update the proxy calculation for the secret key K 3, which had been pre-recorded in a new proxy calculation for the secret key K 3new.
少なくとも受信装置、代理計算装置を有する暗号化システムであって、
pは素数、K’は0以上p−1以下の整数から選択された分割用乱数、Kは0以上p−1以下の整数から選択された保護用秘密鍵、Kは分割用乱数K’と保護用秘密鍵Kを用いて所定の方法2’で求められた代理計算用秘密鍵であり、
前記受信装置は、
新しい保護用秘密鍵K2newを0以上p−1以下の整数から選択し、前記所定の方法2’に対応した所定の方法8にしたがって記録している保護用秘密鍵Kと前記新しい保護用秘密鍵K2newとの違いに応じた値であるアップデータUpdを求め、前記アップデータUpdを前記代理計算装置に送る保護用秘密鍵更新部と、
あらかじめ記録していた保護用秘密鍵Kを新しい保護用秘密鍵K2newに更新する復号記録部と、
を備え、
前記代理計算装置は、
記録している代理計算用秘密鍵Kと前記アップデータUpdを用いて、所定の方法8に対応した所定の方法9にしたがって新しい代理計算用秘密鍵K3newを求める代理計算用秘密鍵更新部と、
あらかじめ記録していた代理計算用秘密鍵Kを新しい代理計算用秘密鍵K3newに更新する代理記録部と、
を備える
暗号化システム。
An encryption system having at least a receiving device and a proxy computing device,
p is a prime number, K 3 ′ is a split random number selected from an integer between 0 and p−1, K 2 is a protection secret key selected from an integer between 0 and p−1, and K 3 is a split random number A proxy calculation secret key obtained by a predetermined method 2 ′ using K 3 ′ and the protection secret key K 2 ,
The receiving device is:
A new protection secret key K 2new is selected from integers between 0 and p−1, and the protection secret key K 2 recorded according to the predetermined method 8 corresponding to the predetermined method 2 ′ and the new protection key A protection secret key update unit that obtains an updater Upd that is a value corresponding to a difference from the secret key K2new, and sends the updater Upd to the proxy computing device;
And decoding the recording unit to update the protection for the secret key K 2, which had been pre-recorded in a new protection for the secret key K 2new,
With
The proxy computing device is:
A proxy calculation secret key update unit for obtaining a new proxy calculation secret key K 3new according to a predetermined method 9 corresponding to the predetermined method 8 using the recorded proxy calculation secret key K 3 and the updater Upd; ,
And proxy recording unit to update the proxy calculation for the secret key K 3, which had been pre-recorded in a new proxy calculation for the secret key K 3new,
An encryption system comprising:
請求項13記載の暗号化システムであって、
前記所定の方法8では、アップデータUpdを
Upd=K2new −1
のように求め、
前記所定の方法9では、新しい代理計算用秘密鍵K3new
3new=Upd・K
のように求める
ことを特徴とする暗号化システム。
The encryption system according to claim 13, comprising:
In the predetermined method 8, the updater Upd is updated as Upd = K 2new −1 K 2.
Asking,
In the predetermined method 9, a new proxy calculation private key K 3new is set to K 3new = Upd · K 3
An encryption system characterized by
受信装置、代理計算装置を用いた復号方法であって、
pは素数、Gは位数pの巡回加算群、Gは位数pの巡回群、eはG×G→Gのように写像する双線形ペアリング関数、Hは群Gの元をnビットのビット列に写像するハッシュ関数を示す記号、Pは群Gの生成元、sは0以上p−1以下の整数、PPub=sP、(P,PPub)は公開パラメータ、MaptoPointG1は任意長のビット列を群Gの元に写像する関数、IDは任意長のビット列、QID=MaptoPointG1(ID)、KはK=sQIDのように求められた秘密鍵、K’は0以上p−1以下の整数から選択された分割用乱数、Kは秘密鍵Kと分割用乱数K’を用いて所定の方法1で求められた受信用秘密鍵、Kは分割用乱数K’を用いて所定の方法2で求められた代理計算用秘密鍵、rは0以上p−1以下の整数から選択された乱数、UはU=rPのように求められた乱数情報、gIDはgID=e(QID,PPub)のように求められた値、VはH(gID )を用いて所定の方法3で平文Mを暗号化した暗号化情報であり、
前記受信装置が、受信用秘密鍵Kを記録する復号記録ステップと、
前記代理計算装置が、代理計算用秘密鍵Kを記録する代理記録ステップと、
前記受信装置が、受信用秘密鍵Kと乱数情報Uを用いて所定の方法4でリクエストReqを作成するリクエスト作成ステップと、
前記代理計算装置が、リクエストReqに対して、前記所定の方法1と前記所定の方法2と前記所定の方法4に対応した方法である所定の方法7にしたがって代理計算用秘密鍵Kを用いた計算を行ってレスポンスResを求めるレスポンス作成ステップと、
前記受信装置が、前記代理計算装置から受信したレスポンスResを用いて前記所定の方法2と前記所定の方法4に対応した方法である所定の方法5にしたがってgID の値Wを求め、H(W)を用いて前記所定の方法3に対応した方法である所定の方法6にしたがって暗号化情報Vを復号して平文M’に復号する復号ステップと、
を有する復号方法。
A decryption method using a receiving device and a proxy computing device,
p is a prime number, G 1 is a cyclic addition group of order p, G 2 is a cyclic group of order p, e is a bilinear pairing function that maps as G 1 × G 1 → G 2 , and H is a group G A symbol indicating a hash function that maps an element of 2 to an n-bit bit string, P is a generator of the group G 1 , s is an integer of 0 to p−1, P Pub = sP, (P, P Pub ) is public parameter, MaptoPoint G1 function which maps a bit string of arbitrary length to the original group G 1, ID is arbitrary length bit string, Q ID = MaptoPoint G1 (ID ), K 0 was determined as K 0 = sQ ID The secret key, K 3 ′ is a random number for division selected from an integer between 0 and p−1, and K 1 is for reception obtained by the predetermined method 1 using the secret key K 0 and the random number for division K 3 ′. secret key, K 3 is representative calculation secret key obtained by a predetermined method 2 using the divided random number K 3 ', r is 0 Random number chosen from the upper p-1 an integer, U is U = random number information obtained as rP, g ID is g ID = e (Q ID, P Pub) values were obtained as, V Is encrypted information obtained by encrypting plaintext M by a predetermined method 3 using H (g ID r ),
A decryption recording step in which the receiving device records a reception secret key K 1 ;
Said proxy computing device, the proxy recording step of recording the proxy calculation secret key K 3,
A request creating step in which the receiving device creates a request Req by a predetermined method 4 using the reception secret key K 1 and the random number information U;
The proxy calculation device uses the proxy calculation secret key K 3 in response to the request Req according to a predetermined method 7 that is a method corresponding to the predetermined method 1, the predetermined method 2, and the predetermined method 4. A response creation step for calculating a response Res by performing
The receiving device uses the response Res received from the proxy computing device to determine the value W of g ID r according to the predetermined method 2 that is a method corresponding to the predetermined method 2 and the predetermined method 4, and H A decrypting step of decrypting the encrypted information V into plaintext M ′ by decrypting the encrypted information V according to the predetermined method 6 which is a method corresponding to the predetermined method 3 using (W);
A decryption method.
受信装置、代理計算装置、鍵生成装置を用いた鍵更新方法であって、
pは素数、Gは位数pの巡回加算群、sは0以上p−1以下の整数、MaptoPointG1は任意長のビット列を群Gの元に写像する関数、IDは任意長のビット列、QID=MaptoPointG1(ID)、KはK=sQIDのように求められた秘密鍵、K’は0以上p−1以下の整数から選択された分割用乱数、Kは秘密鍵Kと分割用乱数K’を用いて所定の方法1で求められた受信用秘密鍵、Kは分割用乱数K’を用いて所定の方法2で求められた代理計算用秘密鍵であり、
前記鍵生成装置が、前記受信装置からの鍵の再発行の要求を受信すると、新しい分割用乱数K3new’を0以上p−1以下の整数から選択し、秘密鍵Kと新しい分割用乱数K3new’を用いて前記所定の方法1にしたがって新しい受信用秘密鍵K1newを求める鍵分割ステップと、
前記鍵生成装置が、新しい分割用乱数K3new’を用いて前記所定の方法2で新しい代理計算用秘密鍵K3newを求め、新しい受信用秘密鍵K1newを前記受信装置に送信し、新しい代理計算用秘密鍵K3newを前記代理計算装置に送信する鍵配布ステップと、
前記受信装置が、あらかじめ記録していた受信用秘密鍵Kを新しい受信用秘密鍵K1newに更新する復号記録ステップと、
前記代理計算装置が、あらかじめ記録していた代理計算用秘密鍵Kを新しい代理計算用秘密鍵K3newに更新する代理記録ステップと、
を有する鍵更新方法。
A key update method using a receiving device, a proxy computing device, and a key generation device,
p is a prime number, G 1 is cyclic addition group of order p, s is 0 or p-1 an integer, MaptoPoint G1 function which maps a bit string of arbitrary length to the original group G 1, ID is a bit string of arbitrary length , Q ID = MaptoPoint G1 (ID), K 0 is a secret key obtained as K 0 = sQ ID , K 3 ′ is a random number for division selected from an integer of 0 to p−1, and K 1 is The reception private key obtained by the predetermined method 1 using the secret key K 0 and the dividing random number K 3 ′, and K 3 for proxy calculation obtained by the predetermined method 2 using the dividing random number K 3 ′ Private key
When the key generation device receives a key reissue request from the receiving device, the key generation device selects a new split random number K 3new ′ from an integer between 0 and p−1, the secret key K 0 and the new split random number A key splitting step for obtaining a new reception secret key K 1new according to the predetermined method 1 using K 3new ';
The key generation device obtains a new proxy calculation secret key K 3new by the predetermined method 2 using the new division random number K 3new ′, transmits the new reception secret key K 1new to the reception device, and creates a new proxy A key distribution step of transmitting a calculation private key K3new to the proxy calculation device;
A decryption recording step in which the reception device updates the reception private key K 1 recorded in advance to a new reception private key K 1new ;
The proxy computing device, and the proxy recording step to update the proxy calculation for the secret key K 3, which had been pre-recorded in a new proxy calculation for the secret key K 3new,
A key update method comprising:
受信装置、代理計算装置、鍵生成装置を用いた鍵更新方法であって、
pは素数、Gは位数pの巡回加算群、sは0以上p−1以下の整数、MaptoPointG1は任意長のビット列を群Gの元に写像する関数、IDは任意長のビット列、QID=MaptoPointG1(ID)、KはK=sQIDのように求められた秘密鍵、K’は0以上p−1以下の整数から選択された分割用乱数、Kは秘密鍵Kと分割用乱数K’を用いて所定の方法1で求められた受信用秘密鍵、Kは0以上p−1以下の整数から選択された保護用秘密鍵、Kは分割用乱数K’と保護用秘密鍵Kを用いて所定の方法2’で求められた代理計算用秘密鍵であり、
前記鍵生成装置が、前記受信装置から、保護用秘密鍵Kと鍵の再発行の要求を受信すると、新しい分割用乱数K3new’を0以上p−1以下の整数から選択し、秘密鍵Kと新しい分割用乱数K3new’を用いて前記所定の方法1にしたがって新しい受信用秘密鍵K1newを求める鍵分割ステップと、
前記鍵生成装置が、新しい分割用乱数K3new’と受信した保護用秘密鍵Kを用いて前記所定の方法2’にしたがって新しい代理計算用秘密鍵K3newを求め、新しい受信用秘密鍵K1newを前記受信装置に送信し、新しい代理計算用秘密鍵K3newを前記代理計算装置に送信する鍵配布ステップと、
前記受信装置が、あらかじめ記録していた受信用秘密鍵Kを新しい受信用秘密鍵K1newに更新する復号記録ステップと、
前記代理計算装置が、あらかじめ記録していた代理計算用秘密鍵Kを新しい代理計算用秘密鍵K3newに更新する代理記録ステップと
を有する鍵更新方法。
A key update method using a receiving device, a proxy computing device, and a key generation device,
p is a prime number, G 1 is cyclic addition group of order p, s is 0 or p-1 an integer, MaptoPoint G1 function which maps a bit string of arbitrary length to the original group G 1, ID is a bit string of arbitrary length , Q ID = MaptoPoint G1 (ID), K 0 is a secret key obtained as K 0 = sQ ID , K 3 ′ is a random number for division selected from an integer of 0 to p−1, and K 1 is The reception private key obtained by the predetermined method 1 using the private key K 0 and the dividing random number K 3 ′, K 2 is a protection private key selected from an integer of 0 to p−1, and K 3 is A proxy calculation private key obtained by a predetermined method 2 ′ using a dividing random number K 3 ′ and a protective private key K 2 ;
The key generating apparatus, from the receiving apparatus, when receiving the protection request for reissuing the secret key K 2 and the key, and select a new split random number K 3new 'from 0 or p-1 an integer, the secret key A key division step of obtaining a new reception secret key K 1new according to the predetermined method 1 using K 0 and a new division random number K 3new ′;
The key generation device obtains a new proxy calculation secret key K 3new according to the predetermined method 2 ′ using the new division random number K 3new ′ and the received protection secret key K 2, and a new reception secret key K A key distribution step of transmitting 1new to the receiving device and transmitting a new proxy calculation private key K3new to the proxy calculation device;
A decryption recording step in which the reception device updates the reception private key K 1 recorded in advance to a new reception private key K 1new ;
It said proxy computing device, key update process and a proxy record updating the proxy calculation secret key K 3 that was previously recorded in the new proxy calculation secret key K 3new.
受信装置、代理計算装置を用いた鍵更新方法であって、
pは素数、K’は0以上p−1以下の整数から選択された分割用乱数、Kは0以上p−1以下の整数から選択された保護用秘密鍵、Kは分割用乱数K’と保護用秘密鍵Kを用いて所定の方法2’で求められた代理計算用秘密鍵であり、
前記受信装置が、新しい保護用秘密鍵K2newを0以上p−1以下の整数から選択し、前記所定の方法2’に対応した所定の方法8にしたがって記録している保護用秘密鍵Kと前記新しい保護用秘密鍵K2newとの違いに応じた値であるアップデータUpdを求め、前記アップデータUpdを前記代理計算装置に送る保護用秘密鍵更新ステップと、
前記受信装置が、あらかじめ記録していた保護用秘密鍵Kを新しい保護用秘密鍵K2newに更新する復号記録ステップと、
前記代理計算装置が、記録している代理計算用秘密鍵Kと前記アップデータUpdを用いて、所定の方法8に対応した所定の方法9にしたがって新しい代理計算用秘密鍵K3newを求める代理計算用秘密鍵更新ステップと、
前記代理計算装置が、あらかじめ記録していた代理計算用秘密鍵Kを新しい代理計算用秘密鍵K3newに更新する代理記録ステップと、
を有する鍵更新方法。
A key update method using a receiving device and a proxy computing device,
p is a prime number, K 3 ′ is a split random number selected from an integer between 0 and p−1, K 2 is a protection secret key selected from an integer between 0 and p−1, and K 3 is a split random number A proxy calculation secret key obtained by a predetermined method 2 ′ using K 3 ′ and the protection secret key K 2 ,
The receiving device, a new protective secret key K 2NEW selected from 0 or p-1 an integer, the predetermined method 2 'private key protection is recorded according to a predetermined method 8 corresponding to K 2 And updating the private key for protection to obtain the update data Upd, which is a value corresponding to the difference between the new private key for protection K 2new and sending the update data Upd to the proxy computing device;
The receiving apparatus, and decoding recording step of updating the protection secret key K 2 had previously recorded in a new protective secret key K 2NEW,
The proxy calculation device uses the recorded proxy calculation secret key K 3 and the updater Upd to determine a new proxy calculation secret key K 3new according to a predetermined method 9 corresponding to the predetermined method 8. Private key update step,
The proxy computing device, and the proxy recording step to update the proxy calculation for the secret key K 3, which had been pre-recorded in a new proxy calculation for the secret key K 3new,
A key update method comprising:
受信装置、代理計算装置とともに暗号化システムを構成するための鍵生成装置であって、
pは素数、Gは位数pの巡回加算群、MaptoPointG1は任意長のビット列を群Gの元に写像する関数、IDは任意長のビット列、QID=MaptoPointG1(ID)であり、
0以上p−1以下の整数sを生成し、秘密鍵K
=sQID
のように求める鍵生成部と、
分割用乱数K’を0以上p−1以下の整数から選択し、秘密鍵Kと分割用乱数K’を用いて所定の方法1にしたがって受信用秘密鍵Kを求める鍵分割部と、
分割用乱数K’を用いて所定の方法2で代理計算用秘密鍵Kを求め、受信用秘密鍵Kを前記受信装置に送信し、代理計算用秘密鍵Kを前記代理計算装置に送信する鍵配布部と、
を備える鍵生成装置。
A key generating device for configuring an encryption system together with a receiving device and a proxy computing device,
p is a prime number, G 1 is cyclic addition group of order p, MaptoPoint G1 function which maps a bit string of arbitrary length to the original group G 1, ID is an arbitrary length bit string, Q ID = MaptoPoint G1 (ID ) ,
Generate an integer s between 0 and p−1 and set the secret key K 0 to K 0 = sQ ID
A key generation unit to be obtained as follows:
Splitting the random number K 3 'was selected from 0 or p-1 an integer, the secret key K 0 dividing the random number K 3' key dividing unit for obtaining the reception secret key K 1 according to a predetermined method 1 using When,
The proxy calculation secret key K 3 is obtained by the predetermined method 2 using the dividing random number K 3 ′, the reception secret key K 1 is transmitted to the reception device, and the proxy calculation secret key K 3 is transmitted to the proxy calculation device. A key distribution part to send to
A key generation device comprising:
請求項19記載の鍵生成装置であって、
前記所定の方法2では、
保護用秘密鍵Kを0以上p−1以下の整数から選択し、分割用乱数K’と保護用秘密鍵Kを用いて所定の方法2’にしたがって代理計算用秘密鍵Kを求め、
前記鍵配布部は、保護用秘密鍵Kも前記受信装置に送信する
ことを特徴とする鍵生成装置。
The key generation device according to claim 19, wherein
In the predetermined method 2,
The protection secret key K 2 is selected from an integer between 0 and p−1, and the proxy calculation secret key K 3 is selected according to the predetermined method 2 ′ using the split random number K 3 ′ and the protection secret key K 2. Seeking
The key distribution unit, a key generation device characterized by also protected secret key K 2 is transmitted to the receiving device.
代理計算装置とともに暗号化システムを構成するための受信装置であって、
pは素数、Gは位数pの巡回加算群、Gは位数pの巡回群、eはG×G→Gのように写像する双線形ペアリング関数、Hは群Gの元をnビットのビット列に写像するハッシュ関数を示す記号、Pは群Gの生成元、sは0以上p−1以下の整数、PPub=sP、(P,PPub)は公開パラメータ、MaptoPointG1は任意長のビット列を群Gの元に写像する関数、IDは任意長のビット列、QID=MaptoPointG1(ID)、KはK=sQIDのように求められた秘密鍵、K’は0以上p−1以下の整数から選択された分割用乱数、Kは秘密鍵Kと分割用乱数K’を用いて所定の方法1で求められた受信用秘密鍵、Kは分割用乱数K’を用いて所定の方法2で求められた代理計算用秘密鍵、rは0以上p−1以下の整数から選択された乱数、UはU=rPのように求められた乱数情報、gIDはgID=e(QID,PPub)のように求められた値、VはH(gID )を用いて所定の方法3で平文Mを暗号化した暗号化情報であり、
受信用秘密鍵Kを記録する復号記録部と、
受信用秘密鍵Kと乱数情報Uを用いて所定の方法4でリクエストReqを作成するリクエスト作成部と、
前記代理計算装置から受信したレスポンスResを用いて前記所定の方法2と前記所定の方法4に対応した方法である所定の方法5にしたがってgID の値Wを求め、H(W)を用いて前記所定の方法3に対応した方法である所定の方法6にしたがって暗号化情報Vを復号して平文M’に復号する復号部と、
を備える受信装置。
A receiving device for configuring an encryption system together with a proxy computing device,
p is a prime number, G 1 is a cyclic addition group of order p, G 2 is a cyclic group of order p, e is a bilinear pairing function that maps as G 1 × G 1 → G 2 , and H is a group G A symbol indicating a hash function that maps an element of 2 to an n-bit bit string, P is a generator of the group G 1 , s is an integer of 0 to p−1, P Pub = sP, (P, P Pub ) is public parameter, MaptoPoint G1 function which maps a bit string of arbitrary length to the original group G 1, ID is arbitrary length bit string, Q ID = MaptoPoint G1 (ID ), K 0 was determined as K 0 = sQ ID The secret key, K 3 ′ is a random number for division selected from an integer between 0 and p−1, and K 1 is for reception obtained by the predetermined method 1 using the secret key K 0 and the random number for division K 3 ′. secret key, K 3 is representative calculation secret key obtained by a predetermined method 2 using the divided random number K 3 ', r is 0 Random number chosen from the upper p-1 an integer, U is U = random number information obtained as rP, g ID is g ID = e (Q ID, P Pub) values were obtained as, V Is encrypted information obtained by encrypting plaintext M by a predetermined method 3 using H (g ID r ),
A decryption recording unit for recording the reception private key K 1 ;
A request creation unit that creates a request Req by a predetermined method 4 using the reception secret key K 1 and the random number information U;
Using the response Res received from the proxy computing device, the value W of g ID r is obtained according to the predetermined method 2 corresponding to the predetermined method 2 and the predetermined method 4, and H (W) is used. A decryption unit that decrypts the encrypted information V into plaintext M ′ according to the predetermined method 6 that is a method corresponding to the predetermined method 3;
A receiving device.
受信装置とともに暗号化システムを構成するための代理計算装置であって、
pは素数、Gは位数pの巡回加算群、Pは群Gの生成元、sは0以上p−1以下の整数、PPub=sP、(P,PPub)は公開パラメータ、MaptoPointG1は任意長のビット列を群Gの元に写像する関数、IDは任意長のビット列、QID=MaptoPointG1(ID)、KはK=sQIDのように求められた秘密鍵、K’は0以上p−1以下の整数から選択された分割用乱数、Kは秘密鍵Kと分割用乱数K’を用いて所定の方法1で求められた受信用秘密鍵、Kは分割用乱数K’を用いて所定の方法2で求められた代理計算用秘密鍵、rは0以上p−1以下の整数から選択された乱数、UはU=rPのように求められた乱数情報、Reqは受信用秘密鍵Kと乱数情報Uを用いて所定の方法4で作成されたリクエストであり、
代理計算用秘密鍵Kを記録する代理記録部と、
リクエストReqに対して、前記所定の方法1と前記所定の方法2と前記所定の方法4に対応した方法である所定の方法7にしたがって代理計算用秘密鍵Kを用いた計算を行ってレスポンスResを求めるレスポンス作成部と
を備える代理計算装置。
A proxy computing device for configuring an encryption system together with a receiving device,
p is a prime number, G 1 is a cyclic addition group of order p, P is a generator of the group G 1 , s is an integer of 0 to p−1, P Pub = sP, (P, P Pub ) are public parameters, MaptoPoint G1 function which maps a bit string of arbitrary length to the original group G 1, ID is arbitrary length bit string, Q ID = MaptoPoint G1 (ID ), the secret key K 0 is determined as K 0 = sQ ID , K 3 ′ is a split random number selected from an integer between 0 and p−1, and K 1 is a receive secret key obtained by the predetermined method 1 using the secret key K 0 and the split random number K 3 ′. , K 3 is a proxy calculation secret key obtained by the predetermined method 2 using the dividing random number K 3 ′, r is a random number selected from an integer of 0 to p−1, and U is U = rP random number information obtained, the Riku created Req by using the received secret key K 1 and the random number information U by a predetermined method 4 Is a strike,
And proxy recording unit for recording the proxy calculation for the secret key K 3,
The request Req, response by performing a calculation using a proxy calculation secret key K 3 according to the predetermined method 1 and predetermined manner 7 is a method wherein the predetermined method 2 corresponds to the predetermined method 4 A proxy computing device comprising a response creation unit for obtaining Res.
請求項1から10のいずれかまたは請求項13もしくは14に記載の暗号化システムの受信装置もしくは代理計算装置、または、請求項11もしくは12に記載の暗号化システムの受信装置、代理計算装置、鍵生成装置のいずれかとしてコンピュータを機能させるためのプログラム。   The receiving device or proxy computing device of the encryption system according to any one of claims 1 to 10 or claim 13 or 14, or the receiving device, proxy computing device, or key of the encryption system according to claim 11 or 12 A program for causing a computer to function as one of the generation devices.
JP2011009085A 2011-01-19 2011-01-19 Encryption system, decryption method, key update method, key generation device, reception device, proxy calculation device, program Active JP5469618B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011009085A JP5469618B2 (en) 2011-01-19 2011-01-19 Encryption system, decryption method, key update method, key generation device, reception device, proxy calculation device, program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011009085A JP5469618B2 (en) 2011-01-19 2011-01-19 Encryption system, decryption method, key update method, key generation device, reception device, proxy calculation device, program

Publications (2)

Publication Number Publication Date
JP2012150287A JP2012150287A (en) 2012-08-09
JP5469618B2 true JP5469618B2 (en) 2014-04-16

Family

ID=46792587

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011009085A Active JP5469618B2 (en) 2011-01-19 2011-01-19 Encryption system, decryption method, key update method, key generation device, reception device, proxy calculation device, program

Country Status (1)

Country Link
JP (1) JP5469618B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11349654B2 (en) 2017-06-09 2022-05-31 Mitsubishi Electric Corporation Re-encryption key generation device, re-encryption device, re-encrypted ciphertext decryption device, and cryptographic system

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5496957B2 (en) * 2011-06-24 2014-05-21 日本電信電話株式会社 ENCRYPTION SYSTEM, DECRYPTION METHOD, DECRYPTION HISTORY SERVER, RECEPTION DEVICE, TRANSMISSION DEVICE, PROGRAM
JP6059258B2 (en) 2013-01-17 2017-01-11 日本電信電話株式会社 Split storage device, secret key split storage method
JP6266130B2 (en) 2014-12-05 2018-01-24 三菱電機株式会社 Cryptographic system, master key update device, and master key update program

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11349654B2 (en) 2017-06-09 2022-05-31 Mitsubishi Electric Corporation Re-encryption key generation device, re-encryption device, re-encrypted ciphertext decryption device, and cryptographic system

Also Published As

Publication number Publication date
JP2012150287A (en) 2012-08-09

Similar Documents

Publication Publication Date Title
US10785019B2 (en) Data transmission method and apparatus
Han et al. Identity-based data storage in cloud computing
JP5144991B2 (en) Ciphertext decryption authority delegation system
US7711113B2 (en) ID-based signature, encryption system and encryption method
JP6059258B2 (en) Split storage device, secret key split storage method
JP6363032B2 (en) Key change direction control system and key change direction control method
Zhou et al. Privacy-preserved access control for cloud computing
WO2017097344A1 (en) Method for re-keying an encrypted data file
JP2010220212A (en) Securing communications sent by first user to second user
JP6556955B2 (en) Communication terminal, server device, program
JP2012150378A (en) Proxy re-encryption system, key generation device, re-encryption device, proxy re-encryption method, and program
JP2008172736A (en) Ciphertext decryption right transfer system
KR101016009B1 (en) Method for data encryption and decryption using location information
JP5469618B2 (en) Encryption system, decryption method, key update method, key generation device, reception device, proxy calculation device, program
JP2009141674A (en) Id-based encryption system and method
JP4288184B2 (en) Key update method, cryptographic system, cryptographic server, terminal device and external device
JPWO2014109059A1 (en) Data encryption storage system
JP5784662B2 (en) ENCRYPTED DATA OPERATION SYSTEM, DEVICE, AND PROGRAM
JP7325689B2 (en) Ciphertext conversion system, conversion key generation method, and conversion key generation program
Chen et al. A limited proxy re-encryption with keyword search for data access control in cloud computing
JP2005198187A (en) Encryption method, encryption system and terminal device
JP7125857B2 (en) Encryption system, encryption device, decryption device, encryption method, decryption method, and program
JP5612494B2 (en) Timed cryptographic system, timed cryptographic method, apparatus, and program using function encryption
JP6267657B2 (en) Safety enhancement method, safety enhancement system, safety enhancement device, verification device, and program
JP2007208410A (en) Id base encryption communication system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130117

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140131

R150 Certificate of patent or registration of utility model

Ref document number: 5469618

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150