JP5496957B2 - ENCRYPTION SYSTEM, DECRYPTION METHOD, DECRYPTION HISTORY SERVER, RECEPTION DEVICE, TRANSMISSION DEVICE, PROGRAM - Google Patents
ENCRYPTION SYSTEM, DECRYPTION METHOD, DECRYPTION HISTORY SERVER, RECEPTION DEVICE, TRANSMISSION DEVICE, PROGRAM Download PDFInfo
- Publication number
- JP5496957B2 JP5496957B2 JP2011140313A JP2011140313A JP5496957B2 JP 5496957 B2 JP5496957 B2 JP 5496957B2 JP 2011140313 A JP2011140313 A JP 2011140313A JP 2011140313 A JP2011140313 A JP 2011140313A JP 5496957 B2 JP5496957 B2 JP 5496957B2
- Authority
- JP
- Japan
- Prior art keywords
- predetermined method
- ciphertext
- identification information
- key
- receiving device
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Description
本発明は、暗号文の復号履歴を記録するための暗号化システム、復号方法、復号履歴蓄積サーバ、受信装置、送信装置、プログラムに関する。 The present invention relates to an encryption system, a decryption method, a decryption history storage server, a reception device, a transmission device, and a program for recording a decryption history of ciphertext.
暗号文の復号履歴を記録する暗号化方式として非特許文献1が知られている。非特許文献1には、公開サーバに対して復号履歴を残さない限り平文を得られないよう復号処理を制御する方法が示されている(非特許文献1の図3参照)。 Non-Patent Document 1 is known as an encryption method for recording a decryption history of ciphertext. Non-Patent Document 1 discloses a method for controlling decryption processing so that plaintext cannot be obtained unless a decryption history is left for a public server (see FIG. 3 of Non-Patent Document 1).
しかしながら、非特許文献1の公開サーバは、復号者から受信するEvidenceから復号者が復号しようとしている復号対象を特定できないので、復号対象を特定するための情報をログ証跡として記録できないという課題がある。 However, since the public server of Non-Patent Document 1 cannot identify the decryption target that the decryption person is trying to decrypt from the evidence received from the decryption person, there is a problem that information for identifying the decryption target cannot be recorded as a log trail. .
本発明は、復号履歴として、復号対象である暗号文を識別する情報と復号した受信装置を特定する情報と時刻とを対応付けて記録できる暗号化システムを構築することを目的とする。 It is an object of the present invention to construct an encryption system that can record information identifying a ciphertext to be decrypted, information identifying a decrypted receiving apparatus, and time as a decryption history.
本発明の暗号化システムは、少なくとも送信装置、受信装置、復号履歴蓄積サーバを有する。まず、pは素数、G1は位数pの巡回加算群、G2は位数pの巡回群、eはG1×G1→G2のように写像する双線形ペアリング関数、Hは群G2の元をnビットのビット列に写像するハッシュ関数を示す記号、Pは群G1の生成元、sは0以上p−1以下の整数、PPub=sP、(P,PPub)は公開パラメータ、MaptoPointG1は任意長のビット列を群G1の元に写像する関数、IDは任意長のビット列、QID=MaptoPointG1(ID)、K0はK0=sQIDのように求められた秘密鍵、K3’は0以上p−1以下の整数から選択された分割用乱数、K1は秘密鍵K0と分割用乱数K3’を用いて所定の方法1で求められた受信用秘密鍵、K3は分割用乱数K3’を用いて所定の方法2で求められた代理計算用秘密鍵、rは0以上p−1以下の整数から選択された乱数、UはU=rPのように求められたセッション情報、gIDはgID=e(QID,PPub)のように求められた値、VはH(gID r)を用いて所定の方法3で平文Mを暗号化した暗号文、vは暗号文Vを識別する暗号文識別情報、hは暗号文Vを識別する暗号文識別情報を生成する関数を示す記号とする。
The encryption system of the present invention includes at least a transmission device, a reception device, and a decryption history storage server. 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 of 0 to p−1, P Pub = sP, (P, P Pub ) the 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 ), K 0 is determined as K 0 = sQ ID secret key that is,
送信装置は、暗号化部、暗号文送信部を備える。受信装置は、復号記録部、リクエスト作成部、リクエスト送信部、復号部を備える。復号履歴蓄積サーバは、代理記録部、セッション情報蓄積部、レスポンス作成部、レスポンス送信部、履歴蓄積部を備える。 The transmission device includes an encryption unit and a ciphertext transmission unit. The receiving device includes a decryption recording unit, a request creation unit, a request transmission unit, and a decryption unit. The decryption history storage server includes a proxy recording unit, a session information storage unit, a response creation unit, a response transmission unit, and a history storage unit.
受信装置は、復号記録部に少なくとも受信装置識別情報RIDに対応付けて受信用秘密鍵K1を記録しておく。復号履歴蓄積サーバは、代理記録部に受信装置識別情報RIDに対応付けて代理計算用秘密鍵K3を記録しておく。 The receiving device records the reception secret key K 1 in association with at least the receiving device identification information R ID in the decryption recording unit. Decoding history storage server, recording the proxy calculation secret key K 3 in association with the receiving apparatus identifying information R ID to the proxy recording unit.
送信装置の暗号文送信部は、受信装置に暗号文Vと暗号文識別情報vとを送信し、復号履歴蓄積サーバにセッション情報Uと暗号文識別情報vとを送信する。なお、受信装置が暗号文識別情報生成部も備えておき、送信装置の暗号文送信部が受信装置に暗号文Vを送信し、受信装置の暗号文識別情報生成部が受信した暗号文Vから暗号文識別情報vをv=h(V)のように生成してもよい。 The ciphertext transmission unit of the transmitting device transmits the ciphertext V and the ciphertext identification information v to the receiving device, and transmits the session information U and the ciphertext identification information v to the decryption history storage server. The receiving device also includes a ciphertext identification information generating unit, the ciphertext transmitting unit of the transmitting device transmits the ciphertext V to the receiving device, and the ciphertext V received by the ciphertext identification information generating unit of the receiving device. The ciphertext identification information v may be generated as v = h (V).
復号履歴蓄積サーバが、セッション情報蓄積部に送信装置から受信したセッション情報Uと暗号文識別情報vとを対応付けて記録する。受信装置のリクエスト作成部が、受信用秘密鍵K1を用いて所定の方法4でリクエストReqを作成する。受信装置のリクエスト送信部が、リクエストReq、暗号文識別情報v、受信装置を特定する受信装置識別情報RIDとを復号履歴蓄積サーバに送信する。 The decryption history storage server records the session information U received from the transmission device and the ciphertext identification information v in association with each other in the session information storage unit. Request creation unit of the receiving device creates a request Req to a predetermined method 4 using the received secret key K 1. The request transmission unit of the reception device transmits the request Req, the ciphertext identification information v, and the reception device identification information R ID that identifies the reception device to the decryption history storage server.
復号履歴蓄積サーバのレスポンス作成部が、受信装置から受信した暗号文識別情報vと一致するセッション情報蓄積部に記録された暗号文識別情報vに対応付けられたセッション情報Uを取得する。また、受信装置から受信した受信装置識別情報RIDと一致する代理記録部に記録された受信装置識別情報RIDに対応付けられた代理計算用秘密鍵K3を取得する。そして、所定の方法1と所定の方法2と所定の方法4に対応した方法である所定の方法7にしたがってセッション情報Uと代理計算用秘密鍵K3を用いた計算を行ってレスポンスResを求める。復号履歴蓄積サーバのレスポンス送信部が、レスポンスResを受信装置に送信する。復号履歴蓄積サーバが、履歴蓄積部に暗号文識別情報vと、受信装置識別情報RIDと、所定の方法8にしたがって取得した時刻tとを対応付けて記録する。
The response creation unit of the decryption history storage server acquires session information U associated with the ciphertext identification information v recorded in the session information storage unit that matches the ciphertext identification information v received from the receiving device. Also obtains the received device identification information R ID surrogate calculation secret key K 3 associated with the receiving apparatus identifying information R ID recorded in the proxy recording unit that matches received from the receiving apparatus. Then, a response Res performing calculation using a proxy calculation secret key K 3 and session information U according to a predetermined method 7 is a method corresponding to a predetermined method 1 and predetermined manner 2 and a predetermined method 4 . The response transmission unit of the decryption history storage server transmits the response Res to the receiving device. The decryption history storage server records the ciphertext identification information v, the receiving device identification information R ID, and the time t acquired according to the
受信装置の復号部が、復号履歴蓄積サーバから受信したレスポンスResを用いて所定の方法2と所定の方法4に対応した方法である所定の方法5にしたがってgID rの値Wを求め、H(W)を用いて所定の方法3に対応した方法である所定の方法6にしたがって暗号文Vを復号して平文M’に復号する。
Using the response Res received from the decryption history storage server, the decryption unit of the receiving device obtains the value W of g ID r according to the predetermined method 2 corresponding to the predetermined method 2 and the predetermined method 4, and H Using (W), the ciphertext V is decrypted according to the predetermined method 6 corresponding to the
本発明の暗号化システムによれば、受信装置は暗号文Vを識別する暗号文識別情報vを復号履歴蓄積サーバに送信し、復号履歴蓄積サーバと連携しなければ暗号文Vを復号できない。したがって、復号履歴蓄積サーバは、復号対象の暗号文Vと復号した受信装置とを特定した上で復号に協力した時刻を記録できる。 According to the encryption system of the present invention, the receiving apparatus transmits the ciphertext identification information v for identifying the ciphertext V to the decryption history storage server, and the ciphertext V cannot be decrypted without cooperation with the decryption history storage server. Therefore, the decryption history storage server can record the time when the decryption is performed after the decrypted ciphertext V and the decrypted receiving device are specified.
以下、本発明の実施の形態について、詳細に説明する。なお、同じ機能を有する構成部には同じ番号を付し、重複説明を省略する。 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
以下の説明では、kは大きな整数、pはkビットの素数、G1は位数pの巡回加算群、G2は位数pの巡回群、eはG1×G1→G2のように写像する双線形ペアリング関数、Hは群G2の元をnビットのビット列に写像するハッシュ関数を示す記号、Pは群G1の生成元、sは鍵生成装置400が生成した0以上p−1以下の整数、PPub=sP、(P,PPub)は公開パラメータ、MaptoPointG1は任意長のビット列を群G1の元に写像する関数、IDは任意長のビット列、QID=MaptoPointG1(ID)、(+)はビット単位の排他的論理和を示す記号、^はべき乗を示す記号、vは暗号文Vを識別する暗号文識別情報、hは暗号文Vを識別する暗号文識別情報を生成する関数を示す記号とする。なお、XとYを群G1の元とし、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 exclusive OR in bit units, ^ is a symbol indicating power, v is ciphertext identification information for identifying ciphertext V, and h is a cipher for identifying ciphertext V A symbol indicating a function for generating sentence identification information. 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
送信装置100は、暗号化部110、暗号文送信部120、暗号化記録部190を備える。受信装置200は、属性送信部210、リクエスト作成部220、リクエスト送信部225、復号部230、復号記録部290を備える。復号履歴蓄積サーバ300は、レスポンス作成部310、レスポンス送信部315、セッション情報蓄積部370、履歴蓄積部380、代理記録部390を備える。鍵生成装置400は、鍵生成部410、鍵分割部420、鍵配布部430、鍵生成記録部490を備える。以下に、処理フローを説明しながら、これらの構成部の機能を説明する。
The transmission device 100 includes an
秘密鍵を配布する処理フロー
受信装置200の属性送信部210は、ビット列IDを鍵生成装置400に送信する(S211)。なお、ビット列IDは、A社の社員、20歳以上などの単独の属性情報を示すビット列でもよいし、A社の社員かつ男性、20歳以上または女性のような属性情報の論理式を示すビット列でもよい。鍵生成装置400の鍵生成部410は、秘密鍵K0を
K0=sQID
のように求め、鍵生成記録部490に記録する(S410)。
The
And is recorded in the key generation recording unit 490 (S410).
鍵分割部420は、分割用乱数K3’を0以上p−1以下の整数から選択し(S421)、秘密鍵K0と分割用乱数K3’を用いて所定の方法1にしたがって受信用秘密鍵K1を求め、鍵生成記録部490に記録する(S422)。なお、分割用乱数K3’は、0以上p−1以下の整数からランダムに選択することが望ましいが、あらかじめ定めた他の方法で選択してもよい。鍵配布部430は、分割用乱数K3’を用いて所定の方法2で代理計算用秘密鍵K3を求め、鍵生成記録部490に記録する(S434)。そして、鍵配布部430は、受信用秘密鍵K1を受信装置200に送信し、受信用秘密鍵K1を送信した受信装置200を識別する受信装置識別情報RIDと代理計算用秘密鍵K3を復号履歴蓄積サーバ300に送信する(S435)。受信装置200の復号記録部290は、受信用秘密鍵K1を記録する(S291)。復号履歴蓄積サーバ300の代理記録部390は、受信装置識別情報RIDに対応付けて代理計算用秘密鍵K3を記録する(S391)。
The
暗号文の生成から復号までの処理フロー
属性送信部210は、ビット列IDを送信装置100に送信する(S212)。送信装置100の暗号化部110は、乱数rを0以上p−1以下の整数から選択し、セション情報UをU=rPのように計算する。なお、乱数rは、0以上p−1以下の整数からランダムに選択することが望ましいが、あらかじめ定めた他の方法で選択してもよい。また、暗号化部110は、
gID=e(QID,PPub)
を計算し、H(gID r)を用いて所定の方法3で平文Mを暗号化して暗号文Vを求める。暗号化部110は、さらに暗号文識別情報vをv=h(V)のように生成する。関数hは例えばハッシュ関数とすればよいが、ハッシュ関数に限定する必要はなく、暗号文を一意に識別可能な情報を生成することができる関数であればよい。そして、暗号文送信部120が、受信装置200に暗号文Vと暗号文識別情報vとを送信し、復号履歴蓄積サーバ300にセッション情報Uと暗号文識別情報vとを送信する(S120)。
The processing flow
g ID = e (Q ID , P Pub )
And plaintext M is encrypted by a
復号履歴蓄積サーバ300は、セッション情報蓄積部370に送信装置100から受信したセッション情報Uと暗号文識別情報vとを対応付けて記録する(S370)。受信装置200のリクエスト作成部220が、受信用秘密鍵K1を用いて所定の方法4でリクエストReqを作成する。なお、リクエスト作成部220は、乱数rtmpを0以上p−1以下の整数から選択し(S221)、所定の方法4で乱数rtmpも用いてもよい。このようにすることで、受信用秘密鍵K1に関する情報を隠蔽できる。なお、乱数rtmpは、0以上p−1以下の整数からランダムに選択することが望ましいが、あらかじめ定めた他の方法で選択してもよい。そして、リクエスト送信部225が、リクエストReq、暗号文識別情報v、受信装置を特定する受信装置識別情報RIDとを復号履歴蓄積サーバに送信する(S222)。
The decryption history storage server 300 records the session information U received from the transmission device 100 and the ciphertext identification information v in the session
復号履歴蓄積サーバ300のレスポンス作成部310は、受信装置200から受信した暗号文識別情報vと一致するセッション情報蓄積部370に記録された暗号文識別情報vに対応付けられたセッション情報Uを取得する。また、レスポンス作成部310は、受信装置200から受信した受信装置識別情報RIDと一致する代理記録部390に記録された受信装置識別情報RIDに対応付けられた代理計算用秘密鍵K3を取得する。そして、レスポンス作成部310は、所定の方法1と所定の方法2と所定の方法4に対応した方法である所定の方法7にしたがってセッション情報Uと代理計算用秘密鍵K3を用いた計算を行ってレスポンスResを求める。レスポンス送信部315は、レスポンスResを受信装置200に送信する(S310)。
The
復号履歴蓄積サーバ300は、履歴蓄積部380に暗号文識別情報vと、受信装置識別情報RIDと、所定の方法8にしたがって取得した時刻tとを対応付けて記録する(S380)。所定の方法8とは、例えばリクエストReqを受信した時にタイムサーバから時刻tを取得してもよいし、レスポンスResを送信したときに復号履歴蓄積サーバ自身のタイマから時刻tを取得してもよい。また、時刻tを取得するタイミングは、レスポンス作成部310の処理が終了したときとしてもよい。なお、時刻tは、タイムサーバから取得してもよいし、復号履歴蓄積サーバ300自身のタイマから取得してもよい。そして、時刻tの取得のタイミングと取得先は、任意に組み合わせればよく、所定の方法8を決めるときに定めればよい。
The decryption history storage server 300 records the ciphertext identification information v, the receiving device identification information R ID, and the time t acquired according to the
受信装置200の復号部230は、復号履歴蓄積サーバから受信したレスポンスResを用いて所定の方法2と所定の方法4に対応した方法である所定の方法5にしたがってgID rの値Wを求める。そして、H(W)を用いて所定の方法3に対応した方法である所定の方法6にしたがって暗号文Vを復号して平文M’に復号する(S230)。
The decrypting
上述のように、実施例1の暗号化システムでは、以下のような特徴がある。
(1)送信装置100が受信装置200には暗号文Vを送信し、復号履歴蓄積サーバ300にセッション情報Uと暗号文識別情報vを送信する。つまり、復号に必要なセッション情報Uは受信装置200には送信されない。
(2)復号履歴蓄積サーバ300のセッション情報蓄積部370がセッション情報Uと暗号文識別情報vとを対応付けて記録する。
(3)受信装置200が暗号文識別情報vと受信装置識別情報RIDを復号履歴蓄積サーバ300に送信することで、復号履歴蓄積サーバ300が暗号文Vの復号に必要なセッション情報Uと代理計算用秘密鍵K3を取得する。したがって、復号履歴蓄積サーバ300は、どの受信装置200がどの暗号文Vを復号しようとしているのか把握できる。
(4)復号履歴蓄積サーバ300が、履歴蓄積部380に暗号文識別情報vと受信装置識別情報RIDと時刻tとを対応付けて記録する。したがって、復号履歴蓄積サーバは、復号が実行されるごとに、暗号文Vと復号した受信装置とを特定した上で復号に協力した時刻を記録できる。
As described above, the encryption system according to the first embodiment has the following characteristics.
(1) The transmission device 100 transmits the ciphertext V to the
(2) Session
(3) The
(4) The decryption history storage server 300 records the ciphertext identification information v, the receiving device identification information R ID, and the time t in the
次に、上述の所定の方法1〜7について説明する。所定の方法1〜7は「秘密鍵K0から複数の復号鍵(受信用秘密鍵K1,代理計算用秘密鍵K3)を生成する方式」と「鍵を伴う一部の演算機能のリソースを外部装置(復号履歴蓄積サーバ)に安全に代行させる方式」を組み合わせて構成するために互いに対応していればよい。例えば、以下に示すような組み合わせがあり得る。ただし、「秘密鍵K0から複数の復号鍵(受信用秘密鍵K1,代理計算用秘密鍵K3)を生成する方式」と「鍵を伴う一部の演算機能のリソースを外部装置(復号履歴蓄積サーバ)に安全に代行させる方式」とが機能する範囲ならば、これらの組み合わせに限定する必要はない。 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 configure a combination of “a method for safely proxying an external device (decoding history storage server)”, 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 private key K 1 , proxy calculation private key K 3 ) from the private key K 0 ” and “partial operation function resources with the key are external devices (decryption It is not necessary to limit to these combinations as long as the “method for safely substituting the history storage server” functions.
所定の方法の組み合わせ1−1
所定の方法1では、受信用秘密鍵K1を
K1=K3’ K0
のように求める。所定の方法2では、代理計算用秘密鍵K3を
K3=K3’−1
のように求める。所定の方法3では、暗号文Vを
V=M(+)H(gID r)
のように求める。所定の方法4では、リクエストReqを受信用秘密鍵K1を含む情報とする。所定の方法5では、値Wを
W=Res
のように求める。所定の方法6では、平文M’を
M’=V(+)H(W)
のように求める。所定の方法7では、レスポンスResを
Res=e(K1,U)^K3
のように求める。ただし、ペアリングeでは式(1)が成り立つので、
Res=e(K3K1,U) または Res=e(K1,K3U)
のようにレスポンスResを求めてもよい。
Combination of predetermined methods 1-1
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 3 ' −1
Seek like. In the
Seek like. In certain methods 4, the information including the received secret key K 1 a 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.
なお、上述の所定の方法の組み合わせの一部を以下の例のように変更してもよい。 In addition, you may change a part of combination of the above-mentioned predetermined method like the following examples.
第1の例では、所定の方法2を
K3=K3’
とし、所定の方法7を
Res=e(K1,U)^(K3 −1)
としてもよい。ただし、ペアリングeでは式(1)が成り立つので、
Res=e((K3 −1)K1,U) または Res=e(K1,(K3 −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を
K1=(K3’)−1K0
とし、所定の方法2を
K3=K3’
とし、所定の方法7を
Res=e(K1,U)^K3
としてもよい。ただし、ペアリングeでは式(1)が成り立つので、
Res=e(K3K1,U) または Res=e(K1,K3U)
のようにレスポンス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 r)を共通鍵として平文Mを暗号化し、暗号文Vを求めてもよい。この場合は、所定の方法6は、H(W)を共通鍵として暗号文Vを平文M’に復号するとすればよい。
In the third example, the ciphertext V may be obtained by encrypting the plaintext M using the
所定の方法の組み合わせ1−2
所定の方法1では、受信用秘密鍵K1を
K1=K3’ K0
のように求める。所定の方法2では、代理計算用秘密鍵K3を
K3=K3’−1
のように求める。所定の方法3では、暗号文Vを
V=M(+)H(gID r)
のように求める。所定の方法4では、リクエスト作成部220が、乱数rtmpを0以上p−1以下の整数から選択し(S221)、隠蔽鍵Ktmpを
Ktmp=rtmpK1
を求め、リクエストReqを隠蔽鍵Ktmpを含む情報とする。所定の方法5では、値Wを
W=Res^rtmp −1
のように求める。所定の方法6では、平文M’を
M’=V(+)H(W)
のように求める。所定の方法7では、レスポンスResを
Res=e(Ktmp,U)^K3
のように求める。ただし、ペアリングeでは式(1)が成り立つので、
Res=e(K3Ktmp,U) または Res=e(Ktmp,K3U)
のようにレスポンス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 proxy calculation private key K 3 is set to K 3 = K 3 ' −1
Seek like. In the
Seek like. In the predetermined method 4, the
And request Req as information including concealment key K tmp . 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.
なお、上述の所定の方法の組み合わせの一部を以下の例のように変更してもよい。 In addition, you may change a part of combination of the above-mentioned predetermined method like the following examples.
第1の例では、所定の方法2を
K3=K3’
とし、所定の方法7を
Res=e(Ktmp,U)^(K3 −1)
としてもよい。ただし、ペアリングeでは式(1)が成り立つので、
Res=e((K3 −1)Ktmp,U) または Res=e(Ktmp,(K3 −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を
K1=(K3’)−1K0
とし、所定の方法2を
K3=K3’
とし、所定の方法7を
Res=e(Ktmp,U)^K3
としてもよい。ただし、ペアリングeでは式(1)が成り立つので、
Res=e(K3Ktmp,U) または Res=e(Ktmp,K3U)
のようにレスポンス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 r)を共通鍵として平文Mを暗号化し、暗号文Vを求めてもよい。この場合は、所定の方法6は、H(W)を共通鍵として暗号文Vを平文M’に復号するとすればよい。
In the third example, the ciphertext V may be obtained by encrypting the plaintext M using the
[変形例1]
図1に実施例1変形例1の暗号化システムの構成例を示す。図2に実施例1変形例1の暗号化システムの秘密鍵を配布する処理フローを、図4に暗号文の生成から復号までの処理フローを示す。実施例1との違いは、受信装置200自体が暗号文識別情報vを生成する点(暗号文識別情報vを受信しない点)である。秘密鍵を配布する処理フローは実施例1と同じである。
[Modification 1]
FIG. 1 shows a configuration example of an encryption system according to a first modification of the first embodiment. FIG. 2 shows a processing flow for distributing the secret key of the encryption system of the first modification of the first embodiment, and FIG. 4 shows a processing flow from generation of ciphertext to decryption. The difference from the first embodiment is that the receiving
この変形例では、受信装置200が暗号文識別情報生成部240も備えている。そして、送信装置100の暗号文送信部121が、受信装置200に暗号文Vを送信し、復号履歴蓄積サーバ300にセッション情報Uと暗号文識別情報vとを送信する(S121)。そして、受信装置200の暗号文識別情報生成部240が、v=h(V)のように暗号文識別情報vを生成する(S240)。その他の構成部と処理は実施例1と同じであり、隠蔽用乱数rtmpを生成するか否かや所定の方法1〜8のバリエーションなども実施例1と同じである。したがって、実施例1と同様の効果が得られる。
In this modification, the receiving
[変形例2]
図1に実施例1変形例2の暗号化システムの構成例を示す。図5に実施例1変形例2の暗号化システムの秘密鍵を配布する処理フローを、図3に暗号文の生成から復号までの処理フローを示す。実施例1との違いは、鍵生成装置400が、保護用秘密鍵K2も生成する点である。そのため、鍵配布部430と復号部230の処理、および復号記録部290に記録される情報が実施例1と異なる。
[Modification 2]
FIG. 1 shows a configuration example of an encryption system according to a first modification of the first embodiment. FIG. 5 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 difference from the first embodiment, the key generation device 400, protective secret key K 2 is also a point to be generated. Therefore, the processing of the
秘密鍵を配布する処理フロー
ステップS211〜S422までは実施例1と同じである。ステップS422が終了すると、鍵配布部430は、分割用乱数K3’を用いて所定の方法2で代理計算用秘密鍵K3を求める。本変形例の所定の方法2では、保護用秘密鍵K2を0以上p−1以下の整数から選択する(S431)。分割用乱数K3’と保護用秘密鍵K2を用いて所定の方法2’にしたがって代理計算用秘密鍵K3を求める(S432)。なお、保護用秘密鍵K2は、鍵配布部430が単純に乱数として求める方法以外に、次のように求めてもよい。鍵配布部430が受信装置200から保護用秘密鍵K2を求めるための情報Passを受信する。そして、鍵配布部430が情報Passを用いて保護用秘密鍵K2を求めてもよい。例えば、情報Passとハッシュ関数を用いて保護用秘密鍵K2を求めてもよいし、情報Pass自体を保護用秘密鍵K2としてもよい。また、情報Passとして、例えば受信装置200の利用者(受信者)が設定したパスワードを用いてもよい。また、保護用秘密鍵K2は、0以上p−1以下の整数からランダムに選択することが望ましいが、あらかじめ定めた他の方法で選択してもよい。
Processing flow steps S211 to S422 for distributing the secret key are the same as those in the first embodiment. When step S422 ends, the
鍵配布部430は、受信用秘密鍵K1と保護用秘密鍵K2を受信装置200に送信し、受信用秘密鍵K1と保護用秘密鍵K2を送信した受信装置200を識別する受信装置識別情報RIDと代理計算用秘密鍵K3を復号履歴蓄積サーバ300に送信する(S433)。受信装置200の復号記録部290は、受信用秘密鍵K1と保護用秘密鍵K2を記録する(S292)。なお、復号記録部290は、物理的に別の2つ以上の記録装置で構成してもよい。例えば、復号記録部290をICカードとパソコンのハードディスクで構成してもよい。そして、受信用秘密鍵K1をICカードに記録し、保護用秘密鍵K2をパソコンのハードディスクに記録するようにしてもよい。このように物理的に別々に受信用秘密鍵K1と保護用秘密鍵K2を記録すれば、両方を同時に漏洩・紛失するリスクを低減できる。復号履歴蓄積サーバ300の代理記録部390は、受信装置識別情報RIDに対応付けて代理計算用秘密鍵K3を記録する(S391)。
暗号文の生成から復号までの処理フロー
ステップS230以外は実施例1と同じである。ステップS230では、受信装置200の復号部230は、復号履歴蓄積サーバ300から受信したレスポンスResを用いて所定の方法2と所定の方法4に対応した方法である所定の方法5にしたがって、保護用秘密鍵K2を用いてgID rの値Wを求める。そして、H(W)を用いて所定の方法3に対応した方法である所定の方法6にしたがって暗号文Vを復号して平文M’に復号する(S230)。本変形例はこのような構成なので、実施例1と同様の効果が得られる。
Except for the processing flow step S230 from generation of ciphertext to decryption, it is the same as the first embodiment. In step S230, the
次に、上述の所定の方法1〜7について説明する。所定の方法1〜7は「秘密鍵K0から複数の復号鍵(受信用秘密鍵K1,保護用秘密鍵K2,代理計算用秘密鍵K3)を生成する方式」と「鍵を伴う一部の演算機能のリソースを外部装置(復号履歴蓄積サーバ)に安全に代行させる方式」を組み合わせて構成するために互いに対応していればよい。例えば、以下に示すような組み合わせがあり得る。ただし、「秘密鍵K0から複数の復号鍵(受信用秘密鍵K1,保護用秘密鍵K2,代理計算用秘密鍵K3)を生成する方式」と「鍵を伴う一部の演算機能のリソースを外部装置(復号履歴蓄積サーバ)に安全に代行させる方式」とが機能する範囲ならば、これらの組み合わせに限定する必要はない。 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 In order to configure a combination of “methods for safely substituting resources of some arithmetic functions to an external device (decoding history storage server)”, they need only correspond to each other. 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 (decoding history storage server)” functions.
所定の方法の組み合わせ1−3
所定の方法1では、受信用秘密鍵K1を
K1=K3’K0
のように求める。所定の方法2’では、代理計算用秘密鍵K3を
K3=(K2K3’)−1
のように求める。所定の方法3では、暗号文Vを
V=M(+)H(gID r)
のように求める。所定の方法4では、リクエストReqを受信用秘密鍵K1を含む情報とする。所定の方法5では、値Wを
W=Res^K2
のように求める。所定の方法6では、平文M’を
M’=V(+)H(W)
のように求める。所定の方法7では、レスポンスResを
Res=e(K1,U)^K3
のように求める。ただし、ペアリングeでは式(1)が成り立つので、
Res=e(K3K1,U) または Res=e(K1,K3U)
のようにレスポンスResを求めてもよい。
Combination of predetermined methods 1-3
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
Seek like. In certain methods 4, the information including the received secret key K 1 a 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.
なお、上述の所定の方法の組み合わせの一部を以下の例のように変更してもよい。 In addition, you may change a part of combination of the above-mentioned predetermined method like the following examples.
第1の例では、所定の方法2’を
K3=(K2)−1K3’
とし、所定の方法7を
Res=e(K1,U)^(K3 −1)
としてもよい。ただし、ペアリングeでは式(1)が成り立つので、
Res=e((K3 −1)K1,U) または Res=e(K1,(K3 −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を
K1=(K3’)−1K0
とし、所定の方法2’を
K3=(K2)−1K3’
とし、所定の方法7を
Res=e(K1,U)^K3
としてもよい。ただし、ペアリングeでは式(1)が成り立つので、
Res=e(K3K1,U) または Res=e(K1,K3U)
のようにレスポンス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 r)を共通鍵として平文Mを暗号化し、暗号文Vを求めてもよい。この場合は、所定の方法6は、H(W)を共通鍵として暗号文Vを平文M’に復号するとすればよい。
In the third example, the ciphertext V may be obtained by encrypting the plaintext M using the
所定の方法の組み合わせ1−4
所定の方法1では、受信用秘密鍵K1を
K1=K3’K0
のように求める。所定の方法2’では、代理計算用秘密鍵K3を
K3=(K2K3’)−1
のように求める。所定の方法3では、暗号文Vを
V=M(+)H(gID r)
のように求める。所定の方法4では、リクエスト作成部220が、乱数rtmpを0以上p−1以下の整数から選択し(S221)、隠蔽鍵Ktmpを
Ktmp=rtmpK1
を求め、リクエストReqを隠蔽鍵Ktmpを含む情報とする。所定の方法5では、値Wを
W=Res^(rtmp −1K2)
のように求める。所定の方法6では、平文M’を
M’=V(+)H(W)
のように求める。所定の方法7では、レスポンスResを
Res=e(Ktmp,U)^K3
のように求める。ただし、ペアリングeでは式(1)が成り立つので、
Res=e(K3Ktmp,U) または Res=e(Ktmp,K3U)
のようにレスポンスResを求めてもよい。
Combination of predetermined methods 1-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
Seek like. In the predetermined method 4, the
And request Req as information including concealment key K tmp . 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.
なお、上述の所定の方法の組み合わせの一部を以下の例のように変更してもよい。 In addition, you may change a part of combination of the above-mentioned predetermined method like the following examples.
第1の例では、所定の方法2’を
K3=(K2)−1K3’
とし、所定の方法7を
Res=e(Ktmp,U)^(K3 −1)
としてもよい。ただし、ペアリングeでは式(1)が成り立つので、
Res=e((K3 −1)Ktmp,U) または Res=e(Ktmp,(K3 −1)U)
のようにレスポンスResを求めてもよい。
In the first example, the predetermined method 2 ′ is changed to K 3 = (K 2 ) −1 K 3 ′.
And 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を
K1=(K3’)−1K0
とし、所定の方法2’を
K3=(K2)−1K3’
とし、所定の方法7を
Res=e(Ktmp,U)^K3
としてもよい。ただし、ペアリングeでは式(1)が成り立つので、
Res=e(K3Ktmp,U) または Res=e(Ktmp,K3U)
のようにレスポンス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 r)を共通鍵として平文Mを暗号化し、暗号文Vを求めてもよい。この場合は、所定の方法6は、H(W)を共通鍵として暗号文Vを平文M’に復号するとすればよい。
In the third example, the ciphertext V may be obtained by encrypting the plaintext M using the
[変形例3]
図1に実施例1変形例3の暗号化システムの構成例を示す。図5に実施例1変形例3の暗号化システムの秘密鍵を配布する処理フローを、図4に暗号文の生成から復号までの処理フローを示す。実施例1変形例2との違いは、受信装置200自体が暗号文識別情報vを生成する点(暗号文識別情報vを受信しない点)である。秘密鍵を配布する処理フローは実施例1変形例2と同じである。
[Modification 3]
FIG. 1 shows a configuration example of an encryption system according to a first modification of the first embodiment. FIG. 5 shows a processing flow for distributing the secret key of the encryption system according to the first modification of the first embodiment, and FIG. 4 shows a processing flow from generation of ciphertext to decryption. The difference from the first embodiment and the second modification is that the receiving
この変形例では、受信装置200が暗号文識別情報生成部240も備えている。そして、送信装置100の暗号文送信部121が、受信装置200に暗号文Vを送信し、復号履歴蓄積サーバ300にセッション情報Uと暗号文識別情報vとを送信する(S121)。そして、受信装置200の暗号文識別情報生成部240が、v=h(V)のように暗号文識別情報vを生成する(S240)。その他の構成部と処理は実施例1変形例2と同じであり、隠蔽用乱数rtmpを生成するか否かや所定の方法1〜8のバリエーションなども実施例1変形例2と同じである。したがって、実施例1と同様の効果が得られる。
In this modification, the receiving
実施例1では、復号履歴蓄積サーバはレスポンスResを送信したときには履歴蓄積部に復号履歴を記録していた。しかし、受信装置が正しい受信用秘密鍵K1を保有していなかった場合(つまり、実際には暗号文Vを復号できなかった場合)であっても復号履歴が記録されることになる。そこで、実施例2では、復号履歴蓄積サーバがリクエストReqを送信してきた受信装置が正しい受信用秘密鍵K1を保有しているのかを確認する機能も備えた例を示す。 In the first embodiment, the decryption history storage server records the decryption history in the history storage unit when the response Res is transmitted. However, if the receiver did not have the correct reception secret key K 1 (i.e., actually if it can not decrypt the ciphertext V) would be a decoding history is recorded. In a second embodiment, an example of functions provided to check whether the decoding history storage server owns the received secret key K 1 received has transmitted device is correct request Req.
図6に実施例2の暗号化システムの構成例を示す。図2に実施例2の暗号化システムの秘密鍵を配布する処理フローを、図7に暗号文の生成から復号までの処理フローを示す。実施例2の暗号化システムは、送信装置100、受信装置500、復号履歴蓄積サーバ600、鍵生成装置400で構成される。
FIG. 6 shows a configuration example of the encryption system according to the second embodiment. FIG. 2 shows a processing flow for distributing the secret key of the encryption system according to the second embodiment, and FIG. 7 shows a processing flow from generation of ciphertext to decryption. The encryption system according to the second embodiment includes a transmission device 100, a
以下の説明では、kは大きな整数、pはkビットの素数、G1は位数pの巡回加算群、G2は位数pの巡回群、eはG1×G1→G2のように写像する双線形ペアリング関数、Hは群G2の元をnビットのビット列に写像するハッシュ関数を示す記号、Pは群G1の生成元、sは鍵生成装置400が生成した0以上p−1以下の整数、PPub=sP、(P,PPub)は公開パラメータ、MaptoPointG1は任意長のビット列を群G1の元に写像する関数、IDは任意長のビット列、QID=MaptoPointG1(ID)、(+)はビット単位の排他的論理和を示す記号、^はべき乗を示す記号、vは暗号文Vを識別する暗号文識別情報、hは暗号文Vを識別する暗号文識別情報を生成する関数を示す記号、‖はビット列の結合を示す記号とする。 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 exclusive OR in bit units, ^ is a symbol indicating power, v is ciphertext identification information for identifying ciphertext V, and h is a cipher for identifying ciphertext V A symbol indicating a function that generates sentence identification information, and ‖ is a symbol indicating a combination of bit strings. The
送信装置100は、暗号化部110、暗号文送信部120、暗号化記録部190を備える。受信装置500は、属性送信部210、リクエスト作成部220、リクエスト送信部225、復号部230、第2リクエスト作成部520、第2復号部530、ハッシュ値計算部550、復号記録部290を備える。復号履歴蓄積サーバ600は、レスポンス作成部310、レスポンス送信部315、認証鍵生成部610、チャレンジ生成部620、第2レスポンス作成部630、認証部640、セッション情報蓄積部370、履歴蓄積部380、代理記録部390を備える。鍵生成装置400は、鍵生成部410、鍵分割部420、鍵配布部430、鍵生成記録部490を備える。以下に、処理フローを説明しながら、これらの構成部の機能を説明する。秘密鍵を配布する処理フローは実施例1と同じなので説明を省略する。
The transmission device 100 includes an
暗号文の生成から復号までの処理フロー
ステップS212からS222までの処理は実施例1と同じである。ステップS222のあと、復号履歴蓄積サーバ600の認証鍵生成部610は、認証鍵Aと0以上p−1以下の整数である乱数aを生成する。また、認証鍵生成部610は、H(gID a)を用いて所定の方法3’で認証鍵Aを暗号化して暗号化認証鍵V’を求める。認証鍵生成部610はさらに、U’=aPのようにセッション情報U’を計算し、暗号化認証鍵V’のみ若しくは暗号化認証鍵V’とセッション情報U’を受信装置500に送信する(S610)。
Processing flow from generation of ciphertext to decryption The processing from step S212 to S222 is the same as in the first embodiment. After step S222, the authentication
第2リクエスト作成部520は、受信用秘密鍵K1を用いて所定の方法4’でリクエストReq’を作成し、復号履歴蓄積サーバ600に送信する(S520)。復号履歴蓄積サーバ600の第2レスポンス作成部630は、所定の方法1と所定の方法2と所定の方法4’に対応した方法である所定の方法7’にしたがってセッション情報U’と代理計算用秘密鍵K3を用いた計算を行ってレスポンスRes’を求め、受信装置500に送信する(S630)。受信装置500の第2復号部530は、復号履歴蓄積サーバ600から受信したレスポンスRes’を用いて所定の方法2と所定の方法4’に対応した方法である所定の方法5’にしたがってgID aの値Wを求める。そして、H(W)を用いて所定の方法3’に対応した方法である所定の方法6’にしたがって暗号化認証鍵V’を復号して認証鍵A’に復号する(S530)。なお、以下では、暗号化前の認証鍵と復号した認証鍵とを区別する必要があるときは、暗号化前の認証鍵をAと記載し、復号した認証鍵をA’と記載して区別する。
The second
復号履歴蓄積サーバ600のチャレンジ生成部620は、チャレンジBを生成し、受信装置500に送信する(S620)。なお、ステップS620は、ステップS610〜S530の前に行ってもよいし、並行して行ってもよい。受信装置500のハッシュ値計算部550は、D’=H’(A’‖B)のようにハッシュ値D’を求め、復号履歴蓄積サーバ600に送信する。
The
復号履歴蓄積サーバの認証部640は、D=H’(A‖B)のようにハッシュ値Dを求め、D=D’であることを確認し、D≠D’の場合は処理を中止する(S640)。D=D’の場合はステップS310に進む。ステップS310、S230、S380は実施例1と同じである。
The
実施例2はこのような処理なので、実施例1の効果が得られた上で、さらに受信装置が実際に復号できるときのみ復号履歴を記録できる。例えば、受信装置に成りすました装置から大量のリクエストReqが送信されるなどの攻撃があった場合でも、履歴蓄積部380にはこれらのリクエストReqについての復号履歴は記録されない。
Since the second embodiment is such a process, the decoding history can be recorded only when the receiving apparatus can actually perform decoding after obtaining the effects of the first embodiment. For example, even when there is an attack such as a large amount of request Req being transmitted from a device impersonating a receiving device, the
なお、実施例2の所定の方法1〜7は、実施例1で説明した所定の方法1〜7と同じである。そして、実施例2で説明した所定の方法3’、4’、5’、6’、7’も、「秘密鍵K0から複数の復号鍵(受信用秘密鍵K1,代理計算用秘密鍵K3)を生成する方式」と「鍵を伴う一部の演算機能のリソースを外部装置(復号履歴蓄積サーバ)に安全に代行させる方式」を組み合わせて構成するために互いに対応していればよい。例えば以下のようなバリエーションがある。
The predetermined methods 1 to 7 of the second embodiment are the same as the predetermined methods 1 to 7 described in the first embodiment. The
所定の方法の組み合わせ2−1
所定の方法1では、受信用秘密鍵K1を
K1=K3’ K0
のように求める。所定の方法2では、代理計算用秘密鍵K3を
K3=K3’−1
のように求める。このような場合であれば、所定の方法3’では、暗号化認証鍵V’を
V’=A(+)H(gID r)
のように求める。所定の方法4’では、リクエストReq’を受信用秘密鍵K1を含む情報とする。所定の方法5’では、値Wを
W=Res’
のように求める。所定の方法6’では、認証鍵A’を
A’=V’(+)H(W)
のように求める。所定の方法7’では、レスポンスRes’を
Res’=e(K1,U’)^K3
のように求める。ただし、ペアリングeでは式(1)が成り立つので、
Res’=e(K3K1,U’) または Res’=e(K1,K3U’)
のようにレスポンスRes’を求めてもよい。
Combination of predetermined methods 2-1
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 3 ' −1
Seek like. In such a case, in the
Seek like. ', The request Req' predetermined method 4, information including the reception secret key K 1 a. In the predetermined method 5 ′, the value W is set to W = Res ′
Seek like. In the predetermined method 6 ′, the authentication key A ′ is set to A ′ = V ′ (+) H (W)
Seek like. In the predetermined method 7 ′, the response Res ′ is set to 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.
なお、上述の所定の方法の組み合わせの一部を以下の例のように変更してもよい。 In addition, you may change a part of combination of the above-mentioned predetermined method like the following examples.
第1の例では、所定の方法2を
K3=K3’
とし、所定の方法7’を
Res’=e(K1,U’)^(K3 −1)
としてもよい。ただし、ペアリングeでは式(1)が成り立つので、
Res’=e((K3 −1)K1,U’) または Res’=e(K1,(K3 −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を
K1=(K3’)−1K0
とし、所定の方法2を
K3=K3’
とし、所定の方法7’を
Res’=e(K1,U’)^K3
としてもよい。ただし、ペアリングeでは式(1)が成り立つので、
Res’=e(K3K1,U’) または Res’=e(K1,K3U’)
のようにレスポンス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 r)を共通鍵として認証鍵Aを暗号化し、暗号化認証鍵V’を求めてもよい。この場合は、所定の方法6’は、H(W)を共通鍵として暗号化認証鍵V’を認証鍵A’に復号するとすればよい。
In the third example, a
第4の例では、ステップS610でセッション情報U’も受信装置500に送信し、所定の方法4’では、リクエストReq’を
Req’=e(K1,U’)
のように求める。そして、所定の方法7’では、レスポンスRes’を
Res’=Req’^K3
のように求めるとしてもよい。
In the fourth example, the session information U ′ is also transmitted to the receiving
Seek like. Then, in the predetermined method 7 ′, the response Res ′ is changed to Res ′ = Req ′ ^ K 3
You may ask as follows.
所定の方法の組み合わせ2−2
所定の方法1では、受信用秘密鍵K1を
K1=K3’ K0
のように求める。所定の方法2では、代理計算用秘密鍵K3を
K3=K3’−1
のように求める。所定の方法3’では、暗号化認証鍵V’を
V’=A(+)H(gID r)
のように求める。所定の方法4’では、第2リクエスト作成部520が、乱数rtmpを0以上p−1以下の整数から選択し、隠蔽鍵Ktmpを
Ktmp=rtmpK1
を求め、リクエストReq’を隠蔽鍵Ktmpを含む情報とする。所定の方法5’では、値Wを
W=Res’^rtmp −1
のように求める。所定の方法6’では、認証鍵A’を
A’=V’(+)H(W)
のように求める。所定の方法7’では、レスポンスRes’を
Res’=e(Ktmp,U’)^K3
のように求める。ただし、ペアリングeでは式(1)が成り立つので、
Res’=e(K3Ktmp,U’) または Res’=e(Ktmp,K3U’)
のようにレスポンスResを求めてもよい。
Combination of predetermined methods 2-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 proxy calculation private key K 3 is set to K 3 = K 3 ' −1
Seek like. In the
Seek like. In the predetermined method 4 ′, the second
And request Req ′ as information including concealment key K tmp . In the predetermined method 5 ′, the value W is changed to W = Res ′ ^ r tmp −1
Seek like. In the predetermined method 6 ′, the authentication key A ′ is set to A ′ = V ′ (+) H (W)
Seek like. In the predetermined method 7 ′, the response Res ′ is set to 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.
なお、上述の所定の方法の組み合わせの一部を以下の例のように変更してもよい。 In addition, you may change a part of combination of the above-mentioned predetermined method like the following examples.
第1の例では、所定の方法2を
K3=K3’
とし、所定の方法7’を
Res’=e(Ktmp,U’)^(K3 −1)
としてもよい。ただし、ペアリングeでは式(1)が成り立つので、
Res’=e((K3 −1)Ktmp,U’) または Res’=e(Ktmp,(K3 −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を
K1=(K3’)−1K0
とし、所定の方法2を
K3=K3’
とし、所定の方法7’を
Res’=e(Ktmp,U’)^K3
としてもよい。ただし、ペアリングeでは式(1)が成り立つので、
Res’=e(K3Ktmp,U’) または Res’=e(Ktmp,K3U’)
のようにレスポンス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 r)を共通鍵として認証鍵Aを暗号化し、暗号化認証鍵V’を求めてもよい。この場合は、所定の方法6’は、H(W)を共通鍵として暗号化認証鍵V’を認証鍵A’に復号するとすればよい。
In the third example, a
第4の例では、ステップS610でセッション情報U’も受信装置500に送信し、所定の方法4’では、リクエストReq’を
Req’=e(rtmpK1,U’)
のように求める。そして、所定の方法7’では、レスポンスRes’を
Res’=Req’^K3
のように求めるとしてもよい。
In the fourth example, the session information U ′ is also transmitted to the receiving
Seek like. Then, in the predetermined method 7 ′, the response Res ′ is changed to Res ′ = Req ′ ^ K 3
You may ask as follows.
[変形例1]
実施例2は暗号文Vを復号する前に受信装置の認証を行う点が実施例1と異なる。しかし、秘密鍵を配布する処理と、復号対象の暗号文Vの生成と復号自体は実施例1と同じである。したがって、実施例1で説明した変形例1〜3は実施例2でも適用できる。
[Modification 1]
The second embodiment is different from the first embodiment in that the receiving device is authenticated before the ciphertext V is decrypted. However, the process of distributing the secret key and the generation and decryption of the ciphertext V to be decrypted are the same as in the first embodiment. Therefore, the first to third modifications described in the first embodiment can be applied to the second embodiment.
実施例2変形例1は、受信装置500自体が暗号文識別情報vを生成する点(暗号文識別情報vを受信しない点)を変更した暗号化システムである(実施例1変形例1に相当する)。実施例2変形例1の暗号化システムの構成例は図6である。この場合は、受信装置500は、暗号文識別情報生成部240も備える。そして、秘密鍵を配布する処理フローが図2、暗号文の生成から復号までの処理フローが図8である。実施例2と実施例2変形例1との相違点は、実施例1と実施例1変形例1との相違点と同じなので、説明は省略する。
Embodiment 2 Modification 1 is an encryption system in which the
[変形例2]
実施例2変形例2は、鍵生成装置400が保護用秘密鍵K2も生成する暗号化システムである(実施例1変形例2に相当する)。実施例2変形例2の暗号化システムの構成例は図6である。実施例2変形例2では、受信装置500は、暗号文識別情報生成部240は備えていない。そして、秘密鍵を配布する処理フローが図5、暗号文の生成から復号までの処理フローが図7である。実施例2と実施例2変形例2との相違点は、実施例1と実施例1変形例2との相違点と同じなので、秘密鍵を配布する処理フローと暗号文の生成から復号までの処理フローの説明は省略する。また、所定の方法1〜7は実施例1変形例2と同じなので説明を省略する。所定の方法3’、4’、5’、6’、7’の具体例については以下に説明する。ただし、「秘密鍵K0から複数の復号鍵(受信用秘密鍵K1,保護用秘密鍵K2,代理計算用秘密鍵K3)を生成する方式」と「鍵を伴う一部の演算機能のリソースを外部装置(復号履歴蓄積サーバ)に安全に代行させる方式」とが機能する範囲ならば、これらの組み合わせに限定する必要はない。
[Modification 2]
Embodiment 2 Modification 2 is an encryption system in which the key generation device 400 also generates a protection secret key K 2 (corresponding to Modification 2 of Embodiment 1). Embodiment 2 FIG. 6 shows a configuration example of an encryption system according to a second modification. Second Embodiment In the second modification, the receiving
所定の方法の組み合わせ2−3
所定の方法1では、受信用秘密鍵K1を
K1=K3’K0
のように求める。所定の方法2’では、代理計算用秘密鍵K3を
K3=(K2K3’)−1
のように求める。所定の方法3’では、暗号化認証鍵V’を
V’=A(+)H(gID r)
のように求める。所定の方法4’では、リクエストReq’を受信用秘密鍵K1を含む情報とする。所定の方法5’では、値Wを
W=Res’^K2
のように求める。所定の方法6’では、認証鍵A’を
A’=V’(+)H(W)
のように求める。所定の方法7’では、レスポンスRes’を
Res’=e(K1,U’)^K3
のように求める。ただし、ペアリングeでは式(1)が成り立つので、
Res’=e(K3K1,U’) または Res’=e(K1,K3U’)
のようにレスポンスRes’を求めてもよい。
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
Seek like. ', The request Req' predetermined method 4, information including the reception secret key K 1 a. In the predetermined method 5 ′, the value W is set to W = Res ′ ^ K 2
Seek like. In the predetermined method 6 ′, the authentication key A ′ is set to A ′ = V ′ (+) H (W)
Seek like. In the predetermined method 7 ′, the response Res ′ is set to 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.
なお、上述の所定の方法の組み合わせの一部を以下の例のように変更してもよい。 In addition, you may change a part of combination of the above-mentioned predetermined method like the following examples.
第1の例では、所定の方法2’を
K3=(K2)−1K3’
とし、所定の方法7’を
Res’=e(K1,U’)^(K3 −1)
としてもよい。ただし、ペアリングeでは式(1)が成り立つので、
Res’=e((K3 −1)K1,U’) または Res’=e(K1,(K3 −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を
K1=(K3’)−1K0
とし、所定の方法2’を
K3=(K2)−1K3’
とし、所定の方法7’を
Res’=e(K1,U’)^K3
としてもよい。ただし、ペアリングeでは式(1)が成り立つので、
Res’=e(K3K1,U’) または Res’=e(K1,K3U’)
のようにレスポンス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 r)を共通鍵として認証鍵Aを暗号化し、暗号化認証鍵V’を求めてもよい。この場合は、所定の方法6’は、H(W)を共通鍵として暗号文Vを平文M’に復号するとすればよい。
In the third example, a
第4の例では、ステップS610でセッション情報U’も受信装置500に送信し、所定の方法4’では、リクエストReq’を
Req’=e(K1,U’)
のように求める。そして、所定の方法7’では、レスポンスRes’を
Res’=Req’^K3
のように求めるとしてもよい。
In the fourth example, the session information U ′ is also transmitted to the receiving
Seek like. Then, in the predetermined method 7 ′, the response Res ′ is changed to Res ′ = Req ′ ^ K 3
You may ask as follows.
所定の方法の組み合わせ2−4
所定の方法1では、受信用秘密鍵K1を
K1=K3’K0
のように求める。所定の方法2’では、代理計算用秘密鍵K3を
K3=(K2K3’)−1
のように求める。所定の方法3’では、暗号化認証鍵V’を
V’=A(+)H(gID r)
のように求める。所定の方法4’では、第2リクエスト作成部520が、乱数rtmpを0以上p−1以下の整数から選択し、隠蔽鍵Ktmpを
Ktmp=rtmpK1
を求め、リクエストReq’を隠蔽鍵Ktmpを含む情報とする。所定の方法5’では、値Wを
W=Res’^(rtmp −1K2)
のように求める。所定の方法6’では、認証鍵A’を
A’=V’(+)H(W)
のように求める。所定の方法7’では、レスポンスRes’を
Res’=e(Ktmp,U’)^K3
のように求める。ただし、ペアリングeでは式(1)が成り立つので、
Res’=e(K3Ktmp,U’) または Res’=e(Ktmp,K3U’)
のようにレスポンス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
Seek like. In the predetermined method 4 ′, the second
And request Req ′ as information including concealment key K tmp . 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 ′, the authentication key A ′ is set to A ′ = V ′ (+) H (W)
Seek like. In the predetermined method 7 ′, the response Res ′ is set to 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.
なお、上述の所定の方法の組み合わせの一部を以下の例のように変更してもよい。 In addition, you may change a part of combination of the above-mentioned predetermined method like the following examples.
第1の例では、所定の方法2’を
K3=(K2)−1K3’
とし、所定の方法7’を
Res=e(Ktmp,U’)^(K3 −1)
としてもよい。ただし、ペアリングeでは式(1)が成り立つので、
Res’=e((K3 −1)Ktmp,U’) または Res’=e(Ktmp,(K3 −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を
K1=(K3’)−1K0
とし、所定の方法2’を
K3=(K2)−1K3’
とし、所定の方法7’を
Res’=e(Ktmp,U’)^K3
としてもよい。ただし、ペアリングeでは式(1)が成り立つので、
Res’=e(K3Ktmp,U’) または Res’=e(Ktmp,K3U’)
のようにレスポンス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 r)を共通鍵として認証鍵Aを暗号化し、暗号化認証鍵V’を求めてもよい。この場合は、所定の方法6’は、H(W)を共通鍵として暗号化認証鍵V’を認証鍵A’に復号するとすればよい。
In the third example, the
第4の例では、ステップS610でセッション情報U’も受信装置500に送信し、所定の方法4’では、リクエストReq’を
Req’=e(rtmpK1,U’)
のように求める。そして、所定の方法7’では、レスポンスRes’を
Res’=Req’^K3
のように求めるとしてもよい。
In the fourth example, the session information U ′ is also transmitted to the receiving
Seek like. Then, in the predetermined method 7 ′, the response Res ′ is changed to Res ′ = Req ′ ^ K 3
You may ask as follows.
[変形例3]
実施例2変形例3は、受信装置500自体が暗号文識別情報vを生成する点(暗号文識別情報vを受信しない点)と、鍵生成装置400が保護用秘密鍵K2も生成する点を変更した暗号化システムである(実施例1変形例3に相当する)。実施例2変形例3の暗号化システムの構成例は図6である。この場合は、受信装置500は、暗号文識別情報生成部240も備える。そして、秘密鍵を配布する処理フローが図5、暗号文の生成から復号までの処理フローが図8である。実施例2変形例2と実施例2変形例3との相違点は、実施例1変形例2と実施例1変形例3との相違点と同じなので、説明は省略する。
[Modification 3]
Example 2
実施例3では、実施例2とは異なる方法で復号履歴蓄積サーバが認証する暗号化システムを示す。図9に実施例3の暗号化システムの構成例を示す。図10に実施例3の暗号化システムの秘密鍵を配布する処理フローを、図11に暗号文の生成から復号までの処理フローを示す。実施例3の暗号化システムは、送信装置100、受信装置501、復号履歴蓄積サーバ601、鍵生成装置700で構成される。 The third embodiment shows an encryption system in which the decryption history storage server authenticates by a method different from that of the second embodiment. FIG. 9 shows a configuration example of the encryption system according to the third embodiment. FIG. 10 shows a processing flow for distributing the secret key of the encryption system according to the third embodiment, and FIG. 11 shows a processing flow from generation of ciphertext to decryption. The encryption system according to the third embodiment includes a transmission device 100, a reception device 501, a decryption history storage server 601, and a key generation device 700.
以下の説明では、kは大きな整数、pはkビットの素数、G1は位数pの巡回加算群、G2は位数pの巡回群、eはG1×G1→G2のように写像する双線形ペアリング関数、Hは群G2の元をnビットのビット列に写像するハッシュ関数を示す記号、Pは群G1の生成元、sは鍵生成装置400が生成した0以上p−1以下の整数、PPub=sP、(P,PPub)は公開パラメータ、MaptoPointG1は任意長のビット列を群G1の元に写像する関数、IDは任意長のビット列、QID=MaptoPointG1(ID)、(+)はビット単位の排他的論理和を示す記号、^はべき乗を示す記号、vは暗号文Vを識別する暗号文識別情報、hは暗号文Vを識別する暗号文識別情報を生成する関数を示す記号、‖はビット列の結合を示す記号とする。 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 exclusive OR in bit units, ^ is a symbol indicating power, v is ciphertext identification information for identifying ciphertext V, and h is a cipher for identifying ciphertext V A symbol indicating a function that generates sentence identification information, and ‖ is a symbol indicating a combination of bit strings. The
送信装置100は、暗号化部110、暗号文送信部120、暗号化記録部190を備える。受信装置501は、属性送信部210、リクエスト作成部220、リクエスト送信部225、復号部230、鍵識別子送信部560、復号記録部295を備える。復号履歴蓄積サーバ601は、レスポンス作成部310、レスポンス送信部315、鍵識別子照合部660、セッション情報蓄積部370、履歴蓄積部380、代理記録部395を備える。鍵生成装置700は、鍵生成部410、鍵分割部420、鍵配布部730、鍵識別子生成部740、鍵生成記録部490を備える。以下に、処理フローを説明しながら、これらの構成部の機能を説明する。
The transmission device 100 includes an
秘密鍵を配布する処理フロー
ステップS211からS434までは実施例1と同じである。ステップS434の後、鍵識別子生成部740が、受信用秘密鍵K1と代理計算用秘密鍵K3から鍵識別子KIDを生成する(S740)。なお、鍵識別子KIDは、受信用秘密鍵K1と代理計算用秘密鍵K3から特定できる情報であればよい。例えば、K1‖K3のハッシュ値を鍵識別子KIDとしてもよいし、K1‖K3‖Xのように他の情報X(例えば、受信装置200の属性を示すビット列ID)も付加したビット列のハッシュ値を鍵識別子KIDとしてもよい。さらには、後述する実施例3変形例2のように保護用秘密鍵K2も生成するときは、K1‖K2‖K3のハッシュ値を鍵識別子KIDとしてもよい。
Processing flow steps S211 to S434 for distributing the secret key are the same as those in the first embodiment. After step S434, the key
そして、鍵配布部730は、受信用秘密鍵K1と鍵識別子KIDを受信装置501に送信し、受信用秘密鍵K1を送信した受信装置501を識別する受信装置識別情報RIDと代理計算用秘密鍵K3と鍵識別子KIDを復号履歴蓄積サーバ601に送信する(S735)。受信装置501の復号記録部295は、受信用秘密鍵K1を記録する(S293)。復号履歴蓄積サーバ601の代理記録部395は、受信装置識別情報RIDに対応付けて代理計算用秘密鍵K3を記録する(S393)。
Then, the
暗号文の生成から復号までの処理フロー
ステップS212からS222までの処理は実施例1と同じである。受信装置501の鍵識別子送信部560は、復号履歴蓄積サーバ601に鍵識別子KIDを送信する(S560)。なお、鍵識別子KIDの送信は、リクエストReqと一緒でもよい。また、何らかの安全な通信手段を利用すればよい。復号履歴蓄積サーバ601の鍵識別子照合部660は、鍵識別子KIDが正しいかを照合する(正しい受信用秘密鍵K1を所有している受信装置501かを確認する)(S560)。照合が失敗した場合は処理を中止する。照合が成功した場合はステップS310に進む。ステップS310、S230、S380は実施例1と同じである。
Processing flow from generation of ciphertext to decryption The processing from step S212 to S222 is the same as in the first embodiment. The key
なお、上述の方法に限定する必要はなく、あらかじめ受信装置501と復号履歴蓄積サーバ601が鍵識別子KIDを共有し、受信装置501と復号履歴蓄積サーバ601が、鍵識別子KIDを照合する照合手段を備えていればよい。実施例3はこのような処理なので、実施例1の効果が得られた上で、さらに受信装置が実際に復号できるときのみ復号履歴を記録できる。 It is not necessary to limit to the above-described method, and collation in which the receiving device 501 and the decryption history storage server 601 share the key identifier K ID in advance, and the receiving device 501 and the decryption history storage server 601 collate the key identifier K ID. What is necessary is just to have a means. Since the third embodiment is such a process, the decoding history can be recorded only when the receiving apparatus can actually perform decoding after obtaining the effects of the first embodiment.
[変形例1]
実施例3も暗号文Vを復号する前に受信装置の認証を行う点が実施例1と異なる。しかし、秘密鍵を配布する処理と、復号対象の暗号文Vの生成と復号自体は実施例1と同じである。したがって、実施例1で説明した変形例1〜3は実施例3でも適用できる。
[Modification 1]
The third embodiment also differs from the first embodiment in that the receiving device is authenticated before the ciphertext V is decrypted. However, the process of distributing the secret key and the generation and decryption of the ciphertext V to be decrypted are the same as in the first embodiment. Therefore, the first to third modifications described in the first embodiment can be applied to the third embodiment.
実施例3変形例1は、受信装置501自体が暗号文識別情報vを生成する点(暗号文識別情報vを受信しない点)を変更した暗号化システムである(実施例1変形例1に相当する)。実施例3変形例1の暗号化システムの構成例は図9である。この場合は、受信装置501は、暗号文識別情報生成部240も備える。そして、秘密鍵を配布する処理フローが図10、暗号文の生成から復号までの処理フローが図12である。実施例3と実施例3変形例1との相違点は、実施例1と実施例1変形例1との相違点と同じなので、説明は省略する。
[変形例2]
実施例3変形例2は、鍵生成装置700が保護用秘密鍵K2も生成する暗号化システムである(実施例1変形例2に相当する)。実施例3変形例2の暗号化システムの構成例は図9である。実施例3変形例2では、受信装置501は、暗号文識別情報生成部240は備えていない。そして、秘密鍵を配布する処理フローが図13、暗号文の生成から復号までの処理フローが図11である。実施例3と実施例3変形例2との相違点は、実施例1と実施例1変形例2との相違点と同じなので、説明は省略する。
[Modification 2]
[変形例3]
実施例3変形例3は、受信装置501自体が暗号文識別情報vを生成する点(暗号文識別情報vを受信しない点)と、鍵生成装置700が保護用秘密鍵K2も生成する点を変更した暗号化システムである(実施例1変形例3に相当する)。実施例3変形例3の暗号化システムの構成例は図9である。この場合は、受信装置501は、暗号文識別情報生成部240も備える。そして、秘密鍵を配布する処理フローが図13、暗号文の生成から復号までの処理フローが図12である。実施例3変形例2と実施例3変形例3との相違点は、実施例1変形例2と実施例1変形例3との相違点と同じなので、説明は省略する。
[Modification 3]
Example 3
[プログラム、記録媒体]
上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
[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.
100 送信装置 110 暗号化部
120、121 暗号文送信部 190 暗号化記録部
200、500、501 受信装置 210 属性送信部
220 リクエスト作成部 225 リクエスト送信部
230 復号部 240 暗号文識別情報生成部
290、295 復号記録部
300、600、601 復号履歴蓄積サーバ
310 レスポンス作成部 315 レスポンス送信部
370 セッション情報蓄積部 380 履歴蓄積部
390、395 代理記録部 400、700 鍵生成装置
410 鍵生成部 420 鍵分割部
430、730 鍵配布部 490 鍵生成記録部
520 第2リクエスト作成部 530 第2復号部
550 ハッシュ値計算部 560 鍵識別子送信部
610 認証鍵生成部 620 チャレンジ生成部
630 第2レスポンス作成部 640 認証部
660 鍵識別子照合部 740 鍵識別子生成部
DESCRIPTION OF SYMBOLS 100
Claims (10)
pは素数、G1は位数pの巡回加算群、G2は位数pの巡回群、eはG1×G1→G2のように写像する双線形ペアリング関数、Hは群G2の元をnビットのビット列に写像するハッシュ関数を示す記号、Pは群G1の生成元、sは0以上p−1以下の整数、PPub=sP、(P,PPub)は公開パラメータ、MaptoPointG1は任意長のビット列を群G1の元に写像する関数、IDは任意長のビット列、QID=MaptoPointG1(ID)、K0はK0=sQIDのように求められた秘密鍵、K3’は0以上p−1以下の整数から選択された分割用乱数、K1は秘密鍵K0と分割用乱数K3’を用いて所定の方法1で求められた受信用秘密鍵、K3は分割用乱数K3’を用いて所定の方法2で求められた代理計算用秘密鍵、rは0以上p−1以下の整数から選択された乱数、UはU=rPのように求められたセッション情報、gIDはgID=e(QID,PPub)のように求められた値、VはH(gID r)を用いて所定の方法3で平文Mを暗号化した暗号文、vは暗号文Vを識別する暗号文識別情報、hは暗号文Vを識別する暗号文識別情報を生成する関数を示す記号であり、
前記送信装置は、少なくとも前記受信装置に暗号文Vを送信し、前記復号履歴蓄積サーバにセッション情報Uと暗号文識別情報vとを送信する暗号文送信部を備え、
前記受信装置は、
受信用秘密鍵K1を記録する復号記録部と、
受信用秘密鍵K1を用いて所定の方法4でリクエストReqを作成するリクエスト作成部と、
前記リクエストReq、v=h(V)を満たす暗号文識別情報v、当該受信装置を特定する受信装置識別情報RIDとを前記復号履歴蓄積サーバに送信するリクエスト送信部と、
前記復号履歴蓄積サーバから受信したレスポンスResを用いて前記所定の方法2と前記所定の方法4に対応した方法である所定の方法5にしたがってgID rの値Wを求め、H(W)を用いて前記所定の方法3に対応した方法である所定の方法6にしたがって暗号文Vを復号して平文M’に復号する復号部と、
を備え、
前記復号履歴蓄積サーバは、
受信装置識別情報RIDに対応付けて代理計算用秘密鍵K3を記録する代理記録部と、
前記送信装置から受信したセッション情報Uと暗号文識別情報vとを対応付けて記録するセッション情報蓄積部と、
前記受信装置から受信した暗号文識別情報vと一致する前記セッション情報蓄積部に記録された暗号文識別情報vに対応付けられたセッション情報Uを取得し、前記受信装置から受信した受信装置識別情報RIDと一致する前記代理記録部に記録された受信装置識別情報RIDに対応付けられた代理計算用秘密鍵K3を取得し、前記所定の方法1と前記所定の方法2と前記所定の方法4に対応した方法である所定の方法7にしたがって前記セッション情報Uと前記代理計算用秘密鍵K3を用いた計算を行ってレスポンスResを求めるレスポンス作成部と、
前記レスポンスResを前記受信装置に送信するレスポンス送信部と、
レスポンスResを前記受信装置に送信したときは、暗号文識別情報vと、受信装置識別情報RIDと、時刻とを対応付けて記録する履歴蓄積部と、
を備える
暗号化システム。 An encryption system having at least a transmission device, a reception device, and a decryption history storage server,
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 = session information obtained as rP, g ID is g ID = e (Q ID, P Pub) values were obtained as, V Is the ciphertext obtained by encrypting the plaintext M by the predetermined method 3 using H (g ID r ), v is the ciphertext identification information for identifying the ciphertext V, and h is the ciphertext identification information for identifying the ciphertext V A symbol indicating the function to be generated,
The transmitting device includes a ciphertext transmitting unit that transmits ciphertext V to at least the receiving device and transmits session information U and ciphertext identification information v to the decryption history storage server,
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 private key K 1 ;
A request transmission unit that transmits the request Req, ciphertext identification information v that satisfies v = h (V), and reception device identification information R ID that identifies the reception device, to the decryption history storage server;
Using the response Res received from the decryption history storage server, the value W of g ID r is determined according to the predetermined method 2 corresponding to the predetermined method 2 and the predetermined method 4, and H (W) is obtained. A decryption unit that decrypts the ciphertext V according to the predetermined method 6 that is a method corresponding to the predetermined method 3 and decrypts it into the plaintext M ′;
With
The decryption history storage server
A proxy recording unit that records the proxy calculation secret key K 3 in association with the receiving device identification information R ID ;
A session information storage unit that records session information U and ciphertext identification information v received from the transmission device in association with each other;
Receiving device identification information received from the receiving device by acquiring session information U associated with the ciphertext identifying information v recorded in the session information storage unit that matches the ciphertext identifying information v received from the receiving device. A proxy calculation secret key K 3 associated with the receiving device identification information R ID recorded in the proxy recording unit that matches the R ID is acquired, and the predetermined method 1, the predetermined method 2, and the predetermined A response creation unit that calculates a response Res by performing calculation using the session information U and the proxy calculation secret key K 3 according to a predetermined method 7 that is a method corresponding to the method 4;
A response transmitter for transmitting the response Res to the receiving device;
When the response Res is transmitted to the receiving device, the history storage unit records the ciphertext identification information v, the receiving device identification information R ID, and the time in association with each other,
An encryption system comprising:
前記所定の方法2では、
保護用秘密鍵K2を0以上p−1以下の整数から選択し、分割用乱数K3’と保護用秘密鍵K2を用いて所定の方法2’にしたがって代理計算用秘密鍵K3を求め、
前記復号記録部は保護用秘密鍵K2も記録し、
前記所定の方法5は、前記所定の方法2’にも対応した方法で、保護用秘密鍵K2も用いて値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では、受信用秘密鍵K1を
K1=K3’K0
のように求め、
前記所定の方法2では、代理計算用秘密鍵K3を
K3=K3’−1
のように求め、
前記所定の方法3では、暗号文Vを
V=M(+)H(gID r)
のように求め、
前記所定の方法4では、前記リクエスト作成部が、乱数rtmpを0以上p−1以下の整数から選択し、隠蔽鍵Ktmpを
Ktmp=rtmpK1
を求め、リクエストReqを隠蔽鍵Ktmpを含む情報とし、
前記所定の方法5では、値Wを
W=Res^rtmp −1
のように求め、
前記所定の方法6では、平文M’を
M’=V(+)H(W)
のように求め、
前記所定の方法7では、レスポンスResを
Res=e(Ktmp,U)^K3
のように求める
ことを特徴とする暗号化システム。 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,
Wherein the predetermined method 2, the proxy calculation secret key K 3 K 3 = K 3 ' -1
Asking,
In the predetermined method 3, the ciphertext 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 the concealment key K tmp ,
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
(+)はビット単位の排他的論理和を示す記号、^はべき乗を示す記号とし、
前記所定の方法1では、受信用秘密鍵K1を
K1=K3’K0
のように求め、
前記所定の方法2’では、代理計算用秘密鍵K3を
K3=(K2K3’)−1
のように求め、
前記所定の方法3では、暗号文Vを
V=M(+)H(gID r)
のように求め、
前記所定の方法4では、前記リクエスト作成部が、乱数rtmpを0以上p−1以下の整数から選択し、隠蔽鍵Ktmpを
Ktmp=rtmpK1
を求め、リクエストReqを隠蔽鍵Ktmpを含む情報とし、
前記所定の方法5では、値Wを
W=Res^rtmp −1K2
のように求め、
前記所定の方法6では、平文M’を
M’=V(+)H(W)
のように求め、
前記所定の方法7では、レスポンスResを
Res=e(Ktmp,U)^K3
のように求める
ことを特徴とする暗号化システム。 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 ciphertext 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 the concealment key K tmp ,
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
‖はビット列の結合を示す記号、H’はビット列に対するハッシュ値を求めるハッシュ関数を示す記号であり、
前記復号履歴蓄積サーバは、
認証鍵Aと0以上p−1以下の整数である乱数aを生成し、H(gID a)を用いて所定の方法3’で認証鍵Aを暗号化して暗号化認証鍵V’を求め、U’=aPのようにセッション情報U’を計算し、前記暗号化認証鍵V’のみ若しくは前記暗号化認証鍵V’と前記セッション情報U’を前記受信装置に送信する認証鍵生成部と、
チャレンジBを生成し、前記受信装置に送信するチャレンジ生成部
も備え、
前記受信装置は、さらに
受信用秘密鍵K1を用いて所定の方法4’でリクエストReq’を作成する第2リクエスト作成部と、
前記復号履歴蓄積サーバから受信したレスポンスRes’を用いて前記所定の方法2と前記所定の方法4’に対応した方法である所定の方法5’にしたがってgID aの値Wを求め、H(W)を用いて前記所定の方法3’に対応した方法である所定の方法6’にしたがって暗号化認証鍵V’を復号して認証鍵A’に復号する第2復号部と、
D’=H’(A’‖B)のようにハッシュ値D’を求め、前記復号履歴蓄積サーバに送信するハッシュ値計算部と
を備え、
前記復号履歴蓄積サーバは、さらに
前記所定の方法1と前記所定の方法2と前記所定の方法4’に対応した方法である所定の方法7’にしたがって前記セッション情報U’と前記代理計算用秘密鍵K3を用いた計算を行ってレスポンスRes’を求める第2レスポンス作成部と、
D=H’(A‖B)のようにハッシュ値Dを求め、D=D’であることを確認する認証部
を備える
ことを特徴とする暗号化システム。 The encryption system according to any one of claims 1 to 4,
‖ Is a symbol indicating a combination of bit strings, H ′ is a symbol indicating a hash function for obtaining a hash value for the bit strings,
The decryption history storage server
An authentication key A and a random number a that is an integer between 0 and p−1 are generated, and an encrypted authentication key V ′ is obtained by encrypting the authentication key A by a predetermined method 3 ′ using H (g ID a ). , U ′ = aP, and calculates the session information U ′ and sends only the encrypted authentication key V ′ or the encrypted authentication key V ′ and the session information U ′ to the receiving device; ,
A challenge generator for generating challenge B and transmitting it to the receiving device;
The receiving device further includes a second request creating unit that creates a request Req ′ by a predetermined method 4 ′ using the reception secret key K 1 ;
Using the response Res ′ received from the decryption history storage server, a value W of g ID a is obtained according to a predetermined method 5 ′ that is a method corresponding to the predetermined method 2 and the predetermined method 4 ′, and H ( A second decryption unit that decrypts the encrypted authentication key V ′ into the authentication key A ′ according to a predetermined method 6 ′ that is a method corresponding to the predetermined method 3 ′ using W);
A hash value calculation unit that obtains a hash value D ′ as D ′ = H ′ (A′‖B) and transmits the hash value D ′ to the decryption history storage server,
The decryption history storage server further includes the session information U ′ and the proxy calculation secret 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 second response creation unit for calculating a response Res ′ by performing a calculation using the key K 3 ;
An encryption system comprising: an authentication unit that obtains a hash value D as D = H ′ (A‖B) and confirms that D = D ′.
pは素数、G1は位数pの巡回加算群、G2は位数pの巡回群、eはG1×G1→G2のように写像する双線形ペアリング関数、Hは群G2の元をnビットのビット列に写像するハッシュ関数を示す記号、Pは群G1の生成元、sは0以上p−1以下の整数、PPub=sP、(P,PPub)は公開パラメータ、MaptoPointG1は任意長のビット列を群G1の元に写像する関数、IDは任意長のビット列、QID=MaptoPointG1(ID)、K0はK0=sQIDのように求められた秘密鍵、K3’は0以上p−1以下の整数から選択された分割用乱数、K1は秘密鍵K0と分割用乱数K3’を用いて所定の方法1で求められた受信用秘密鍵、K3は分割用乱数K3’を用いて所定の方法2で求められた代理計算用秘密鍵、rは0以上p−1以下の整数から選択された乱数、UはU=rPのように求められたセッション情報、gIDはgID=e(QID,PPub)のように求められた値、VはH(gID r)を用いて所定の方法3で平文Mを暗号化した暗号文、vは暗号文Vを識別する暗号文識別情報、hは暗号文Vを識別する暗号文識別情報を生成する関数を示す記号であり、
前記受信装置は、復号記録部に受信用秘密鍵K1を記録しておき、
前記復号履歴蓄積サーバは、代理記録部に受信装置識別情報RIDに対応付けて代理計算用秘密鍵K3を記録しておき、
前記送信装置が、少なくとも前記受信装置に暗号文Vを送信し、前記復号履歴蓄積サーバにセッション情報Uと暗号文識別情報vとを送信する暗号文送信ステップと、
前記復号履歴蓄積サーバが、セッション情報蓄積部に前記送信装置から受信したセッション情報Uと暗号文識別情報vとを対応付けて記録するセッション情報蓄積ステップと、
前記受信装置が、受信用秘密鍵K1を用いて所定の方法4でリクエストReqを作成するリクエスト作成ステップと、
前記受信装置が、前記リクエストReq、v=h(V)を満たす暗号文識別情報v、当該受信装置を特定する受信装置識別情報RIDとを前記復号履歴蓄積サーバに送信するリクエスト送信ステップと、
前記復号履歴蓄積サーバが、前記受信装置から受信した暗号文識別情報vと一致する前記セッション情報蓄積部に記録された暗号文識別情報vに対応付けられたセッション情報Uを取得し、前記受信装置から受信した受信装置識別情報RIDと一致する前記代理記録部に記録された受信装置識別情報RIDに対応付けられた代理計算用秘密鍵K3を取得し、前記所定の方法1と前記所定の方法2と前記所定の方法4に対応した方法である所定の方法7にしたがって前記セッション情報Uと前記代理計算用秘密鍵K3を用いた計算を行ってレスポンスResを求めるレスポンス作成ステップと、
前記復号履歴蓄積サーバが、前記レスポンスResを前記受信装置に送信するレスポンス送信ステップと、
前記復号履歴蓄積サーバが、履歴蓄積部に暗号文識別情報vと、受信装置識別情報RIDと、時刻とを対応付けて記録する履歴蓄積ステップと、
前記受信装置が、前記復号履歴蓄積サーバから受信したレスポンスResを用いて前記所定の方法2と前記所定の方法4に対応した方法である所定の方法5にしたがってgID rの値Wを求め、H(W)を用いて前記所定の方法3に対応した方法である所定の方法6にしたがって暗号文Vを復号して平文M’に復号する復号ステップと、
を有する復号方法。 A decoding method using a transmission device, a reception device, and a decoding history storage server,
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 = session information obtained as rP, g ID is g ID = e (Q ID, P Pub) values were obtained as, V Is the ciphertext obtained by encrypting the plaintext M by the predetermined method 3 using H (g ID r ), v is the ciphertext identification information for identifying the ciphertext V, and h is the ciphertext identification information for identifying the ciphertext V A symbol indicating the function to be generated,
The receiving device records the reception secret key K 1 in the decryption recording unit,
The decryption history storage server records the proxy calculation secret key K 3 in the proxy recording unit in association with the receiving device identification information R ID ,
A ciphertext transmitting step in which the transmitting device transmits ciphertext V to at least the receiving device and transmits session information U and ciphertext identification information v to the decryption history storage server;
A session information storage step in which the decryption history storage server records the session information U received from the transmission device and the ciphertext identification information v in association with each other in a session information storage unit;
A request creating step in which the receiving device creates a request Req by a predetermined method 4 using the reception private key K 1 ;
A request transmission step in which the receiving device transmits ciphertext identification information v satisfying the request Req, v = h (V), and receiving device identification information R ID specifying the receiving device to the decryption history storage server;
The decryption history storage server acquires session information U associated with the ciphertext identification information v recorded in the session information storage unit that matches the ciphertext identification information v received from the receiving device, and the receiving device It said proxy recording unit acquires the proxy computing for the secret key K 3 associated with the recorded received device identification information R ID to the said predetermined method 1 given that matches the received device identification information R ID received from A response creation step of calculating a response Res by performing calculation using the session information U and the proxy calculation private key K 3 according to the predetermined method 7 corresponding to the method 2 and the predetermined method 4;
A response sending step in which the decryption history storage server sends the response Res to the receiving device;
A history accumulation step in which the decryption history accumulation server records the ciphertext identification information v, the reception device identification information R ID, and the time in association with each other in the history accumulation unit;
The receiving device obtains a value W of g ID r according to a predetermined method 5 that is a method corresponding to the predetermined method 2 and the predetermined method 4 using the response Res received from the decryption history storage server, A decrypting step of decrypting the ciphertext V according to a predetermined method 6 that is a method corresponding to the predetermined method 3 using H (W) and decrypting it into a plaintext M ′;
A decryption method.
受信装置識別情報RIDに対応付けて代理計算用秘密鍵K3を記録する代理記録部と、
送信装置から受信したセッション情報Uと暗号文識別情報vとを対応付けて記録するセッション情報蓄積部と、
受信装置からリクエストReqと暗号文識別情報vと受信装置識別情報RIDを受信し、前記受信装置から受信した暗号文識別情報vと一致する前記セッション情報蓄積部に記録された暗号文識別情報vに対応付けられたセッション情報Uを取得し、前記受信装置の受信装置識別情報RIDと一致する前記代理記録部に記録された受信装置識別情報RIDに対応付けられた代理計算用秘密鍵K3を取得し、前記所定の方法1と前記所定の方法2と前記所定の方法4に対応した方法である所定の方法7にしたがって前記セッション情報Uと前記代理計算用秘密鍵K3を用いた計算を行ってレスポンスResを求めるレスポンス作成部と、
前記レスポンスResを前記受信装置に送信するレスポンス送信部と、
レスポンスResを前記受信装置に送信したときは、暗号文識別情報vと、受信装置識別情報RIDと、時刻とを対応付けて記録する履歴蓄積部と、
を備える復号履歴蓄積サーバ。 p is a prime number, G 1 is cyclic addition group of order p, P is generator of the group G 1, 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 is a secret key obtained as K 0 = sQ ID , K 3 ′ is a random number for division selected from integers of 0 to p−1, and K 1 is a secret key The reception private key obtained by the predetermined method 1 using K 0 and the dividing random number K 3 ′, and K 3 the proxy calculation private key obtained by the predetermined method 2 using the dividing random number K 3 ′ , R is a random number selected from integers between 0 and p−1, U is session information obtained as U = rP, v is ciphertext identification information for identifying ciphertext V, and Req is a reception private key A request made by the predetermined method 4 using K 1 ,
A proxy recording unit that records the proxy calculation secret key K 3 in association with the receiving device identification information R ID ;
A session information storage unit that records session information U and ciphertext identification information v received from the transmission device in association with each other;
The request Req, the ciphertext identification information v, and the reception device identification information R ID are received from the receiving device, and the ciphertext identification information v recorded in the session information storage unit that matches the ciphertext identification information v received from the receiving device. The proxy information secret key K associated with the receiving device identification information R ID recorded in the proxy recording unit that matches the receiving device identification information R ID of the receiving device is obtained. 3 and using the session information U and the proxy calculation private key K 3 according to a predetermined method 7 corresponding to the predetermined method 1, the predetermined method 2 and the predetermined method 4. A response creation unit that calculates and obtains a response Res;
A response transmitter for transmitting the response Res to the receiving device;
When the response Res is transmitted to the receiving device, the history storage unit records the ciphertext identification information v, the receiving device identification information R ID, and the time in association with each other,
A decryption history storage server comprising:
受信用秘密鍵K1を記録する復号記録部と、
受信用秘密鍵K1を用いて所定の方法4でリクエストReqを作成するリクエスト作成部と、
前記リクエストReq、暗号文識別情報v、受信装置識別情報RIDを復号履歴蓄積サーバに送信するリクエスト送信部と、
前記所定の方法1と前記所定の方法2と前記所定の方法4に対応した方法である所定の方法7にしたがって前記セッション情報Uと前記代理計算用秘密鍵K3を用いた計算を行って求められたレスポンスResを前記復号履歴蓄積サーバから受信し、レスポンスResを用いて前記所定の方法2と前記所定の方法4に対応した方法である所定の方法5にしたがってgID rの値Wを求め、H(W)を用いて前記所定の方法3に対応した方法である所定の方法6にしたがって暗号文Vを復号して平文M’に復号する復号部と、
を備える受信装置。 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 = session information obtained as rP, g ID is g ID = e (Q ID, P Pub) values were obtained as, V Is a ciphertext obtained by encrypting the plaintext M by the predetermined method 3 using H (g ID r ), v is ciphertext identification information for identifying the ciphertext V,
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 private key K 1 ;
A request transmission unit that transmits the request Req, ciphertext identification information v, and reception device identification information R ID to a decryption history storage server;
Obtained by performing a calculation using the session information U and the proxy calculation secret key K 3 according to a predetermined method 7 corresponding to the predetermined method 1, the predetermined method 2 and the predetermined method 4. The response Res received is received from the decryption history storage server, and the value W of g ID r is obtained using the response Res according to the predetermined method 2 that is a method corresponding to the predetermined method 2 and the predetermined method 4. A decryption unit that decrypts the ciphertext V according to a predetermined method 6 that is a method corresponding to the predetermined method 3 using H (W), and decrypts it into a plaintext M ′;
A receiving device.
平文Mを前記所定の方法3で暗号化して暗号文Vを求める暗号化部と、
受信装置に少なくとも暗号文Vを送信し、復号履歴蓄積サーバにセッション情報Uと暗号文識別情報vとを送信する暗号文送信部と
を備える送信装置。 A transmission device included in the encryption system according to any one of claims 1 to 5,
An encryption unit for encrypting the plaintext M by the predetermined method 3 to obtain the ciphertext V;
A transmission apparatus comprising: a ciphertext transmission unit that transmits at least ciphertext V to a reception apparatus and transmits session information U and ciphertext identification information v to a decryption history storage server.
A program for causing a computer to function as any one of the decoding history storage server according to claim 7, the receiving device according to claim 8, and the transmitting device according to claim 9.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011140313A JP5496957B2 (en) | 2011-06-24 | 2011-06-24 | ENCRYPTION SYSTEM, DECRYPTION METHOD, DECRYPTION HISTORY SERVER, RECEPTION DEVICE, TRANSMISSION DEVICE, PROGRAM |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011140313A JP5496957B2 (en) | 2011-06-24 | 2011-06-24 | ENCRYPTION SYSTEM, DECRYPTION METHOD, DECRYPTION HISTORY SERVER, RECEPTION DEVICE, TRANSMISSION DEVICE, PROGRAM |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013009148A JP2013009148A (en) | 2013-01-10 |
JP5496957B2 true JP5496957B2 (en) | 2014-05-21 |
Family
ID=47676147
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011140313A Active JP5496957B2 (en) | 2011-06-24 | 2011-06-24 | ENCRYPTION SYSTEM, DECRYPTION METHOD, DECRYPTION HISTORY SERVER, RECEPTION DEVICE, TRANSMISSION DEVICE, PROGRAM |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5496957B2 (en) |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002359615A (en) * | 2001-06-01 | 2002-12-13 | Toshiba Corp | Private key control method for public key encryption system |
JP2006178125A (en) * | 2004-12-22 | 2006-07-06 | Hitachi Ltd | Method and apparatus for computing elliptic curve tate pairing |
JP5161177B2 (en) * | 2009-09-04 | 2013-03-13 | 日本電信電話株式会社 | Proxy calculation request device, proxy calculation request method, proxy calculation request program, recording medium |
JP5469618B2 (en) * | 2011-01-19 | 2014-04-16 | 日本電信電話株式会社 | Encryption system, decryption method, key update method, key generation device, reception device, proxy calculation device, program |
-
2011
- 2011-06-24 JP JP2011140313A patent/JP5496957B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2013009148A (en) | 2013-01-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10785019B2 (en) | Data transmission method and apparatus | |
AU2017396530B2 (en) | Addressing a trusted execution environment using encryption key | |
CN110214440B (en) | Computing system, method for transmitting protected data and readable storage medium | |
US8462955B2 (en) | Key protectors based on online keys | |
JP5562687B2 (en) | Securing communications sent by a first user to a second user | |
AU2017396531B2 (en) | Addressing a trusted execution environment using signing key | |
WO2018025991A1 (en) | Communication system, communication client, communication server, communication method, and program | |
US20110194698A1 (en) | Key Sharing System | |
JP6497747B2 (en) | Key exchange method, key exchange system | |
KR20170035665A (en) | Apparatus and method for exchanging encryption key | |
JP2013207376A (en) | Information processing device and program | |
JP2012150378A (en) | Proxy re-encryption system, key generation device, re-encryption device, proxy re-encryption method, and program | |
WO2018140171A1 (en) | Addressing a trusted execution environment using clean room provisioning | |
KR101016009B1 (en) | Method for data encryption and decryption using location information | |
JP2024511236A (en) | Computer file security encryption method, decryption method and readable storage medium | |
JPWO2016199507A1 (en) | KEY EXCHANGE METHOD, KEY EXCHANGE SYSTEM, KEY DISTRIBUTION DEVICE, COMMUNICATION DEVICE, AND PROGRAM | |
JP5469618B2 (en) | Encryption system, decryption method, key update method, key generation device, reception device, proxy calculation device, program | |
JP2012029271A (en) | Encryption device, decryption device, encryption system, encryption method and program | |
JP5337076B2 (en) | Secret calculation system, secret calculation method, unauthorized use prevention method | |
JP5496957B2 (en) | ENCRYPTION SYSTEM, DECRYPTION METHOD, DECRYPTION HISTORY SERVER, RECEPTION DEVICE, TRANSMISSION DEVICE, PROGRAM | |
JP6165044B2 (en) | User authentication apparatus, system, method and program | |
KR101188659B1 (en) | Method for protecting the digital contents between player and cartridges | |
NZ754540B2 (en) | Addressing a trusted execution environment using signing key | |
Makvandi | Microcontroller-based Implementation of ParseKey+ for Limited Resources Embedded Applications | |
JP2005269587A (en) | Key sharing system, encryption system and file authentication system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20130722 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20140213 |
|
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: 20140225 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140305 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5496957 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |