JP5871827B2 - Safety enhancement system, safety enhancement device, verification device, and program - Google Patents

Safety enhancement system, safety enhancement device, verification device, and program Download PDF

Info

Publication number
JP5871827B2
JP5871827B2 JP2013003706A JP2013003706A JP5871827B2 JP 5871827 B2 JP5871827 B2 JP 5871827B2 JP 2013003706 A JP2013003706 A JP 2013003706A JP 2013003706 A JP2013003706 A JP 2013003706A JP 5871827 B2 JP5871827 B2 JP 5871827B2
Authority
JP
Japan
Prior art keywords
information
key
unit
secret
verification
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
JP2013003706A
Other languages
Japanese (ja)
Other versions
JP2014135687A (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 JP2013003706A priority Critical patent/JP5871827B2/en
Publication of JP2014135687A publication Critical patent/JP2014135687A/en
Application granted granted Critical
Publication of JP5871827B2 publication Critical patent/JP5871827B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、情報セキュリティ技術の分野における安全性強化技術に関し、特に関連鍵攻撃に対する安全性を強化する技術に関する。   The present invention relates to security enhancement technology in the field of information security technology, and more particularly to technology for enhancing security against related key attacks.

秘密情報を持つ一般の暗号学的な回路(以下、単に「回路」という)への関連鍵攻撃に対する(アルゴリズム的な)安全性強化手法がいくつか提案されている(例えば、非特許文献1から5等参照)。   Several (algorithmically) security enhancement methods against a related key attack on a general cryptographic circuit (hereinafter simply referred to as “circuit”) having secret information have been proposed (for example, from Non-Patent Document 1). (See 5).

Rosario Gennaro, Anna Lysyanskaya, Tal Malkin, Silvio Micali, and Tal Rabin, “Algorithmic tamper-proof (ATP) security: Theoretical foundations for security against hardware tampering,” in Moni Naor, editor, TCC 2004, volume 2951 of Lecture Notes in Computer Science, pages 258-277, Springer, Heidelberg, 2004.Rosario Gennaro, Anna Lysyanskaya, Tal Malkin, Silvio Micali, and Tal Rabin, “Algorithmic tamper-proof (ATP) security: Theoretical foundations for security against hardware tampering,” in Moni Naor, editor, TCC 2004, volume 2951 of Lecture Notes in Computer Science, pages 258-277, Springer, Heidelberg, 2004. Stefan Dziembowski, Krzysztof Pietrzak, and Daniel Wichs, “Non-malleable codes,” in Andrew Chi-Chih Yao, editor, ICS 2010, pages 434-452, Tsinghua University Press, 2010.Stefan Dziembowski, Krzysztof Pietrzak, and Daniel Wichs, “Non-malleable codes,” in Andrew Chi-Chih Yao, editor, ICS 2010, pages 434-452, Tsinghua University Press, 2010. Yuval Ishai, Manoj Prabhakaran, Amit Sahai, and DavidWagner, “Private circuits ii: Keeping secrets in tamperable circuits,” in Serge Vaudenay, editor, EUROCRYPT 2006, volume 4004 of Lecture Notes in Computer Science, pages 308-327, Springer, Heidelberg, 2006.Yuval Ishai, Manoj Prabhakaran, Amit Sahai, and David Wagner, “Private circuits ii: Keeping secrets in tamperable circuits,” in Serge Vaudenay, editor, EUROCRYPT 2006, volume 4004 of Lecture Notes in Computer Science, pages 308-327, Springer, Heidelberg , 2006. Sebastian Faust, Krzysztof Pietrzak, and Daniele Venturi, “Tamper-proof circuits: How to trade leakage for tamper-resilience,” In Luca Aceto, Monika Henzinger, and Jiri Sgall, editors, ICALP 2011, Part I, volume 6755 of Lecture Notes in Computer Science, pages 391-402, Springer-Verlag, 2011.Sebastian Faust, Krzysztof Pietrzak, and Daniele Venturi, “Tamper-proof circuits: How to trade leakage for tamper-resilience,” In Luca Aceto, Monika Henzinger, and Jiri Sgall, editors, ICALP 2011, Part I, volume 6755 of Lecture Notes in Computer Science, pages 391-402, Springer-Verlag, 2011. Dana Dachman-Soled and Yael Tauman Kalai. Securing circuits against constant-rate tampering. In Reihaneh Safavi-Naini and Ran Canetti, editors, CRYPTO 2012, volume 7417 of Lecture Notes in Computer Science, pages 533-551, Springer, Heidelberg, 2012.Dana Dachman-Soled and Yael Tauman Kalai.Securing circuits against constant-rate tampering.In Reihaneh Safavi-Naini and Ran Canetti, editors, CRYPTO 2012, volume 7417 of Lecture Notes in Computer Science, pages 533-551, Springer, Heidelberg, 2012 .

非特許文献1では、任意の関連鍵攻撃に対する安全性強化手法が提案されている。しかしながら、非特許文献1の強化手法は信頼できる第三者を必要とする。この第三者は公開鍵を公開し、暗号デバイスを作成するたびにこの第三者が関わる必要がある。また、この強化手法では、ひとたび関連鍵攻撃を検知すると回路は自壊してしまう。   Non-Patent Document 1 proposes a security enhancement technique against an arbitrary related key attack. However, the strengthening method of Non-Patent Document 1 requires a reliable third party. This third party needs to be involved every time a public key is released and a cryptographic device is created. Also, with this strengthening technique, once a related key attack is detected, the circuit will be destroyed.

非特許文献2では、一部の関連鍵攻撃に対する安全性強化手法が提案されている。非特許文献2の強化手法は信頼できる第三者を必要としない。しかしながら、この強化手法でも、ひとたび関連鍵攻を検知すると回路は自壊してしまう。   Non-Patent Document 2 proposes a security enhancement technique against some related key attacks. The strengthening technique of Non-Patent Document 2 does not require a reliable third party. However, even with this strengthening technique, once the relevant key attack is detected, the circuit will be destroyed.

非特許文献3から5の強化手法は自壊を必要としない。しかしながら、回路および秘密への変更箇所に制限を加えており、任意の関数をとらえていない。   Non-Patent Documents 3 to 5 do not require self-destruction. However, the circuit and the change to the secret are limited, and arbitrary functions are not captured.

このように、回路を自壊させることなく、任意の回路の関連鍵攻撃に対する安全性を向上させる手法は提案されていない。   Thus, no technique has been proposed for improving the security against a related key attack on an arbitrary circuit without causing the circuit to self-destruct.

安全性強化時に、鍵情報に対応する秘密情報に対して特定の対応関係を持つ補助情報を得て出力する。ただし、この秘密情報と異なる関連秘密情報に対して当該対応関係を持つ関連補助情報を当該補助情報から特定することは困難である。   At the time of security enhancement, auxiliary information having a specific correspondence with the secret information corresponding to the key information is obtained and output. However, it is difficult to specify related auxiliary information having the corresponding relationship with respect to related secret information different from this secret information from the auxiliary information.

検証時に、入力された補助情報が秘密情報に対して特定の対応関係を持つかを判定し、当該補助情報が秘密情報に対して当該対応関係を持つ場合に秘密情報に対応する鍵情報または当該鍵情報から得られる情報を得、当該補助情報が秘密情報に対して当該対応関係を持たない場合に拒絶を表す情報を出力する。   At the time of verification, it is determined whether the input auxiliary information has a specific correspondence with the confidential information. If the auxiliary information has the corresponding relationship with the confidential information, the key information corresponding to the confidential information or the Information obtained from the key information is obtained, and information indicating rejection is output when the auxiliary information does not have the corresponding relationship with the secret information.

本発明では、秘密情報に対して特定の対応関係を持つ補助情報を用いる。上記の関連補助情報を補助情報から特定することは困難である。これにより、任意の回路の関連鍵攻撃に対する安全性を向上させることができる。また本発明では、回路を自壊させる必要はない。   In the present invention, auxiliary information having a specific correspondence with secret information is used. It is difficult to specify the related auxiliary information from the auxiliary information. As a result, the security against a related key attack of an arbitrary circuit can be improved. In the present invention, it is not necessary to destroy the circuit.

図1は、第1,2実施形態の安全性強化システムの構成を説明するためのブロック図である。FIG. 1 is a block diagram for explaining the configuration of the safety enhancement system according to the first and second embodiments. 図2Aは、第1実施形態の安全性強化処理を説明するためのフロー図であり、図2Bは、第1実施形態の検証処理を説明するためのフロー図である。FIG. 2A is a flowchart for explaining the safety enhancement process of the first embodiment, and FIG. 2B is a flowchart for explaining the verification process of the first embodiment. 図3Aは、第2実施形態の安全性強化処理を説明するためのフロー図であり、図3Bは、第2実施形態の検証処理を説明するためのフロー図である。FIG. 3A is a flowchart for explaining the safety enhancement process of the second embodiment, and FIG. 3B is a flowchart for explaining the verification process of the second embodiment. 図4は、第3,4実施形態の安全性強化システムの構成を説明するためのブロック図である。FIG. 4 is a block diagram for explaining the configuration of the safety enhancement system according to the third and fourth embodiments. 図5Aは、第3実施形態の安全性強化処理を説明するためのフロー図であり、図5Bは、第3実施形態の検証処理を説明するためのフロー図である。FIG. 5A is a flowchart for explaining the safety enhancing process of the third embodiment, and FIG. 5B is a flowchart for explaining the verification process of the third embodiment. 図6Aは、第4実施形態の安全性強化処理を説明するためのフロー図であり、図6Bは、第4実施形態の検証処理を説明するためのフロー図である。FIG. 6A is a flowchart for explaining the safety enhancement process of the fourth embodiment, and FIG. 6B is a flowchart for explaining the verification process of the fourth embodiment. 図7は、第5,6,7実施形態の安全性強化システムの構成を説明するためのブロック図である。FIG. 7 is a block diagram for explaining the configuration of the safety enhancing system of the fifth, sixth, and seventh embodiments. 図8Aは、第5実施形態の安全性強化処理を説明するためのフロー図であり、図8Bは、第5実施形態の検証処理を説明するためのフロー図である。FIG. 8A is a flowchart for explaining the safety enhancing process of the fifth embodiment, and FIG. 8B is a flowchart for explaining the verification process of the fifth embodiment. 図9は、第6実施形態の検証処理を説明するためのフロー図である。FIG. 9 is a flowchart for explaining the verification processing of the sixth embodiment. 図10Aは、第7実施形態の安全性強化処理を説明するためのフロー図であり、図10Bは、第7実施形態の検証処理を説明するためのフロー図である。FIG. 10A is a flowchart for explaining the safety enhancement processing of the seventh embodiment, and FIG. 10B is a flowchart for explaining the verification processing of the seventh embodiment.

以下、図面を参照して本発明の実施形態を説明する。
<定義>
各実施形態で用いる記号や用語を定義する。
[暗号学的デバイス]
暗号学的デバイス(Setup,Gen,C,X,Y,K)は、以下のSetup,Gen,C,X,Y,Kから構成される。
Setup(1κ)はセットアップアルゴリズムであり、セキュリティパラメータ1κを入力とし、共通パラメータppを出力する。ppは集合X,Y,Kの情報を含む。
Gen(pp)は鍵生成アルゴリズムであり、ppを入力とし、秘密の鍵情報k∈Kをランダムに選んで出力する。
C(pp,(k,x))は回路であり、ppおよび(k,x)∈K×Xを入力とし、y∈Yを出力する。
例えばC(pp,(k,x))は共通鍵暗号の復号回路であり、kは秘密鍵、xは暗号文、yは平文に対応する。
Hereinafter, embodiments of the present invention will be described with reference to the drawings.
<Definition>
Symbols and terms used in each embodiment are defined.
[Cryptographic device]
The cryptographic device (Setup, Gen, C, X, Y, K) includes the following Setup, Gen, C, X, Y, K.
Setup (1 κ ) is a setup algorithm, which receives the security parameter 1 κ and outputs a common parameter pp. pp includes information on the sets X, Y, and K.
Gen (pp) is a key generation algorithm, which receives pp as input and randomly selects and outputs secret key information kεK.
C (pp, (k, x)) is a circuit, and inputs pp and (k, x) εK × X, and outputs yεY.
For example, C (pp, (k, x)) is a decryption circuit for common key encryption, k corresponds to a secret key, x corresponds to a ciphertext, and y corresponds to a plaintext.

[公開鍵型暗号学的デバイス]
公開鍵型暗号学的デバイス(Setup,Gen,C,X,Y,K,Ω)は、以下のSetup,Gen,C,X,Y,K,Ωから構成される。
Setup(1κ)はセットアップアルゴリズムであり、セキュリティパラメータ1κを入力とし、共通パラメータppを出力する。ppは集合X,Y,K,Ωの情報を含む。
Gen(pp;r)は鍵生成アルゴリズムであり、ppを入力とし、乱数r∈Ωに基づいて、秘密の鍵情報k∈Kと公開の鍵情報pを出力する。
C(pp,(k,x))は回路であり、ppおよび(k,x)∈K×Xを入力とし、y∈Yを出力する。
例えばC(pp,(k,x))は公開鍵暗号の復号回路であり、kは復号鍵、pは暗号鍵、xは暗号文、yは平文に対応する。他にもC(pp,(k,x))を電子署名の署名回路とすれば、kは署名鍵、pは検証鍵、xはメッセージ、yは署名となる。
[Public Key Cryptographic Device]
The public key type cryptographic device (Setup, Gen, C, X, Y, K, Ω) includes the following Setup, Gen, C, X, Y, K, Ω.
Setup (1 κ ) is a setup algorithm, which receives the security parameter 1 κ and outputs a common parameter pp. pp contains information of the set X, Y, K, Ω.
Gen (pp; r) is a key generation algorithm, which receives pp as input and outputs secret key information kεK and public key information p based on a random number rεΩ.
C (pp, (k, x)) is a circuit, and inputs pp and (k, x) εK × X, and outputs yεY.
For example, C (pp, (k, x)) is a decryption circuit for public key cryptography, where k is a decryption key, p is an encryption key, x is a ciphertext, and y is a plaintext. In addition, if C (pp, (k, x)) is a digital signature circuit, k is a signature key, p is a verification key, x is a message, and y is a signature.

[鍵カプセル化方式(Key Encapsulation Mechanism (KEM))]
鍵カプセル化方式は、以下の4つ組からなる。
Setup(1κ)はセットアップアルゴリズムであり、セキュリティパラメータ1κを入力とし、共通パラメータppを出力する。
GenKEM(pp)は鍵生成アルゴリズムであり、ppを入力とし、公開鍵pkと秘密鍵skとの鍵ペア(pk,sk)を生成する。
Encaps(pp,pk;s)は、鍵暗号化アルゴリズムであり、ppとpkを入力とし、秘密情報s∈Sに基づいた鍵kとその暗号文cとを出力する。Sは秘密情報が属する集合を表す。以下では簡単のため、Encaps(pp,pk)をEncaps(pp,pk;s)とEncaps(pp;s)とに分離して表記する。Encaps(pp,pk;s)は暗号文cを出力するアルゴリズムであり、Encaps(pp;s)は鍵kを出力するアルゴリズムである。
Decaps(pp,sk,c)は、鍵復号アルゴリズムであり、ppとskとcを入力とし、鍵kまたは⊥を出力する。なお、⊥は拒絶を表す情報である。
[Key Encapsulation Mechanism (KEM)]
The key encapsulation method is composed of the following four sets.
Setup (1 κ ) is a setup algorithm, which receives the security parameter 1 κ and outputs a common parameter pp.
Gen KEM (pp) is a key generation algorithm, which receives pp as an input and generates a key pair (pk, sk) of a public key pk and a secret key sk.
Encaps (pp, pk; s) is a key encryption algorithm, and inputs pp and pk, and outputs a key k based on the secret information sεS and its ciphertext c. S represents a set to which secret information belongs. In the following, Encaps (pp, pk) is expressed separately as Encaps 1 (pp, pk; s) and Encaps 2 (pp; s) for simplicity. Encaps 1 (pp, pk; s) is an algorithm that outputs the ciphertext c, and Encaps 2 (pp; s) is an algorithm that outputs the key k.
Decaps (pp, sk, c) is a key decryption algorithm, and inputs pp, sk, and c, and outputs a key k or ⊥. Note that ⊥ is information indicating rejection.

[公開鍵暗号方式(Public-Key Encryption (PKE))]
公開鍵暗号方式は、以下の4つ組からなる。
Setup(1κ)はセットアップアルゴリズムであり、セキュリティパラメータ(1κ)を入力とし、共通パラメータppを出力する。
GenPKE(pp)は鍵生成アルゴリズムであり、ppを入力とし、暗号化鍵ekと復号鍵dkとの鍵ペア(ek,dk)を生成する。
Enc(pp,ek,m;ρ)は暗号化アルゴリズムであり、ppとekとメッセージmを入力にとり、乱数ρ∈RPKEに基づいてメッセージmの暗号文cmを得て出力する。RPKEは乱数空間を表す。
Decaps(pp,dk,cm)は復号アルゴリズムであり、ppとdkとcmを入力にとり、メッセージmまたは⊥を出力する。
[Public-Key Encryption (PKE)]
The public key cryptosystem consists of the following four sets.
Setup (1 κ ) is a setup algorithm, which receives the security parameter (1 κ ) and outputs a common parameter pp.
Gen PKE (pp) is a key generation algorithm, and receives pp as an input and generates a key pair (ek, dk) of an encryption key ek and a decryption key dk.
Enc (pp, ek, m; [rho) is the encryption algorithm takes the input of pp and ek and message m, and outputs the resulting ciphertext cm messages m based on a random number ρ∈R PKE. R PKE represents a random space.
Decaps (pp, dk, cm) is a decoding algorithm, which takes pp, dk, and cm as inputs and outputs a message m or ⊥.

[非対話零知識証明(Non-Interactive Zero-Knowledge (NIZK))]
Bを二項関係とし、LをBから定義される言語とする。すなわち、L={x∈{0,1}*:B(x,w)=1 for some w}である。x∈Lのときに対応するwを証拠と呼ぶ。
非対話零知識証明とは三つ組みのアルゴリズムであり、NIZK=(G,P,V)と書く。
G(1κ)はセットアップアルゴリズムであり、セキュリティパラメータ1κを入力とし、CRS(Common Reference String)と呼ばれる共通パラメータcrsNIZKを出力する。なお、1κはκ個の1からなる列を表す。κは1以上の所定の整数である。
P(crsNIZK,x,w)は証明者アルゴリズムであり、共通パラメータcrsNIZKと、文字列x∈L⊆{0,1}*と、その証拠wを入力とし、x∈Lの証明πを出力する。
V(crsNIZK,x,π)は検証者アルゴリズムであり、共通パラメータcrsNIZKと、文字列xと、証明πを入力とし、yes(合格)/no(不合格)を出力する。
[Non-Interactive Zero-Knowledge (NIZK)]
Let B be a binary relation and L be a language defined from B. That is, L = {xε {0,1} * : B (x, w) = 1 for some w}. The corresponding w when xεL is called evidence.
Non-interactive zero knowledge proof is a triadic algorithm and is written as NIZK = (G, P, V).
G (1 κ ) is a setup algorithm, which receives the security parameter 1 κ and outputs a common parameter crs NIZK called CRS (Common Reference String). Note that 1 κ represents a column of 1 κ. κ is a predetermined integer of 1 or more.
P (crs NIZK , x, w) is a prover algorithm. The common parameter crs NIZK , the character string x∈L⊆ {0,1} * , and its evidence w are input, and a proof π of x∈L is obtained. Output.
V (crs NIZK , x, π) is a verifier algorithm, which receives the common parameter crs NIZK , the character string x, and the proof π, and outputs yes (pass) / no (fail).

[双線形写像]
双線形写像e:G×G→Gは、双線形性、非退化性および効率的計算可能性を持つ写像である。ただし、G,Gは位数が素数qである可換群である。
双線形性により、任意のh,h∈Gおよび任意のα,β∈Zについてe(h α,h β)=e(h,hαβとなる。非退化性により、e(h,h)のGでの位数がqとなる。効率的計算可能性により、eを効率よく計算することができる。なお、Zはqによる剰余群を表す。双線形写像の例はペアリングである。
[Bilinear map]
Bilinear mapping e: G K × G K → G T is bilinearity a map whose non-degenerate and efficiency calculations possible. However, G K, G T is an abelian that place the number is a prime number q.
Due to the bilinearity, e (h 1 α , h 2 β ) = e (h 1 , h 2 ) αβ for any h 1 , h 2 εG K and any α, βεZ q . The non-degenerative, of order in the G T of e (h 1, h 1) is q. Due to the efficient computability, e can be calculated efficiently. Z q represents a remainder group by q. An example of a bilinear map is pairing.

[衝突困難性(衝突耐性)を持つ写像]
写像Hが衝突困難性を持つとは、多項式時間で動作する敵が、写像の属からそれに属する写像Hを定める情報とセキュリティパラメータ1κとを受け取ったとき、γ≠δかつH(γ)=H(δ)なる組(γ,δ)を無視できる確率でしか出力することができないことを表す。衝突困難性を持つ写像Hの例は、SHA−1等の暗号学的なハッシュ関数などである。通常、衝突困難性を持つ写像は一方向性も持つ。
[Mapping with collision difficulty (collision resistance)]
Map H has collision difficulty when an enemy operating in polynomial time receives information defining map H belonging to it from the genus of the map and security parameter 1 κ , γ ≠ δ and H (γ) = It represents that the set (γ, δ) of H (δ) can be output only with a negligible probability. An example of the mapping H having collision difficulty is a cryptographic hash function such as SHA-1. Usually, maps with collision difficulty also have unidirectionality.

<原理>
各実施形態に共通する原理を説明する。
安全性強化装置では、秘密の鍵情報に対応する秘密情報を格納し、秘密情報に対して特定の対応関係を持つ補助情報を得て出力する。ただし、当該秘密情報と異なる関連秘密情報に対して当該対応関係を持つ関連補助情報を当該補助情報から特定することは困難である。
<Principle>
The principle common to each embodiment will be described.
The security enhancing device stores secret information corresponding to secret key information, and obtains and outputs auxiliary information having a specific correspondence with the secret information. However, it is difficult to specify related auxiliary information having the corresponding relationship with respect to related secret information different from the secret information from the auxiliary information.

検証装置では、入力された補助情報が秘密情報に対して特定の対応関係を持つかを判定し、当該補助情報が秘密情報に対して当該対応関係を持つ場合に秘密情報に対応する秘密の鍵情報または当該鍵情報から得られる情報を得、当該補助情報が秘密情報に対して当該対応関係を持たない場合に拒絶を表す情報を出力する。   The verification device determines whether the input auxiliary information has a specific correspondence with the secret information, and if the auxiliary information has the correspondence with the secret information, the secret key corresponding to the secret information Information or information obtained from the key information is obtained, and information indicating rejection is output when the auxiliary information does not have the corresponding relationship with the secret information.

以上の構成では、秘密情報に対して特定の対応関係を持つ補助情報を用いる。上記の関連補助情報を補助情報から特定することは困難である。これにより自壊することなく、任意の回路の関連鍵攻撃に対する安全性を向上させることができる。本構成は任意の回路に汎用的に適用可能であるが、ここでは特定の従来構成に対する関連鍵攻撃を例示し、その関連鍵攻撃がこの原理を適用した方式に通じないことを示す。   In the above configuration, auxiliary information having a specific correspondence with secret information is used. It is difficult to specify the related auxiliary information from the auxiliary information. As a result, it is possible to improve security against a related key attack of an arbitrary circuit without self-destruction. Although this configuration can be applied universally to an arbitrary circuit, here, a related key attack for a specific conventional configuration is illustrated, and it is shown that the related key attack does not lead to a scheme to which this principle is applied.

[従来の公開鍵型暗号学的デバイスの一例]
以下に従来の公開鍵型暗号学的デバイスを例示する。
Setup(1κ)は、セキュリティパラメータ1κを入力とし、Gとqと生成元g,g∈Gと衝突困難性を持つ写像H:G →Zとを得、共通パラメータpp=(G,q,g,g,H)として出力する。
Gen(pp;r)は、ppを入力とし、秘密情報sである鍵情報dk=(x1,x2,y1,y2,z1,z2)と公開情報である鍵情報ek=(Xek,Yek,Zek)=(g x1・g x2,g y1・g y2,g z1・g z2)とを得て出力する。
Enc(pp;ek,m)は、ppとekとメッセージmとを入力とし、乱数r’∈Zを生成し、c1=g r’,c2=g r’,E=m・Zek r’,ω=H(c1,c2,E),ν=(Xek ω・Yekr’を得て、暗号文ct=(c1,c2,E,ν)を出力する。
Dec(pp;dk,ct)は、ppとdkとctとを入力とし、ct∈G であれば、ct=(c1,c2,E,ν)からω=H(c1,c2,E)を得、さらにc1x1*ω+y1・c2x2*ω+y2=νであれば、m=E/(c1z1・c2z2)を出力する。
[An example of a conventional public key cryptographic device]
A conventional public key type cryptographic device will be exemplified below.
Setup (1 κ ) takes security parameter 1 κ as input, obtains G K and q, generators g 1 and g 2 ∈G K, and a mapping H: G K 3 → Z q that has collision difficulty, and is common Output as parameter pp = (G K , q, g 1 , g 2 , H).
Gen (pp; r) takes pp as input, and the key information dk = (x1, x2, y1, y2, z1, z2) that is the secret information s and the key information ek = (X ek , Y ek ) that is the public information. , Z ek ) = (g 1 x1 · g 2 x2 , g 1 y1 · g 2 y2 , g 1 z1 · g 2 z2 ) and output.
Enc (pp; ek, m) takes pp, ek, and message m as inputs, generates a random number r′∈Z q , and c1 = g 1 r ′ , c2 = g 2 r ′ , E = m · Z ek r ′ , ω = H (c1, c2, E), ν = (X ek ω · Y ek ) r ′ is obtained, and the ciphertext ct = (c1, c2, E, ν) is output.
Dec (pp; dk, ct) takes pp, dk, and ct as inputs, and if ctεG K 4 , ct = (c1, c2, E, ν) to ω = H (c1, c2, E) ), And if c1 x1 * ω + y1 · c2 x2 * ω + y2 = ν, m = E / (c1 z1 · c2 z2 ) is output.

[従来構成に対する関連鍵攻撃の一例]
上記の従来の公開鍵型暗号学的デバイスに対し、以下の一方向性を破る関連鍵攻撃が成功する。
1.敵はメッセージmの暗号文ct=(c1,c2,E,ν)を受け取る。
2.敵は0以外のΔ∈Zを選択し、鍵情報dk=(x1,x2,y1,y2,z1,z2)を関連鍵情報φ(x1,x2,y1,y2,z1,z2)=(x1,x2,y1+Δ,y2,z1,z2)に移す写像φと、新しい暗号文ct’=(c1,c2,E,ν・c1Δ)をDecに問い合わせる。
3.Decは鍵情報dkに写像φを適用し、関連鍵情報(x1,x2,y1+Δ,y2,z1,z2)を得、それを用いてct’を復号し、メッセージmを敵に返す。
4.敵はmをそのまま出力する。
[Example of related key attack against conventional configuration]
The related key attack that breaks the following one-way direction is successful against the above-mentioned conventional public key type cryptographic device.
1. The enemy receives the ciphertext ct = (c1, c2, E, ν) of the message m.
2. The enemy selects Δ∈Z q other than 0, and the key information dk = (x1, x2, y1, y2, z1, z2) is related to the related key information φ (x1, x2, y1, y2, z1, z2) = ( Dec is inquired about the mapping φ transferred to x1, x2, y1 + Δ, y2, z1, z2) and the new ciphertext ct ′ = (c1, c2, E, ν · c1 Δ ).
3. Dec applies the mapping φ to the key information dk, obtains related key information (x1, x2, y1 + Δ, y2, z1, z2), uses it to decrypt ct ′, and returns the message m to the enemy.
4). The enemy outputs m as it is.

この例では秘密情報が鍵情報である。また、上述の原理を上述の公開鍵型暗号学的デバイスの一例に適用する場合には、例えば、Decに検証装置を組み込んで機能させる。鍵情報および関連鍵情報は秘密情報であり、敵はこれらの情報を知らない。また敵は、鍵情報(x1,x2,y1,y2,z1,z2)に対する補助情報を知ったとしても、関連鍵情報(x1,x2,y1+Δ,y2,z1,z2)に対する補助情報(秘密情報と異なる関連秘密情報に対して特定の対応関係を持つ関連補助情報)を得ることができない。よって敵は、関連鍵情報に対する補助情報をDecに与えることができない。そのため検証装置は、Decからの問い合わせに対して拒絶を返し、Decは敵に対して拒絶を返す。その結果、敵は暗号文ct’=(c1,c2,E,ν’)を復号することができず、メッセージmも得ることができない。   In this example, the secret information is key information. In addition, when the above-described principle is applied to an example of the above-described public key type cryptographic device, for example, a verification device is incorporated into a Dec and functions. Key information and related key information are confidential information, and the enemy does not know these information. Even if the enemy knows the auxiliary information for the key information (x1, x2, y1, y2, z1, z2), the auxiliary information (secret information) for the related key information (x1, x2, y1 + Δ, y2, z1, z2) Related auxiliary information having a specific correspondence relationship with related secret information different from the above. Therefore, the enemy cannot give the auxiliary information for the related key information to Dec. Therefore, the verification device returns a rejection to the inquiry from Dec, and Dec returns a rejection to the enemy. As a result, the enemy cannot decrypt the ciphertext ct ′ = (c1, c2, E, ν ′) and cannot obtain the message m.

<第1実施形態>
第1実施形態を説明する。本形態は、暗号学的デバイス(Setup,Gen,C,X,Y,K)に上述の原理を適用したものである。本形態の安全性強化装置は、非対話零知識証明(NIZK=(G,P,V))を用いて補助情報を生成する。この補助情報は、秘密情報に対応する第1暗号文と、秘密情報と乱数とに対応する第2暗号文と、秘密情報と乱数とを証拠情報として第1暗号文と第2暗号文とに対する非対話零知識証明を行うための証明情報とを含む。本形態の検証装置は、補助情報が含む証明情報を用いて第1暗号文と第2暗号文とに対する非対話零知識証明検証を行い、さらに秘密情報に対応する検証用暗号文と第1暗号文とが一致するかを判定する。
<First Embodiment>
A first embodiment will be described. In this embodiment, the above principle is applied to a cryptographic device (Setup, Gen, C, X, Y, K). The security enhancing device of this embodiment generates auxiliary information using non-interactive zero knowledge proof (NIZK = (G, P, V)). The auxiliary information includes the first ciphertext corresponding to the secret information, the second ciphertext corresponding to the secret information and the random number, and the first ciphertext and the second ciphertext using the secret information and the random number as evidence information. And proof information for performing non-interactive zero knowledge proof. The verification apparatus of this embodiment performs non-interactive zero knowledge proof verification for the first ciphertext and the second ciphertext using the proof information included in the auxiliary information, and further, the verification ciphertext corresponding to the secret information and the first ciphertext Determine if the sentence matches.

[構成]
図1に例示するように、本形態の安全性強化システム1は、設定装置110と安全性強化装置120と検証装置130とを有する。設定装置110と安全性強化装置120と検証装置130とは、それぞれ、CPU(central processing unit)、RAM(random-access memory)等を含む汎用または専用のコンピュータに所定のプログラムが読み込まれて構成された特別な装置である。設定装置110と安全性強化装置120と検証装置130は、ネットワークや可搬型記録媒体等を通じ、情報のやり取りが可能なように構成されている。
[Constitution]
As illustrated in FIG. 1, the safety enhancement system 1 of this embodiment includes a setting device 110, a safety enhancement device 120, and a verification device 130. Each of the setting device 110, the safety enhancing device 120, and the verification device 130 is configured by reading a predetermined program into a general purpose or dedicated computer including a central processing unit (CPU), a random-access memory (RAM), and the like. Special equipment. The setting device 110, the safety enhancing device 120, and the verification device 130 are configured to exchange information through a network, a portable recording medium, or the like.

安全性強化装置120は、例えば、暗号化を行う際に用いる鍵を得る鍵生成装置である(暗号学的デバイスに上述の原理を適用する以降の実施形態の安全性強化装置についても同様)。安全性強化装置120は、入力部121と記憶部122と補助情報生成部123と出力部124とを有する。補助情報生成部123は、乱数生成部123aと鍵・鍵暗号文生成部123bと暗号化部123cと証明生成部123dとを有する。安全性強化装置120は、図示していない制御部の制御のもとで各処理を実行する。各部で得られたデータは記憶部122に格納され、必要に応じて各部に読み込まれる。   The security enhancing device 120 is, for example, a key generating device that obtains a key used when performing encryption (the same applies to the security enhancing devices in the following embodiments in which the above-described principle is applied to a cryptographic device). The safety enhancing device 120 includes an input unit 121, a storage unit 122, an auxiliary information generation unit 123, and an output unit 124. The auxiliary information generation unit 123 includes a random number generation unit 123a, a key / key ciphertext generation unit 123b, an encryption unit 123c, and a proof generation unit 123d. The safety enhancing device 120 executes each process under the control of a control unit (not shown). Data obtained by each unit is stored in the storage unit 122 and is read by each unit as necessary.

検証装置130は、例えば、暗号文を復号する際に用いる鍵を得る鍵生成装置である(暗号学的デバイスに上述の原理を適用する以降の実施形態の検証装置についても同様)。検証装置130は、入力部131と記憶部132と判定部133と鍵制御部136と出力部137とを有する。判定部133は、検証部133aと鍵暗号文生成部133bと暗号文比較部133cとを有する。検証装置130は、図示していない制御部の制御のもとで各処理を実行する。各部で得られたデータは記憶部132に格納され、必要に応じて各部に読み込まれる。   The verification device 130 is, for example, a key generation device that obtains a key used when decrypting a ciphertext (the same applies to verification devices in the following embodiments in which the above-described principle is applied to a cryptographic device). The verification device 130 includes an input unit 131, a storage unit 132, a determination unit 133, a key control unit 136, and an output unit 137. The determination unit 133 includes a verification unit 133a, a key ciphertext generation unit 133b, and a ciphertext comparison unit 133c. The verification device 130 executes each process under the control of a control unit (not shown). Data obtained by each unit is stored in the storage unit 132 and read by each unit as necessary.

[セットアップ処理]
設定装置110は、セキュリティパラメータ(1κ)を入力としてセットアップアルゴリズムSetup(1κ)を実行し、共通パラメータppを得る。この共通パラメータppは、暗号学的デバイス、鍵カプセル化方式、および公開鍵暗号方式に共通することとする。また設定装置110は、セキュリティパラメータ(1κ)を入力として非対話零知識証明のセットアップアルゴリズムG(1κ)を実行し、共通パラメータcrsNIZKを得る。さらに設定装置110は、鍵カプセル化方式の鍵生成アルゴリズムGenKEM(pp)を実行し、鍵ペア(pk,sk)を得る。また設定装置110は、公開鍵暗号方式の鍵生成アルゴリズムGenPKE(pp)を実行し、鍵ペア(ek,dk)を得る。設定装置110は、以上のように得られた共通パラメータcrs=(pp,pk,ek,crsNIZK)を出力する。共通パラメータcrsは、それぞれ、安全性強化装置120および検証装置130の入力部121および131に入力され、記憶部122および132に格納される。
[Setup process]
The setting apparatus 110 receives the security parameter (1 κ ) as input and executes the setup algorithm Setup (1 κ ) to obtain the common parameter pp. The common parameter pp is common to cryptographic devices, key encapsulation methods, and public key cryptosystems. Further, the setting device 110 executes the non-interactive zero knowledge proof setup algorithm G (1 κ ) with the security parameter (1 κ ) as an input, and obtains the common parameter crs NIZK . Further, the setting device 110 executes a key generation algorithm key generation algorithm Gen KEM (pp) to obtain a key pair (pk, sk). The setting device 110 executes a key generation algorithm Gen PKE (pp) of the public key cryptosystem, and obtains a key pair (ek, dk). The setting device 110 outputs the common parameter crs = (pp, pk, ek, crs NIZK ) obtained as described above. The common parameter crs is input to the input units 121 and 131 of the safety enhancing device 120 and the verification device 130 and stored in the storage units 122 and 132, respectively.

また、設定装置110はランダムな秘密情報s∈Sを生成して出力する。秘密情報sは、安全性強化装置120および検証装置130の入力部121および131に入力され、記憶部122および132に格納される。   In addition, the setting device 110 generates and outputs random secret information sεS. The secret information s is input to the input units 121 and 131 of the security enhancing device 120 and the verification device 130 and stored in the storage units 122 and 132.

[安全性強化処理(図2A)]
安全性強化装置120の乱数生成部123aが、乱数ρ∈RPKEを生成して出力する(ステップS121)。鍵・鍵暗号文生成部123bが、共通パラメータppと公開鍵pkと秘密情報sを用いて鍵暗号化アルゴリズムEncaps(pp,pk;s)を実行し、鍵(鍵情報)kとそれに対応する暗号文c(第1暗号文)とを出力する(ステップS122)。暗号化部123cが、共通パラメータppと暗号化鍵ekと秘密情報sと乱数ρとを用いて暗号化アルゴリズムEnc(pp,ek,m;ρ)を実行し、秘密情報sの暗号文τ(第2暗号文)を得て出力する(ステップS123)。証明生成部123dが、共通パラメータcrsNIZKと、暗号文c,τに対応する文字列x=(c,τ)と、その証拠wである証拠情報(s,ρ)とを入力とし、証明者アルゴリズムP(crsNIZK,(c,τ),(s,ρ))を実行し、その証明である証明情報πを得て出力する。なお、文字列xの例は、c,τのビット列表現値のビット結合値である。証拠情報(s,ρ)の例は、s,ρのビット列表現値のビット結合値である。また、非対話零知識証明の二項関係Bを以下のように定義する。
B(x,w)={((c,τ),(s,ρ)):((c,*)=Encaps(pp,pk;s)∧(τ=Enc(pp,ek,s;ρ)))}
ここで「*」はワイルドカードを表す(ステップS124)。出力部124は、暗号文c,τと証明情報πとを含む補助情報aux=(c,τ,π)を出力する(ステップS125)。得られた鍵kは、例えば共通鍵暗号方式に則って暗号化するための共通鍵として用いられる(暗号学的デバイスに上述の原理を適用する以降の実施形態についても同様)。
[Safety enhancement processing (Fig. 2A)]
Random number generation unit 123a of the safety reinforcement device 120 generates and outputs a random number ρ∈R PKE (step S121). The key / key ciphertext generation unit 123b executes the key encryption algorithm Encaps (pp, pk; s) using the common parameter pp, the public key pk, and the secret information s, and the key (key information) k and the corresponding key Ciphertext c (first ciphertext) is output (step S122). The encryption unit 123c executes the encryption algorithm Enc (pp, ek, m; ρ) using the common parameter pp, the encryption key ek, the secret information s, and the random number ρ, and the ciphertext τ ( (Second ciphertext) is obtained and output (step S123). The proof generation unit 123d receives the common parameter crs NIZK , the character string x = (c, τ) corresponding to the ciphertext c, τ, and the evidence information (s, ρ) as the evidence w, and the prover The algorithm P (crs NIZK , (c, τ), (s, ρ)) is executed, and proof information π, which is the proof, is obtained and output. An example of the character string x is a bit combination value of the bit string expression values of c and τ. An example of the evidence information (s, ρ) is a bit combination value of a bit string expression value of s, ρ. In addition, the binary relation B of the non-interactive zero knowledge proof is defined as follows.
B (x, w) = {((c, τ), (s, ρ)): ((c, *) = Encaps (pp, pk; s) ; (τ = Enc (pp, ek, s; ρ) )))}
Here, “*” represents a wild card (step S124). The output unit 124 outputs auxiliary information aux = (c, τ, π) including the ciphertext c, τ and the certification information π (step S125). The obtained key k is used as, for example, a common key for encryption in accordance with a common key cryptosystem (the same applies to the subsequent embodiments in which the above principle is applied to a cryptographic device).

[検証処置(図2B)]
補助情報aux=(c,τ,π)は、検証装置130の入力部131に入力されて記憶部132に格納される。検証部133aが、共通パラメータcrsNIZKと暗号文c,τと証明情報πとを入力とし、検証者アルゴリズムV(crsNIZK,(c,τ),π)を実行し、証明情報πを用いた暗号文c,τに対する非対話零知識証明検証を行い、その検証結果がyesであるかを判定する(ステップS131)。検証結果がnoであれば、出力部137が⊥を出力し(ステップS135)、処理を終える。検証結果がyesであれば、鍵暗号文生成部133bが、共通パラメータppと公開鍵pkと秘密情報sを用い、アルゴリズムEncaps(pp,pk;s)を実行し、秘密情報sに対応する検証用暗号文c’を得て出力する(ステップS132)。暗号文比較部133cが、暗号文cと検証用暗号文c’とが一致するかを判定する(ステップS133)。これらが一致しないと判定された場合(c≠c’)、出力部137が⊥を出力し(ステップS135)、処理を終える。暗号文cと検証用暗号文c’とが一致すると判定された場合(c=c’)、鍵制御部136が、共通パラメータppと秘密情報sとを用い、アルゴリズムEncaps(pp;s)を実行し、秘密情報sに対応する鍵k’を得て出力する(ステップS134)。出力部137は、鍵(鍵情報)k’を出力し(ステップS136)、処理を終える。出力された鍵k’は、例えば共通鍵暗号方式に則って復号するための共通鍵として用いられる(暗号学的デバイスに上述の原理を適用する以降の実施形態についても同様)。
[Verification procedure (Fig. 2B)]
The auxiliary information aux = (c, τ, π) is input to the input unit 131 of the verification device 130 and stored in the storage unit 132. The verification unit 133a receives the common parameter crs NIZK , the ciphertext c, τ, and the proof information π, executes the verifier algorithm V (crs NIZK , (c, τ), π), and uses the proof information π. Non-interactive zero knowledge proof verification is performed on the ciphertexts c and τ, and it is determined whether the verification result is yes (step S131). If the verification result is no, the output unit 137 outputs ⊥ (step S135), and the process ends. If the verification result is yes, the key ciphertext generation unit 133b executes the algorithm Encaps 1 (pp, pk; s) using the common parameter pp, the public key pk, and the secret information s, and corresponds to the secret information s. A verification ciphertext c ′ is obtained and output (step S132). The ciphertext comparison unit 133c determines whether the ciphertext c and the verification ciphertext c ′ match (step S133). When it is determined that these do not match (c ≠ c ′), the output unit 137 outputs ⊥ (step S135), and the process ends. When it is determined that the ciphertext c and the verification ciphertext c ′ match (c = c ′), the key control unit 136 uses the common parameter pp and the secret information s, and uses the algorithm Encaps 2 (pp; s). To obtain and output a key k ′ corresponding to the secret information s (step S134). The output unit 137 outputs the key (key information) k ′ (step S136) and ends the process. The output key k ′ is used as, for example, a common key for decryption in accordance with a common key cryptosystem (the same applies to the subsequent embodiments in which the above-described principle is applied to a cryptographic device).

<第2実施形態>
第2実施形態を説明する。本形態は、公開鍵型暗号学的デバイス(Setup,Gen,C,X,Y,K,Ω)に上述の原理を適用したものである。本形態の安全性強化装置は、非対話零知識証明(NIZK=(G,P,V))を用いて補助情報を生成する。この補助情報は、秘密情報に対応する公開鍵と、秘密情報に対応する第1暗号文と、秘密情報と乱数とに対応する第2暗号文と、秘密情報と乱数とを証拠情報として第1暗号文と第2暗号文とに対する非対話零知識証明を行うための証明情報とを含む。本形態の検証装置は、補助情報が含む証明情報を用いて第1暗号文と第2暗号文とに対する非対話零知識証明検証を行い、秘密情報に対応する検証用暗号文と第1暗号文とが一致するかを判定し、さらに秘密情報に対応する検証用公開鍵と公開鍵とが一致するかを判定する。以降、これまで説明したものと共通する事項については、同じ参照番号を用いて説明を省略する。
Second Embodiment
A second embodiment will be described. In this embodiment, the above-described principle is applied to a public key type cryptographic device (Setup, Gen, C, X, Y, K, Ω). The security enhancing device of this embodiment generates auxiliary information using non-interactive zero knowledge proof (NIZK = (G, P, V)). The auxiliary information includes the public key corresponding to the secret information, the first ciphertext corresponding to the secret information, the second ciphertext corresponding to the secret information and the random number, and the first information using the secret information and the random number as evidence information. And proof information for performing non-interactive zero knowledge proof for the ciphertext and the second ciphertext. The verification device of this embodiment performs non-interactive zero knowledge proof verification for the first ciphertext and the second ciphertext using the proof information included in the auxiliary information, and the verification ciphertext and the first ciphertext corresponding to the secret information And the verification public key corresponding to the secret information and the public key match. Hereinafter, the same reference numerals are used for items common to those described so far, and description thereof is omitted.

[構成]
図1に例示するように、本形態の安全性強化システム2は、設定装置210と安全性強化装置220と検証装置230とを有する。設定装置210と安全性強化装置220と検証装置230とは、それぞれ、汎用または専用のコンピュータに所定のプログラムが読み込まれて構成された特別な装置である。設定装置210と安全性強化装置220と検証装置230は、ネットワークや可搬型記録媒体等を通じ、情報のやり取りが可能なように構成されている。
[Constitution]
As illustrated in FIG. 1, the safety enhancement system 2 of this embodiment includes a setting device 210, a safety enhancement device 220, and a verification device 230. The setting device 210, the safety enhancing device 220, and the verification device 230 are special devices configured by reading a predetermined program into a general-purpose or dedicated computer, respectively. The setting device 210, the safety enhancing device 220, and the verification device 230 are configured to exchange information through a network, a portable recording medium, or the like.

安全性強化装置220は、例えば、暗号化や署名を行う際に用いる鍵を得る鍵生成装置またはその一部である(公開鍵型暗号学的デバイスに上述の原理を適用する以降の実施形態の安全性強化装置についても同様)。安全性強化装置220は、入力部121と記憶部122と補助情報生成部223と出力部224とを有する。補助情報生成部223は、乱数生成部123aと鍵・鍵暗号文生成部223bと暗号化部123cと証明生成部123dと鍵ペア生成部223eとを有する。安全性強化装置220は、図示していない制御部の制御のもとで各処理を実行する。各部で得られたデータは記憶部122に格納され、必要に応じて各部に読み込まれる。   The security enhancement device 220 is, for example, a key generation device that obtains a key used for encryption or signature, or a part thereof (in the subsequent embodiments in which the above-described principle is applied to a public key type cryptographic device). The same applies to safety enhancing devices). The safety enhancing device 220 includes an input unit 121, a storage unit 122, an auxiliary information generation unit 223, and an output unit 224. The auxiliary information generation unit 223 includes a random number generation unit 123a, a key / key ciphertext generation unit 223b, an encryption unit 123c, a proof generation unit 123d, and a key pair generation unit 223e. The safety enhancing device 220 executes each process under the control of a control unit (not shown). Data obtained by each unit is stored in the storage unit 122 and is read by each unit as necessary.

検証装置230は、例えば、暗号文の復号や署名検証を行う際に用いる鍵を得る生成装置である(公開鍵型暗号学的デバイスに上述の原理を適用する以降の実施形態の検証装置についても同様)。検証装置230は、入力部131と記憶部132と判定部233と鍵制御部236と出力部237とを有する。判定部233は、検証部133aと鍵暗号文生成部133bと暗号文比較部133cと公開鍵比較部233dを有する。検証装置230は、図示していない制御部の制御のもとで各処理を実行する。各部で得られたデータは記憶部132に格納され、必要に応じて各部に読み込まれる。   The verification device 230 is, for example, a generation device that obtains a key used when decrypting a ciphertext or verifying a signature (the verification device according to the embodiments after applying the above-described principle to a public key cryptographic device). The same). The verification device 230 includes an input unit 131, a storage unit 132, a determination unit 233, a key control unit 236, and an output unit 237. The determination unit 233 includes a verification unit 133a, a key ciphertext generation unit 133b, a ciphertext comparison unit 133c, and a public key comparison unit 233d. The verification device 230 executes each process under the control of a control unit (not shown). Data obtained by each unit is stored in the storage unit 132 and read by each unit as necessary.

[セットアップ処理]
本形態の設定装置210のセットアップ処理で生成される共通パラメータppは、公開鍵型暗号学的デバイス、鍵カプセル化方式、および公開鍵暗号方式に共通するものである。その他のセットアップ処理の内容は第1実施形態の設定装置110と同じである。設定装置210は、生成した共通パラメータcrs=(pp,pk,ek,crsNIZK)および秘密情報s∈Sを出力する。これらはそれぞれ、安全性強化装置220および検証装置230の入力部121および131に入力され、記憶部122および132に格納される。
[Setup process]
The common parameter pp generated in the setup process of the setting apparatus 210 according to the present embodiment is common to the public key type cryptographic device, the key encapsulation method, and the public key encryption method. The contents of other setup processes are the same as those of the setting device 110 of the first embodiment. The setting device 210 outputs the generated common parameter crs = (pp, pk, ek, crs NIZK ) and secret information sεS. These are input to the input units 121 and 131 of the safety enhancing device 220 and the verification device 230 and stored in the storage units 122 and 132, respectively.

[安全性強化処理(図3A)]
安全性強化装置220の乱数生成部123aが第1実施形態で説明したステップS121の処理を実行した後、鍵・暗号文生成装置223bが第1実施形態で説明したステップS122の処理を「k」を「r」に置換して実行し(ステップS222)、その後、暗号化部123cおよび証明生成部123dが第1実施形態で説明したステップS123およびS124の処理を実行する。次に安全性強化装置220の鍵ペア生成部223eが、共通パラメータppと秘密情報sを入力とし、鍵生成アルゴリズムkey−extract(pp,s)を実行し、公開鍵pと秘密鍵k(鍵情報)との鍵ペア(p,k)を得て出力する。ただし、key−extract(pp,s)は、共通パラメータppと秘密情報sを入力とし、鍵カプセル化方式のアルゴリズムEncaps(pp;s)を実行して鍵rを得、公開鍵型暗号学的デバイスの鍵生成アルゴリズムGen(pp;r)を実行して、秘密鍵k∈Kと公開鍵pを得て出力するアルゴリズムである。ただし、鍵rを新たに得るのではなく、ステップS222で得られた鍵rがkey−extract(pp,s)で流用されてもよい(ステップS224)。出力部224は、公開鍵pと暗号文c,τと証明情報πとを含む補助情報aux=(p,c,τ,π)を出力する(ステップS225)。得られた秘密鍵kは、例えば公開鍵暗号方式に則って暗号化するために用いられる(公開鍵型暗号学的デバイスに上述の原理を適用する以降の実施形態についても同様)。
[Safety enhancement processing (Fig. 3A)]
After the random number generator 123a of the security enhancing device 220 executes the process of step S121 described in the first embodiment, the key / ciphertext generator 223b performs the process of step S122 described in the first embodiment as “k”. Is replaced with “r” (step S222), and then the encryption unit 123c and the proof generation unit 123d execute the processing of steps S123 and S124 described in the first embodiment. Next, the key pair generation unit 223e of the security enhancing device 220 receives the common parameter pp and the secret information s, executes the key generation algorithm key-extract (pp, s), and executes the public key p and the secret key k (key Information) and a key pair (p, k) are obtained and output. However, key-extract (pp, s) receives the common parameter pp and the secret information s, executes the key encapsulation algorithm Encaps 2 (pp; s) to obtain the key r, and public key cryptography. The key generation algorithm Gen (pp; r) of the physical device is executed, and the secret key kεK and the public key p are obtained and output. However, instead of obtaining a new key r, the key r obtained in step S222 may be used in key-extract (pp, s) (step S224). The output unit 224 outputs auxiliary information aux = (p, c, τ, π) including the public key p, the ciphertext c, τ, and the certification information π (step S225). The obtained secret key k is used for encryption in accordance with, for example, a public key cryptosystem (the same applies to the subsequent embodiments in which the above-described principle is applied to a public key type cryptographic device).

[検証処置(図3B)]
補助情報aux=(p,c,τ,π)は、検証装置230の入力部131に入力されて記憶部132に格納される。その後、ステップS131〜S133,S135の処理が第1実施形態で説明した通りに実行される。ステップS133で暗号文cと検証用暗号文c’とが一致すると判定された場合(c=c’)、公開鍵比較部233dが、共通パラメータppと秘密情報sを入力とし、鍵生成アルゴリズムkey−extract(pp,s)を実行し、秘密情報に対応する検証用公開鍵p’と秘密鍵k’との鍵ペア(p’,k’)を得る(ステップS233)。さらに公開鍵比較部233dは、検証用公開鍵p’と公開鍵pとが一致するかを判定する(ステップS234)。これらが一致しないと判定された場合(p≠p’)、出力部237が⊥を出力し(ステップS135)、処理を終える。一方、検証用公開鍵p’と公開鍵pとが一致すると判定された場合(p=p’)、鍵制御部236が、秘密鍵k’を出力部237に送り、出力部237は秘密鍵k’(鍵情報)を出力し(ステップS236)、処理を終える。出力された秘密鍵k’は、例えば公開鍵暗号方式に則って復号するためや署名生成に用いられる(公開鍵型暗号学的デバイスに上述の原理を適用する以降の実施形態についても同様)。
[Verification procedure (Figure 3B)]
The auxiliary information aux = (p, c, τ, π) is input to the input unit 131 of the verification device 230 and stored in the storage unit 132. Thereafter, the processes in steps S131 to S133 and S135 are executed as described in the first embodiment. When it is determined in step S133 that the ciphertext c and the verification ciphertext c ′ match (c = c ′), the public key comparison unit 233d receives the common parameter pp and the secret information s as input, and generates a key generation algorithm key. -Extract (pp, s) is executed to obtain a key pair (p ', k') of the verification public key p 'and the secret key k' corresponding to the secret information (step S233). Furthermore, the public key comparison unit 233d determines whether or not the verification public key p ′ and the public key p match (step S234). If it is determined that they do not match (p ≠ p ′), the output unit 237 outputs ⊥ (step S135), and the process is terminated. On the other hand, when it is determined that the verification public key p ′ and the public key p match (p = p ′), the key control unit 236 sends the secret key k ′ to the output unit 237, and the output unit 237 k ′ (key information) is output (step S236), and the process ends. The output secret key k ′ is used, for example, for decryption in accordance with a public key cryptosystem or for signature generation (the same applies to the subsequent embodiments in which the above principle is applied to a public key cryptographic device).

<第3実施形態>
第3実施形態を説明する。本形態は、暗号学的デバイス(Setup,Gen,C,X,Y,K)として、K=Gとし、双線形写像を用いたものに上述の原理を適用したものである。本形態では、h、z、VおよびWが群Gの元、gが群Gの生成元、Hが衝突困難性を持つ写像、e:G →Gが双線形写像であり、秘密情報が乱数σに対するs=hσ∈Gであり、鍵情報がe(z,s)∈Gを含み、補助情報がX=gσ∈GとT=(V・WH(X)σ∈Gとを含む。本形態の検証装置は、e(g,T)∈Gとe(X,V・WH(X))∈Gとが一致するかを判定し、e(g,s)∈Gとe(X,h)∈Gとが一致するかを判定する。
<Third Embodiment>
A third embodiment will be described. This embodiment, cryptographic device (Setup, Gen, C, X , Y, K) as, and K = G T, it is obtained by applying the above principles to those used bilinear mapping. In this embodiment, h, z, V and W is the group G K source, g is generator of the group G K, mapping H has difficulty collision, e: G K 2 → G T is located in bilinear mapping , Secret information is s = h σ ∈ G K for random number σ, key information includes e (z, s) ∈ G T , and auxiliary information is X = g σG K and T G = (V · W H (X)) and a sigma ∈G K. Verification device of the present embodiment, it is determined whether e (g, T G) ∈G T and e (X, V · W H (X)) and ∈G T coincide, e (g, s) ∈G T and e (X, h) determining whether the ∈G T coincide.

[構成]
図3に例示するように、本形態の安全性強化システム3は、設定装置310と安全性強化装置320と検証装置330とを有する。設定装置310と安全性強化装置320と検証装置330とは、それぞれ、汎用または専用のコンピュータに所定のプログラムが読み込まれて構成された特別な装置である。設定装置310と安全性強化装置320と検証装置330は、ネットワークや可搬型記録媒体等を通じ、情報のやり取りが可能なように構成されている。
[Constitution]
As illustrated in FIG. 3, the safety enhancement system 3 of this embodiment includes a setting device 310, a safety enhancement device 320, and a verification device 330. The setting device 310, the safety enhancing device 320, and the verification device 330 are special devices configured by reading a predetermined program into a general-purpose or dedicated computer, respectively. The setting device 310, the safety enhancing device 320, and the verification device 330 are configured to exchange information through a network, a portable recording medium, or the like.

安全性強化装置320は、入力部121と記憶部122と乱数生成部323と秘密情報生成部324と鍵生成部325と補助情報生成部326と出力部327とを有する。補助情報生成部326は、群演算部326a,326bを有する。安全性強化装置320は、図示していない制御部の制御のもとで各処理を実行する。各部で得られたデータは記憶部122に格納され、必要に応じて各部に読み込まれる。   The security enhancing device 320 includes an input unit 121, a storage unit 122, a random number generation unit 323, a secret information generation unit 324, a key generation unit 325, an auxiliary information generation unit 326, and an output unit 327. The auxiliary information generation unit 326 includes group calculation units 326a and 326b. The safety enhancing device 320 executes each process under the control of a control unit (not shown). Data obtained by each unit is stored in the storage unit 122 and is read by each unit as necessary.

検証装置330は、入力部131と記憶部132と判定部333と鍵制御部336と出力部337とを有する。判定部333は、比較部333a,333bを有する。検証装置330は、図示していない制御部の制御のもとで各処理を実行する。各部で得られたデータは記憶部132に格納され、必要に応じて各部に読み込まれる。   The verification device 330 includes an input unit 131, a storage unit 132, a determination unit 333, a key control unit 336, and an output unit 337. The determination unit 333 includes comparison units 333a and 333b. The verification device 330 executes each process under the control of a control unit (not shown). Data obtained by each unit is stored in the storage unit 132 and read by each unit as necessary.

[セットアップ処理]
設定装置310は、セキュリティパラメータ(1κ)を入力としてセットアップアルゴリズムSetup(1κ)を実行し、共通パラメータppとして、G,G,q,e,gと衝突困難性を持つ写像H:G→Zとを得、pp=(G,G,q,e,g,H)とする。写像Hの例は、SHA−1等の暗号学的なハッシュ関数などである。また設定装置310は、群Gの元h,z,V,W∈Gをランダムに選び、crs=(pp,h,z,V,W)を出力する。共通パラメータcrsは、それぞれ、安全性強化装置320および検証装置330の入力部121および131に入力され、記憶部122および132に格納される。
[Setup process]
The setting device 310 executes a setup algorithm Setup (1 κ ) with the security parameter (1 κ ) as an input, and a map H having collision difficulty with G K , G T , q, e, g as a common parameter pp: G K → Z q and obtain pp = (G K , G T , q, e, g, H). An example of the mapping H is a cryptographic hash function such as SHA-1. The setting device 310 randomly selects elements h, z, V, and WεG K of the group G K , and outputs crs = (pp, h, z, V, W). The common parameter crs is input to the input units 121 and 131 of the safety enhancing device 320 and the verification device 330 and stored in the storage units 122 and 132, respectively.

[安全性強化処理(図5A)]
安全性強化装置320の乱数生成部323は、ppを入力として乱数σ∈Zを選択して出力する(ステップS321)。秘密情報生成部324は、pp,σを入力とし、乱数σに対する秘密情報s=hσ∈Gを得て出力する(ステップS322)。鍵生成部325は、pp,z,sを入力とし、秘密の鍵(鍵情報)k=e(z,s)∈Gを生成して出力する(ステップS323)。群演算部326aは、pp,σを入力としてX=gσ∈Gを得て出力する(ステップS324)。群演算部326bは、pp,X,σを入力としてT=(V・WH(X)σ∈Gを得て出力する(ステップS325)。出力部327は、XとTとを含む補助情報aux=(X,T)と秘密情報sを出力する(ステップS326)。
[Safety enhancement processing (Fig. 5A)]
The random number generation unit 323 of the safety enhancing device 320 selects and outputs the random number σεZ q with pp as an input (step S321). The secret information generating unit 324, pp, as input sigma, and outputs the obtained secret information s = h σ ∈G K for random sigma (step S322). The key generation unit 325, pp, z, as input s, secret key (key information) k = e (z, s ) generates ∈G T and outputs (step S323). Group operation section 326a is, pp, X = g to give a sigma ∈G K outputs as inputs the sigma (step S324). The group calculation unit 326b receives and outputs T G = (V · W H (X) ) σ ∈ G K with pp, X, and σ as inputs (step S325). The output unit 327, the auxiliary information aux = (X, T G) and outputs the secret information s including the X and T G (step S326).

[検証処置(図5B)]
補助情報aux=(X,T)と秘密情報sは、検証装置330の入力部131に入力されて記憶部132に格納される。比較部333aは、pp,auxを入力とし、e(g,T)∈Gとe(X,V・WH(X))∈Gとが一致するかを判定する(ステップS331)。これらが一致しないと判定された場合(e(g,T)≠e(X,V・WH(X)))、出力部337が⊥を出力し(ステップS135)、処理を終える。e(g,T)とe(X,V・WH(X))とが一致すると判定された場合(e(g,T)=e(X,V・WH(X)))、比較部333aは、pp,sを入力とし、e(g,s)∈Gとe(X,h)∈Gとが一致するかを判定する(ステップS332)。これらが一致しないと判定された場合(e(g,s)≠e(X,h))、出力部337が⊥を出力し(ステップS135)、処理を終える。e(g,s)とe(X,h)とが一致すると判定された場合(e(g,s)=e(X,h))、鍵制御部336がpp,z,sを入力とし、秘密の鍵(鍵情報)k’=e(z,s)∈Gを生成し(ステップS334)、出力部337が鍵kを出力する(ステップS336)。
[Verification procedure (Fig. 5B)]
The auxiliary information aux = (X, T G ) and the secret information s are input to the input unit 131 of the verification device 330 and stored in the storage unit 132. Comparing unit 333a includes, pp, determines as input aux, e (g, T G ) ∈G T and e (X, V · W H (X)) and ∈G T match (Step S331) . When it is determined that they do not match (e (g, T G ) ≠ e (X, V · WH (X) )), the output unit 337 outputs ⊥ (step S135), and the process ends. When it is determined that e (g, T G ) and e (X, V · W H (X) ) match (e (g, T G ) = e (X, V · W H (X) )) , comparison unit 333a includes, pp, as input s, determine e (g, s) ∈G T and e (X, h) and ∈G T match (step S332). When it is determined that they do not match (e (g, s) ≠ e (X, h)), the output unit 337 outputs ⊥ (step S135), and the process ends. When it is determined that e (g, s) and e (X, h) match (e (g, s) = e (X, h)), the key control unit 336 receives pp, z, and s as inputs. generates a secret key (key information) k '= e (z, s) ∈G T ( step S334), the output unit 337 outputs the key k (step S336).

<第4実施形態>
第4実施形態を説明する。本形態は、公開鍵型暗号学的デバイス(Setup,Gen,C,X,Y,K,Ω)として、K=Gとし、双線形写像を用いたものに上述の原理を適用したものである。本形態では、h、z、VおよびWが群Gの元、gが群Gの生成元、Hが衝突困難性を持つ写像、e:G →Gが双線形写像であり、秘密情報が乱数σに対するs=hσ∈Gであり、鍵情報がe(z,s)∈Gを含み、補助情報が秘密情報sに対応する公開鍵とX=gσ∈GとT=(V・WH(X)σ∈Gとを含む。本形態の検証装置は、e(g,T)∈Gとe(X,V・WH(X))∈Gとが一致するかを判定し、e(g,s)∈Gとe(X,h)∈Gとが一致するかを判定し、さらに秘密情報に対応する検証用公開鍵と公開鍵とが一致するかを判定する。
<Fourth embodiment>
A fourth embodiment will be described. This embodiment, the public key type cryptographic device (Setup, Gen, C, X , Y, K, Ω) as, and K = G T, obtained by applying the above principles to those used bilinear mapping is there. In this embodiment, h, z, V and W is the group G K source, g is generator of the group G K, mapping H has difficulty collision, e: G K 2 → G T is located in bilinear mapping , S = h σ ∈ G K for the random number σ, the key information includes e (z, s) ∈ G T , and the auxiliary information is the public key corresponding to the secret information s and X = g σ ∈ G K and T G = (V · W H (X)) and a sigma ∈G K. Verification device of the present embodiment, it is determined whether e (g, T G) ∈G T and e (X, V · W H (X)) and ∈G T coincide, e (g, s) ∈G T and e (X, h) or to determine the ∈G T match, further determines whether the verification public key corresponding to the secret information and the public key matches.

[構成]
図4に例示するように、本形態の安全性強化システム4は、設定装置410と安全性強化装置420と検証装置430とを有する。設定装置410と安全性強化装置420と検証装置430とは、それぞれ、汎用または専用のコンピュータに所定のプログラムが読み込まれて構成された特別な装置である。設定装置410と安全性強化装置420と検証装置430は、ネットワークや可搬型記録媒体等を通じ、情報のやり取りが可能なように構成されている。
[Constitution]
As illustrated in FIG. 4, the safety enhancement system 4 of this embodiment includes a setting device 410, a safety enhancement device 420, and a verification device 430. The setting device 410, the safety enhancing device 420, and the verification device 430 are special devices configured by reading a predetermined program into a general-purpose or dedicated computer, respectively. The setting device 410, the safety enhancing device 420, and the verification device 430 are configured to be able to exchange information through a network, a portable recording medium, or the like.

安全性強化装置420は、入力部121と記憶部122と乱数生成部323と秘密情報生成部324と補助情報生成部426と出力部427とを有する。補助情報生成部426は、鍵生成部426cと群演算部326a,326bとを有する。安全性強化装置420は、図示していない制御部の制御のもとで各処理を実行する。各部で得られたデータは記憶部122に格納され、必要に応じて各部に読み込まれる。   The security enhancing device 420 includes an input unit 121, a storage unit 122, a random number generation unit 323, a secret information generation unit 324, an auxiliary information generation unit 426, and an output unit 427. The auxiliary information generation unit 426 includes a key generation unit 426c and group calculation units 326a and 326b. The safety enhancing device 420 executes each process under the control of a control unit (not shown). Data obtained by each unit is stored in the storage unit 122 and is read by each unit as necessary.

検証装置430は、入力部131と記憶部132と判定部433と鍵制御部436と出力部437とを有する。判定部433は、比較部333a,333bと公開鍵比較部433cとを有する。検証装置430は、図示していない制御部の制御のもとで各処理を実行する。各部で得られたデータは記憶部132に格納され、必要に応じて各部に読み込まれる。   The verification device 430 includes an input unit 131, a storage unit 132, a determination unit 433, a key control unit 436, and an output unit 437. The determination unit 433 includes comparison units 333a and 333b and a public key comparison unit 433c. The verification device 430 executes each process under the control of a control unit (not shown). Data obtained by each unit is stored in the storage unit 132 and read by each unit as necessary.

[セットアップ処理]
本形態の設定装置410は、第3実施形態の共通パラメータppに加え、さらに公開鍵型暗号学的デバイスの共通パラメータを生成し、それらを共通パラメータppとして、共通パラメータcrs=(pp,h,V,W)を得る。その他のセットアップ処理の内容は第3実施形態の設定装置310と同じである。設定装置410はcrs=(pp,h,V,W)を出力し、共通パラメータcrsは、それぞれ、安全性強化装置420および検証装置430の入力部121および131に入力され、記憶部122および132に格納される。
[Setup process]
In addition to the common parameter pp of the third embodiment, the setting device 410 according to the present embodiment further generates common parameters of the public key type cryptographic device, and sets them as the common parameters pp so that the common parameters crs = (pp, h, V, W). The contents of the other setup processes are the same as those of the setting device 310 of the third embodiment. The setting device 410 outputs crs = (pp, h, V, W), and the common parameter crs is input to the input units 121 and 131 of the safety enhancing device 420 and the verification device 430, respectively, and the storage units 122 and 132 are stored. Stored in

[安全性強化処理(図6A)]
安全性強化装置420の乱数生成部323および秘密情報生成部324が、第3実施形態で説明したステップS321およびS322の処理を実行する。鍵生成部426cが、共通パラメータppと秘密情報sを入力とし、鍵生成アルゴリズムkey−extract(pp,s)を実行し、秘密情報sに対応する公開鍵pと秘密鍵k(鍵情報)との鍵ペア(p,k)を得て出力する(ステップS423)。その後、第3実施形態で説明したステップS324およびS325と同じ処理が実行され、出力部427は、pとXとTとを含む補助情報aux=(p,X,T)と秘密情報sを出力する(ステップS426)。
[Safety enhancement processing (Fig. 6A)]
The random number generation unit 323 and the secret information generation unit 324 of the security enhancing device 420 execute the processes of steps S321 and S322 described in the third embodiment. The key generation unit 426c receives the common parameter pp and the secret information s, executes the key generation algorithm key-extract (pp, s), and sets the public key p and the secret key k (key information) corresponding to the secret information s. The key pair (p, k) is obtained and output (step S423). Thereafter, the same processes as steps S324 and S325 described in the third embodiment is executed, the output portion 427, auxiliary information including the p and X and T G aux = (p, X , T G) and secret information s Is output (step S426).

[検証処置(図6B)]
補助情報aux=(p,X,T)と秘密情報sは、検証装置430の入力部131に入力されて記憶部132に格納される。その後、ステップS331,332,S135の処理が、第3実施形態で説明した通りに実行される。ステップS332でe(g,s)とe(X,h)とが一致すると判定された場合(e(g,s)=e(X,h))、公開鍵比較部433cが、共通パラメータppと秘密情報sを入力とし、鍵生成アルゴリズムkey−extract(pp,s)を実行し、秘密情報sに対応する検証用公開鍵p’と秘密鍵k’(鍵情報)との鍵ペア(p’,k’)を得る。公開鍵比較部433cは、検証用公開鍵p’と公開鍵pとが一致するかを判定する(ステップS434)。検証用公開鍵p’と公開鍵pとが一致しないと判定された場合(p≠p’)、出力部437が⊥を出力し(ステップS135)、処理を終える。検証用公開鍵p’と公開鍵pとが一致すると判定された場合(p=p’)、鍵制御部436が、秘密鍵k’を出力部437に送り、出力部437が秘密鍵k’(鍵情報)を出力し(ステップS436)、処理を終える。
[Verification procedure (Fig. 6B)]
The auxiliary information aux = (p, X, T G ) and the secret information s are input to the input unit 131 of the verification device 430 and stored in the storage unit 132. Thereafter, the processes in steps S331, 332, and S135 are executed as described in the third embodiment. When it is determined in step S332 that e (g, s) and e (X, h) match (e (g, s) = e (X, h)), the public key comparison unit 433c uses the common parameter pp. And secret information s as inputs, and a key generation algorithm key-extract (pp, s) is executed, and a key pair (p of the verification public key p ′ corresponding to the secret information s and the secret key k ′ (key information)) ', K'). The public key comparison unit 433c determines whether the verification public key p ′ and the public key p match (step S434). When it is determined that the verification public key p ′ and the public key p do not match (p ≠ p ′), the output unit 437 outputs ⊥ (step S135), and the process ends. When it is determined that the verification public key p ′ and the public key p match (p = p ′), the key control unit 436 sends the secret key k ′ to the output unit 437, and the output unit 437 sends the secret key k ′. (Key information) is output (step S436), and the process ends.

<第5実施形態>
第5実施形態を説明する。本形態でも、双線形写像を用いた公開鍵型暗号学的デバイス(Setup,Gen,C,X,Y,K,Ω)に上述の原理を適用する。ただし本形態では、補助情報auxの一部であるX=gσ∈Gを公開鍵pとして流用する。すなわち、本形態の公開鍵pは補助情報auxの一部であるX=gσを含み、これに対応する秘密鍵k(鍵情報)は秘密情報s=hσ∈Gを含む。これにより、補助情報auxのサイズを第4実施形態よりも小さくできる。
<Fifth Embodiment>
A fifth embodiment will be described. Also in this embodiment, the above-described principle is applied to a public key type cryptographic device (Setup, Gen, C, X, Y, K, Ω) using a bilinear mapping. However, in this embodiment, diverting a part of the auxiliary information aux X = g σ ∈G K as the public key p. That is, the public key p of this embodiment includes a X = g sigma is a part of the auxiliary information aux, secret key k corresponding thereto (key information) includes secret information s = h σ ∈G K. Thereby, the size of the auxiliary information aux can be made smaller than that in the fourth embodiment.

[構成]
図7に例示するように、本形態の安全性強化システム5は、設定装置510と安全性強化装置520と検証装置530とを有する。設定装置510と安全性強化装置520と検証装置530とは、それぞれ、汎用または専用のコンピュータに所定のプログラムが読み込まれて構成された特別な装置である。設定装置510と安全性強化装置520と検証装置530は、ネットワークや可搬型記録媒体等を通じ、情報のやり取りが可能なように構成されている。
[Constitution]
As illustrated in FIG. 7, the safety enhancement system 5 of this embodiment includes a setting device 510, a safety enhancement device 520, and a verification device 530. The setting device 510, the safety enhancing device 520, and the verification device 530 are special devices configured by reading a predetermined program into a general-purpose or dedicated computer, respectively. The setting device 510, the safety enhancing device 520, and the verification device 530 are configured to be able to exchange information through a network, a portable recording medium, or the like.

安全性強化装置520は、入力部121と記憶部122と乱数生成部323と秘密情報生成部324と補助情報生成部526と出力部527とを有する。補助情報生成部526は、群演算部326a,326bを有する。安全性強化装置520は、図示していない制御部の制御のもとで各処理を実行する。各部で得られたデータは記憶部122に格納され、必要に応じて各部に読み込まれる。   The security enhancing device 520 includes an input unit 121, a storage unit 122, a random number generation unit 323, a secret information generation unit 324, an auxiliary information generation unit 526, and an output unit 527. The auxiliary information generation unit 526 includes group calculation units 326a and 326b. The safety enhancing device 520 executes each process under the control of a control unit (not shown). Data obtained by each unit is stored in the storage unit 122 and is read by each unit as necessary.

検証装置530は、入力部131と記憶部132と判定部333と鍵制御部536と出力部537とを有する。検証装置530は、図示していない制御部の制御のもとで各処理を実行する。各部で得られたデータは記憶部132に格納され、必要に応じて各部に読み込まれる。   The verification device 530 includes an input unit 131, a storage unit 132, a determination unit 333, a key control unit 536, and an output unit 537. The verification device 530 executes each process under the control of a control unit (not shown). Data obtained by each unit is stored in the storage unit 132 and read by each unit as necessary.

[セットアップ処理]
本形態の設定装置510は、第3実施形態と同じ共通パラメータpp=(G,G,q,e,g,H)を生成し、共通パラメータcrs=(pp,h,V,W)を得る。設定装置510はcrs=(pp,h,V,W)を出力する。crsは、それぞれ、安全性強化装置520および検証装置530の入力部121および131に入力され、記憶部122および132に格納される。
[Setup process]
The setting device 510 of this embodiment generates the same common parameter pp = (G K , G T , q, e, g, H) as in the third embodiment, and the common parameter crs = (pp, h, V, W). Get. The setting device 510 outputs crs = (pp, h, V, W). The crs is input to the input units 121 and 131 of the safety enhancing device 520 and the verification device 530 and stored in the storage units 122 and 132, respectively.

[安全性強化処理(図8A)]
安全性強化装置520の乱数生成部323および秘密情報生成部324が、第3実施形態で説明したステップS321およびS322の処理を実行する。ただし、ステップS322で得られた秘密情報sは秘密鍵(鍵情報)として機能する。その後、補助情報生成部526の群演算部326aおよび326bが、第3実施形態で説明したステップS324およびS325の処理を実行し、X=gσ∈GとT=(V・WH(X)σ∈Gを得て出力する。ただし、出力部524は、XとTとを含む補助情報aux=(X,T)と秘密情報sを出力する。ただし、Xは補助情報として用いられるだけではなく、さらに暗号化処理等に公開鍵として用いられる(ステップS326)。
[Safety enhancement processing (Fig. 8A)]
The random number generation unit 323 and the secret information generation unit 324 of the security enhancing device 520 execute the processes of steps S321 and S322 described in the third embodiment. However, the secret information s obtained in step S322 functions as a secret key (key information). Thereafter, the group calculation unit 326a and 326b of the auxiliary information generation unit 526 executes the processing of steps S324 and S325 described in the third embodiment, X = g σ ∈G K and T G = (V · W H ( X) ) Obtain and output σ ∈ G K. However, the output unit 524, the auxiliary information aux = (X, T G) containing the X and T G and outputs the secret information s. However, X is not only used as auxiliary information, but also used as a public key for encryption processing and the like (step S326).

[検証処置(図8B)]
補助情報aux=(X,T)と秘密情報sと暗号化対象のメッセージxが、検証装置530の入力部131に入力されて記憶部132に格納される。その後、ステップS331,332,S135の処理が、第3実施形態で説明した通りに実行される。ステップS332でe(g,s)とe(X,h)とが一致すると判定された場合(e(g,s)=e(X,h))、鍵制御部536が、秘密情報sを秘密鍵k’とし、メッセージxに対する暗号文CPP(s,x)(鍵情報から得られる情報)を得(ステップS534)、出力部537が当該暗号文CPP(s,x)を出力し(ステップS536)、処理を終える。なお、ステップS534で暗号文CPP(s,x)を得、ステップS536で当該暗号文CPP(s,x)を出力する代わりに、ステップS534で秘密情報sを秘密鍵k’とし、ステップS536で秘密鍵k’(鍵情報)を出力してもよい。
[Verification procedure (Fig. 8B)]
The auxiliary information aux = (X, T G ), the secret information s, and the message x to be encrypted are input to the input unit 131 of the verification device 530 and stored in the storage unit 132. Thereafter, the processes in steps S331, 332, and S135 are executed as described in the third embodiment. When it is determined in step S332 that e (g, s) and e (X, h) match (e (g, s) = e (X, h)), the key control unit 536 stores the secret information s. Using the secret key k ′, the ciphertext C PP (s, x) (information obtained from the key information) for the message x is obtained (step S534), and the output unit 537 outputs the ciphertext C PP (s, x). (Step S536), the process ends. Incidentally, to obtain a ciphertext C PP (s, x) in step S534, instead of outputting the ciphertext C PP (s, x) in step S536, secret information s is a secret key k 'in step S534, step In S536, the secret key k ′ (key information) may be output.

<第6実施形態>
第6実施形態を説明する。本形態でも、双線形写像を用いた公開鍵型暗号学的デバイス(Setup,Gen,C,X,Y,K,Ω)に上述の原理を適用する。ただし本形態では、公開鍵型暗号学的デバイスとしてWaters IDベース暗号を用い、さらに補助情報auxであるX=gσ∈GおよびT=(V・WH(X)σ∈Gをマスター公開鍵mpkとして流用し、秘密情報s=hσ∈Gをマスター秘密鍵(鍵情報)mskとして用いる。これにより、補助情報auxのサイズを第4実施形態よりも小さくできる。
<Sixth Embodiment>
A sixth embodiment will be described. Also in this embodiment, the above-described principle is applied to a public key type cryptographic device (Setup, Gen, C, X, Y, K, Ω) using a bilinear mapping. However, in this embodiment, Waters ID-based encryption is used as a public key type cryptographic device, and further auxiliary information aux X = g σG K and T G = (V · W H (X) ) σ ∈ G K the diverted as a master public key mpk, using the secret information s = h σ ∈G K as a master secret key (key information) msk. Thereby, the size of the auxiliary information aux can be made smaller than that in the fourth embodiment.

[構成]
図7に例示するように、本形態の安全性強化システム6は、設定装置610と安全性強化装置520と検証装置630とを有する。検証装置630は、汎用または専用のコンピュータに所定のプログラムが読み込まれて構成された特別な装置である。設定装置610と安全性強化装置520と検証装置630は、ネットワークや可搬型記録媒体等を通じ、情報のやり取りが可能なように構成されている。
[Constitution]
As illustrated in FIG. 7, the safety enhancement system 6 of this embodiment includes a setting device 610, a safety enhancement device 520, and a verification device 630. The verification device 630 is a special device configured by reading a predetermined program into a general-purpose or dedicated computer. The setting device 610, the safety enhancing device 520, and the verification device 630 are configured to exchange information through a network, a portable recording medium, or the like.

検証装置630は、入力部131と記憶部132と判定部333と鍵制御部636と出力部637とを有する。検証装置630は、図示していない制御部の制御のもとで各処理を実行する。各部で得られたデータは記憶部132に格納され、必要に応じて各部に読み込まれる。   The verification device 630 includes an input unit 131, a storage unit 132, a determination unit 333, a key control unit 636, and an output unit 637. The verification device 630 executes each process under the control of a control unit (not shown). Data obtained by each unit is stored in the storage unit 132 and read by each unit as necessary.

[セットアップ処理]
本形態の設定装置610は、第3実施形態と同じ共通パラメータpp=(G,G,q,e,g,H)を生成し、さらに群GからランダムにY,Y,...,Y∈Gを選択し、共通パラメータcrs=(pp,h,V,W,Y,Y,...,Y)を得る。ただし、nは正整数である。設定装置610はcrs=(pp,h,V,W,Y,...,Y)を出力し、crsは、それぞれ、安全性強化装置620および検証装置630の入力部121および131に入力され、記憶部122および132に格納される。
[Setup process]
Setting device 610 of this embodiment, the same common parameters pp = the third embodiment (G K, G T, q , e, g, H) to generate, Y 0 random addition from the group G K, Y 1, .., Y n εG K is selected, and common parameters crs = (pp, h, V, W, Y 0 , Y 1 ,..., Y n ) are obtained. However, n is a positive integer. The setting device 610 outputs crs = (pp, h, V, W, Y 1 ,..., Y n ), and crs is input to the input units 121 and 131 of the safety enhancing device 620 and the verification device 630, respectively. The data is input and stored in storage units 122 and 132.

[安全性強化処理]
本形態の安全性強化処理は第5実施形態と同じである。ただし、X=gσおよびT=(V・WH(X)σがマスター公開鍵mpkとして機能し、秘密情報s=hσをマスター秘密鍵(鍵情報)mskとして機能する。マスター公開鍵mpkはID=(ID,...,ID)∈{0,1}に対応する公開鍵の生成に用いられ、マスター秘密鍵mskはIDに対応する秘密鍵の生成に用いられる。
[Safety enhancement processing]
The safety enhancement process of this embodiment is the same as that of the fifth embodiment. However, X = g σ and T G = (V · W H (X) ) σ function as a master public key mpk, and secret information s = h σ functions as a master secret key (key information) msk. The master public key mpk is used to generate a public key corresponding to ID = (ID 1 ,..., ID n ) ∈ {0, 1} n , and the master secret key msk is used to generate a secret key corresponding to ID. Used.

[検証処置(図9)]
補助情報aux=(X,T)と秘密情報sとIDとが、検証装置530の入力部131に入力されて記憶部132に格納される。その後、ステップS331,332,S135の処理が、第3実施形態で説明した通りに実行される。ステップS332でe(g,s)とe(X,h)とが一致すると判定された場合(e(g,s)=e(X,h))、鍵制御部636が、共通パラメータppとマスター秘密鍵(鍵情報)msk=sとIDとを入力とし、乱数d∈Zを生成し、ID=(ID,...,ID)∈{0,1}に対応する秘密鍵k’=dkID(鍵情報から得られる情報)を以下のように生成する。
k’=dkID=(g,s・(WatH(ID)))∈G
ただし、WatH(ID)を

Figure 0005871827

とする(ステップS634)。出力部637は秘密鍵k’を出力し(ステップS636)、処理を終える。 [Verification procedure (Figure 9)]
The auxiliary information aux = (X, T G ), the secret information s, and the ID are input to the input unit 131 of the verification device 530 and stored in the storage unit 132. Thereafter, the processes in steps S331, 332, and S135 are executed as described in the third embodiment. When it is determined in step S332 that e (g, s) and e (X, h) match (e (g, s) = e (X, h)), the key control unit 636 sets the common parameter pp to Master secret key (key information) msk = s and ID are input, random number dεZ q is generated, and secret corresponding to ID = (ID 1 ,..., ID n ) ε {0, 1} n A key k ′ = dk ID (information obtained from key information) is generated as follows.
k ′ = dk ID = (g d , s · (WatH (ID)) d ) ∈G K 2
However, WatH (ID)
Figure 0005871827

(Step S634). The output unit 637 outputs the secret key k ′ (step S636) and ends the process.

<第7実施形態>
第7実施形態を説明する。本形態でも、双線形写像を用いた公開鍵型暗号学的デバイス(Setup,Gen,C,X,Y,K,Ω)に上述の原理を適用する。ただし本形態では、公開鍵型暗号学的デバイスとしてBoyen−Mei−Waters鍵カプセル化方式の変種を用いる。本形態の補助情報はX=gσとT=(V・WH(X)σに加えてR=hρとT=(v・wH(R)ρとを含む。ただし、v、wが群Gの元であり、ρが乱数である。形態の検証装置は、e(g,T)とe(X,V・WH(X))とが一致するかを判定し、e(g,s)とe(X,h)とが一致するかを判定し、さらにe(g,T)とe(R,v・wH(R))とが一致するかを判定する。
<Seventh embodiment>
A seventh embodiment will be described. Also in this embodiment, the above-described principle is applied to a public key type cryptographic device (Setup, Gen, C, X, Y, K, Ω) using a bilinear mapping. However, in this embodiment, a variant of the Boyen-Mei-Waters key encapsulation method is used as a public key type cryptographic device. The auxiliary information in this embodiment includes R = h ρ and T = (v · w H (R) ) ρ in addition to X = g σ and T G = (V · W H (X) ) σ . However, v, w is the original group G K, ρ is a random number. The form verification apparatus determines whether e (g, T G ) and e (X, V · W H (X) ) match, and e (g, s) and e (X, h) are It is determined whether they match, and further, it is determined whether e (g, T) and e (R, v · w H (R) ) match.

[構成]
図7に例示するように、本形態の安全性強化システム7は、設定装置710と安全性強化装置720と検証装置730とを有する。設定装置710と安全性強化装置720と検証装置730とは、それぞれ、汎用または専用のコンピュータに所定のプログラムが読み込まれて構成された特別な装置である。設定装置710と安全性強化装置720と検証装置730は、ネットワークや可搬型記録媒体等を通じ、情報のやり取りが可能なように構成されている。
[Constitution]
As illustrated in FIG. 7, the safety enhancement system 7 of this embodiment includes a setting device 710, a safety enhancement device 720, and a verification device 730. The setting device 710, the safety enhancing device 720, and the verification device 730 are special devices configured by reading a predetermined program into a general-purpose or dedicated computer, respectively. The setting device 710, the safety enhancing device 720, and the verification device 730 are configured to be able to exchange information through a network, a portable recording medium, or the like.

安全性強化装置720は、入力部121と記憶部122と乱数生成部323と秘密情報生成部324と補助情報生成部726と鍵生成部725と出力部727とを有する。補助情報生成部726は、群演算部326a,326b,726d,726eと乱数生成部726cを有する。安全性強化装置720は、図示していない制御部の制御のもとで各処理を実行する。各部で得られたデータは記憶部122に格納され、必要に応じて各部に読み込まれる。   The security enhancing device 720 includes an input unit 121, a storage unit 122, a random number generation unit 323, a secret information generation unit 324, an auxiliary information generation unit 726, a key generation unit 725, and an output unit 727. The auxiliary information generation unit 726 includes group calculation units 326a, 326b, 726d, and 726e and a random number generation unit 726c. The safety enhancing device 720 executes each process under the control of a control unit (not shown). Data obtained by each unit is stored in the storage unit 122 and is read by each unit as necessary.

検証装置530は、入力部131と記憶部132と判定部733と鍵制御部736と出力部737とを有する。判定部733は、比較部333a,333b,733cを有する。検証装置730は、図示していない制御部の制御のもとで各処理を実行する。各部で得られたデータは記憶部132に格納され、必要に応じて各部に読み込まれる。   The verification device 530 includes an input unit 131, a storage unit 132, a determination unit 733, a key control unit 736, and an output unit 737. The determination unit 733 includes comparison units 333a, 333b, and 733c. The verification device 730 executes each process under the control of a control unit (not shown). Data obtained by each unit is stored in the storage unit 132 and read by each unit as necessary.

[セットアップ処理]
本形態の設定装置710は、第3実施形態と同じ共通パラメータpp=(G,G,q,e,g,H)を生成し、第3実施形態と同じpp,h,V,Wに加え、さらにランダムに元v,w∈Gを選択し、共通パラメータcrs=(pp,h,V,W, v, w)を得る。共通パラメータcrsは、それぞれ、安全性強化装置720および検証装置730の入力部121および131に入力され、記憶部122および132に格納される。
[Setup process]
Setting device 710 of this embodiment, the same common parameters pp = the third embodiment (G K, G T, q , e, g, H) to generate the same pp third embodiment, h, V, W In addition, the elements v, wεG K are selected at random, and the common parameter crs = (pp, h, V, W, v, w) is obtained. The common parameter crs is input to the input units 121 and 131 of the safety enhancing device 720 and the verification device 730 and stored in the storage units 122 and 132, respectively.

[安全性強化処理(図10A)]
安全性強化装置720の乱数生成部323および秘密情報生成部324が、第3実施形態で説明したステップS321およびS322の処理を実行し、群演算部326a,326bが、第3実施形態で説明したステップS324およびS325の処理を実行する。次に、乱数生成部726cが、ppを入力として第2乱数ρ∈Zを選択して出力する(ステップS721)。群演算部726dは、pp,ρを入力とし、乱数ρに対するR=gρ∈Gを得て出力する(ステップS722)。群演算部726eは、pp,v,w,R,ρを入力とし、T=(v・wH(R)ρ∈Gを得て出力する(ステップS723)。鍵生成部725は、pp,X,h,ρを入力とし、鍵(鍵情報)k=e(X,h)ρ∈Gを得て出力する。出力部727は、XとTとRとTとを含む補助情報aux=(X,T,R,T)を暗号文とし、当該補助情報auxと鍵kと秘密情報sとを出力する(ステップS726)。
[Safety enhancement processing (Fig. 10A)]
The random number generation unit 323 and the secret information generation unit 324 of the security enhancing device 720 execute the processing of steps S321 and S322 described in the third embodiment, and the group calculation units 326a and 326b described in the third embodiment. Steps S324 and S325 are executed. Next, the random number generation unit 726c selects and outputs the second random number ρεZ q with pp as an input (step S721). The group calculation unit 726d receives pp and ρ, and obtains and outputs R = g ρ ∈ G K for the random number ρ (step S722). The group calculation unit 726e receives pp, v, w, R, and ρ, and obtains and outputs T = (v · w H (R) ) ρ ∈ G K (step S723). The key generation unit 725 receives pp, X, h, and ρ, and obtains and outputs a key (key information) k = e (X, h) ρ ∈ G K. The output unit 727, the auxiliary information aux = containing X and T G R and T (X, T G, R , T) were ciphertext, and outputs the corresponding auxiliary information aux the key k and the secret information s (Step S726).

[検証処置(図10B)]
補助情報aux=(X,T,R,T)と鍵kと秘密情報sは、検証装置730の入力部131に入力されて記憶部132に格納される。その後、ステップS331,332,S135の処理が、第3実施形態で説明した通りに実行される。ステップS332でe(g,s)とe(X,h)とが一致すると判定された場合(e(g,s)=e(X,h))、比較部733cが、e(g,T)∈Gとe(R,v・wH(R))∈Gとが一致するかを判定する(ステップS733)。これらが一致しないと判定された場合(e(g,T)≠e(R,v・wH(R)))、出力部737が⊥を出力し(ステップS135)、処理を終える。e(g,T)とe(R,v・wH(R))とが一致すると判定された場合(e(g,T)=e(R,v・wH(R)))、鍵制御部736が、pp,R,sを入力とし、鍵(鍵情報)k’=e(R,s)∈Gを得て出力し、出力部737が鍵k’を出力する。
[Verification procedure (FIG. 10B)]
The auxiliary information aux = (X, T G , R, T), the key k, and the secret information s are input to the input unit 131 of the verification device 730 and stored in the storage unit 132. Thereafter, the processes in steps S331, 332, and S135 are executed as described in the third embodiment. When it is determined in step S332 that e (g, s) and e (X, h) match (e (g, s) = e (X, h)), the comparison unit 733c determines that e (g, T) ) ∈G T and e (R, v · w H (R)) determines the ∈G T match (step S733). When it is determined that they do not match (e (g, T) ≠ e (R, v · w H (R) )), the output unit 737 outputs ⊥ (step S135), and the process ends. When it is determined that e (g, T) and e (R, v · w H (R) ) match (e (g, T) = e (R, v · w H (R) )), the key control unit 736, pp, an input R, the s, the key (key information) k '= e (R, s) to obtain ∈G T output, the output unit 737 is a key k' to output a.

<その他の変形例等>
なお、本発明は上述の実施形態に限定されるものではない。例えば、安全性強化装置や検証装置が複数個存在してもよい。また、上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
<Other variations, etc.>
In addition, this invention is not limited to the above-mentioned embodiment. For example, a plurality of safety enhancing devices and verification devices may exist. In addition, the various processes described above are not only executed in time series according to the description, but may be executed in parallel or individually according to the processing capability of the apparatus that executes the processes or as necessary. Needless to say, other modifications are possible without departing from the spirit of the present invention.

上述の構成をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。このプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体の例は、非一時的な(non-transitory)記録媒体である。このような記録媒体の例は、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等である。   When the above configuration is realized by a computer, the processing contents of the functions that each device should have are described by a program. By executing this program on a computer, the above processing functions are realized on the computer. The program describing the processing contents can be recorded on a computer-readable recording medium. An example of a computer-readable recording medium is a non-transitory recording medium. Examples of such a recording medium are a magnetic recording device, an optical disk, a magneto-optical recording medium, a semiconductor memory, and the like.

このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD−ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。   This program is distributed, for example, 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.

このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。処理の実行時、このコンピュータは、自己の記録装置に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。   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, this computer reads a program stored in its own recording device and executes a process according to the read program. As another execution form of the program, the computer may read the program directly from the portable recording medium and execute processing according to the program, and each time the program is transferred from the server computer to the computer. The processing according to the received program may be executed sequentially.

上記実施形態では、コンピュータ上で所定のプログラムを実行させて本装置の処理機能が実現されたが、これらの処理機能の少なくとも一部がハードウェアで実現されてもよい。   In the above embodiment, the processing functions of the apparatus are realized by executing a predetermined program on a computer. However, at least a part of these processing functions may be realized by hardware.

1〜7 安全性強化システム
110〜710 設定装置
120〜720 安全性強化装置
130〜730 検証装置
1-7 Safety Enhancement System 110-710 Setting Device 120-720 Safety Enhancement Device 130-730 Verification Device

Claims (10)

秘密の鍵情報に対応する秘密情報を格納する記憶部と前記秘密情報に対して特定の対応関係を持つ補助情報を得て出力する補助情報生成部と、を含む安全性強化装置と、
入力された前記補助情報が前記秘密情報に対して前記特定の対応関係を持つかを判定する判定部と、前記補助情報が前記秘密情報に対して前記対応関係を持つ場合に前記秘密情報に対応する秘密の鍵情報または前記鍵情報から得られる情報を得、前記補助情報が前記秘密情報に対して前記対応関係を持たない場合に拒絶を表す情報を出力する鍵制御部と、を含む検証装置と、を有し、
前記秘密情報と異なる関連秘密情報に対して前記対応関係を持つ関連補助情報を前記補助情報から特定することが困難である、
ことを特徴とする安全性強化システム
A storage unit for storing secret information corresponding to the secret key information, the auxiliary information generation unit for outputting with the aid information with a specific relationship with respect to the secret information, and safety-enhancing device including,
A determination unit that determines whether the input auxiliary information has the specific correspondence with the secret information, and corresponds to the secret information when the auxiliary information has the correspondence with the secret information And a key control unit that obtains secret key information to be obtained or information obtained from the key information, and outputs information indicating rejection when the auxiliary information does not have the corresponding relationship with the secret information. And having
It is difficult to specify related auxiliary information having the corresponding relationship with respect to related secret information different from the secret information from the auxiliary information.
Safety enhancement system characterized by that.
請求項1の安全性強化システムであって、
前記補助情報が、前記秘密情報に対応する第1暗号文と、前記秘密情報と乱数とに対応する第2暗号文と、前記秘密情報と前記乱数とを証拠情報として前記第1暗号文と前記第2暗号文とに対する非対話零知識証明を行うための証明情報と、を含
前記判定部が、
前記証明情報を用いて前記第1暗号文と前記第2暗号文とに対する非対話零知識証明検証を行う検証部と、
前記秘密情報に対応する検証用暗号文と前記第1暗号文とが一致するかを判定する暗号文比較部と、を含む、
ことを特徴とする安全性強化システム
The safety enhancement system of claim 1,
The auxiliary information includes a first ciphertext corresponding to the secret information, a second ciphertext corresponding to the secret information and a random number, and the first ciphertext and the secret information and the random number as evidence information. and certification information for the non-interactive zero-knowledge proof for a second cipher text, only including,
The determination unit is
A verification unit that performs non-interactive zero-knowledge proof verification for the first ciphertext and the second ciphertext using the proof information;
A ciphertext comparison unit that determines whether the verification ciphertext corresponding to the secret information matches the first ciphertext,
Safety enhancement system characterized by that.
請求項1の安全性強化システムであって、
h、z、VおよびWが群Gの元、gが前記群Gの生成元、Hが衝突困難性を持つ写像、eが双線形写像であり、
前記秘密情報が、乱数σに対するs=hσであり、
前記鍵情報が、e(z,s)を含み、
前記補助情報が、X=gσとT=(V・WH(X)σとを含
前記判定部が、
e(g,T )とe(X,V・W H(X) )とが一致するかを判定する第1比較部と、
e(g,s)とe(X,h)とが一致するかを判定する第2比較部と、を含む、ことを特徴とする安全性強化システム
The safety enhancement system of claim 1,
h, z, V and W is the group G K source, g is generator of the group G K, mapping H has difficulty collision, e is bilinear mapping,
The secret information is a s = h σ for the random number σ,
The key information includes e (z, s);
Wherein the auxiliary information is, X = g σ and T G = (V · W H (X)) viewed contains a sigma,
The determination unit is
a first comparison unit that determines whether e (g, T G ) and e (X, V · WH (X) ) match;
e (g, s) and e (X, h) and safety enhancement system in which the second comprises a comparing unit, and it is characterized in determining whether the match.
請求項2または3の安全性強化システムであって、
前記補助情報が、さらに、前記秘密情報に対応する公開鍵を含
前記判定部が、さらに、前記秘密情報に対応する検証用公開鍵と前記公開鍵とが一致するかを判定する公開鍵比較部を含む、
ことを特徴とする安全性強化システム
The safety enhancement system according to claim 2 or 3,
The auxiliary information, further, only contains a public key corresponding to the secret information,
The determination unit further includes a public key comparison unit that determines whether the verification public key corresponding to the secret information matches the public key;
Safety enhancement system characterized by that.
請求項1の安全性強化システムであって、
h、VおよびWが群Gの元、gが前記群Gの生成元、Hが衝突困難性を持つ写像、eが双線形写像であり、
前記秘密情報が、乱数σに対するs=hσであり、
前記鍵情報が、sを含み、
前記補助情報が、X=gσとT=(V・WH(X)σとを含
前記判定部が、
e(g,T )とe(X,V・W H(X) )とが一致するかを判定する第1比較部と、
e(g,s)とe(X,h)とが一致するかを判定する第2比較部と、を含む、ことを特徴とする安全性強化システム
The safety enhancement system of claim 1,
h, V and W is the group G K source, g is generator of the group G K, mapping H has difficulty collision, e is bilinear mapping,
The secret information is a s = h σ for the random number σ,
The key information includes s;
Wherein the auxiliary information is, X = g σ and T G = (V · W H (X)) viewed contains a sigma,
The determination unit is
a first comparison unit that determines whether e (g, T G ) and e (X, V · WH (X) ) match;
e (g, s) and e (X, h) and safety enhancement system in which the second comprises a comparing unit, and it is characterized in determining whether the match.
請求項5の安全性強化システムであって、
v、w、RおよびTが前記群Gの元であり、
前記補助情報が、さらに、第2乱数ρに対するR=hρとT=(v・wH(R)ρとを含
前記判定部が、e(g,T)とe(R,v・w H(R) )とが一致するかを判定する第3比較部を含む、
ことを特徴とする安全性強化システム
The safety enhancement system according to claim 5,
v, w , R and T are members of said group G K ;
Wherein the auxiliary information further, R = h [rho and T = for the second random number ρ (v · w H (R )) viewed contains a [rho,
The determination unit includes a third comparison unit that determines whether e (g, T) and e (R, v · w H (R) ) match.
Safety enhancement system characterized by that.
請求項1から6の何れかの安全性強化システムにおける安全性強化装置。  The safety enhancing device in the safety enhancing system according to any one of claims 1 to 6. 請求項1から6の何れかの安全性強化システムにおける検証装置。  The verification apparatus in the safety enhancement system in any one of Claim 1 to 6. 請求項の安全性強化装置としてコンピュータを機能させるためのプログラム。 A program for causing a computer to function as the safety enhancing device according to claim 7 . 請求項の検証装置としてコンピュータを機能させるためのプログラム。 A program for causing a computer to function as the verification device according to claim 8 .
JP2013003706A 2013-01-11 2013-01-11 Safety enhancement system, safety enhancement device, verification device, and program Active JP5871827B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013003706A JP5871827B2 (en) 2013-01-11 2013-01-11 Safety enhancement system, safety enhancement device, verification device, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013003706A JP5871827B2 (en) 2013-01-11 2013-01-11 Safety enhancement system, safety enhancement device, verification device, and program

Publications (2)

Publication Number Publication Date
JP2014135687A JP2014135687A (en) 2014-07-24
JP5871827B2 true JP5871827B2 (en) 2016-03-01

Family

ID=51413659

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013003706A Active JP5871827B2 (en) 2013-01-11 2013-01-11 Safety enhancement system, safety enhancement device, verification device, and program

Country Status (1)

Country Link
JP (1) JP5871827B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6267657B2 (en) * 2015-01-07 2018-01-24 日本電信電話株式会社 Safety enhancement method, safety enhancement system, safety enhancement device, verification device, and program

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4961909B2 (en) * 2006-09-01 2012-06-27 ソニー株式会社 Cryptographic processing apparatus, cryptographic processing method, and computer program
JP5682527B2 (en) * 2011-03-28 2015-03-11 ソニー株式会社 Cryptographic processing apparatus, cryptographic processing method, and program

Also Published As

Publication number Publication date
JP2014135687A (en) 2014-07-24

Similar Documents

Publication Publication Date Title
CN104539423B (en) A kind of implementation method without CertPubKey cipher system of no Bilinear map computing
JP4786531B2 (en) Encryption system, encryption device, decryption device, program, and integrated circuit
JP4620669B2 (en) Signature generation apparatus, signature verification apparatus, method thereof, and integrated circuit
US20140233731A1 (en) Device and Method for Generating Keys with Enhanced Security for Fully Homomorphic Encryption Algorithm
TWI511517B (en) Information processing apparatus, information processing method, program and recording medium
JPWO2006114948A1 (en) Signature generation apparatus and signature verification apparatus
JP5730805B2 (en) Hierarchical inner product encryption system based on lattice problem, hierarchical inner product encryption method and apparatus based on lattice problem
JP5871827B2 (en) Safety enhancement system, safety enhancement device, verification device, and program
JP5300373B2 (en) Apparatus and program for performing data compression processing using algebraic torus
JP5314449B2 (en) Electronic signature verification system, electronic signature device, verification device, electronic signature verification method, electronic signature method, verification method, electronic signature program, verification program
JP5227201B2 (en) Bit commitment system, bit commitment method, bit commitment transmission device, bit commitment reception device, bit commitment transmission method, bit commitment reception method, bit commitment program
JP6267657B2 (en) Safety enhancement method, safety enhancement system, safety enhancement device, verification device, and program
JP2017038336A (en) Decryption method
JP2010049216A (en) Apparatus and program for performing data compression processing using algebraic torus
JP5227764B2 (en) Electronic signature verification system, electronic signature device, verification device, electronic signature verification method, electronic signature method, verification method, electronic signature program, verification program
Orsini et al. Bootstrapping BGV ciphertexts with a wider choice of p and q
WO2017203743A1 (en) Cipher apparatus, decoding apparatus, and cipher system
JP5931797B2 (en) Signature system and method, signature generation apparatus, and signature verification apparatus
JP6087849B2 (en) Proxy signature device, signature verification device, key generation device, proxy signature system, and program
JP5871826B2 (en) Authenticator generation device, verification device, and program
Atea et al. PMRSA: Designing an Efficient and Secure Public-Key Similar to RSA Based on Polynomial Ring
Harjito et al. Comparative Analysis between Elgamal and NTRU Algorithms and their implementation of Digital Signature for Electronic Certificate
Easttom More Approaches to Quantum-Resistant Cryptography
Sharma et al. Boneh-Franklin IBE
JP5506633B2 (en) Proxy calculation system, terminal device, proxy calculation device, proxy calculation method, and program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150204

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150925

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20151104

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151209

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160112

R150 Certificate of patent or registration of utility model

Ref document number: 5871827

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150