JP5562284B2 - Re-encryption system, re-encryption device, capability providing device, re-encryption method, capability provision method, and program - Google Patents

Re-encryption system, re-encryption device, capability providing device, re-encryption method, capability provision method, and program Download PDF

Info

Publication number
JP5562284B2
JP5562284B2 JP2011088314A JP2011088314A JP5562284B2 JP 5562284 B2 JP5562284 B2 JP 5562284B2 JP 2011088314 A JP2011088314 A JP 2011088314A JP 2011088314 A JP2011088314 A JP 2011088314A JP 5562284 B2 JP5562284 B2 JP 5562284B2
Authority
JP
Japan
Prior art keywords
encryption
ciphertext
input information
group
calculation unit
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
JP2011088314A
Other languages
Japanese (ja)
Other versions
JP2012220834A (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 JP2011088314A priority Critical patent/JP5562284B2/en
Publication of JP2012220834A publication Critical patent/JP2012220834A/en
Application granted granted Critical
Publication of JP5562284B2 publication Critical patent/JP5562284B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、暗号文の再暗号化技術に関し、特に、暗号文の再暗号化能力を他の装置に提供する技術に関する。   The present invention relates to a ciphertext re-encryption technique, and more particularly to a technique for providing a ciphertext re-encryption capability to another apparatus.

通常、或る第一暗号化鍵で暗号化された第一暗号文を他の第二暗号化鍵で再暗号化した第二暗号文を生成するためには、第一暗号化鍵に対応する第一復号鍵を用いて第一暗号文を復号し、その復号結果を第二暗号化鍵で暗号化する必要がある(例えば、特許文献1等参照)。   Usually, in order to generate a second ciphertext obtained by re-encrypting a first ciphertext encrypted with a certain first encryption key with another second encryption key, it corresponds to the first encryption key. It is necessary to decrypt the first ciphertext using the first decryption key and encrypt the decryption result using the second encryption key (see, for example, Patent Document 1).

第一復号鍵を保持していない再暗号化装置がこの再暗号化を行うための従来方法の一つは、第一復号鍵を保持している第一装置が再暗号化装置に第一復号鍵を提供し、再暗号化装置が第一復号鍵を用いて再暗号化を行う方法である。他の従来方法は、再暗号化装置が第一暗号文を第一装置に提供し、第一装置が第一復号鍵を用いて第一暗号文を再暗号化し、得られた第二暗号文を再暗号化装置に提供する方法である。   One of the conventional methods for performing re-encryption by a re-encryption device that does not hold the first decryption key is that the first device that holds the first decryption key sends the first decryption to the re-encryption device. In this method, a key is provided, and the re-encryption device performs re-encryption using the first decryption key. In another conventional method, the re-encryption device provides the first ciphertext to the first device, the first device re-encrypts the first ciphertext using the first decryption key, and the obtained second ciphertext Is provided to the re-encryption device.

特許第3868218号公報Japanese Patent No. 3868218

しかしながら、第一装置が再暗号化装置に第一復号鍵を提供する方法では、第一復号鍵を第一装置の外部に取り出さなければならず、安全上の問題がある。一方、再暗号化装置が第一暗号文を第一装置に提供し、第一装置が第一復号鍵を用いて第一暗号文を再暗号化する方法では、再暗号化装置が第一装置の再暗号化処理の正当性を検証できない。   However, in the method in which the first device provides the first decryption key to the re-encryption device, the first decryption key has to be taken out of the first device, which is a safety problem. On the other hand, in the method in which the re-encryption device provides the first ciphertext to the first device and the first device re-encrypts the first ciphertext using the first decryption key, the re-encryption device is the first device. The correctness of the re-encryption process cannot be verified.

本発明はこのような点に鑑みてなされたものであり、復号鍵を提供することなく暗号文を別の暗号化鍵で再暗号化する能力を提供する技術を提供することを目的とする。   The present invention has been made in view of these points, and an object of the present invention is to provide a technique that provides the ability to re-encrypt a ciphertext with another encryption key without providing a decryption key.

本発明では、G,Hを有限可換群として、第一暗号化方式に則って平文mを第一暗号化鍵yで暗号化して得られた群Hの元である第一暗号文C1が与えられたとき、当該第一暗号文C1を、第二暗号化方式に則って前記平文mを第二暗号化鍵yで暗号化して得られる群Gの元である第二暗号文f(C1)=C2に変換するための関数をfとする。a,bが互いに素である自然数、X,Xが群Gに値を持つ確率変数、xが確率変数Xの実現値、xが確率変数Xの実現値であるとする。さらに、第二暗号化方式に則って平文を第二暗号化鍵yで暗号化して得られる可能性がある暗号文を要素とする集合を、当該暗号文が属する暗号文の類と呼ぶことにする。 In the present invention, G, and H as a finite-friendly換群first ciphertext C1 plaintext m in accordance with the first encryption system is the first encryption key y 1 in encrypted-obtained group H of the original when given, the first ciphertext C1, the second encryption method the plaintext m in accordance with the a second encryption key y 2 encryption to the group G obtained based on the second ciphertext f Let (C1) = f be a function for converting to C2. It is assumed that a and b are natural numbers that are relatively prime, X 1 and X 2 are random variables having values in group G, x 1 is an actual value of random variable X 1 , and x 2 is an actual value of random variable X 2. . Furthermore, a set including ciphertexts that may be obtained by encrypting plaintext with the second encryption key y 2 in accordance with the second encryption method is referred to as a ciphertext class to which the ciphertext belongs. To.

再暗号化装置は、第一暗号文C1に対応する群Hの元である第一入力情報τ及び第二入力情報τを出力する。能力提供装置は、第一入力情報τを用い、或る確率より大きな確率でf(τ)を正しく計算し、得られた演算結果を第一出力情報zし、第二入力情報τを用い、或る確率より大きな確率でf(τ)を正しく計算し、得られた演算結果を第二出力情報zとする。再暗号化装置は、第一出力情報zから演算結果u=f(C1)を生成し、第二出力情報zから演算結果v=f(C1)を生成し、演算結果uに対する値uと演算結果vに対する値vとが互いに同一の暗号文の類に属する場合に、a’a+b’b=1を満たす整数a’,b’についての値ub’a’を出力する。 The re-encryption apparatus outputs first input information τ 1 and second input information τ 2 that are elements of the group H corresponding to the first ciphertext C1. The capability providing apparatus correctly calculates f (τ 1 ) with a probability larger than a certain probability using the first input information τ 1 , and obtains the obtained calculation result as first output information z 1 , and second input information τ 2 , f (τ 2 ) is correctly calculated with a probability larger than a certain probability, and the obtained calculation result is set as second output information z 2 . The re-encryption unit, the operation result u = f (C1) from the first output information z 1 generates a b x 1, generates an operation result v = f (C1) a x 2 from the second output information z 2, When the value u a for the operation result u and the value v b for the operation result v belong to the same ciphertext class, the values u b ′ for integers a ′ and b ′ satisfying a′a + b′b = 1. Outputs v a ′ .

本発明では、能力提供装置が復号鍵を提供することなく、第一出力情報z及び第二出力情報zを再暗号化装置に提供し、再暗号化装置がub’a’を出力する。ub’a’は高い確率で第二暗号文f(C1)となる。このように本発明では、能力提供装置が復号鍵を提供することなく暗号文を別の暗号化鍵で再暗号化する能力を再暗号化装置に提供できる。 In the present invention, the capability providing device provides the first output information z 1 and the second output information z 2 to the re-encrypting device without providing the decryption key, and the re-encrypting device sets u b ′ v a ′ . Output. u b ′ v a ′ becomes the second ciphertext f (C1) with high probability. As described above, according to the present invention, it is possible to provide the re-encryption device with the capability of re-encrypting the ciphertext with another encryption key without providing the decryption key.

実施形態の再暗号化システムの構成を説明するためのブロック図。The block diagram for demonstrating the structure of the re-encryption system of embodiment. 実施形態の再暗号化装置の構成を説明するためのブロック図。The block diagram for demonstrating the structure of the re-encryption apparatus of embodiment. 実施形態の能力提供装置の構成を説明するためのブロック図。The block diagram for demonstrating the structure of the capability provision apparatus of embodiment. 実施形態の再暗号文取得装置の構成を説明するためのブロック図。The block diagram for demonstrating the structure of the reciphertext acquisition apparatus of embodiment. 実施形態の入力情報提供部の構成を説明するためのブロック図。The block diagram for demonstrating the structure of the input information provision part of embodiment. 実施形態の入力情報提供部の構成を説明するためのブロック図。The block diagram for demonstrating the structure of the input information provision part of embodiment. 実施形態の再暗号化装置の処理を説明するためのフローチャート。The flowchart for demonstrating the process of the re-encryption apparatus of embodiment. 実施形態の能力提供装置の処理を説明するためのフローチャート。The flowchart for demonstrating the process of the capability provision apparatus of embodiment. ステップS2103(S3103)の処理を説明するためのフローチャート。The flowchart for demonstrating the process of step S2103 (S3103). ステップS4103の処理を説明するためのフローチャート。The flowchart for demonstrating the process of step S4103. 実施形態の再暗号化装置の構成を説明するためのブロック図。The block diagram for demonstrating the structure of the re-encryption apparatus of embodiment. 実施形態の再暗号化装置の処理を説明するためのフローチャート。The flowchart for demonstrating the process of the re-encryption apparatus of embodiment.

以下、図面を参照して本発明の実施形態を説明する。   Hereinafter, embodiments of the present invention will be described with reference to the drawings.

[第一実施形態]
まず、本発明の第一実施形態を説明する。
[First embodiment]
First, a first embodiment of the present invention will be described.

<構成>
図1に例示するように、第一実施形態の再暗号化システム1は、例えば、暗号化装置10と再暗号化装置11と能力提供装置12と再暗号文取得装置13とを有する。各装置は情報のやり取りが可能なように構成される。例えば、各装置は伝送線やネットワークや可搬型記録媒体などを経由した情報のやり取りが可能とされている。
<Configuration>
As illustrated in FIG. 1, the re-encryption system 1 according to the first embodiment includes, for example, an encryption device 10, a re-encryption device 11, a capability providing device 12, and a re-ciphertext acquisition device 13. Each device is configured to be able to exchange information. For example, each device can exchange information via a transmission line, a network, a portable recording medium, or the like.

本形態では、暗号化装置10が、第一暗号化方式に則って平文mを第一暗号化鍵yで暗号化した第一暗号文C1を出力する。第一暗号文C1を取得した再暗号化装置11は、第一暗号文C1を第二暗号文C2に再暗号化する能力の提供を、能力提供装置12に依頼する。本形態の能力提供装置12はこの能力を再暗号化装置11に提供し、再暗号化装置11は提供された能力を用いて第一暗号文C1を第二暗号文C2に再暗号化する。再暗号化装置11は第二暗号文C2を再暗号文取得装置13に提供し、再暗号文取得装置13は第二暗号文C2を復号して復号結果m’を得る。また、再暗号文取得装置13が第一暗号文C1を取得し、当該第一暗号文C1を第二暗号文C2に再暗号化する能力の提供を、再暗号化装置11及び/又は能力提供装置12に対して依頼してもよい。この場合、この能力が再暗号文取得装置13に提供され、再暗号文取得装置13は提供された能力を用いて第一暗号文C1を第二暗号文C2に再暗号化する。 In this embodiment, the encryption device 10, and outputs the first ciphertext C1 by encrypting the plaintext m in the first encryption key y 1 in accordance with the first encryption method. The re-encrypting device 11 that has acquired the first ciphertext C1 requests the capability providing device 12 to provide the capability of re-encrypting the first ciphertext C1 into the second ciphertext C2. The capability providing device 12 of this embodiment provides this capability to the re-encryption device 11, and the re-encryption device 11 re-encrypts the first ciphertext C1 into the second ciphertext C2 using the provided capability. The re-encryption device 11 provides the second ciphertext C2 to the re-ciphertext acquisition device 13, and the re-ciphertext acquisition device 13 decrypts the second ciphertext C2 to obtain a decryption result m ′. Further, the re-encryption device 11 and / or the capability provision provides the capability of the re-ciphertext acquisition device 13 to acquire the first ciphertext C1 and re-encrypt the first ciphertext C1 into the second ciphertext C2. You may make a request to the device 12. In this case, this capability is provided to the re-ciphertext acquisition device 13, and the re-ciphertext acquisition device 13 re-encrypts the first ciphertext C1 into the second ciphertext C2 using the provided capability.

図2に例示するように、第一実施形態の再暗号化装置11は、例えば、自然数記憶部1101と自然数選択部1102と整数計算部1103と入力情報提供部1104と第一計算部1105と第一べき乗計算部1106と第一リスト記憶部1107と第二計算部1108と第二べき乗計算部1109と第二リスト記憶部1110と判定部1111と最終出力部1112と制御部1113とを有する。再暗号化装置11は、制御部1113の制御のもとで各処理を実行する。再暗号化装置11の例は、特別なプログラムが読み込まれたCPU(central processing unit)やRAM(random−access memory)を備えた公知又は専用のコンピュータや、サーバ装置やゲートウェイ装置やカードリーダライタ装置や携帯電話などの計算機能と記憶機能とを備えた機器などである。   As illustrated in FIG. 2, the re-encryption apparatus 11 according to the first embodiment includes, for example, a natural number storage unit 1101, a natural number selection unit 1102, an integer calculation unit 1103, an input information provision unit 1104, a first calculation unit 1105, It has a first power calculation unit 1106, a first list storage unit 1107, a second calculation unit 1108, a second power calculation unit 1109, a second list storage unit 1110, a determination unit 1111, a final output unit 1112, and a control unit 1113. The re-encryption device 11 executes each process under the control of the control unit 1113. Examples of the re-encryption device 11 include a known or dedicated computer, a server device, a gateway device, or a card reader / writer device having a CPU (central processing unit) and a RAM (random-access memory) loaded with a special program. And a device having a calculation function and a storage function such as a mobile phone.

図3に例示するように、第一実施形態の能力提供装置12は、例えば、第一出力情報計算部1201と第二出力情報計算部1202と鍵記憶部1204と制御部1205とを有する。能力提供装置12は、制御部1205の制御のもとで各処理を実行する。能力提供装置12の例は、特別なプログラムが読み込まれたCPUやRAMを備えた公知又は専用のコンピュータや、携帯電話などの計算機能と記憶機能とを備えた機器や、ICカードやICチップなどの耐タンパ性モジュールなどである。   As illustrated in FIG. 3, the capability providing apparatus 12 according to the first embodiment includes, for example, a first output information calculation unit 1201, a second output information calculation unit 1202, a key storage unit 1204, and a control unit 1205. The capability providing apparatus 12 executes each process under the control of the control unit 1205. Examples of the capability providing device 12 include a known or dedicated computer having a CPU and RAM loaded with a special program, a device having a calculation function and a storage function such as a mobile phone, an IC card, an IC chip, etc. Tamper resistant module.

図4に例示するように、第一実施形態の再暗号文取得装置13は、例えば、再暗号化装置1311と復号部1312と制御部1313と鍵記憶部1314とを有する。再暗号化装置1311の構成は図2の再暗号化装置11と同じである。再暗号文取得装置13は、制御部1313の制御のもとで各処理を実行する。再暗号文取得装置13の例は、特別なプログラムが読み込まれたCPUやRAMを備えた公知又は専用のコンピュータや、携帯電話などの計算機能と記憶機能とを備えた機器などである。   As illustrated in FIG. 4, the re-ciphertext acquisition device 13 of the first embodiment includes, for example, a re-encryption device 1311, a decryption unit 1312, a control unit 1313, and a key storage unit 1314. The configuration of the re-encryption device 1311 is the same as that of the re-encryption device 11 of FIG. The reciphertext acquisition device 13 executes each process under the control of the control unit 1313. An example of the re-ciphertext acquisition device 13 is a known or dedicated computer having a CPU or RAM loaded with a special program, a device having a calculation function and a storage function, such as a mobile phone.

詳細構成は省略するが、第一実施形態の暗号化装置10は、第一暗号化方式に則って平文mを第一暗号化鍵yで暗号化する能力を持つ装置である。暗号化装置10の例は、特別なプログラムが読み込まれたCPUやRAMを備えた公知又は専用のコンピュータや、携帯電話などの計算機能と記憶機能とを備えた機器などである。 Although the detailed configuration is omitted, the encryption device 10 of the first embodiment is a device having the ability to encrypt the plaintext m with the first encryption key y 1 in accordance with the first encryption method. An example of the encryption device 10 is a known or dedicated computer including a CPU or RAM into which a special program is read, or a device having a calculation function and a storage function such as a mobile phone.

<処理の前提>
G,Hが有限可換群(例えば巡回群)であり、X,Xが群Gに値を持つ確率変数であり、xが確率変数Xの実現値であり、xが確率変数Xの実現値であり、fが与えられた群Hの元である第一暗号文C1を群Gの元である第二暗号文f(C1)=C2に変換するための関数であるとする。ここで第一暗号文C1は第一暗号化方式に則って平文mを第一暗号化鍵yで暗号化して得られた暗号文であり、第二暗号文C2は第二暗号化方式に則って平文mを第二暗号化鍵yで暗号化して得られる暗号文である。第一暗号化方式や第二暗号化方式は、公開鍵暗号方式であってもよいし、共通鍵暗号方式であってもよい。また、第一暗号化方式や第二暗号化方式は、確率暗号方式であってもよいし、確定暗号方式であってもよい。さらに、第一暗号化方式と第二暗号化方式とが同一の暗号化方式であってもよいし、これらが異なる暗号化方式であってもよい。第一暗号化方式や第二暗号化方式の例は、準同型関数を暗号化関数及び復号関数とする暗号化方式である。そのような例は、ElGamal暗号方式(参考文献1:Taher Elgamal, "A Public-Key Cryptosystem and a Signature Scheme Based on Discrete Logarithms," IEEE Transactions on Information Theory, v. IT-31, n. 4, 1985, pp. 469-472 or CRYPTO 84, pp. 10-18, Springer-Verlag.)や、RSA暗号方式(参考文献2:R.L.Rivest,A.Shamir,and L.Adelman, "A Method for Obtaining Digital Signature and Public-key Cryptsystems," MIT Laboratory for Computer Science, Thechnical Memo LCS/TM82, April 4,1977(Revised December 12,1977))などである。また、G=Hであってもよいし、G≠Hであってもよい。また、以下では群G,H上の演算を乗法的に表現する。
<Processing premise>
G and H are finite commutative groups (for example, cyclic groups), X 1 and X 2 are random variables having values in the group G, x 1 is an actual value of the random variable X 1 , and x 2 is a probability a realization value of the variable X 2, is a function for converting a first ciphertext C1 is the original group H which f is applied to the second ciphertext f (C1) = C2 is the original group G And Wherein the first ciphertext C1 is a ciphertext obtained by encrypting plaintext m in the first encryption key y 1 in accordance with the first encryption method, the second ciphertext C2 to the second encryption scheme a ciphertext obtained by encrypting plaintext m in the second encryption key y 2 in accordance. The first encryption method and the second encryption method may be a public key encryption method or a common key encryption method. Further, the first encryption method and the second encryption method may be a stochastic encryption method or a definite encryption method. Furthermore, the first encryption method and the second encryption method may be the same encryption method, or they may be different encryption methods. Examples of the first encryption method and the second encryption method are encryption methods using a homomorphic function as an encryption function and a decryption function. An example of this is the ElGamal cryptosystem (reference 1: Taher Elgamal, “A Public-Key Cryptosystem and a Signature Scheme Based on Discrete Logarithms,” IEEE Transactions on Information Theory, v. IT-31, n. 4, 1985. , 469-472 or CRYPTO 84, pp. 10-18, Springer-Verlag.) and RSA cryptosystem (Reference 2: RLRivest, A. Shamir, and L. Adelman, "A Method for Obtaining Digital Signature and Public-key Cryptsystems, "MIT Laboratory for Computer Science, Thechnical Memo LCS / TM82, April 4,1977 (Revised December 12,1977)). Moreover, G = H may be sufficient and G <> H may be sufficient. In the following, operations on the groups G and H are expressed in a multiplicative manner.

第一暗号化鍵yには第一復号鍵sが対応し、第二暗号化鍵yには第二復号鍵sが対応する。第一暗号化方式が公開鍵暗号方式である場合、第一暗号化鍵yは公開鍵であり、第一復号鍵sは秘密鍵である。一方、第一暗号化方式が共通鍵暗号方式である場合、第一暗号化鍵y及び第一復号鍵sは共通鍵である。第二暗号化方式が公開鍵暗号方式である場合、第二暗号化鍵yは公開鍵であり、第二復号鍵sは秘密鍵である。一方、第二暗号化方式が共通鍵暗号方式である場合、第二暗号化鍵y及び第二復号鍵sは共通鍵である。 The first decryption key s 1 corresponds to the first encryption key y 1 , and the second decryption key s 2 corresponds to the second encryption key y 2 . When the first encryption method is a public key encryption method, the first encryption key y 1 is a public key and the first decryption key s 1 is a secret key. On the other hand, when the first encryption method is a common key encryption method, the first encryption key y 1 and the first decryption key s 1 are common keys. When the second encryption method is a public key encryption method, the second encryption key y 2 is a public key, and the second decryption key s 2 is a secret key. On the other hand, when the second encryption method is a common key encryption method, the second encryption key y 2 and the second decryption key s 2 are common keys.

また、第二暗号化方式に則って平文を第二暗号化鍵yで暗号化して得られる暗号文C2について、C2と同一の平文と同一の暗号化鍵を用いて第二暗号化方式によって得られる可能性がある暗号文の集合を当該暗号文C2が属する「暗号文の類」と呼ぶ。例えば、第二暗号化方式がElGamal暗号方式のような確率暗号方式である場合、同一の平文と暗号化鍵との組に対して複数の暗号文が対応するため、任意の暗号文Cについて、Cが属する暗号文の類には複数の要素が属する。一方、例えば、第二暗号化方式がRSA暗号方式のような確定暗号方式である場合、同一の平文と暗号化鍵との組に対して暗号文が一義的に定まるため、同一の暗号文の類には一つの要素のみが属する。同一の暗号文の類に一つの要素のみが属する場合、二つの値が同一の暗号文の類に属することと当該二つの値が等しいこととが等価となる。すなわち、第二暗号化方式が確定暗号方式である場合、二つの値が同一の暗号文の類に属するかの判定は当該二つの値が等しいかを判定することで行うことができる。 Further, the cipher text C2 obtained by the plaintext in accordance with the second encryption system encrypts the second encryption key y 2, by the second encryption scheme using the same encryption key and the same plaintext and C2 A set of ciphertexts that may be obtained is referred to as “ciphertext class” to which the ciphertext C2 belongs. For example, when the second encryption method is a stochastic encryption method such as the ElGamal encryption method, a plurality of ciphertexts correspond to the same plaintext and encryption key pair. A plurality of elements belong to the ciphertext class to which C belongs. On the other hand, for example, when the second encryption method is a definite encryption method such as the RSA encryption method, the ciphertext is uniquely determined for the same plaintext and encryption key pair. Only one element belongs to a class. When only one element belongs to the same ciphertext class, it is equivalent that two values belong to the same ciphertext class and the two values are equal. That is, when the second encryption method is a definite encryption method, it can be determined whether the two values belong to the same ciphertext class by determining whether the two values are equal.

また、再暗号化装置11(図2)の自然数記憶部1101に、互いに素である2つの自然数a,bの組(a,b)が複数種類記憶されているものとする。Iを群Gの位数未満の2つの自然数の組で互いに素なものの集合とすると、自然数記憶部1101にはIの部分集合Sに対応する自然数a,bの組(a,b)が記憶されていると考えることができる。a,bは互いに素な自然数であり、「自然数」とは0以上の整数を表す。また、第一暗号化鍵yが暗号化装置10の鍵記憶部(図示せず)に格納され、第一復号鍵s及び第二暗号化鍵yが能力提供装置12(図3)の鍵記憶部1204に格納され、第二復号鍵sが再暗号文取得装置13(図4)の鍵記憶部1314に格納されているものとする。 Also, it is assumed that a plurality of types (a, b) of two prime numbers a and b that are relatively prime are stored in the natural number storage unit 1101 of the re-encryption device 11 (FIG. 2). Assuming that I is a set of two natural numbers less than the order of the group G and prime to each other, the natural number storage unit 1101 stores a set (a, b) of natural numbers a and b corresponding to the subset S of I. Can be considered. a and b are relatively prime natural numbers, and “natural number” represents an integer of 0 or more. The first encryption key y 1 is stored in a key storage unit (not shown) of the encryption device 10, and the first decryption key s 1 and the second encryption key y 2 are stored in the capability providing device 12 (FIG. 3). stored in the key storage unit 1204, it is assumed that the second decryption key s 2 is stored in the key storage unit 1314 of the re-encrypted sentence obtaining unit 13 (FIG. 4).

<処理>
まず、暗号化装置10が、鍵記憶部(図示せず)から読み出した第一暗号化鍵yを用い、入力された平文mを第一暗号化方式に則って暗号化して第一暗号文C1∈Hを生成し、当該第一暗号文C1を出力する。
<Processing>
First, the encryption device 10, key storage unit using the first encryption key y 1 read from the (not shown), a first ciphertext by encrypting in accordance with the input plaintext m to the first encryption method C1εH is generated and the first ciphertext C1 is output.

第一暗号文C1は再暗号化装置11(図2)の入力情報提供部1104に入力される。第一暗号文C1が入力された再暗号化装置11の自然数選択部1102は、図7に例示するように、自然数記憶部1101に記憶された複数の自然数の組(a,b)から1つの自然数の組(a,b)をランダムに読み込む。読み込まれた自然数の組(a,b)少なくとも一部の情報は、整数計算部1103、入力情報提供部1104、第一べき乗計算部1106及び第二べき乗計算部1109に送られる(ステップS1100)。   The first ciphertext C1 is input to the input information providing unit 1104 of the re-encryption device 11 (FIG. 2). The natural number selection unit 1102 of the re-encryption device 11 to which the first ciphertext C1 is input, as illustrated in FIG. 7, selects one from a plurality of natural number pairs (a, b) stored in the natural number storage unit 1101. A natural number pair (a, b) is read at random. At least part of the read natural number set (a, b) is sent to the integer calculation unit 1103, the input information providing unit 1104, the first power calculation unit 1106, and the second power calculation unit 1109 (step S1100).

整数計算部1103は、送られた自然数の組(a,b)を用いて、a’a+b’b=1の関係を満たす整数a’,b’を計算する。自然数a,bは互いに素であるため、a’a+b’b=1の関係を満たす整数a’,b’は必ず存在して、その計算方法もよく知られている。たとえば拡張互除法などのよく知られたアルゴリズムによって整数a’,b’が計算され、自然数の組(a’,b’)の情報は、最終出力部1112に送られる(ステップS1101)。   The integer calculation unit 1103 calculates integers a ′ and b ′ that satisfy the relationship of a′a + b′b = 1 by using the transmitted pair (a, b) of natural numbers. Since the natural numbers a and b are relatively prime, there are always integers a ′ and b ′ that satisfy the relationship of a′a + b′b = 1, and the calculation method is well known. For example, integers a ′ and b ′ are calculated by a well-known algorithm such as the extended mutual division method, and information on a set of natural numbers (a ′ and b ′) is sent to the final output unit 1112 (step S1101).

制御部1113は、t=1とする(ステップS1102)。   The control unit 1113 sets t = 1 (step S1102).

入力情報提供部1104は、入力された第一暗号文C1にそれぞれ対応する群Hの元である第一入力情報τ及び第二入力情報τを生成して出力する。好ましくは、第一入力情報τ及び第二入力情報τはそれぞれ第一暗号文C1との関係をかく乱させた情報である。これにより、再暗号化装置11は、第一暗号文C1を能力提供装置12に対して隠蔽できる。また、好ましくは、本形態の第一入力情報τは自然数選択部1102で選択された自然数bにさらに対応し、第二入力情報τは自然数選択部1102で選択された自然数aにさらに対応する。これにより、能力提供装置12から提供された再暗号化能力を再暗号化装置11が高い精度で評価することができる(ステップS1103)。 The input information providing unit 1104 generates and outputs first input information τ 1 and second input information τ 2 that are elements of the group H corresponding to the input first ciphertext C1. Preferably, the first input information τ 1 and the second input information τ 2 are information that disturbs the relationship with the first ciphertext C1. Thereby, the re-encryption device 11 can conceal the first ciphertext C1 from the capability providing device 12. Preferably, the first input information τ 1 of this embodiment further corresponds to the natural number b selected by the natural number selection unit 1102, and the second input information τ 2 further corresponds to the natural number a selected by the natural number selection unit 1102. To do. Thereby, the re-encryption device 11 can evaluate the re-encryption capability provided from the capability providing device 12 with high accuracy (step S1103).

図8に例示するように、第一入力情報τは能力提供装置12(図3)の第一出力情報計算部1201に入力され、第二入力情報τは第二出力情報計算部1202に入力される(ステップS1200)。 As illustrated in FIG. 8, the first input information τ 1 is input to the first output information calculation unit 1201 of the capability providing apparatus 12 (FIG. 3), and the second input information τ 2 is input to the second output information calculation unit 1202. Input (step S1200).

第一出力情報計算部1201は、第一入力情報τと鍵記憶部1204に格納された第一復号鍵s及び第二暗号化鍵yとを用い、或る確率より大きな確率でf(τ)を正しく計算し、得られた計算結果を第一出力情報zとする(ステップS1201)。第二出力情報計算部1202は、第二入力情報τと鍵記憶部1204に格納された第一復号鍵s及び第二暗号化鍵yを用い、或る確率より大きな確率でf(τ)を正しく計算し、得られた演算結果を第二出力情報zとする(ステップS1202)。なお、関数fの例は、第一暗号化方式に則って第一復号鍵sで暗号文を復号して得られる値を、第二暗号化方式に則って第二暗号化鍵yで暗号化するための準同型関数である。また、「或る確率」は100%未満の確率である。「或る確率」の例は無視することができない確率であり、「無視することができない確率」の例は、セキュリティパラメータkについての広義単調増加関数である多項式を多項式ψ(k)とした場合の1/ψ(k)以上の確率である。すなわち、第一出力情報計算部1201や第二出力情報計算部1202は、意図的又は意図的ではない誤差を含んだ計算結果を出力し得る。言い換えると、第一出力情報計算部1201での計算結果がf(τ)の場合もあればf(τ)でない場合もあり、第二出力情報計算部1202での計算結果がf(τ)の場合もあればf(τ)でない場合もある。第一出力情報計算部1201は第一出力情報zを出力し、第二出力情報計算部1202は第二出力情報zを出力する(ステップS1203)。 The first output information calculation unit 1201 uses the first input information τ 1 and the first decryption key s 1 and the second encryption key y 2 stored in the key storage unit 1204, and f with a probability larger than a certain probability. (Τ 1 ) is correctly calculated, and the obtained calculation result is set as the first output information z 1 (step S1201). The second output information calculation unit 1202 uses the second input information τ 2 , the first decryption key s 1 and the second encryption key y 2 stored in the key storage unit 1204, and f ( (τ 2 ) is correctly calculated, and the obtained calculation result is set as the second output information z 2 (step S1202). The example of the function f is a value obtained by decrypting the ciphertext with the first decryption key s 1 according to the first encryption method, and with the second encryption key y 2 according to the second encryption method. This is a homomorphic function for encryption. The “certain probability” is a probability of less than 100%. The example of “certain probability” is a probability that cannot be ignored, and the example of “probability that cannot be ignored” is a case where a polynomial ψ (k) is a polynomial that is a broad monotone increasing function for the security parameter k. Of 1 / ψ (k) or more. That is, the first output information calculation unit 1201 and the second output information calculation unit 1202 can output a calculation result including an intentional or unintentional error. In other words, also when the calculation result in the first output information calculation section 1201 is not f Some cases of (τ 1) f (τ 1 ), the calculation result of the second output information calculation unit 1202 f (tau 2 ) or not f (τ 2 ). The first output information calculation unit 1201 outputs the first output information z 1, the second output information calculation unit 1202 outputs the second output information z 2 (step S1203).

図7に戻り、第一出力情報zは再暗号化装置11(図2)の第一計算部1105に入力され、第二出力情報zは第二計算部1108に入力される。これらの第一出力情報z及び第二出力情報zが、能力提供装置12から再暗号化装置11に与えられた再暗号化能力に相当する(ステップS1104)。 Returning to FIG. 7, the first output information z 1 is input to the first calculation unit 1105 of the re-encryption device 11 (FIG. 2), and the second output information z 2 is input to the second calculation unit 1108. The first output information z 1 and the second output information z 2 correspond to the re-encryption capability given from the capability providing device 12 to the re-encryption device 11 (step S1104).

第一計算部1105は、第一出力情報zから演算結果u=f(C1)を生成する。ここで、f(C1)を生成(計算)するとは、f(C1)と定義される式の値を計算することである。式f(C1)の値を最終的に計算することができれば、途中の計算方法は問わない。これは、この出願で登場する他の式の計算についても同様である。演算結果uは第一べき乗計算部1106に送られる(ステップS1105)。 The first calculation unit 1105 generates a calculation result u = f (C1) b x 1 from the first output information z 1 . Here, f (C1) generates a b x 1 to (calculated) is to calculate the value of expression that is defined as f (C1) b x 1. If the value of the formula f (C1) b x 1 can be finally calculated, the calculation method in the middle is not limited. The same applies to the calculation of other equations appearing in this application. The calculation result u is sent to the first power calculation unit 1106 (step S1105).

第一べき乗計算部1106はu’=uを計算する。計算結果uとその計算結果に基づいて計算されたu’との組(u,u’)は、第一リスト記憶部1107に記憶される(ステップS1106)。 The first power calculation unit 1106 calculates u ′ = u a . A set (u, u ′) of the calculation result u and u ′ calculated based on the calculation result is stored in the first list storage unit 1107 (step S1106).

判定部1111は、第一リスト記憶部1107に記憶された組(u,u’)及び第二リスト記憶部1110に記憶された組(v,v’)の中で、u’とv’とが互いに同一の暗号文の類に属するものがあるかを判定する。言い換えると、判定部1111は、同一の平文に対する暗号文の類に属するu’とv’との組があるか判定する。例えば、第二暗号化方式が確定暗号方式の場合、判定部1111は、u’=v’であるかを判定する(ステップS1107)。もし、第二リスト記憶部1110に組(v,v’)が記憶されていない場合には、このステップS1107の処理を行わずに、次のステップS1108の処理を行う。同一の平文に対する暗号文の類に属するu’とv’との組があった場合には、ステップS1114に進む。同一の平文に対する暗号文の類に属するu’とv’との組がなかった場合には、ステップS1108に進む。   The determination unit 1111 includes u ′ and v ′ in the pair (u, u ′) stored in the first list storage unit 1107 and the pair (v, v ′) stored in the second list storage unit 1110. Are included in the same ciphertext class. In other words, the determination unit 1111 determines whether there is a set of u ′ and v ′ belonging to a ciphertext class for the same plaintext. For example, when the second encryption method is the definite encryption method, the determination unit 1111 determines whether u ′ = v ′ (step S1107). If the set (v, v ′) is not stored in the second list storage unit 1110, the process of the next step S1108 is performed without performing the process of step S1107. If there is a pair of u ′ and v ′ belonging to the ciphertext class for the same plaintext, the process proceeds to step S1114. If there is no pair of u ′ and v ′ belonging to the ciphertext class for the same plaintext, the process proceeds to step S1108.

ステップS1108では、第二計算部1108が、第二出力情報zから演算結果v=f(C1)を生成する。演算結果vは第二べき乗計算部1109に送られる(ステップS1108)。 In step S1108, the second calculation unit 1108 generates an operation result v = f (C1) a x 2 from the second output information z 2. The calculation result v is sent to the second power calculation unit 1109 (step S1108).

第二べき乗計算部1109はv’=vを計算する。計算結果vとその計算結果に基づいて計算されたv’との組(v,v’)は、第二リスト記憶部1110に記憶される(ステップS1109)。 The second power calculation unit 1109 calculates v ′ = v b . A set (v, v ′) of the calculation result v and v ′ calculated based on the calculation result is stored in the second list storage unit 1110 (step S1109).

判定部1111は、第一リスト記憶部1107に記憶された組(u,u’)及び第二リスト記憶部1110に記憶された組(v,v’)の中で、u’とv’とが互いに同一の平文に対する暗号文の類に属するものがあるかを判定する。例えば、第二暗号化方式が確定暗号方式の場合、判定部1111は、u’=v’であるかを判定する(ステップS1110)。同一の平文に対する暗号文の類に属するu’とv’との組があった場合には、ステップS1114に進む。同一の平文に対する暗号文の類に属するu’とv’との組がなかった場合には、ステップS1111に進む。   The determination unit 1111 includes u ′ and v ′ in the pair (u, u ′) stored in the first list storage unit 1107 and the pair (v, v ′) stored in the second list storage unit 1110. Are included in the ciphertext class for the same plaintext. For example, when the second encryption method is the definite encryption method, the determination unit 1111 determines whether u ′ = v ′ (step S1110). If there is a pair of u ′ and v ′ belonging to the ciphertext class for the same plaintext, the process proceeds to step S1114. If there is no pair of u ′ and v ′ belonging to the ciphertext class for the same plaintext, the process proceeds to step S1111.

ステップS1111では、制御部1113がt=Tであるか判定する(ステップS1111)。Tは予め定められた自然数である。t=Tであれば、最終出力部1112が、計算をすることができなかった旨の情報、例えば記号「⊥」を出力して(ステップS1113)、処理を終える。t=Tでない場合には、制御部1113は、tを1だけインクリメント、すなわちt=t+1(t+1を新たなt)として(ステップS1112)、ステップS1103に戻る。   In step S1111, the control unit 1113 determines whether t = T (step S1111). T is a predetermined natural number. If t = T, the final output unit 1112 outputs information indicating that the calculation could not be performed, for example, the symbol “⊥” (step S1113), and the process ends. If not t = T, the control unit 1113 increments t by 1, that is, sets t = t + 1 (t + 1 is a new t) (step S1112), and returns to step S1103.

計算をすることができなかった旨の情報(この例では記号「⊥」)は、能力提供装置12が正しく計算を行う信頼性がTで定められる基準を下回るということを意味する。言い換えれば、T回の繰り返しで正しい演算を行うことができなかったということを意味する。   Information indicating that the calculation could not be performed (in this example, the symbol “⊥”) means that the reliability with which the capability providing apparatus 12 performs the calculation correctly is below the standard defined by T. In other words, it means that a correct operation could not be performed by repeating T times.

ステップS1114では、最終出力部1112が、同一の平文に対する暗号文の類に属すると判定されたu’とv’との組に対応するu及びvを用いてub’a’を計算して、出力する(ステップS1114)。このように計算されたub’a’は、高い確率で第二暗号文f(C1)=C2∈Gとなる(高い確率でub’a’=f(C1)となる理由については後述する)。よって、上述した処理を複数回繰り返し、ステップS1114で得られた値のうち最も頻度の高い値を第2暗号文C2とすればよい。また、後述するように、設定によっては圧倒的な確率でub’a’=f(C1)となる。その場合にはステップS1114で得られた値をそのまま第2暗号文C2としてよい。 In step S1114, the final output unit 1112 calculates u b ′ v a ′ using u and v corresponding to the set of u ′ and v ′ determined to belong to the ciphertext class for the same plaintext. Is output (step S1114). The reason why u b ′ v a ′ calculated in this way is the second ciphertext f (C1) = C2εG with a high probability (the reason why u b ′ v a ′ = f (C1) with a high probability). Will be described later). Therefore, the above-described processing is repeated a plurality of times, and the most frequently used value among the values obtained in step S1114 may be set as the second ciphertext C2. As will be described later, u b ′ v a ′ = f (C1) with an overwhelming probability depending on the setting. In that case, the value obtained in step S1114 may be used as it is as the second ciphertext C2.

第二暗号文C(y,m)は、再暗号文取得装置13(図4)の復号部1312に入力される。復号部1312は、鍵記憶部1314から読み出した第二復号鍵sを用いて第二暗号文C2を復号し、それによって得られる復号結果m’を出力する。 The second ciphertext C (y 2 , m) is input to the decryption unit 1312 of the re-ciphertext acquisition device 13 (FIG. 4). Decoding unit 1312 decodes the second cipher text C2 by using the second decryption key s 2 read from the key storage unit 1314, and outputs the decryption result m 'obtained thereby.

また、再暗号文取得装置13が再暗号化装置11から与えられた第二暗号文を信頼できない場合も想定し得る。例えば、再暗号化装置11の処理自体が不正であった場合や、再暗号化装置11から出力された第二暗号文が改ざんされる可能性がある場合などである。このような場合には、再暗号文取得装置13がローカルに含む再暗号化装置1311に第一暗号文C1が入力され、再暗号化装置1311と能力提供装置12との間で、前述の図7及び図8に記載された処理が実行されてもよい。この処理は例えば再暗号化装置11が再暗号化装置1311に置換された処理となる。或いは、この処理の際、上述した能力提供装置12の処理の少なくとも一部が再暗号化装置11によって実行されてもよい。また再暗号化装置1311は、再暗号化装置11及び能力提供装置12がそれぞれどのような処理を行っているかを知る必要はない。少なくとも、再暗号化装置11及び能力提供装置12からなるシステムとして図8に記載された処理が実行されればよい。   It can also be assumed that the re-ciphertext acquisition device 13 cannot trust the second ciphertext given from the re-encryption device 11. For example, there is a case where the process of the re-encryption device 11 is illegal or a case where the second ciphertext output from the re-encryption device 11 may be falsified. In such a case, the first ciphertext C1 is input to the re-encryption device 1311 included locally in the re-ciphertext acquisition device 13, and the above-described diagram is transmitted between the re-encryption device 1311 and the capability providing device 12. The processing described in FIG. 7 and FIG. 8 may be executed. This processing is, for example, processing in which the re-encrypting device 11 is replaced with the re-encrypting device 1311. Alternatively, at the time of this process, at least a part of the process of the capability providing apparatus 12 described above may be executed by the re-encryption apparatus 11. Further, the re-encryption device 1311 does not need to know what processing each of the re-encryption device 11 and the capability providing device 12 performs. The processing described in FIG. 8 only needs to be executed as a system including at least the re-encryption device 11 and the capability providing device 12.

このようにして得られた第二暗号文C2は復号部1312に入力され、同様に第二復号鍵sを用いて復号される。これにより、たとえ第一暗号文C1が確率暗号であったとしても、第一暗号文C1と第二暗号文C2とが同一の平文mに対応することを確認できる。同様に、第一暗号文C1が確定暗号である場合にも、第一暗号文C1と第二暗号文C2とが同一の平文mに対応することを確認できる。 Second ciphertext C2 obtained in this manner is input to the decoding unit 1312 is decoded similarly using the second decryption key s 2. Thereby, even if the first ciphertext C1 is a stochastic cipher, it can be confirmed that the first ciphertext C1 and the second ciphertext C2 correspond to the same plaintext m. Similarly, when the first ciphertext C1 is a definite cipher, it can be confirmed that the first ciphertext C1 and the second ciphertext C2 correspond to the same plaintext m.

≪高い確率でub’a’=f(C1)となる理由について≫
Xを群Gに値を持つ確率変数とする。w∈Gについて、要求を受けるたびに確率変数Xに従った標本x’に対応するwx’を返すものを、wについて誤差Xを持つ標本器(sampler)と呼ぶ。
<< Reason why u b ' v a' = f (C1) with High Probability >>
Let X be a random variable whose value is in group G. For wεG, the one that returns wx ′ corresponding to the sample x ′ according to the random variable X every time a request is received is called a sampler having an error X for w.

w∈Gについて、自然数aが与えられるたびに確率変数Xに従った標本x’に対応するwx’を返すものを、wについて誤差Xを持つ乱数化可能標本器(randomizable sampler)と呼ぶ。乱数化可能標本器はa=1として用いられれば標本器として機能する。 For w∈G, each time a natural number a is given, the one that returns w a x ′ corresponding to the sample x ′ according to the random variable X is called a randomizable sampler having an error X with respect to w. . A randomizable sampler functions as a sampler if a = 1 is used.

本実施形態の入力情報提供部1104と第一出力情報計算部1201と第一計算部1105との組み合わせが、f(C1)について誤差Xを持つ乱数化可能標本器(「第一乱数化可能標本器」と呼ぶ)であり、入力情報提供部1104と第二出力情報計算部1202と第二計算部1108との組み合わせが、f(C1)について誤差Xを持つ乱数化可能標本器(「第二乱数化可能標本器」と呼ぶ)である。 The combination of the input information providing unit 1104 of the present embodiment and the first output information calculation unit 1201 and the first calculation unit 1105, f (C1) randomization can sampler with an error X 1 for ( "first randomization can a is called a sampler "), the combination of the input information providing unit 1104 and the second output information calculation unit 1202 and the second calculation unit 1108, f (C1) randomization can sampler with an error X 2 for (" This is called a “second randomizable sampler”.

u’とv’とが互いに同一の平文に対する暗号文の類に属するのは、第一乱数化可能標本器がu=f(C1)を正しく計算しており、第二乱数化可能標本器がv=f(C1)を正しく計算している(x及びxが群Gの単位元eである)可能性が高いことを発明者は見出した。説明の簡略化の観点から、この証明は第五実施形態で行う。 The reason why u ′ and v ′ belong to the ciphertext class for the same plaintext is that the first randomizable sampler correctly calculates u = f (C1) b , and the second randomizable sampler There v = f (C1) is correctly calculate a (x 1 and x 2 are the identity e g in the group G) potential inventor that is high found. From the viewpoint of simplifying the explanation, this proof is performed in the fifth embodiment.

第一乱数化可能標本器がu=f(C1)を正しく計算しており、第二乱数化可能標本器がv=f(C1)を正しく計算しているとき(x及びxが群Gの単位元eであるとき)、ub’=(f(C1)b’=(f(C1)b’=f(C1)bb’となり、va’=(f(C1)a’=(f(C1)a’=f(C1)aa’となる。そのため、第二暗号化方式が確定暗号方式なのであればub’a’=f(C1)(bb’+aa’)=f(C1)となる。一方、第二暗号化方式が確率暗号方式であったとしてもf(C1)が準同型関数なのであれば、ub’a’=f(C1(bb’+aa’))=f(C1)となる。 When the first randomizable sampler correctly calculates u = f (C1) b and the second randomizable sampler correctly calculates v = f (C1) a (x 1 and x 2 when is a unit based on e g in the group G), u b '= ( f (C1) b x 1) b' = (f (C1) b e g) b '= f (C1) bb' becomes, v a a '= (f (C1) a x 2) a' = (f (C1) a e g) a '= f (C1) aa'. For this reason, if the second encryption method is a definite encryption method, u b ′ v a ′ = f (C1) (bb ′ + aa ′) = f (C1). On the other hand, even if the second encryption method is a stochastic encryption method, if f (C1) is a homomorphic function, u b ′ v a ′ = f (C1 (bb ′ + aa ′) ) = f (C1) It becomes.

また、(q,q)∈Iについて、i=1,2の各々について関数πをπ(q,q)=qで定義する。さらに、L=min(♯π(S),♯π(S))とする。♯・は、集合・の位数である。群Gが巡回群や位数の計算が困難な群であるときには、再暗号化装置11が「⊥」以外を出力するときの出力がf(C1)ではない確率は、無視できる程度の誤差の範囲で高々TL/♯S程度と期待することができる。もしL/♯Sが無視できる量でTが多項式オーダー程度の量であれば、再暗号化装置11は圧倒的な確率で正しいf(C1)を出力する。L/♯Sが無視できる量になるようなSの例には、例えばS={(1,d)|d∈[2,|G|−1]}がある。 For (q 1 , q 2 ) ∈I, a function π i is defined as π i (q 1 , q 2 ) = q i for each of i = 1 and 2 . Further, L = min (# π 1 (S), # π 2 (S)). # · Is the order of the set. When the group G is a cyclic group or a group whose order is difficult to calculate, the probability that the output when the re-encryption device 11 outputs something other than “⊥” is not f (C1) is an error that can be ignored. It can be expected that it is at most about T 2 L / # S in the range. If L / # S is a negligible amount and T is an amount on the order of polynomials, the re-encrypting device 11 outputs correct f (C1) with an overwhelming probability. For example, S = {(1, d) | dε [2, | G | −1]} is an example of S in which L / # S becomes a negligible amount.

[第二実施形態]
第二実施形態の再暗号化システムは、上述した第一乱数化可能標本器及び第二乱数化可能標本器を具体化した例である。以下、第一実施形態と異なる部分を中心に説明し、共通する部分については重複説明を省略する。以下の説明において、同一の参照番号が付された部分は同一の機能を持つものとし、同一の参照番号が付されたステップは同一の処理を表すものとする。
[Second Embodiment]
The re-encryption system of the second embodiment is an example in which the first randomizable sampler and the second randomizable sampler described above are embodied. Hereinafter, the description will focus on the parts that are different from the first embodiment, and overlapping description will be omitted for common parts. In the following description, parts denoted by the same reference numbers have the same function, and steps denoted by the same reference numbers represent the same processing.

<構成>
図1に例示するように、第二実施形態の再暗号化システム2は、再暗号化装置11が再暗号化装置21に置換され、能力提供装置12が能力提供装置22に置換され、再暗号文取得装置13が再暗号文取得装置23に置換されたものである。
<Configuration>
As illustrated in FIG. 1, in the re-encryption system 2 of the second embodiment, the re-encryption device 11 is replaced with a re-encryption device 21, the capability providing device 12 is replaced with a capability providing device 22, and re-encryption is performed. The text acquisition device 13 is replaced with the re-ciphertext acquisition device 23.

図2に例示するように、第二実施形態の再暗号化装置21は、例えば、自然数記憶部1101と自然数選択部1102と整数計算部1103と入力情報提供部2104と第一計算部2105と第一べき乗計算部1106と第一リスト記憶部1107と第二計算部2108と第二べき乗計算部1109と第二リスト記憶部1110と判定部1111と最終出力部1112と制御部1113とを有する。図5に例示するように、本形態の入力情報提供部2104は、例えば、第一乱数生成部2104aと第一入力情報計算部2104bと第二乱数生成部2104cと第二入力情報計算部2104dとを有する。   As illustrated in FIG. 2, the re-encryption apparatus 21 according to the second embodiment includes, for example, a natural number storage unit 1101, a natural number selection unit 1102, an integer calculation unit 1103, an input information provision unit 2104, a first calculation unit 2105, It has a first power calculation unit 1106, a first list storage unit 1107, a second calculation unit 2108, a second power calculation unit 1109, a second list storage unit 1110, a determination unit 1111, a final output unit 1112, and a control unit 1113. As illustrated in FIG. 5, the input information providing unit 2104 of this embodiment includes, for example, a first random number generation unit 2104 a, a first input information calculation unit 2104 b, a second random number generation unit 2104 c, and a second input information calculation unit 2104 d. Have

図3に例示するように、第二実施形態の能力提供装置22は、例えば、第一出力情報計算部2201と第二出力情報計算部2202と鍵記憶部1204と制御部1205とを有する。   As illustrated in FIG. 3, the capability providing apparatus 22 according to the second embodiment includes, for example, a first output information calculation unit 2201, a second output information calculation unit 2202, a key storage unit 1204, and a control unit 1205.

図4に例示するように、第二実施形態の再暗号文取得装置23は、例えば、再暗号化装置2321と復号部1312と制御部1313と鍵記憶部1314とを有する。再暗号化装置2321の構成及び処理は図2の再暗号化装置21と同じである。   As illustrated in FIG. 4, the re-ciphertext acquisition device 23 according to the second embodiment includes, for example, a re-encryption device 2321, a decryption unit 1312, a control unit 1313, and a key storage unit 1314. The configuration and processing of the re-encryption device 2321 are the same as those of the re-encryption device 21 in FIG.

<処理の前提>
第二実施形態では、関数fを準同型関数とし、群Hの生成元をμ、群Hの位数をK、ν=f(μ)とする。その他の前提は、再暗号化装置11が再暗号化装置21に置換され、能力提供装置12が能力提供装置22に置換され、再暗号文取得装置13が再暗号文取得装置23に置換されている以外、第一実施形態と同一である。
<Processing premise>
In the second embodiment, the function f is a homomorphic function, the generation source of the group H is μ h , the order of the group H is K H , and ν = f (μ h ). The other premise is that the re-encryption device 11 is replaced with the re-encryption device 21, the capability providing device 12 is replaced with the capability providing device 22, and the re-ciphertext acquisition device 13 is replaced with the re-ciphertext acquisition device 23. Except for this, it is the same as the first embodiment.

<処理>
図7及び図8に例示するように、第二実施形態の処理は第一実施形態のステップS1103〜S1105,S1108,S1200〜S1203が、それぞれ、ステップS2103〜S2105,S2108,S2200〜S2203に置換されたものである。以下ではステップS2103〜S2105,S2108,S2200〜S2203の処理のみを説明する。
<Processing>
As illustrated in FIGS. 7 and 8, in the process of the second embodiment, steps S1103 to S1105, S1108, and S1200 to S1203 of the first embodiment are replaced with steps S2103 to S2105, S2108, and S2200 to S2203, respectively. It is a thing. Only the processing of steps S2103 to S2105, S2108, S2200 to S2203 will be described below.

《ステップS2103の処理》
再暗号化装置21(図2)の入力情報提供部2104は、入力された第一暗号文C1にそれぞれ対応する第一入力情報τ及び第二入力情報τを生成して出力する(図7/ステップS2103)。以下、図9を用いて本形態のステップS2103の処理を説明する。
<< Processing in Step S2103 >>
The input information providing unit 2104 of the re-encryption device 21 (FIG. 2) generates and outputs first input information τ 1 and second input information τ 2 corresponding to the input first ciphertext C1 (FIG. 2). 7 / step S2103). Hereinafter, the processing in step S2103 of this embodiment will be described with reference to FIG.

第一乱数生成部2104a(図5)は、0以上K未満の自然数の一様乱数rを生成する。生成された乱数rは、第一入力情報計算部2104b及び第一計算部2105に送られる(ステップS2103a)。第一入力情報計算部2104bは、入力された乱数rと第一暗号文C1と自然数bとを用いて第一入力情報τ=μ r1C1を計算する(ステップS2103b)。ここで、μの右肩のr1は、rのことである。このように、この出願において、αを第一の文字、βを第二の文字、γを数字として、αβγと表記した場合には、そのβγはβγ、すなわちβの下付きγを意味する。 The first random number generating unit 2104a (FIG. 5) generates a uniform random number r 1 is a natural number from 0 to less than K H. Generated random number r 1 is fed to the first input information calculating unit 2104b and the first calculation unit 2105 (Step S2103a). The first input information calculation unit 2104b calculates first input information τ 1 = μ h r1 C1 b using the input random number r 1 , first ciphertext C1 and natural number b (step S2103b). Here, mu superscript r1 of h is that of r 1. Thus, in this application, when α is expressed as α βγ , where α is the first character, β is the second character, γ is a number, βγ means β γ , that is, β subscript γ To do.

第二乱数生成部2104cは、0以上K未満の自然数の一様乱数rを生成する。生成された乱数rは、第二入力情報計算部2104d及び第二計算部2108に送られる(ステップS2103c)。第二入力情報計算部2104dは、入力された乱数rと第一暗号文C1と自然数aとを用いて第二入力情報τ=μ r2C1を計算する(ステップS2103d)。 Second random number generation unit 2104c generates a uniform random number r 2 of the natural number of 0 or more and less than K H. Generated random number r 2 is fed to the second input information calculation unit 2104d and the second calculation portion 2108 (Step S2103c). The second input information calculation unit 2104d calculates the second input information τ 2 = μ h r2 C1 a using the input random number r 2 , the first ciphertext C1 and the natural number a (step S2103d).

第一入力情報計算部2104b及び第二入力情報計算部2104dは、以上のように生成した第一入力情報τ及び第二入力情報τを出力する(ステップS2103e)。なお、本形態の第一入力情報τ及び第二入力情報τは、それぞれ、乱数r,rによって第一暗号文C1との関係をかく乱させた情報である。これにより、再暗号化装置22は、第一暗号文C1を能力提供装置22に対して隠蔽できる。また、本形態の第一入力情報τは自然数選択部1102で選択された自然数bにさらに対応し、第二入力情報τは自然数選択部1102で選択された自然数aにさらに対応する。これにより、能力提供装置22から提供された再暗号化能力を再暗号化装置21が高い精度で評価することができる。 The first input information calculation unit 2104b and the second input information calculation unit 2104d output the first input information τ 1 and the second input information τ 2 generated as described above (step S2103e). Note that the first input information τ 1 and the second input information τ 2 in this embodiment are information in which the relationship with the first ciphertext C1 is disturbed by the random numbers r 1 and r 2 , respectively. As a result, the re-encryption device 22 can conceal the first ciphertext C1 from the capability providing device 22. Further, the first input information τ 1 of this embodiment further corresponds to the natural number b selected by the natural number selection unit 1102, and the second input information τ 2 further corresponds to the natural number a selected by the natural number selection unit 1102. Thereby, the re-encryption device 21 can evaluate the re-encryption capability provided from the capability providing device 22 with high accuracy.

《ステップS2200〜S2203の処理》
図8に例示するように、まず、第一入力情報τ=μ r1C1が能力提供装置22(図3)の第一出力情報計算部2201に入力され、第二入力情報τ=μ r2C1が第二出力情報計算部2202に入力される(ステップS2200)。
<< Processes in Steps S2200 to S2203 >>
As illustrated in FIG. 8, first input information τ 1 = μ h r1 C1 b is first input to the first output information calculation unit 2201 of the capability providing device 22 (FIG. 3), and the second input information τ 2 = μ h r2 C1 a is input to the second output information calculation unit 2202 (step S2200).

第一出力情報計算部2201は、第一入力情報τ=μ r1C1と鍵記憶部1204に格納された第一復号鍵s及び第二暗号化鍵yとを用い、或る確率より大きな確率でf(μ r1C1)を正しく計算し、得られた計算結果を第一出力情報zとする。この計算結果は正しい場合もあれば正しくない場合もある。すなわち、第一出力情報計算部2201での計算結果がf(μ r1C1)となる場合もあれば、f(μ r1C1)とならない場合もある。なお、関数fの例は、第一暗号化方式に則って第一復号鍵sで暗号文を復号して得られる値を、第二暗号化方式に則って第二暗号化鍵yで暗号化するための準同型関数である。このような関数fに対応する第一暗号化方式や第二暗号化方式の例はRSA暗号方式である(ステップS2201)。 The first output information calculation unit 2201 uses the first input information τ 1 = μ h r1 C1 b , the first decryption key s 1 and the second encryption key y 2 stored in the key storage unit 1204, and F (μ h r1 C1 b ) is correctly calculated with a probability larger than the probability, and the obtained calculation result is set as the first output information z 1 . This calculation result may or may not be correct. That is, if even if the calculation results in the first output information calculating unit 2201 is f (μ h r1 C1 b) , may not become f (μ h r1 C1 b) . The example of the function f is a value obtained by decrypting the ciphertext with the first decryption key s 1 according to the first encryption method, and with the second encryption key y 2 according to the second encryption method. This is a homomorphic function for encryption. An example of the first encryption method and the second encryption method corresponding to such a function f is the RSA encryption method (step S2201).

第二出力情報計算部2202は、第二入力情報τ=μ r2C1と鍵記憶部1204に格納された第一復号鍵s及び第二暗号化鍵yとを用い、或る確率より大きな確率でf(μ r2C1)を正しく計算し、得られた計算結果を第二出力情報zとする。この計算結果は正しい場合もあれば正しくない場合もある。すなわち、第二出力情報計算部2202での計算結果がf(μ r2C1)となる場合もあれば、f(μ r2C1)とならない場合もある(ステップS2202)。 The second output information calculation unit 2202 uses the second input information τ 2 = μ h r2 C1 a and the first decryption key s 1 and the second encryption key y 2 stored in the key storage unit 1204, and F (μ h r2 C1 a ) is correctly calculated with a probability larger than the probability, and the obtained calculation result is set as the second output information z 2 . This calculation result may or may not be correct. That is, if even if the calculation results of the second output information calculating unit 2202 is f (μ h r2 C1 a) , may not become f (μ h r2 C1 a) ( step S2202).

第一出力情報計算部2201は第一出力情報zを出力し、第二出力情報計算部2202は第二出力情報zを出力する(ステップS2203)。 The first output information calculation unit 2201 outputs the first output information z 1, the second output information calculation unit 2202 outputs the second output information z 2 (step S2203).

《ステップS2104及びS2105の処理》
図7に戻り、第一出力情報zは再暗号化装置21(図2)の第一計算部2105に入力され、第二出力情報zは第二計算部2108に入力される。これらの第一出力情報z及び第二出力情報zが、能力提供装置22から再暗号化装置21に与えられた再暗号化能力に相当する(ステップS2104)。
<< Processing in Steps S2104 and S2105 >>
Returning to FIG. 7, the first output information z 1 is input to the first calculation unit 2105 of the re-encryption device 21 (FIG. 2), and the second output information z 2 is input to the second calculation unit 2108. The first output information z 1 and the second output information z 2 correspond to the re-encryption capability given from the capability providing device 22 to the re-encryption device 21 (step S2104).

第一計算部2105は、入力された乱数r及び第一出力情報zを用いてzν−r1を計算してその計算結果をuとする。計算結果uは、第一べき乗計算部1106に送られる。ここで、u=zν−r1=f(C1)となる。すなわち、zν−r1は、f(C1)について誤差Xを持つ乱数化可能標本器の出力となる。その理由については後述する(ステップS2105)。 The first calculation unit 2105 calculates z 1 v −r1 using the input random number r 1 and the first output information z 1 and sets the calculation result to u. The calculation result u is sent to the first power calculation unit 1106. Here, u = z 1 v −r1 = f (C1) b x 1 is satisfied . That is, z 1 ν −r1 is an output of a randomizable sampler having an error X 1 with respect to f (C1). The reason will be described later (step S2105).

《ステップS2108の処理》
第二計算部2108は、入力された乱数r及び第二出力情報zを用いてzν−r2を計算してその計算結果をvとする。計算結果vは、第二べき乗計算部1109に送られる。ここで、v=zν−r2=f(C1)となる。すなわち、zν−r2は、f(C1)について誤差Xを持つ乱数化可能標本器の出力となる。その理由については後述する(ステップS2108)。
<< Processing in Step S2108 >>
The second calculation unit 2108 calculates z 2 v −r2 using the input random number r 2 and the second output information z 2 and sets the calculation result to v. The calculation result v is sent to the second power calculation unit 1109. Here, v = z 2 ν -r2 = f (C1) becomes a x 2. That is, z 2 v −r2 is an output of a randomizable sampler having an error X 2 with respect to f (C1). The reason will be described later (step S2108).

≪zν−r1,zν−r2がf(C1)についてそれぞれ誤差X,Xを持つ乱数化可能標本器の出力となる理由について≫
cを自然数、R及びR’を乱数として、能力提供装置22がμ C1を用いて行う計算の計算結果をB(μ C1)とする。すなわち、第一出力情報計算部2201や第二出力情報計算部2202が再暗号化装置21に返す計算結果をz=B(μ C1)とする。さらに、群Gに値を持つ確率変数XをX=B(μ R’)f(μ R’−1と定義する。
<< Reason why z 1 ν -r 1 and z 2 ν -r 2 are output from a randomizable sampler having errors X 1 and X 2 for f (C 1), respectively »
natural number c, the random number R and R ', capability providing device 22 the calculation result of the calculation and B (μ h R C1 c) carried out using a μ h R C1 c. That is, the calculation result returned from the first output information calculation unit 2201 or the second output information calculation unit 2202 to the re-encryption device 21 is z = B (μ h R C1 c ). Further, a random variable X having a value in the group G is defined as X = B (μ h R ′ ) f (μ h R ′ ) −1 .

このとき、zν−R=B(μ C1)f(μ−R=Xf(μ C1)f(μ−R=Xf(μf(C1)f(μ−R=f(C1)Xとなる。すなわち、zν−Rは、f(C1)について誤差Xを持つ乱数化可能標本器の出力となる。 At this time, zν -R = B (μ h R C1 c) f (μ h) -R = Xf (μ h R C1 c) f (μ h) -R = Xf (μ h) R f (C1) c f ([mu] h ) -R = f (C1) cX . That is, zν− R is an output of a randomizable sampler having an error X with respect to f (C1).

上記式展開において、X=B(μ R’)f(μ R’−1=B(μ C1)f(μ C1−1であり、B(μ C1)=Xf(μ C1)であるという性質を用いている。この性質は、関数fが準同型関数であり、R及びR’が乱数であることに基づく。 In the above formula expansion, X = B (μ h R ′ ) f (μ h R ′ ) −1 = B (μ h R C1 c ) f (μ h R C1 c ) −1 and B (μ h R C1 c ) = Xf (μ h R C1 c ). This property is based on the fact that the function f is a homomorphic function and R and R ′ are random numbers.

したがって、a,bが自然数、r,rが乱数であることを考慮すると、同様に、zν−r1,zν−r2がf(C1)についてそれぞれ誤差X,Xを持つ乱数化可能標本器の出力となるのである。 Therefore, considering that a and b are natural numbers and r 1 and r 2 are random numbers, similarly, z 1 ν −r1 and z 2 ν −r2 have errors X 1 and X 2 respectively for f (C1). This is the output of a randomizable sampler.

《その他》
第一実施形態と同様、再暗号文取得装置23がローカルに含む再暗号化装置2321に第一暗号文C1が入力され、再暗号化装置2321と能力提供装置22との間で、前述の図7及び図8に記載された処理が実行されてもよい。この処理は例えば再暗号化装置21が再暗号化装置2321に置換された処理となる。或いは、この処理の際、上述した能力提供装置22の処理の少なくとも一部が再暗号化装置21によって実行されてもよい。また再暗号化装置2321は、再暗号化装置21及び能力提供装置22がそれぞれどのような処理を行っているかを知る必要はない。少なくとも、再暗号化装置21及び能力提供装置22からなるシステムとして図8に記載された処理が実行されればよい。
<Others>
As in the first embodiment, the first ciphertext C1 is input to the re-encryption device 2321 included locally in the re-ciphertext acquisition device 23, and the above-described diagram is transmitted between the re-encryption device 2321 and the capability providing device 22. The processing described in FIG. 7 and FIG. 8 may be executed. This processing is, for example, processing in which the re-encryption device 21 is replaced with the re-encryption device 2321. Alternatively, at the time of this processing, at least a part of the processing of the capability providing device 22 described above may be executed by the re-encryption device 21. Further, the re-encrypting device 2321 does not need to know what processing each of the re-encrypting device 21 and the capability providing device 22 is performing. The processing described in FIG. 8 only needs to be executed as a system including at least the re-encryption device 21 and the capability providing device 22.

[第三実施形態]
第三実施形態は第二実施形態の変形例であり、a=1やb=1のときに前述した標本器によってu又はvの値を計算する。一般に乱数化可能標本器よりも標本器の計算量は小さい。a=1やb=1のときに乱数化可能標本器に代わり、標本器が計算を行うことで、再暗号化システムの計算量を小さくすることができる。以下、第一実施形態及び第二実施形態と異なる部分を中心に説明し、共通する部分については重複説明を省略する。
[Third embodiment]
The third embodiment is a modification of the second embodiment, and the value of u or v is calculated by the above-described sampler when a = 1 or b = 1. In general, the amount of calculation of a sampler is smaller than that of a randomizable sampler. When a = 1 or b = 1, the sampler performs the calculation instead of the randomizable sampler, so that the calculation amount of the re-encryption system can be reduced. Hereinafter, the description will focus on the parts that are different from the first embodiment and the second embodiment, and overlapping description will be omitted for the common parts.

<構成>
図1に例示するように、第三実施形態の再暗号化システム3は、再暗号化装置21が再暗号化装置31に置換され、能力提供装置22が能力提供装置32に置換され、再暗号文取得装置23が再暗号文取得装置33に置換されたものである。
<Configuration>
As illustrated in FIG. 1, in the re-encryption system 3 of the third embodiment, the re-encryption device 21 is replaced with a re-encryption device 31, the capability providing device 22 is replaced with a capability providing device 32, and re-encryption is performed. The text acquisition device 23 is replaced with the re-ciphertext acquisition device 33.

図2に例示するように、第三実施形態の再暗号化装置31は、例えば、自然数記憶部1101と自然数選択部1102と整数計算部1103と入力情報提供部2104と第一計算部2105と第一べき乗計算部1106と第一リスト記憶部1107と第二計算部2108と第二べき乗計算部1109と第二リスト記憶部1110と判定部1111と最終出力部1112と制御部1113と第三計算部3109とを有する。   As illustrated in FIG. 2, the re-encryption device 31 of the third embodiment includes, for example, a natural number storage unit 1101, a natural number selection unit 1102, an integer calculation unit 1103, an input information provision unit 2104, a first calculation unit 2105, First power calculation unit 1106, first list storage unit 1107, second calculation unit 2108, second power calculation unit 1109, second list storage unit 1110, determination unit 1111, final output unit 1112, control unit 1113, and third calculation unit 3109.

図3に例示するように、第三実施形態の能力提供装置32は、例えば、第一出力情報計算部2201と第二出力情報計算部2202と鍵記憶部1204と制御部1205と第三出力情報計算部3203とを有する。   As illustrated in FIG. 3, the capability providing apparatus 32 according to the third embodiment includes, for example, a first output information calculation unit 2201, a second output information calculation unit 2202, a key storage unit 1204, a control unit 1205, and third output information. And a calculator 3203.

図4に例示するように、第三実施形態の再暗号文取得装置33は、例えば、再暗号化装置3331と復号部1312と制御部1313と鍵記憶部1314とを有する。再暗号化装置3331の構成及び処理は図2の再暗号化装置31と同じである。   As illustrated in FIG. 4, the re-ciphertext acquisition apparatus 33 according to the third embodiment includes, for example, a re-encryption apparatus 3331, a decryption unit 1312, a control unit 1313, and a key storage unit 1314. The configuration and processing of the re-encryption device 3331 are the same as those of the re-encryption device 31 in FIG.

<処理>
次に本形態の処理を説明する。第二実施形態との相違点を説明する。
<Processing>
Next, the processing of this embodiment will be described. Differences from the second embodiment will be described.

図7及び図8に例示するように、第三実施形態の処理は第二実施形態のステップS2103〜S2105,S2108,S2200〜S2203が、それぞれ、ステップS3103〜S3105,S3108,S2200〜S2203及びS3205〜S3209に置換されたものである。以下ではステップS3103〜S3105,S3108,S2200〜S2203及びS3205〜S3209の処理を中心に説明する。   As illustrated in FIGS. 7 and 8, the processing of the third embodiment includes steps S2103 to S2105, S2108, S2200 to S2203 of the second embodiment, steps S3103 to S3105, S3108, S2200 to S2203, and S3205, respectively. It has been replaced with S3209. Below, it demonstrates centering on the process of step S3103-S3105, S3108, S2200-S2203, and S3205-S3209.

《ステップS3103の処理》
再暗号化装置31(図2)の入力情報提供部3104は、入力された第一暗号文C1にそれぞれ対応する第一入力情報τ及び第二入力情報τを生成して出力する(図7/ステップS3103)。
<< Processing in Step S3103 >>
The input information providing unit 3104 of the re-encryption device 31 (FIG. 2) generates and outputs first input information τ 1 and second input information τ 2 corresponding to the input first ciphertext C1 (FIG. 2). 7 / step S3103).

以下、図9を用いて本形態のステップS3103の処理を説明する。   Hereinafter, the processing in step S3103 of this embodiment will be described with reference to FIG.

制御部1113(図2)は、自然数選択部1102で選択された自然数(a,b)に応じて入力情報提供部3104を制御する。   The control unit 1113 (FIG. 2) controls the input information providing unit 3104 according to the natural number (a, b) selected by the natural number selecting unit 1102.

制御部1113でbが1であるかが判定され(ステップS3103a)、b≠1であると判定された場合、前述のステップS2103a及びS2103bの処理が実行され、ステップS3103gに進む。   Whether or not b is 1 is determined by the control unit 1113 (step S3103a). If it is determined that b ≠ 1, the processes of steps S2103a and S2103b described above are executed, and the process proceeds to step S3103g.

一方、ステップS3103aでb=1であると判定された場合、第三乱数生成部3104eが、0以上K未満の自然数の乱数rを生成する。生成された乱数rは第三入力情報計算部3104f及び第三計算部3109に送られる(ステップS3103b)。第三入力情報計算部3104fは、入力された乱数rと第一暗号文C1とを用いてC1r3を計算し、これを第一入力情報τとする(ステップS3103c)。その後、ステップS3103gに進む。 On the other hand, if it is determined that b = 1 in step S3103a, the third random number generation unit 3104e generates a random number r 3 of natural numbers from 0 to less than K H. Random number r 3 generated is sent to the third input information calculating unit 3104f, and a third calculation unit 3109 (step S3103b). Third input information calculating unit 3104f is a C1 r3 calculated using the random number r 3 which has been input and the first ciphertext C1, to do this the first input information tau 1 (step S3103c). Thereafter, the process proceeds to step S3103g.

ステップS3103gでは、制御部1113でaが1であるかが判定され(ステップS3103g)、a≠1であると判定された場合、前述のステップS2103c及びステップS2103dの処理が実行される。   In step S3103g, whether or not a is 1 is determined by the control unit 1113 (step S3103g). If it is determined that a ≠ 1, the processes in steps S2103c and S2103d described above are executed.

一方、ステップS3103gでa=1であると判定された場合、第三乱数生成部3104eが、0以上K未満の自然数の乱数rを生成する。生成された乱数rは第三入力情報計算部3104fに送られる(ステップS3103h)。第三入力情報計算部3104fは、入力された乱数rと第一暗号文C1とを用いてC1r3を計算し、これを第二入力情報τとする(ステップS3103i)。 On the other hand, if it is determined that a = 1 at step S3103g, third random number generation unit 3104e generates a random number r 3 of natural numbers from 0 to less than K H. Random number r 3 generated is sent to the third input information calculating section 3104F (step S3103h). Third input information calculating unit 3104f is a C1 r3 calculated using the random number r 3 which has been input and the first ciphertext C1, to do this with a second input information tau 2 (step S3103i).

第一入力情報計算部2104b、第二入力情報計算部2104d、第三入力情報計算部3104fは、以上のように生成した第一入力情報τ及び第二入力情報τを対応する自然数(a,b)の情報とともに出力する(ステップS3103e)。なお、本形態の第一入力情報τ及び第二入力情報τは、それぞれ、乱数r,r,rによって第一暗号文C1との関係をかく乱させた情報である。これにより、再暗号化装置31は、第一暗号文C1を能力提供装置32に対して隠蔽できる。 The first input information calculation unit 2104b, the second input information calculation unit 2104d, and the third input information calculation unit 3104f correspond to the first input information τ 1 and the second input information τ 2 generated as described above corresponding to the natural numbers (a , B) and the information (step S3103e). Note that the first input information τ 1 and the second input information τ 2 of this embodiment are information in which the relationship with the first ciphertext C1 is disturbed by the random numbers r 1 , r 2 , and r 3 , respectively. As a result, the re-encryption device 31 can conceal the first ciphertext C1 from the capability providing device 32.

《S2200〜S2203及びS3205〜S3209の処理》
以下、図8を用いて本形態のS2200〜S2203及びS3205〜S3209の処理を説明する。
<< Processing of S2200 to S2203 and S3205 to S3209 >>
Hereinafter, the processing of S2200 to S2203 and S3205 to S3209 of this embodiment will be described with reference to FIG.

制御部1205(図3)は、入力された自然数(a,b)に応じ、第一出力情報計算部2201、第二出力情報計算部2202、及び第三出力情報計算部3203を制御する。   The control unit 1205 (FIG. 3) controls the first output information calculation unit 2201, the second output information calculation unit 2202, and the third output information calculation unit 3203 according to the input natural numbers (a, b).

制御部1205の制御に基づき、b≠1の場合の第一入力情報τ=μ r1C1は能力提供装置32(図3)の第一出力情報計算部2201に入力され、a≠1の場合の第二入力情報τ=μ r2C1は第二出力情報計算部2202に入力される。また、b=1の場合の第一入力情報τ=C1r3やa=1の場合の第二入力情報τ=C1r3は第三出力情報計算部3203に入力される(ステップS3200)。 Based on the control of the control unit 1205, the first input information τ 1 = μ h r1 C1 b when b ≠ 1 is input to the first output information calculation unit 2201 of the capability providing apparatus 32 (FIG. 3), and a ≠ 1 In this case, the second input information τ 2 = μ h r2 C1 a is input to the second output information calculation unit 2202. In addition, the first input information τ 1 = C1 r3 when b = 1 and the second input information τ 2 = C1 r3 when a = 1 are input to the third output information calculation unit 3203 (step S3200).

制御部1113でbが1であるかが判定され(ステップS3205)、b≠1であると判定された場合、前述のステップS2201の処理が実行される。その後、制御部1113でaが1であるかが判定され(ステップS3208)、a≠1であると判定された場合、前述したステップS2202の処理が実行されてステップS3203に進む。   The control unit 1113 determines whether b is 1 (step S3205). If it is determined that b ≠ 1, the process of step S2201 described above is executed. Thereafter, the control unit 1113 determines whether a is 1 (step S3208). If it is determined that a ≠ 1, the process of step S2202 described above is executed, and the process proceeds to step S3203.

一方、ステップS3208でa=1であると判定された場合、第三出力情報計算部3203は、第二入力情報τ=C1r3と鍵記憶部1204に格納された第一復号鍵s及び第二暗号化鍵yとを用い、或る確率より大きな確率でf(C1r3)を正しく計算し、得られた計算結果を第三出力情報zとする。この計算結果は正しい場合もあれば正しくない場合もある。すなわち、第三出力情報計算部3203での計算結果がf(C1r3)となる場合もあれば、f(C1r3)とならない場合もある(ステップS3209)。その後、ステップS3203に進む。 On the other hand, if it is determined in step S3208 that a = 1, the third output information calculation unit 3203 uses the second input information τ 2 = C1 r3 and the first decryption key s 1 stored in the key storage unit 1204 and using the second encryption key y 2, f a (C1 r3) correctly calculated with greater probability than a certain probability, the calculation results obtained with the third output information z 3. This calculation result may or may not be correct. That is, if even if the calculation results in the third output information calculating unit 3203 is f (C1 r3), may not become f (C1 r3) (step S3209). Thereafter, the process proceeds to step S3203.

また、ステップS3205でb=1であると判定された場合、第三出力情報計算部3203は、第二入力情報τ=C1r3と鍵記憶部1204に格納された第一復号鍵s及び第二暗号化鍵yとを用い、或る確率より大きな確率でf(C1r3)を正しく計算し、得られた計算結果を第三出力情報zとする。この計算結果は正しい場合もあれば正しくない場合もある。すなわち、第三出力情報計算部3203での計算結果がf(C1r3)となる場合もあれば、f(C1r3)とならない場合もある(ステップS3206)。 If it is determined in step S3205 that b = 1, the third output information calculation unit 3203 uses the second input information τ 1 = C1 r3 and the first decryption key s 1 stored in the key storage unit 1204 and using the second encryption key y 2, f a (C1 r3) correctly calculated with greater probability than a certain probability, the calculation results obtained with the third output information z 3. This calculation result may or may not be correct. That is, if even if the calculation results in the third output information calculating unit 3203 is f (C1 r3), may not become f (C1 r3) (step S3206).

その後、制御部1113でaが1であるかが判定され(ステップS3207)、a=1であると判定された場合にはステップS3203に進み、a≠1であると判定された場合にはステップS2202に進む。   Thereafter, the control unit 1113 determines whether a is 1 (step S3207). When it is determined that a = 1, the process proceeds to step S3203, and when it is determined that a ≠ 1, the process proceeds to step S3203. The process proceeds to S2202.

ステップS3203では、第一出力情報zを生成した第一出力情報計算部2201は第一出力情報zを出力し、第二出力情報zを生成した第二出力情報計算部2202は第二出力情報zを出力し、第三出力情報zを生成した第三出力情報計算部3202は第三出力情報zを出力する(ステップS3203)。 In step S3203, the first output information calculation unit 2201 generates the first output information z 1 outputs the first output information z 1, the second output information calculation unit 2202 to generate a second output information z 2 second output information z 2 outputs a third output information calculation unit 3202 to generate a third output information z 3 outputs a third output information z 3 (step S3203).

《ステップS3104及びS3105の処理》
図7に戻り、制御部1113の制御のもと、第一出力情報zは再暗号化装置31(図2)の第一計算部2105に入力され、第二出力情報zは第二計算部2108に入力され、第三出力情報zは第三計算部3109に入力される(ステップS3104)。
<< Processing in Steps S3104 and S3105 >>
Returning to FIG. 7, under the control of the control unit 1113, the first output information z 1 is input to the first calculation unit 2105 of the re-encryption device 31 (FIG. 2), and the second output information z 2 is the second calculation. is input to the section 2108, the third output information z 3 is input to the third calculation unit 3109 (step S3104).

b≠1であれば、第一計算部2105が、前述のステップS2105の処理によってuを生成し、b=1であれば、第三計算部3109が、z 1/r3を計算してその計算結果をuとする。計算結果uは第一べき乗計算部1106に送られる。ここで、b=1の場合、u=z 1/r3=f(C1)xとなる。すなわち、z 1/r3は、f(C1)について誤差Xを持つ標本器となる。その理由については後述する(ステップS3105)。 If b ≠ 1, the first calculation unit 2105 generates u by the process of step S2105 described above. If b = 1, the third calculation unit 3109 calculates z 3 1 / r3 and Let u be the calculation result. The calculation result u is sent to the first power calculation unit 1106. Here, when b = 1, u = z 3 1 / r3 = f (C1) × 3 . That is, z 3 1 / r3 is a sampler having an error X 3 with respect to f (C1). The reason will be described later (step S3105).

《ステップS3108の処理》
a≠1であれば、第二計算部2108が、前述のステップS2108の処理によってvを生成し、a=1であれば、第三計算部3109が、z 1/r3を計算してその計算結果をvとする。計算結果vは第二べき乗計算部1109に送られる。ここで、a=1の場合、v=z 1/r3=f(C1)xとなる。すなわち、z 1/r3は、f(C1)について誤差Xを持つ標本器となる。その理由については後述する(ステップS3108)。
<< Process of Step S3108 >>
If a ≠ 1, the second calculation unit 2108 generates v by the process of step S2108 described above. If a = 1, the third calculation unit 3109 calculates z 3 1 / r3 and calculates Let v be the calculation result. The calculation result v is sent to the second power calculation unit 1109. Here, when a = 1, v = z 3 1 / r3 = f (C1) × 3 . That is, z 3 1 / r3 is a sampler having an error X 3 with respect to f (C1). The reason will be described later (step S3108).

なお、z 1/r3の計算、すなわちzのべき乗根の計算が困難な場合には、次のようにしてu及び/又はvを計算してもよい。第三計算部3109は、乱数rとその乱数rに基づいて計算されたzの組を順次(α,β),(α,β),…,(α,β),…として図示していない記憶部に記憶する。mは自然数である。第三計算部3109は、α,α,…,αの最小公倍数が1になれば、γ,γ,…,γを整数としてγα+γα+…+γα=1となるγ,γ,…,γを計算して、そのγ,γ,…,γを用いてΠi=1 β γi=β γ1β γ2…β γmを計算して、その計算結果をu及び/又はvとしてもよい。 If calculation of z 3 1 / r 3 , that is, calculation of the power root of z 3 is difficult, u and / or v may be calculated as follows. The third calculation unit 3109 sequentially selects (α 1 , β 1 ), (α 2 , β 2 ),..., (Α m , β) from the random number r 3 and the set of z 3 calculated based on the random number r 3. m ),... are stored in a storage unit (not shown). m is a natural number. When the least common multiple of α 1 , α 2 ,..., Α m becomes 1, the third calculation unit 3109 sets γ 1 , γ 2 ,..., Γ m as integers to γ 1 α 1 + γ 2 α 2 +. m α m = 1 and becomes γ 1, γ 2, ..., γ m is calculated to the gamma, gamma 2, ..., gamma using m Π i = 1 m β i γi = β 1 γ1 β 2 γ2 ... Β m γm may be calculated and the calculation result may be u and / or v.

≪z 1/r3がf(C1)について誤差Xを持つ標本器となる理由について≫
Rを乱数として、能力提供装置32がC1を用いて行う計算の計算結果をB(C1)とする。すなわち、第一出力情報計算部2201や第二出力情報計算部2202や第三出力情報計算部3203が再暗号化装置31に返す計算結果をz=B(C1)とする。さらに、群Gに値を持つ確率変数XをX=B(C11/Rf(C1)−1と定義する。
<< Reason why z 3 1 / r3 is a sampler having an error X 3 with respect to f (C1) >>
The R as a random number, capability providing device 32 the calculation result of the calculation and B (C1 R) performed using C1 R. That is, the calculation result returned from the first output information calculation unit 2201, the second output information calculation unit 2202, and the third output information calculation unit 3203 to the re-encryption device 31 is z = B (C1 R ). Further, a random variable X having a value in the group G is defined as X = B (C1 R ) 1 / R f (C1) −1 .

このとき、z1/R=B(C11/R=Xf(C1)=f(C1)Xとなる。すなわち、z1/Rは、f(C1)について誤差Xを持つ標本器となる。 In this case, z 1 / R = B ( C1 R) 1 / R = Xf (C1) = f (C1) becomes X. That is, z 1 / R is a sampler having an error X with respect to f (C1).

上記式展開において、X=B(C11/Rf(C1−1であり、B(C11/R=Xf(C1)であるという性質を用いている。この性質は、Rが乱数であることに基づく。 In the above formula deployment, X = B (C1 R) is 1 / R f (C1 R) -1, is used a property that is a B (C1 R) 1 / R = Xf (C1 R). This property is based on the fact that R is a random number.

したがって、rが乱数であることを考慮すると、同様に、z1/Rがf(C1)について誤差Xを持つ標本器となるのである。 Therefore, considering that r 3 is a random number, similarly, z 1 / R becomes a sampler having an error X 3 with respect to f (C1).

《その他》
第一実施形態と同様、再暗号文取得装置33がローカルに含む再暗号化装置3331に第一暗号文C1が入力され、再暗号化装置3331と能力提供装置32との間で、前述の図7及び図8に記載された処理が実行されてもよい。この処理は例えば再暗号化装置31が再暗号化装置3331に置換された処理となる。或いは、この処理の際、上述した能力提供装置32の処理の少なくとも一部が再暗号化装置31によって実行されてもよい。また再暗号化装置3331は、再暗号化装置31及び能力提供装置32がそれぞれどのような処理を行っているかを知る必要はない。少なくとも、再暗号化装置31及び能力提供装置32からなるシステムとして図8に記載された処理が実行されればよい。
<Others>
As in the first embodiment, the first ciphertext C1 is input to the re-encryption device 3331 that is included locally in the re-ciphertext acquisition device 33, and the above-described diagram is transmitted between the re-encryption device 3331 and the capability providing device 32. The processing described in FIG. 7 and FIG. 8 may be executed. This processing is, for example, processing in which the re-encrypting device 31 is replaced with the re-encrypting device 3331. Alternatively, at the time of this processing, at least a part of the processing of the capability providing device 32 described above may be executed by the re-encryption device 31. Further, the re-encrypting device 3331 does not need to know what processing each of the re-encrypting device 31 and the capability providing device 32 performs. The processing described in FIG. 8 only needs to be executed as a system including at least the re-encryption device 31 and the capability providing device 32.

[第四実施形態]
第四実施形態の再暗号化システムは、上述した第一乱数化可能標本器及び第二乱数化可能標本器を具体化した他の例である。具体的には、第二暗号化方式がElGamal暗号方式であり、関数fが準同型関数である例を示す。なお、第一暗号化方式には特に限定はなく、第一暗号化方式はElGamal暗号方式のような確率暗号方式であってもよいし、RSA暗号方式のような確定暗号方式であってもよい。
[Fourth embodiment]
The re-encryption system of the fourth embodiment is another example that embodies the first randomizable sampler and the second randomizable sampler described above. Specifically, an example is shown in which the second encryption method is the ElGamal encryption method and the function f is a homomorphic function. The first encryption method is not particularly limited, and the first encryption method may be a stochastic encryption method such as an ElGamal encryption method or a definite encryption method such as an RSA encryption method. .

以下、第一実施形態と異なる部分を中心に説明し、共通する部分については重複説明を省略する。   Hereinafter, the description will focus on the parts that are different from the first embodiment, and overlapping descriptions will be omitted for the common parts.

図1に例示するように、第四実施形態の再暗号化システム4は、再暗号化装置11が再暗号化装置41に置換され、能力提供装置12が能力提供装置42に置換され、再暗号文取得装置13が再暗号文取得装置43に置換されたものである。   As illustrated in FIG. 1, in the re-encryption system 4 of the fourth embodiment, the re-encryption device 11 is replaced with a re-encryption device 41, the capability providing device 12 is replaced with a capability providing device 42, and re-encryption is performed. The text acquisition device 13 is replaced with the re-ciphertext acquisition device 43.

図2に例示するように、第四実施形態の再暗号化装置41は、例えば、自然数記憶部1101と自然数選択部1102と整数計算部1103と入力情報提供部4104と第一計算部4105と第一べき乗計算部1106と第一リスト記憶部1107と第二計算部4108と第二べき乗計算部1109と第二リスト記憶部1110と判定部4111と最終出力部1112と制御部1113とを有する。図6に例示するように、本形態の入力情報提供部4104は、例えば、第一乱数生成部4104aと第一入力情報計算部4104bと第二乱数生成部4104cと第二入力情報計算部4104dと鍵記憶部4104eとを有する。   As illustrated in FIG. 2, the re-encryption apparatus 41 of the fourth embodiment includes, for example, a natural number storage unit 1101, a natural number selection unit 1102, an integer calculation unit 1103, an input information provision unit 4104, a first calculation unit 4105, It has a first power calculation unit 1106, a first list storage unit 1107, a second calculation unit 4108, a second power calculation unit 1109, a second list storage unit 1110, a determination unit 4111, a final output unit 1112, and a control unit 1113. As illustrated in FIG. 6, the input information providing unit 4104 of this embodiment includes, for example, a first random number generation unit 4104 a, a first input information calculation unit 4104 b, a second random number generation unit 4104 c, and a second input information calculation unit 4104 d. A key storage unit 4104e.

図3に例示するように、第四実施形態の能力提供装置42は、例えば、第一出力情報計算部4201と第二出力情報計算部4202と鍵記憶部1204と制御部1205とを有する。   As illustrated in FIG. 3, the capability providing apparatus 42 according to the fourth embodiment includes, for example, a first output information calculation unit 4201, a second output information calculation unit 4202, a key storage unit 1204, and a control unit 1205.

<処理の前提>
第四実施形態では、群Gが巡回群G,Gの直積G×G、μg1が群Gの生成元、μg2が群Gの生成元、第二暗号化鍵yがμg2 s2、第二暗号文C2が(μg1 ,my )∈G×G、rが整数の乱数、値uが(c1u,c2u)∈G×G、値vが(c1v,c2v)∈G×Gである。G=Gであってもよいし、G≠Gであってもよい。また、前述のように第一暗号化方式には限定はないが、例えば第一暗号化方式がElGamal暗号方式である場合には、群Hが巡回群H,Hの直積H×H、r’が整数の乱数、μh1が群Hの生成元、μh2が群Hの生成元、第一暗号化鍵yがμh2 s1、第一暗号文C1が(μh1 r’,my r’)∈H×Hとなる。H=Hであってもよいし、H≠Hであってもよい。
<Processing premise>
In the fourth embodiment, direct product G 1 × G 2 groups G is a cyclic group G 1, G 2, mu g1 is generator of the group G 1, mu g2 is generator of the group G 2, the second encryption key y 2 is μ g2 s2 , the second ciphertext C2 is (μ g1 r , my 2 r ) εG 1 × G 2 , r is an integer random number, and the value u a is (c 1u , c 2u ) εG 1 × G 2 and the value v b is (c 1v , c 2v ) εG 1 × G 2 . G 1 = G 2 may be sufficient, or G 1 ≠ G 2 may be sufficient. As described above, the first encryption method is not limited. For example, when the first encryption method is an ElGamal encryption method, the group H is a direct product H 1 × H of the cyclic groups H 1 and H 2. 2 , r ′ is an integer random number, μ h1 is a generator of the group H 1 , μ h2 is a generator of the group H 2 , the first encryption key y 1 is μ h2 s1 , and the first ciphertext C1 is (μ h1 r ′ , my 1 r ′ ) ∈H 1 × H 2 . It may be H 1 = H 2 or H 1 ≠ H 2 .

なお、Α=(α,α)∈G×G,Β=(β,β)∈G×G,及びεが自然数である場合、Αεは(α ε,α ε)を表し、Α−εは(α −ε,α −ε)を表し、ΑΒは(αβ,αβ)を表す。同様に、εが自然数、Α=(α,α)∈H×H,Β=(β,β)∈H×Hである場合、Αεは(α ε,α ε)を表し、Α−εは(α −ε,α −ε)を表し、ΑΒは(αβ,αβ)を表す。また、e(α,β)を(α,β)∈G×Gに対して巡回群Gの元を与える双線形写像とする。双線形写像の例は、WeilペアリングやTateペアリングなどのペアリング演算を行うための関数やアルゴリズムである(参考文献3:Alfred. J. Menezes,"ELLIPTIC CURVE PUBLIC KEY CRYPTOSYSTEMS," KLUWER ACADEMIC PUBLISHERS, ISBN0-7923-9368-6,pp. 61-81や、参考文献4:RFC 5091, "Identity-Based Cryptography Standard (IBCS) #1," Supersingular Curve Implementations of the BF and BB1 Cryptosystems等参照)。また、第一暗号化鍵y及び第二暗号化鍵yが、再暗号化装置11の入力情報提供部4104が含む鍵記憶部4104eに格納されているものとする。 Note that when Α = (α 1 , α 2 ) ∈G 1 × G 2 , Β = (β 1 , β 2 ) ∈G 1 × G 2 , and ε is a natural number, Α ε is (α 1 ε , α 2 ε ), Α −ε represents (α 1 −ε , α 2 −ε ), and ΑΒ represents (α 1 β 1 , α 2 β 2 ). Similarly, when ε is a natural number, Α = (α 1 , α 2 ) εH 1 × H 2 , and Β = (β 1 , β 2 ) εH 1 × H 2 , ε ε is (α 1 ε , α 2 ε ), Α −ε represents (α 1 −ε , α 2 −ε ), and ΑΒ represents (α 1 β 1 , α 2 β 2 ). Furthermore, e (α, β) and (α, β) with respect ∈G 1 × G 2 gives the original cyclic group G T and bilinear mapping. Bilinear mapping examples are functions and algorithms for performing pairing operations such as Weil pairing and Tate pairing (Reference 3: Alfred. J. Menezes, "ELLIPTIC CURVE PUBLIC KEY CRYPTOSYSTEMS," KLUWER ACADEMIC PUBLISHERS , ISBN0-7923-9368-6, pp. 61-81, and Reference 4: RFC 5091, "Identity-Based Cryptography Standard (IBCS) # 1," Supersingular Curve Implementations of the BF and BB1 Cryptosystems etc.). Also, it is assumed that the first encryption key y 1 and the second encryption key y 2 are stored in the key storage unit 4104e included in the input information providing unit 4104 of the re-encryption device 11.

<処理>
図7及び図8に例示するように、第四実施形態の処理は第一実施形態のステップS1103〜S1105,S1107,S1108,S1110,S1200〜S1203が、それぞれ、ステップS4103〜S4105,S4107,S4108,S4110,S4200〜S4203に置換されたものである。以下ではステップS4103〜S4105,S4107,S4108,S4110,S4200〜S4203の処理のみを説明する。
<Processing>
As illustrated in FIGS. 7 and 8, the process of the fourth embodiment includes steps S <b> 1103 to S <b> 1105, S <b> 1107, S <b> 1108, S <b> 1110, and S <b> 1120 to S <b> 1203, respectively. It is replaced with S4110, S4200 to S4203. Only the processing of steps S4103 to S4105, S4107, S4108, S4110, S4200 to S4203 will be described below.

《ステップS4103の処理》
再暗号化装置41(図2)の入力情報提供部4104は、入力された第一暗号文C1に対応する第一入力情報τ及び第二入力情報τを生成して出力する(図7/ステップS4103)。以下、図10を用いて本形態のステップS4103の処理を説明する。
<< Process of Step S4103 >>
The input information providing unit 4104 of the re-encryption device 41 (FIG. 2) generates and outputs first input information τ 1 and second input information τ 2 corresponding to the input first ciphertext C1 (FIG. 7). / Step S4103). Hereinafter, the processing in step S4103 of this embodiment will be described with reference to FIG.

第一乱数生成部4104a(図6)は、群Hの任意の元∈Hを生成する。本形態では群Hからランダムかつ一様に元が選択される(一様乱数)。生成された元は、第一入力情報計算部4104b、及び第一計算部4105に送られる(ステップS4103a)。 The first random number generation unit 4104a (FIG. 6) generates an arbitrary element h r 1 εH of the group H. In this embodiment, the element h r 1 is selected randomly and uniformly from the group H (uniform random number). The generated element h r 1 is sent to the first input information calculation unit 4104b and the first calculation unit 4105 (step S4103a).

第一入力情報計算部4104bは、自然数選択部1102で選択された自然数b、第一暗号文C1、元、及び鍵記憶部4104eから抽出した第一暗号化鍵yを用い、第一暗号化方式によって第一暗号化鍵yを用いて元を暗号化したある暗号文C1’についてC1C1’を計算し、C1C1’を第一入力情報τとする(ステップS4103b)。 The first input information calculation unit 4104b uses the natural number b selected by the natural number selection unit 1102, the first ciphertext C1, the element h r 1 , and the first encryption key y 1 extracted from the key storage unit 4104e. C1 b C1 ′ is calculated for a ciphertext C1 ′ obtained by encrypting the element h r 1 using the first encryption key y 1 by one encryption method, and C1 b C1 ′ is set as the first input information τ 1 . (Step S4103b).

第二乱数生成部4104cは、群Hの任意の元∈Hを生成する。本形態では群Hからランダムかつ一様に元が選択される(一様乱数)。生成された元は、第二入力情報計算部4104d、及び第二計算部4108に送られる(ステップS4103c)。 The second random number generation unit 4104c generates an arbitrary element h r 2 εH of the group H. In this embodiment, the element h r 2 is selected randomly and uniformly from the group H (uniform random number). The generated element h r 2 is sent to the second input information calculation unit 4104d and the second calculation unit 4108 (step S4103c).

第二入力情報計算部4104bは、自然数選択部1102で選択された自然数a、第一暗号文C1、元、及び鍵記憶部4104eから抽出した第一暗号化鍵yを用い、第一暗号化方式によって第一暗号化情報yを用いて元を暗号化したある暗号文C1”について、C1C1”を計算し、C1C1”を第二入力情報τとする(ステップS4103d)。 The second input information calculation unit 4104b uses the natural number a selected by the natural number selection unit 1102, the first ciphertext C1, the element h r 2 , and the first encryption key y 1 extracted from the key storage unit 4104e. "About, C1 a C1" is ciphertext C1 by encrypting the original h r 2 using the first encryption information y 1 by first encryption scheme to calculate a, C1 a C1 "to the second input information tau 2 (Step S4103d).

第一入力情報計算部4104bは、以上のように生成した第一入力情報τ=C1C1’を出力する。第二入力情報計算部4104dは、以上のように生成した第二入力情報τ=C1C1”を出力する(ステップS4103e)。 The first input information calculation unit 4104b outputs the first input information τ 1 = C1 b C1 ′ generated as described above. The second input information calculation unit 4104d outputs the second input information τ 2 = C1 a C1 ″ generated as described above (step S4103e).

《ステップS4200〜S4203の処理》
図8に例示するように、まず、第一入力情報τ=C1C1’が能力提供装置42(図3)の第一出力情報計算部4201に入力され、第二入力情報τ=C1C2”が第二出力情報計算部4202に入力される(ステップS4200)。
<< Steps S4200 to S4203 >>
As illustrated in FIG. 8, first input information τ 1 = C1 b C1 ′ is first input to the first output information calculation unit 4201 of the capability providing device 42 (FIG. 3), and the second input information τ 2 = C1. a C2 ″ is input to the second output information calculation unit 4202 (step S4200).

第一出力情報計算部4201は、第一入力情報τ=C1C1’と鍵記憶部1204に格納された第一復号鍵s及び第二暗号化鍵yとを用い、或る確率より大きな確率でf(C1C1’)を正しく計算し、計算結果を第一出力情報zとする。この計算結果は正しい場合もあれば正しくない場合もある。すなわち、第一出力情報計算部4201での計算結果がf(C1C1’)となる場合もあれば、f(C1C1’)とならない場合もある(ステップS4201)。 The first output information calculation unit 4201 uses the first input information τ 1 = C1 b C1 ′, the first decryption key s 1 and the second encryption key y 2 stored in the key storage unit 1204, and has a certain probability F (C1 b C1 ′) is correctly calculated with a greater probability, and the calculation result is set as the first output information z 1 . This calculation result may or may not be correct. That is, 'when there may be, f (C1 b C1 calculation result in the first output information calculation unit 4201 f (C1 b C1)' may not become) (step S4201).

なお、本形態の関数fは、第一暗号化方式に則って第一復号鍵sで暗号文を復号して得られる値をElGamal暗号方式に則って第二暗号化鍵yで暗号化するための準同型関数である。例えば、第一暗号化方式も第二暗号化方式もElGamal暗号方式で或る場合、関数fは、ElGamal暗号方式に則って第一復号鍵sで暗号文を復号して得られる値を、ElGamal暗号方式に則って第二暗号化鍵yで暗号化するための準同型関数である。 The function f in this embodiment encrypts the value obtained by decrypting the ciphertext with the first decryption key s 1 according to the first encryption method with the second encryption key y 2 according to the ElGamal encryption method. This is a homomorphic function. For example, when both the first encryption method and the second encryption method are ElGamal encryption methods, the function f is a value obtained by decrypting the ciphertext with the first decryption key s 1 in accordance with the ElGamal encryption method. This is a homomorphic function for encrypting with the second encryption key y 2 in accordance with the ElGamal cryptosystem.

第二出力情報計算部4202は、第二入力情報τ=C1C1”と鍵記憶部1204に格納された第一復号鍵s及び第二暗号化鍵yとを用い、或る確率より大きな確率でf(C1C1”)を正しく計算可能であり、得られた計算結果を第二出力情報zとする。この計算結果は正しい場合もあれば正しくない場合もある。すなわち、第二出力情報計算部4202での計算結果がf(C1C1”)となる場合もあれば、f(C1C1”)とならない場合もある(ステップS4202)。 The second output information calculation unit 4202 uses the second input information τ 2 = C1 a C1 ″, the first decryption key s 1 and the second encryption key y 2 stored in the key storage unit 1204, and has a certain probability a greater probability f (C1 a C1 ") can properly calculated, and a calculation result obtained with the second output information z 2. This calculation result may or may not be correct. That is, "In some cases where a, f (C1 a C1 calculation result in the second output information calculation unit 4202 f (C1 a C1)" may not become) (step S4202).

第一出力情報計算部4201は第一出力情報zを出力し、第二出力情報計算部4202は第二出力情報zを出力する(ステップS4203)。 The first output information calculation unit 4201 outputs the first output information z 1, the second output information calculation unit 4202 outputs the second output information z 2 (step S4203).

《ステップS4104及びS4105の処理》
図7に戻り、第一出力情報zは再暗号化装置41(図2)の第一計算部4105に入力され、第二出力情報zは第二計算部4108に入力される(ステップS4104)。
<< Processing in Steps S4104 and S4105 >>
Returning to FIG. 7, the first output information z 1 is input to the first calculation unit 4105 of the re-encryption device 41 (FIG. 2), and the second output information z 2 is input to the second calculation unit 4108 (step S4104). ).

第一計算部4105は、入力された第一出力情報z、元、及び鍵記憶部4104e(図6)から読み出した第二暗号化鍵yを用い、第二暗号化方式によって第二暗号化鍵yを用いて元を暗号化したある暗号文C2’について、z(C2’)−1を計算してその計算結果をuとする(ステップS4105)。計算結果uは、第一べき乗計算部1106に送られる。ここで、u=z(C2’)−1=f(C1)となる。すなわち、z(C2’)−1は、f(C1)について誤差Xを持つ乱数化可能標本器の出力となる。その理由については後述する。 The first calculation unit 4105 uses the input first output information z 1 , the element h r 1 , and the second encryption key y 2 read from the key storage unit 4104e (FIG. 6), and performs the second encryption method. 'for, z 1 (C2' second encryption key y 2 is ciphertext C2 to the original h r 1 encrypted with) -1 was calculated for the calculation result as u (step S4105). The calculation result u is sent to the first power calculation unit 1106. Here, u = z 1 (C2 ′) −1 = f (C1) b x 1 is satisfied. That is, z 1 (C2 ′) −1 is the output of a randomizable sampler with error X 1 for f (C1). The reason will be described later.

《ステップS4108の処理》
第二計算部4108は、入力された第二出力情報z、元、及び鍵記憶部4104e(図6)から読み出した第二暗号化鍵yを用い、第二暗号化方式によって第二暗号化鍵yを用いて元を暗号化したある暗号文C2”について、z(C2”)−1を計算してその計算結果をvとする。計算結果vは、第二べき乗計算部1109に送られる。ここで、v=z(C2”)−1=f(C1)となる。すなわち、z(C2”)−1は、f(C1)について誤差Xを持つ乱数化可能標本器の出力となる。その理由については後述する。
<< Process of Step S4108 >>
The second calculation unit 4108 uses the input second output information z 2 , the element h r 2 , and the second encryption key y 2 read from the key storage unit 4104e (FIG. 6), and performs the second encryption method. For a ciphertext C2 ″ obtained by encrypting the element h r 2 using the second encryption key y 2 , z 2 (C2 ″) −1 is calculated and the calculation result is set as v. The calculation result v is sent to the second power calculation unit 1109. Here, v = z 2 (C2 ″) −1 = f (C1) a x 2 , that is, z 2 (C2 ″) −1 is a randomizable sample having an error X 2 with respect to f (C1). Is the output of the instrument. The reason will be described later.

《ステップS4107の処理》
判定部4111は、第一リスト記憶部1107に記憶された組(u,u’)及び第二リスト記憶部1110に記憶された組(v,v’)の中で、u’とv’とが互いに同一の平文に対する暗号文の類に属するものがあるかを判定する。本形態の判定部4111は、u’=(c1u,c2u)及びv’=(c1v,c2v)に対して、関係e(μg1,c2u)/e(c1u,y)=e(μg1,c2v)/e(c1v,y)を満たすものがあるかを判定する(ステップS4107)。u’とv’がこの関係を満たすかを判定することで、u’とv’とが互いに同一の平文に対する暗号文の類に属することを判定できる理由については後述する。
<< Process of Step S4107 >>
The determination unit 4111 includes u ′ and v ′ among the pair (u, u ′) stored in the first list storage unit 1107 and the pair (v, v ′) stored in the second list storage unit 1110. Are included in the ciphertext class for the same plaintext. The determination unit 4111 of this embodiment uses the relationship e (μ g1 , c 2u ) / e (c 1u , y 2 ) for u ′ = (c 1u , c 2u ) and v ′ = (c 1v , c 2v ). ) = E (μ g1 , c 2v ) / e (c 1v , y 2 ) is determined (step S4107). The reason why it can be determined that u ′ and v ′ belong to a ciphertext class for the same plaintext by determining whether u ′ and v ′ satisfy this relationship will be described later.

もし、第二リスト記憶部1110に組(v,v’)が記憶されていない場合には、このステップS4107の処理を行わずに、次のステップS1108の処理を行う。同一の平文に対する暗号文の類に属するu’とv’との組があった場合(上記の関係を満たすu’とv’との組があった場合)には、ステップS1114に進む。同一の平文に対する暗号文の類に属するu’とv’との組がなかった場合には、ステップS4108に進む。   If the set (v, v ′) is not stored in the second list storage unit 1110, the process of the next step S1108 is performed without performing the process of step S4107. If there is a pair of u ′ and v ′ belonging to the same ciphertext class for the same plaintext (if there is a pair of u ′ and v ′ satisfying the above relationship), the process proceeds to step S1114. If there is no pair of u ′ and v ′ belonging to the ciphertext class for the same plaintext, the process proceeds to step S4108.

《ステップS4110の処理》
判定部4111は、第一リスト記憶部1107に記憶された組(u,u’)及び第二リスト記憶部4110に記憶された組(v,v’)の中で、u’とv’とが互いに同一の平文に対する暗号文の類に属するものがあるかを判定する。本形態の判定部4111は、u’=(c1u,c2u)及びv’=(c1v,c2v)に対して、関係e(μg1,c2u)/e(c1u,y)=e(μg1,c2v)/e(c1v,y)を満たすものがあるかを判定する(ステップS4110)。同一の平文に対する暗号文の類に属するu’とv’との組があった場合には、ステップS1114に進む。同一の平文に対する暗号文の類に属するu’とv’との組がなかった場合には、ステップS1111に進む。
<< Processing in Step S4110 >>
The determination unit 4111 includes u ′ and v ′ in the pair (u, u ′) stored in the first list storage unit 1107 and the pair (v, v ′) stored in the second list storage unit 4110. Are included in the ciphertext class for the same plaintext. The determination unit 4111 of this embodiment uses the relationship e (μ g1 , c 2u ) / e (c 1u , y 2 ) for u ′ = (c 1u , c 2u ) and v ′ = (c 1v , c 2v ). ) = E (μ g1 , c 2v ) / e (c 1v , y 2 ) is determined (step S4110). If there is a pair of u ′ and v ′ belonging to the ciphertext class for the same plaintext, the process proceeds to step S1114. If there is no pair of u ′ and v ′ belonging to the ciphertext class for the same plaintext, the process proceeds to step S1111.

なお、特殊な群G,Gや双線形写像eを用いた場合、ステップS4107及びS4110の処理を再暗号化装置41に実行させることができる者を制限できる。この詳細については後述する。 Note that when the special groups G 1 and G 2 and the bilinear map e are used, the number of persons who can cause the re-encryption device 41 to execute the processes of steps S4107 and S4110 can be limited. Details of this will be described later.

《z(C2’)−1,z(C2”)−1がf(C1)についてそれぞれ誤差X,Xを持つ乱数化可能標本器の出力となる理由について》
任意の元を固定して考えると、第二暗号文C(y,m)=(μg1 ,my )における乱数rを確率空間とする確率分布について、以下の関係が成り立つ。ただし、D(s,C1)は、第一暗号化方式に則って第一暗号文C1を第一復号鍵sで復号するための関数を表す。また、’=D(s,C1) とする。rを乱数として、あるr2が存在して
f(C1C1”)(C2”)−1
=(μg1 ,D(s,C1) )(μg1 r2 r2−1
となるから、
f(C1C1”)(C2”)−1
=(μg1 r−r2,D(s,C1) r−r2
となる。したがって、確率分布f(C1C1”)(C2”)−1は確率分布f(C1)と等しい。
<< Reason why z 1 (C2 ′) −1 , z 2 (C2 ″) −1 is an output of a randomizable sampler having errors X 1 and X 2 with respect to f (C1) >>
Assuming that an arbitrary element h r 1 is fixed, a probability distribution having a random space r in the second ciphertext C (y 2 , m) = (μ g1 r , my 2 r ) as a probability space has the following relationship: It holds. However, D (s 1 , C 1) represents a function for decrypting the first ciphertext C 1 with the first decryption key s 1 in accordance with the first encryption method. Further, it is assumed that h r 2 ′ = D (s 1 , C 1) a h r 2 . When r is a random number, there exists a certain r2 and f (C1 a C1 ″) (C2 ″) −1
= (Μ g1 r, D ( s 1, C1) a h r 2 y 2 r) (μ g1 r2, h r 2 y 2 r2) -1
So,
f (C1 a C1 ″) (C2 ″) −1
= (Μ g1 r−r2 , D (s 1 , C1) a y 2 r−r2 )
It becomes. Therefore, the probability distribution f (C1 a C1 ″) (C2 ″) −1 is equal to the probability distribution f (C1) a .

したがって、C1”を確率変数とみなして、群Gに値を持つ確率変数X=zf(C1C1”)−1を考えると、
(C2”)−1=zf(C1C1”)−1f(C1C1”)(C2”)−1
であるから、この確率分布はx∈Xについてxf(C1)の確率分布と等しい。
Therefore, considering C1 ″ as a random variable and considering a random variable X 2 = z 2 f (C1 a C1 ″) −1 having a value in the group G,
z 2 (C2 ″) −1 = z 2 f (C1 a C1 ″) −1 f (C1 a C1 ″) (C2 ″) −1
Since it is, the probability distribution is equal to the probability distributions for x 2 ∈X 2 x 2 f ( C1) a.

同様に、z(C2’)−1の確率分布はx∈Xについてf(C1)の確率分布と等しい。C1”を確率変数とみなすとき、C1C1”の分布はC1”の分布と等しいから、確率変数Xの確率分布はaに依存しない。同様に、確率変数Xの確率分布はbに依存しない。したがって、z(C2’)−1,z(C2”)−1はf(C1)についてそれぞれ誤差X,Xを持つ乱数化可能標本器の出力となる。 Similarly, the probability distribution of z 1 (C2 ′) −1 is equal to the probability distribution of f (C1) b x 1 for x 1 εX 1 . "When considered a random variable, C1 a C1" C1 Since distribution of equal distribution of C1 ", the probability distribution of the random variable X 2 is independent of a. Similarly, the probability distribution of the random variable X 1 to b Therefore, z 1 (C2 ′) −1 , z 2 (C2 ″) −1 is the output of a randomizable sampler having errors X 1 and X 2 for f (C1), respectively.

《関係e(μg1,c2u)/e(c1u,y)=e(μg1,c2v)/e(c1v,y)を満たすかを判定することで、u’とv’とが互いに同一の平文に対する暗号文の類に属することを判定できる理由》
u’とv’とが互いに同一の平文mに対する暗号文の類に属すると仮定する。この場合には第一乱数化可能標本器がu=f(C1)を正しく計算しており、第二乱数化可能標本器がv=f(C1)を正しく計算している(x及びxが群Gの単位元eである)可能性が高い。よって、u’=(μg1 r’’,my r’’)かつv’=(μg1 r’’’,my r’’’)である可能性が高い。ただし、r’’及びr’’’は、ElGamal暗号方式の乱数成分と自然数選択部1102で選択された自然数の組とによって定まる値である。その場合、双線形写像eの性質から、u’=(c1u,c2u)に対して
e(μg1,c2u)/e(c1u,y
=e(μg1,my r’’)/e(μg1 r’’,y
=e(μg1,myr’’/e(μg1,yr’’
=e(μg1,m)e(μg1,y)/e(μg1,y
=e(μg1,m)
を満たす可能性が高い。また、v’=(c1v,c2v)に対して
e(μg1,c2v)/e(c1v,y
=e(μg1,my r’’’)/e(μg1 r’’’,y
=e(μg1,myr’’’/e(μg1,yr’’’
=e(μg1,m)e(μg1,y)/e(μg1,y
=e(μg1,m)
を満たす可能性が高い。よって、u’とv’とが互いに同一の平文mに対する暗号文の類に属する場合、関係e(μg1,c2u)/e(c1u,y)=e(μg1,c2v)/e(c1v,y)を満たす可能性が高い。
"Relationship e (μ g1, c 2u) / e (c 1u, y 2) = e (μ g1, c 2v) / e (c 1v, y 2) by determining whether meet, u 'and v The reason why it can be determined that 'and belong to a class of ciphertexts for the same plaintext >>
Assume that u ′ and v ′ belong to a ciphertext class for the same plaintext m. This case is the first randomized enable sampler and correctly calculate u = f (C1) b, the second random number of possible sampler is v = f (C1) a was correctly calculated (x 1 and x 2 is the identity e g in the group G) is likely. Therefore, it is highly likely that u ′ = (μ g1 r ″ , my 2 r ″ ) and v ′ = (μ g1 r ′ ″ , my 2 r ′ ″ ). Here, r ″ and r ′ ″ are values determined by a random number component of the ElGamal cryptosystem and a set of natural numbers selected by the natural number selection unit 1102. In this case, e (μ g1 , c 2u ) / e (c 1u , y 2 ) with respect to u ′ = (c 1u , c 2u ) due to the property of the bilinear map e.
= E (μ g1 , my 2 r ″ ) / e (μ g1 r ″ , y 2 )
= E (μ g1 , my 2 ) r ″ / e (μ g1 , y 2 ) r ″
= E (μ g1, m) e (μ g1, y 2) / e (μ g1, y 2)
= E (μ g1 , m)
There is a high possibility of satisfying. Further, v '= (c 1v, c 2v) against e (μ g1, c 2v) / e (c 1v, y 2)
= E (μ g1 , my 2 r ′ ″ ) / e (μ g1 r ′ ″ , y 2 )
= E (μ g1 , my 2 ) r ′ ″ / e (μ g1 , y 2 ) r ′ ″
= E (μ g1, m) e (μ g1, y 2) / e (μ g1, y 2)
= E (μ g1 , m)
There is a high possibility of satisfying. Therefore, when u ′ and v ′ belong to a ciphertext class for the same plaintext m, the relationship e (μ g1 , c 2u ) / e (c 1u , y 2 ) = e (μ g1 , c 2v ) There is a high possibility that / e (c 1v , y 2 ) is satisfied.

次に、u’とv’とが互いに異なる平文に対する暗号文の類に属すると仮定する。すなわち、u’が平文mに対する暗号文の類に属し、v’が平文m(m≠m)に対する暗号文の類に属すると仮定する。すると、u’=(μg1 r’’,m r’’)xかつv’=(μg1 r’’’,m r’’’)xとなる。そのため、u’=(c1u,c2u)に対してe(μg1,c2u)/e(c1u,y)=e(μg1,m)xを満たし、v’=(c1v,c2v)に対してe(μg1,c2v)/e(c1v,y)=e(μg1,m)xを満たす。よって、u’とv’とが互いに異なる平文に対する暗号文の類に属する場合、関係e(μg1,c2u)/e(c1u,y)≠e(μg1,c2v)/e(c1v,y)となる可能性が高い。 Next, it is assumed that u ′ and v ′ belong to a ciphertext class for different plaintexts. That is, it is assumed that u ′ belongs to the ciphertext class for plaintext m u and v ′ belongs to the ciphertext class for plaintext m v (m v ≠ m u ). Then, u ′ = (μ g1 r ″ , m u y 2 r ″ ) x 1 and v ′ = (μ g1 r ′ ″ , m v y 2 r ′ ″ ) x 2 . Therefore, e (μ g1 , c 2u ) / e (c 1u , y 2 ) = e (μ g1 , m u ) x 1 is satisfied with respect to u ′ = (c 1u , c 2u ), and v ′ = ( c 1v, c 2v) against e (μ g1, c 2v) / e (c 1v, y 2) = e (μ g1, m v) satisfy x 2. Therefore, when u ′ and v ′ belong to a class of ciphertexts for different plaintexts, the relationship e (μ g1 , c 2u ) / e (c 1u , y 2 ) ≠ e (μ g1 , c 2v ) / e There is a high possibility of (c 1v , y 2 ).

《特殊な群G,Gや双線形写像e》
群G,Gや双線形写像eの構成を以下のように限定した場合、ステップS4107及びS4110の処理を再暗号化装置41に実行させることができる者を制限することができる。以下にその詳細を述べる。
<< Special groups G 1 and G 2 and bilinear map e >>
When the configurations of the groups G 1 and G 2 and the bilinear map e are limited as follows, it is possible to limit the persons who can cause the re-encryption device 41 to execute the processes of steps S4107 and S4110. Details are described below.

この特殊な例では、Nが素数ωと素数ιの合成数、群G,Gがそれぞれ合成数Nを法とした剰余環Z/NZ上で定義された第一楕円曲線上の点からなる部分群、G1ω,G2ωが素数ωを法とした剰余体Z/ωZ上で定義された第二楕円曲線上の点からなる部分群、G1ι,G2ιが素数ιを法とした剰余体Z/ιZ上で定義された第三楕円曲線上の点からなる部分群、e(α,β)が(α,β)∈G×Gに対して巡回群Gの元を与える双線形写像、eω(αω,βω)が(αω,βω)∈G1ω×G2ωに対して巡回群GTωの元を与える第二双線形写像、eι(αι,βι)が(αι,βι)∈G1ι×G2ιに対して巡回群GTιの元を与える第三双線形写像、HMが第一楕円曲線上の点を第二楕円曲線上の点と第三楕円曲線上の点とに写す同型写像、HM−1が同型写像HMの逆像である。 In this special example, N is a composite number of prime number ω and prime number ι, and groups G 1 and G 2 are points on the first elliptic curve defined on the remainder ring Z / NZ modulo the composite number N. A subgroup consisting of points on the second elliptic curve defined on the remainder field Z / ωZ with the prime number ω modulo G and G , and G and G modulo the prime number ι subgroup of points on the third elliptic curve defined over residue field Z / ιZ, e (α, β) is the (α, β) ∈G 1 × original cyclic group G T relative to G 2 The bilinear map to be given, e ωω , β ω ) gives the element of the cyclic group G to (α ω , β ω ) ∈G × G , e ιι , Β ι ) is a third bilinear map that gives an element of the cyclic group G for (α ι , β ι ) ∈ G × G , and HM is a point on the first elliptic curve on the second elliptic curve Point and third ellipse Isomorphic mapping which maps to the point above, HM -1 is the inverse image of isomorphism HM.

この例の場合、双線形写像e(α,β)は剰余環Z/NZ上で定義された第一楕円曲線上で定義される。しかしながら、剰余環上で定義された楕円曲線上で定義された双線形写像e(α,β)を多項式時間で計算する方法は知られておらず、多項式時間で計算可能な剰余環上で定義された楕円曲線上で定義された双線形写像e(α,β)の構成方法も知られていない(参考文献5:Alexander W. Dent and Steven D. Galbraith, "Hidden Pairings and Trapdoor DDH Groups," ANTS 2006, LNCS 4076, pp. 436-451, 2006.)。このような設定の場合、判定部4111は、双線形写像eを剰余環Z/NZ上で直接計算して関係e(μg1,c2u)/e(c1u,y)=e(μg1,c2v)/e(c1v,y)を満たすか否かを判定することができない。 In this example, the bilinear map e (α, β) is defined on the first elliptic curve defined on the remainder ring Z / NZ. However, there is no known method for calculating the bilinear map e (α, β) defined on the elliptic curve defined on the remainder ring in polynomial time, and it is defined on the remainder ring that can be calculated in polynomial time. The construction method of the bilinear map e (α, β) defined on the defined elliptic curve is not known (Reference 5: Alexander W. Dent and Steven D. Galbraith, "Hidden Pairings and Trapdoor DDH Groups," ANTS 2006, LNCS 4076, pp. 436-451, 2006.). In such a setting, the determination unit 4111 directly calculates the bilinear map e on the remainder ring Z / NZ, and the relationship e (μ g1 , c 2u ) / e (c 1u , y 2 ) = e (μ g1, c 2v) / e ( c 1v, it is impossible to determine whether they meet the y 2).

一方、剰余体Z/ωZ,Z/ιZ上で定義された楕円曲線上で定義されたeω(αω,βω)やeι(αι,βι)としては、多項式時間で計算可能なWeilペアリングやTateペアリングなどが存在する(参考文献3,4等参照)。また、このようなeω(αω,βω)やeι(αι,βι)を多項式時間で行うアルゴリズムとしてMiller のアルゴリズム(参考文献6:V. S. Miller, “Short Programs for functions on Curves,”1986,インターネット<http://crypto.stanford.edu/miller/miller.pdf>」などがよく知られている。さらに、このようなeω(αω,βω)やeι(αι,βι)を効率的に行うための楕円曲線や巡回群の構成方法もよく知られている(例えば、参考文献4、参考文献7:A. Miyaji, M. Nakabayashi, S.Takano, "New explicit conditions of elliptic curve Traces for FR-Reduction," IEICE Trans. Fundamentals, vol. E84-A, no05, pp. 1234-1243, May 2001」、参考文献8:P.S.L.M. Barreto, B. Lynn, M. Scott, "Constructing elliptic curves with prescribed embedding degrees," Proc. SCN '2002, LNCS 2576, pp.257-267, Springer-Verlag. 2003」、参考文献9:R. Dupont, A. Enge, F. Morain, "Building curves with arbitrary small MOV degree over finite prime fields," http://eprint.iacr.org/2002/094/等参照)。 On the other hand, e ωω , β ω ) and e ιι , β ι ) defined on elliptic curves defined on the remainder fields Z / ωZ and Z / ιZ can be calculated in polynomial time. Such as Weil pairing and Tate pairing (see references 3, 4 etc.). Miller's algorithm (reference document 6: VS Miller, “Short Programs for functions on Curves,” is an algorithm for performing such e ωω , β ω ) and e ιι , β ι ) in polynomial time. “1986, Internet <http://crypto.stanford.edu/miller/miller.pdf>” is well known, and e ωω , β ω ) and e ιι , Β ι ) for efficient execution of elliptic curves and cyclic groups (for example, Reference 4, Reference 7: A. Miyaji, M. Nakabayashi, S. Takano, “New explicit conditions of elliptic curve Traces for FR-Reduction, "IEICE Trans. Fundamentals, vol. E84-A, no05, pp. 1234-1243, May 2001", Reference 8: PSLM Barreto, B. Lynn, M. Scott, "Constructing elliptic curves with prescribed embedding degrees," Proc. SCN '2002, LNCS 2576, pp.257-267, Springer-Verlag. 2003 ", Reference 9: R. Dupont, A. Enge, F. Mor ain, "Building curves with arbitrary small MOV degree over finite prime fields," http://eprint.iacr.org/2002/094/ etc.).

また、中国人の剰余定理(Chinese remainder theorem)に基づき、合成数N(N=ω・ι)を法とした剰余環Z/NZから剰余体Z/ωZと剰余体Z/ιZとの直積に写す同型写像が存在すること、及び剰余体Z/ωZと剰余体Z/ιZとの直積から剰余環Z/NZに写す同型写像が存在することがよく知られている(参考文献10:ヨハネス ブーフマン,”暗号理論入門”,シュプリンガー・フェアラーク東京 (2001/07), ISBN-10: 4431708669 ISBN-13,pp. 52-56)。すなわち、第一楕円曲線上の点を第二楕円曲線上の点と第三楕円曲線上の点とに写す同型写像HM、及びその逆像HM−1が存在する。一例を挙げると、剰余環Z/NZの元κmod Nを剰余体Z/ωZの元κ mod ωと剰余体Z/ιZの元κ mod ιとに写す同型写像をHMとし、剰余体Z/ωZの元κωmod ωと剰余体Z/ιZの元κιmod ιとを剰余環Z/NZの元κωιι’+κιωω’modNに写す写像をHM−1とすることができる。ただし、ω’及びι’はωω’+ιι’=1を満たす自然数である。このようなω’,ι’は拡張ユークリッドの互除法を用いて容易に生成できる。ωω’+ιι’=1の関係から、κωιι’+κιωω’modNにHMを作用させると
κωιι’+κιωω’mod ω=κωιι’modω=κω(1−ωω’)modω=κωmod ω∈Z/ωZ
κωιι’+κιωω’modι=κιωω’modι=κι(1−ιι’)modι=κιmodι∈Z/ιZ
となり、この一例での写像はHMとHM−1との関係にあることが分かる。
Also, based on the Chinese remainder theorem, the direct product of the remainder field Z / ωZ and the remainder field Z / ιZ from the remainder ring Z / NZ modulo the composite number N (N = ω · ι) It is well known that there exists an isomorphic mapping, and there exists an isomorphic mapping that maps from the direct product of the remainder field Z / ωZ and the remainder field Z / ιZ to the remainder ring Z / NZ (reference 10: Johannes Buchman). , “Introduction to Cryptography”, Springer Fairlark Tokyo (2001/07), ISBN-10: 4431708669 ISBN-13, pp. 52-56). That is, there exists an isomorphic mapping HM that maps a point on the first elliptic curve to a point on the second elliptic curve and a point on the third elliptic curve, and an inverse image HM- 1 . As an example, let HM be the isomorphism mapping the element κmod N of the remainder ring Z / NZ to the element κmod ω of the remainder field Z / ωZ and the element κmod ι of the remainder field Z / ιZ, and the residue field Z / ωZ Let HM −1 be a mapping that maps the element κ ω mod ω of ω and the element κ ι mod ι of the remainder field Z / ιZ to the element κ ω ιι '+ κ ι ωω' mod N of the remainder ring Z / NZ. However, ω ′ and ι ′ are natural numbers satisfying ωω ′ + ιι ′ = 1. Such ω ′ and ι ′ can be easily generated using the extended Euclidean algorithm. ωω '+ ιι' = from one relationship, κ ω ιι '+ κ ι and the action of HM in ωω'modN κ ω ιι' + κ ι ωω'mod ω = κ ω ιι'modω = κ ω (1-ωω ') Mod ω = κ ω mod ωεZ / ωZ
κ ω ιι '+ κ ι ωω' modι = κ ι ωω'modι = κ ι (1-ιι ') modι = κ ι modι∈Z / ιZ
Thus, it can be seen that the mapping in this example has a relationship between HM and HM- 1 .

そのため、合成数Nを素因数分解した値、すなわち素数ωと素数ιとの値が与えられるのであれば、判定部4111は、以下のステップA〜Dの処理によって、剰余環Z/NZ上で定義された第一楕円曲線上の双線形写像e(α,β)を計算することができる。   Therefore, if a value obtained by prime factorizing the composite number N, that is, a value of the prime number ω and a prime number ι, is given, the determination unit 4111 defines on the remainder ring Z / NZ by the following steps A to D. A bilinear map e (α, β) on the first elliptic curve thus obtained can be calculated.

(ステップA)判定部4111は、同型写像HMを用い、剰余環Z/NZ上で定義された第一楕円曲線上の点α∈Gを、剰余体Z/ωZ上で定義された第二楕円曲線上の点θω(α)∈G1ωと剰余体Z/ιZ上で定義された第三楕円曲線上の点θι(α)∈G1ιとに写す。 (Step A) The determination unit 4111 uses the isomorphism HM, and converts the point α∈G 1 on the first elliptic curve defined on the remainder ring Z / NZ to the second defined on the remainder field Z / ωZ. Copy the point θ ω (α) εG on the elliptic curve and the point θ ι (α) εG on the third elliptic curve defined on the remainder field Z / ιZ.

(ステップB)判定部4111は、同型写像HMを用い、剰余環Z/NZ上で定義された第一楕円曲線上の点β∈Gを、剰余体Z/ωZ上で定義された第二楕円曲線上の点θω(β)∈G2ωと剰余体Z/ιZ上で定義された第三楕円曲線上の点θι(β)∈G2ιとに写す。 (Step B) determining unit 4111, using the isomorphism HM, the second point Beta∈G 2 on the first elliptic curve defined over residue ring Z / NZ, which is defined on the residue field Z / .omega.z Copy the point θ ω (β) εG on the elliptic curve and the point θ ι (β) εG on the third elliptic curve defined on the remainder field Z / ιZ.

(ステップC)判定部4111は、第二楕円曲線及び第三楕円曲線でのeω(θω(α),θω(β))及びeι(θι(α),θι(β))を求める。 (Step C) The determination unit 4111 includes e ωω (α), θ ω (β)) and e ιι (α), θ ι (β) in the second elliptic curve and the third elliptic curve. )

(ステップD)判定部4111は、得られた演算結果eω(θω(α),θω(β))及びeι(θι(α),θι(β))に逆像HM−1を作用させた値をe(α,β)とする。 (Step D) The determination unit 4111 displays the inverse image HM − on the obtained calculation results e ωω (α), θ ω (β)) and e ιι (α), θ ι (β)). A value obtained by acting 1 is defined as e (α, β).

よって素数ωと素数ιとの値が与えられるのであれば、判定部4111は、ステップA〜Dに従ってe(μg1,c2u),e(c1u,y),e(μg1,c2v),e(c1v,y)を計算し、関係e(μg1,c2u)/e(c1u,y)=e(μg1,c2v)/e(c1v,y)を満たすか否かを判定することができる。 Therefore, if values of prime number ω and prime number ι are given, determination unit 4111 follows steps A to D, e (μ g1 , c 2u ), e (c 1u , y 2 ), e (μ g1 , c 2v ), e (c 1v , y 2 ) and the relationship e (μ g1 , c 2u ) / e (c 1u , y 2 ) = e (μ g1 , c 2v ) / e (c 1v , y 2 ) Or not.

一方、大きな合成数Nの素因数分解を多項式時間で行う方法は知られていない。よって、この設定の場合、素数ω及び素数ιの少なくとも一方が与えられていない判定部4111は、関係e(μg1,c2u)/e(c1u,y)=e(μg1,c2v)/e(c1v,y)を満たすか否かを判定することができない。 On the other hand, there is no known method for performing prime factorization of a large composite number N in polynomial time. Therefore, in this setting, the determination unit 4111 to which at least one of the prime number ω and the prime number ι is not given is related to e (μ g1 , c 2u ) / e (c 1u , y 2 ) = e (μ g1 , c 2v ) / e (c 1v , y 2 ) cannot be determined.

以上のような特殊な群G,Gや双線形写像eを用いた場合、ステップS4107及びS4110の処理を再暗号化装置41に実行させることができる者を素数ω及び素数ιの少なくとも一方を知る者に制限することができる。 When the special groups G 1 and G 2 and the bilinear map e as described above are used, a person who can cause the re-encryption device 41 to execute the processes of steps S4107 and S4110 is at least one of the prime number ω and the prime number ι. Can be restricted to those who know.

《その他》
第一実施形態と同様、再暗号文取得装置43がローカルに含む再暗号化装置4341に第一暗号文C1が入力され、再暗号化装置4341と能力提供装置42との間で、前述の図7及び図8に記載された処理が実行されてもよい。この処理は例えば再暗号化装置41が再暗号化装置4341に置換された処理となる。或いは、この処理の際、上述した能力提供装置42の処理の少なくとも一部が再暗号化装置41によって実行されてもよい。また再暗号化装置4341は、再暗号化装置41及び能力提供装置42がそれぞれどのような処理を行っているかを知る必要はない。少なくとも、再暗号化装置41及び能力提供装置42からなるシステムとして図8に記載された処理が実行されればよい。
<Others>
As in the first embodiment, the first ciphertext C1 is input to the re-encryption device 4341 that is included locally in the re-ciphertext acquisition device 43, and the above-described diagram is transmitted between the re-encryption device 4341 and the capability providing device 42. The processing described in FIG. 7 and FIG. 8 may be executed. This processing is, for example, processing in which the re-encryption device 41 is replaced with the re-encryption device 4341. Alternatively, at the time of this processing, at least a part of the processing of the capability providing device 42 described above may be executed by the re-encryption device 41. Further, the re-encrypting device 4341 does not need to know what processing each of the re-encrypting device 41 and the capability providing device 42 is performing. As long as the system includes at least the re-encrypting device 41 and the capability providing device 42, the processing described in FIG.

[第五実施形態]
上述の各実施形態では、再暗号化装置の自然数記憶部1101に、互いに素である2つの自然数a,bの組(a,b)が複数種類記憶され、これらの組(a,b)を用いて各処理が実行されることとした。しかしながら、a,bの一方が定数であってもよい。例えば、aが1に固定されていてもよいし、bが1に固定されていてもよい。言い換えると、第一乱数化可能標本器又は第二乱数化可能標本器の一方が標本器に置換されていてもよい。a,bの一方が定数である場合、定数とされたa又はbを選択する処理が不要となり、各処理部は定数とされたa又はbが入力されることなく、それを定数として扱って計算を行うことができる。また、定数とされたa又はbが1である場合には、a’やb’を用いることなく、f(C1)=ub’a’をf(C1)=v又はf(C1)=uとして得ることができる。
[Fifth embodiment]
In each of the above-described embodiments, the natural number storage unit 1101 of the re-encryption apparatus stores a plurality of types (a, b) of two prime numbers a and b that are relatively prime to each other, and stores these sets (a, b). It was decided that each process would be executed. However, one of a and b may be a constant. For example, a may be fixed to 1, or b may be fixed to 1. In other words, one of the first randomizable sampler and the second randomizable sampler may be replaced with a sampler. When one of a and b is a constant, there is no need to select a or b as a constant, and each processing unit treats it as a constant without inputting a or b as a constant. Calculations can be made. When a or b, which is a constant, is 1, f (C1) = u b ′ v a ′ is changed to f (C1) = v or f (C1) without using a ′ or b ′. = U can be obtained.

第五実施形態は、そのような変形の一例であり、bが1に固定され、第二乱数化可能標本器が標本器に置換された形態である。以下では、第一実施形態との相違点を中心に説明する。また、第一乱数化可能標本器や標本器の具体例は、第二実施形態から第四実施形態で説明したのと同様であるため、説明を省略する。   The fifth embodiment is an example of such a modification, in which b is fixed to 1 and the second randomizable sampler is replaced with a sampler. Below, it demonstrates centering on difference with 1st embodiment. Further, specific examples of the first randomizable sampler and the sampler are the same as those described in the second to fourth embodiments, and thus the description thereof is omitted.

<構成>
図1に例示するように、第五実施形態の再暗号化システム5は、第一実施形態の再暗号化装置11が再暗号化装置51に置換され、能力提供装置12が能力提供装置52に置換され、再暗号文取得装置13が再暗号文取得装置53に置換されたものである。
<Configuration>
As illustrated in FIG. 1, in the re-encryption system 5 of the fifth embodiment, the re-encryption device 11 of the first embodiment is replaced with a re-encryption device 51, and the capability providing device 12 is replaced with the capability providing device 52. The re-ciphertext acquisition device 13 is replaced with the re-ciphertext acquisition device 53.

図11に例示するように、第五実施形態の再暗号化装置51は、例えば、自然数記憶部5101と自然数選択部5102と入力情報提供部5104と第一計算部5105と第一べき乗計算部1106と第一リスト記憶部1107と第二計算部5108と第二リスト記憶部5110と判定部5111と最終出力部1112と制御部1113とを有する。   As illustrated in FIG. 11, the re-encryption apparatus 51 according to the fifth embodiment includes, for example, a natural number storage unit 5101, a natural number selection unit 5102, an input information providing unit 5104, a first calculation unit 5105, and a first power calculation unit 1106. A first list storage unit 1107, a second calculation unit 5108, a second list storage unit 5110, a determination unit 5111, a final output unit 1112, and a control unit 1113.

図3に例示するように、第五実施形態の能力提供装置52は、例えば、第一出力情報計算部5201と第二出力情報計算部5202と鍵記憶部1204と制御部1205とを有する。   As illustrated in FIG. 3, the capability providing apparatus 52 according to the fifth embodiment includes, for example, a first output information calculation unit 5201, a second output information calculation unit 5202, a key storage unit 1204, and a control unit 1205.

図4に例示するように、第二実施形態の再暗号文取得装置53は、例えば、再暗号化装置5351と復号部1312と制御部1313と鍵記憶部1314とを有する。再暗号化装置5351の構成及び処理は図11の再暗号化装置51と同じである。   As illustrated in FIG. 4, the re-ciphertext acquisition device 53 of the second embodiment includes, for example, a re-encryption device 5351, a decryption unit 1312, a control unit 1313, and a key storage unit 1314. The configuration and processing of the re-encryption device 5351 are the same as those of the re-encryption device 51 of FIG.

<処理の前提>
再暗号化装置51の自然数記憶部5101には自然数bが記憶されておらず、自然数aのみが複数種類記憶されている。その他の前提は、上述の第一実施形態から第四実施形態の何れかと同様である。
<Processing premise>
The natural number storage unit 5101 of the re-encryption device 51 does not store the natural number b, and stores only a plurality of natural numbers a. The other premise is the same as that in any of the first to fourth embodiments described above.

<処理>
図12に例示するように、まず、再暗号化装置51(図11)の自然数選択部5102が、自然数記憶部5101に記憶された複数の自然数aから1つの自然数aをランダムに読み込む。読み込まれた自然数aの情報は、入力情報提供部5104及び第一べき乗計算部1106に送られる(ステップS5100)。
<Processing>
As illustrated in FIG. 12, first, the natural number selection unit 5102 of the re-encryption device 51 (FIG. 11) reads one natural number a randomly from a plurality of natural numbers a stored in the natural number storage unit 5101. The read information on the natural number a is sent to the input information providing unit 5104 and the first power calculation unit 1106 (step S5100).

制御部1113は、t=1とする(ステップS1102)。   The control unit 1113 sets t = 1 (step S1102).

入力情報提供部5104は、入力された第一暗号文C1にそれぞれ対応する第一入力情報τ及び第二入力情報τを生成して出力する。好ましくは、第一入力情報τ及び第二入力情報τはそれぞれ第一暗号文C1との関係をかく乱させた情報である。これにより、再暗号化装置51は、第一暗号文C1を能力提供装置52に対して隠蔽できる。また、好ましくは、本形態の第二入力情報τは自然数選択部5102で選択された自然数aにさらに対応する。これにより、能力提供装置52から提供された再暗号化能力を再暗号化装置51が高い精度で評価することが可能となる(ステップS5103)。第一入力情報τ及び第二入力情報τの組みの具体例は、第二実施形態から第四実施形態の何れかのb=1とした第一入力情報τ及び第二入力情報τの組みである。 The input information providing unit 5104 generates and outputs first input information τ 1 and second input information τ 2 corresponding to the input first ciphertext C1. Preferably, the first input information τ 1 and the second input information τ 2 are information that disturbs the relationship with the first ciphertext C1. Accordingly, the re-encryption device 51 can conceal the first ciphertext C1 from the capability providing device 52. In addition, preferably, the second input information τ 2 of this embodiment further corresponds to the natural number a selected by the natural number selection unit 5102. As a result, the re-encryption device 51 can evaluate the re-encryption capability provided from the capability providing device 52 with high accuracy (step S5103). Specific examples of the first input information tau 1 and the second input information tau 2 sets, one of b = 1 and the first input information tau 1 and the second input information of the fourth embodiment from the second embodiment tau It is a set of two .

図8に例示するように、第一入力情報τは能力提供装置52(図3)の第一出力情報計算部5201に入力され、第二入力情報τは第二出力情報計算部5202に入力される(ステップS5200)。 As illustrated in FIG. 8, the first input information τ 1 is input to the first output information calculation unit 5201 of the capability providing device 52 (FIG. 3), and the second input information τ 2 is input to the second output information calculation unit 5202. Input (step S5200).

第一出力情報計算部5201は、第一入力情報τと鍵記憶部1204に格納された第一復号鍵s及び第二暗号化鍵yとを用い、或る確率より大きな確率でf(τ)を正しく計算し、得られた計算結果を第一出力情報zとする(ステップS5201)。第二出力情報計算部5202は、第二入力情報τと鍵記憶部1204に格納された第一復号鍵s及び第二暗号化鍵yを用い、或る確率より大きな確率でf(τ)を正しく計算し、得られた演算結果を第二出力情報zとする(ステップS5202)。すなわち、第一出力情報計算部5201や第二出力情報計算部5202は、意図的又は意図的ではない誤差を含んだ計算結果を出力し得る。言い換えると、第一出力情報計算部5201での計算結果がf(τ)の場合もあればf(τ)でない場合もあり、第二出力情報計算部5202での計算結果がf(τ)の場合もあればf(τ)でない場合もある。第一出力情報z及び第二出力情報zの組の具体例は、第二実施形態から第四実施形態の何れかのb=1とした第一出力情報z及び第二出力情報zの組である。 The first output information calculation unit 5201 uses the first input information τ 1 and the first decryption key s 1 and the second encryption key y 2 stored in the key storage unit 1204, and f with a probability larger than a certain probability. (Τ 1 ) is correctly calculated, and the obtained calculation result is set as the first output information z 1 (step S5201). The second output information calculation unit 5202 uses the second input information τ 2 , the first decryption key s 1 and the second encryption key y 2 stored in the key storage unit 1204, and f ( τ 2 ) is correctly calculated, and the obtained calculation result is set as second output information z 2 (step S5202). That is, the first output information calculation unit 5201 and the second output information calculation unit 5202 can output a calculation result including an intentional or unintentional error. In other words, also when the calculation result in the first output information calculation section 5201 is not f Some cases of (τ 1) f (τ 1 ), the calculation result of the second output information calculation unit 5202 f (tau 2 ) or not f (τ 2 ). Specific examples of the set of first output information z 1 and the second output information z 2, the first output information z 1 and the second output information z of the second embodiment is either of b = 1 of the fourth embodiment It is a set of two .

第一出力情報計算部5201は第一出力情報zを出力し、第二出力情報計算部5202は第二出力情報zを出力する(ステップS5203)。 The first output information calculation unit 5201 outputs the first output information z 1, the second output information calculation unit 5202 outputs the second output information z 2 (step S5203).

図12に戻り、第一出力情報zは再暗号化装置51(図11)の第一計算部5105に入力され、第二出力情報zは第二計算部5108に入力される。これらの第一出力情報z及び第二出力情報zが、能力提供装置52から再暗号化装置51に与えられた再暗号化能力に相当する(ステップS5104)。 Returning to FIG. 12, the first output information z 1 is input to the first calculation unit 5105 of the re-encryption device 51 (FIG. 11), and the second output information z 2 is input to the second calculation unit 5108. The first output information z 1 and the second output information z 2 correspond to the re-encryption capability given from the capability providing device 52 to the re-encryption device 51 (step S5104).

第一計算部5105は、第一出力情報zから演算結果u=f(C1)xを生成する。演算結果uの具体例は、第二実施形態から第四実施形態の何れかのb=1とした演算結果uである。演算結果uは第一べき乗計算部1106に送られる(ステップS5105)。 First calculation unit 5105 generates the operation result u = f (C1) x 1 from the first output information z 1. A specific example of the calculation result u is the calculation result u in which b = 1 in the second embodiment to the fourth embodiment. The calculation result u is sent to the first power calculation unit 1106 (step S5105).

第一べき乗計算部1106はu’=uを計算する。計算結果uとその計算結果に基づいて計算されたu’との組(u,u’)は、第一リスト記憶部1107に記憶される(ステップS1106)。 The first power calculation unit 1106 calculates u ′ = u a . A set (u, u ′) of the calculation result u and u ′ calculated based on the calculation result is stored in the first list storage unit 1107 (step S1106).

第二計算部5108は、第二出力情報zから演算結果v=f(C1)を生成する。演算結果vの具体例は、第二実施形態から第四実施形態の何れかの演算結果vである。演算結果vは第二リスト記憶部5110に記憶される(ステップS5108)。 The second calculation unit 5108 generates the operation result v = f (C1) a x 2 from the second output information z 2. A specific example of the calculation result v is the calculation result v of any one of the second to fourth embodiments. The calculation result v is stored in the second list storage unit 5110 (step S5108).

判定部5111は、第一実施形態から第四実施形態の何れかと同様に、第一リスト記憶部1107に記憶された組(u,u’)及び第二リスト記憶部5110に記憶されたvの中で、u’とvとが互いに同一の平文に対する暗号文の類に属するものがあるかを判定する(ステップS5110)。同一の平文に対する暗号文の類に属するu’とvとの組があった場合には、ステップS5114に進む。同一の平文に対する暗号文の類に属するu’とvとの組がなかった場合には、ステップS1111に進む。   As in any of the first embodiment to the fourth embodiment, the determination unit 5111 includes the set (u, u ′) stored in the first list storage unit 1107 and the v stored in the second list storage unit 5110. Among them, it is determined whether or not u ′ and v belong to a ciphertext class for the same plaintext (step S5110). If there is a pair of u 'and v belonging to the same ciphertext class for the same plaintext, the process advances to step S5114. If there is no pair of u ′ and v belonging to the ciphertext class for the same plaintext, the process proceeds to step S1111.

ステップS1111では、制御部1113がt=Tであるか判定する(ステップS1111)。Tは予め定められた自然数である。t=Tであれば、最終出力部1113が、計算をすることができなかった旨の情報、例えば記号「⊥」を出力して(ステップS1113)、処理を終える。t=Tでない場合には、制御部1113は、tを1だけインクリメント、すなわちt=t+1として(ステップS1112)、ステップS5103に戻る。   In step S1111, the control unit 1113 determines whether t = T (step S1111). T is a predetermined natural number. If t = T, the final output unit 1113 outputs information indicating that the calculation could not be performed, for example, the symbol “⊥” (step S1113), and ends the process. If not t = T, the control unit 1113 increments t by 1, that is, sets t = t + 1 (step S1112), and returns to step S5103.

ステップS5114では、最終出力部1112が、同一の平文に対する暗号文の類に属すると判定されたu’とvとの組が含むu’に対応するuを出力する(ステップS5114)。このように得られたuは、第一実施形態から第四実施形態でb=1とした場合のub’a’に相当する。すなわち、このように得られたuは高い確率でf(C1)となる。よって、上述した処理を複数回繰り返し、ステップS5114で得られた値のうち最も頻度の高い値を第2暗号文C2とすればよい。また、後述するように、設定によっては圧倒的な確率でu=f(C1)となる。その場合にはステップS5114で得られた値をそのまま第2暗号文C2としてよい。 In step S5114, the final output unit 1112 outputs u corresponding to u ′ included in the set of u ′ and v determined to belong to the ciphertext class for the same plaintext (step S5114). The u thus obtained corresponds to u b ′ v a ′ when b = 1 in the first to fourth embodiments. That is, u obtained in this way becomes f (C1) with high probability. Therefore, the above-described processing is repeated a plurality of times, and the most frequently used value among the values obtained in step S5114 may be set as the second ciphertext C2. As will be described later, depending on the setting, u = f (C1) with an overwhelming probability. In that case, the value obtained in step S5114 may be used as it is as the second ciphertext C2.

≪f(C1)が得られる理由について≫
次に、本形態の再暗号化装置51で復号結果f(C1)が得られる理由を説明する。まず、説明に必要な事項を定義する。
≪Reason for obtaining f (C1) ≫
Next, the reason why the decryption result f (C1) is obtained by the re-encryption apparatus 51 of this embodiment will be described. First, the matters necessary for explanation are defined.

ブラックボックス(black−box):
f(τ)のブラックボックスF(τ)とは、τ∈Hを入力としてz∈Gを出力する処理部を意味する。本形態では、第一出力情報計算部5201及び第二出力情報計算部5202が、それぞれ関数f(τ)のブラックボックスF(τ)に相当する。群Hから任意に選択された元τ∈H及びz=F(τ)に対してz=f(τ)を満たす確率がδ(0<δ≦1)よりも大きい場合、すなわち、
Pr[z=f(τ)|τ∈H,z=F(τ)]>δ …(1)
を満たすf(τ)のブラックボックスF(τ)のことを、信頼性δ(δ−reliable)のf(τ)のブラックボックスF(τ)という。なお、δは正の値であり、前述した「或る確率」に相当する。
Black-box:
The black box F (τ) of f (τ) means a processing unit that inputs τεH and outputs zεG. In this embodiment, the first output information calculation unit 5201 and the second output information calculation unit 5202 correspond to the black box F (τ) of the function f (τ), respectively. If the probability of satisfying z = f (τ) for an element τε U H and z = F (τ) arbitrarily selected from group H is greater than δ (0 <δ ≦ 1),
Pr [z = f (τ) | τ∈ U H, z = F (τ)]> δ ... (1)
A black box F (τ) of f (τ) that satisfies the above is called a black box F (τ) of f (τ) with reliability δ (δ-reliable). Δ is a positive value and corresponds to the “certain probability” described above.

自己訂正器(self−corrector):
自己訂正器C(x)とは、x∈Hを入力とし、f(τ)のブラックボックスF(τ)を用いて計算を行い、j∈G∪⊥を出力する処理部を意味する。本形態では、再暗号化装置51が自己訂正器C(x)に相当する。
Self-corrector:
The self-corrector C F (x) means a processing unit that receives x∈H, performs calculation using the black box F (τ) of f (τ), and outputs j∈G∪⊥. In this embodiment, the re-encryption device 51 corresponds to the self-corrector C F (x).

オールモスト自己訂正器(almost self−corrector):
自己訂正器C(x)が、x∈Hを入力とし、δ−reliableのf(τ)のブラックボックスF(τ)を用い、正しい値j=f(x)を出力する確率が、誤った値j≠f(x)を出力する確率よりも十分大きい場合を想定する。すなわち、
Pr[j=f(x)|j=C(x),j≠⊥]
>Pr[j≠f(x)|j=C(x),j≠⊥]+Δ …(2)
を満たす場合を想定する。なお、Δは或る正の値(0<Δ<1)である。このような場合、自己訂正器C(x)はオールモスト自己訂正器であるという。例えば、或る正の値Δ’(0<Δ’<1)に対して
Pr[j=f(x)|j=C(x)]>(1/3)+Δ’
Pr[j=⊥|j=C(x)]<1/3
Pr[j≠f(x)かつj≠⊥|j=C(x)]<1/3
を満たす場合、自己訂正器C(x)はオールモスト自己訂正器である。Δ’の例はΔ’=1/12や1/3である。
Almost self-corrector:
If the self-corrector C F (x) receives x∈H and uses the black box F (τ) of f (τ) of δ-reliable, the probability that the correct value j = f (x) is output is incorrect. Assume that the value j ≠ f (x) is sufficiently larger than the probability of outputting. That is,
Pr [j = f (x) | j = C F (x), j ≠ ⊥]
> Pr [j ≠ f (x) | j = C F (x), j ≠ ⊥] + Δ (2)
Assuming that Δ is a certain positive value (0 <Δ <1). In such a case, the self-corrector C F (x) is said to be an all-most self-corrector. For example, Pr [j = f (x) | j = C F (x)]> (1/3) + Δ ′ for a certain positive value Δ ′ (0 <Δ ′ <1)
Pr [j = ⊥ | j = C F (x)] <1/3
Pr [j ≠ f (x) and j ≠ ⊥ | j = C F (x)] <1/3
If the condition is satisfied, the self-corrector C F (x) is an all-most self-corrector. Examples of Δ ′ are Δ ′ = 1/12 and 1/3.

ローバスト自己訂正器(robust self−corrector):
自己訂正器C(x)が、x∈Hを入力とし、δ−reliableのf(τ)のブラックボックスF(τ)を用い、正しい値j=f(x)又はj=⊥を出力する確率が圧倒的である場合を想定する。すなわち、無視することができる誤差ξ(0≦ξ<1)に対して
Pr[j=f(x)またはj=⊥|j=C(x)]>1−ξ …(3)
を満たす場合を想定する。このような場合、自己訂正器C(x)はローバスト自己訂正器であるという。なお、無視することができる誤差ξの例は、セキュリティパラメータkの関数値ξ(k)である。関数値ξ(k)の例は、任意の多項式p(k)について、十分大きいkに対して{ξ(k)p(k)}が0に収束するものである。関数値ξ(k)の具体例は、ξ(k)=2−kやξ(k)=2−√kなどである。
Robust self-corrector:
The self-corrector C F (x) takes x∈H as an input and outputs a correct value j = f (x) or j = ⊥ using a black box F (τ) of f (τ) of δ-reliable. Assume that the probability is overwhelming. That is, Pr [j = f (x) or j = ⊥ | j = C F (x)]> 1-ξ (3) with respect to an error ξ (0 ≦ ξ <1) that can be ignored.
Assuming that In such a case, the self-corrector C F (x) is said to be a robust self-corrector. An example of the error ξ that can be ignored is the function value ξ (k) of the security parameter k. An example of the function value ξ (k) is such that {ξ (k) p (k)} converges to 0 for a sufficiently large k for an arbitrary polynomial p (k). Specific examples of the function value ξ (k) are ξ (k) = 2− k and ξ (k) = 2− √k .

また、オールモスト自己訂正器からローバスト自己訂正器を構成することができる。すなわち、同一のxに対してオールモスト自己訂正器を複数回実行させ、⊥を除いて最も頻度が高い出力値をjとすることで、ローバスト自己訂正器を構成できる。例えば、同一のxに対してオールモスト自己訂正器をO(log(1/ξ))回実行させ、最も頻度が高い出力値をjとすることで、ローバスト自己訂正器を構成できる。なお、O(・)はオー記法を表す。   In addition, a robust self-corrector can be constructed from an all-most self-corrector. That is, a robust self-corrector can be configured by executing the all-most self-corrector a plurality of times for the same x and setting j as the most frequent output value excluding wrinkles. For example, a robust self-corrector can be constructed by executing an all-most self-corrector O (log (1 / ξ)) times for the same x and setting j as the most frequent output value. O (•) represents the O-notation.

擬似自由(pseudo−free)な作用:
群G、自然数の集合Ω={0,...,M}(Mは1以上の自然数)、群Gに値を持つ確率変数X,Xの各実現値α∈X(α≠e),β∈X、及びa∈Ωについて、α=βとなる確率
Pr[α=βかつα≠e|a∈Ω,α∈X,β∈X] …(4)
について、あらゆる可能なX,Xに関する上限値を、組(G,Ω)の疑似自由指標とよび、これをP(G,Ω)と表すことにする。ある無視することができる関数ζ(k)が存在して、
P(G,Ω)<ζ(k) …(5)
である場合、組(G,Ω)によって定義される演算は擬似自由な作用であるという。なお、「α」は、群Gで定義された演算をαに対してa回作用させることを意味する。また、無視することができる関数ζ(k)の例は、任意の多項式p(k)について、十分大きいkに対して{ζ(k)p(k)}が0に収束するものである。関数ζ(k)の具体例は、ζ(k)=2−kやζ(k)=2−√kなどである。例えば、セキュリティパラメータkとに対し、式(4)の確率がO(2−k)未満である場合、組(G,Ω)によって定義される演算は擬似自由な作用である。また、例えば、任意のα∈Gでα≠eであるものについて、集合Ω・α={a(α)|a∈Ω}の要素数|Ω・α|が2を超える場合、組(G,Ω)によって定義される演算は擬似自由な作用といえる。なお、a(α)は、aとαに所定の演算を作用させた結果を表す。このような具体例は数多く存在する。例えば、群Gが素数pを法とする剰余群Z/pZであり、素数pが2のオーダーであり、集合Ω={0,...,p−2}であり、a(α)がα∈Z/pZであり、α≠eである場合、Ω・α={α|a=0,...,p−2}={e,α,...,αp−2}となり、|Ω・α|=p−1である。素数pが2のオーダーであるため、ある定数Cが存在して、kが十分大きければ|Ω・α|>C2を満たす。ここで式(4)の確率はC−1−k未満であり、このような組(G,Ω)によって定義される演算は擬似自由な作用である。
Pseudo-free action:
Group G, set of natural numbers Ω = {0,. . . , M} (M is a natural number greater than or equal to 1 ), realization values α∈X 1 (α ≠ e g ), β∈X 2 , and a∈Ω of random variables X 1 and X 2 having values in group G , the probability becomes α a = β Pr [α a = β cutlet α ≠ e g | a∈ U Ω , α∈X 1, β∈X 2] ... (4)
For the upper limit value regarding every possible X 1, X 2, referred to as pseudo-free indicator of the set (G, Omega), which will be expressed as P (G, Ω). There is a function ζ (k) that can be ignored,
P (G, Ω) <ζ (k) (5)
The operation defined by the pair (G, Ω) is a pseudo-free action. “Α a ” means that the operation defined in the group G is applied to α a times. An example of the function ζ (k) that can be ignored is that {ζ (k) p (k)} converges to 0 for a sufficiently large k for an arbitrary polynomial p (k). Specific examples of the function ζ (k) include ζ (k) = 2 −k and ζ (k) = 2 −√k . For example, when the probability of Expression (4) is less than O (2- k ) with respect to the security parameter k, the operation defined by the set (G, Ω) is a pseudo-free action. Further, for example, for those that are alpha ≠ e g in any Arufa∈G, set Ω · α = {a (α ) | a∈Ω} number of elements | Ω · α | if exceeding 2 k, the set The operation defined by (G, Ω) is a pseudo-free action. Note that a (α) represents the result of applying a predetermined calculation to a and α. There are many such examples. For example, the group G is a residue group Z / pZ modulo a prime number p, the prime number p is on the order of 2 k , and the set Ω = {0,. . . A p-2}, a a (alpha) is alpha a ∈ Z / pZ, if it is α ≠ e g, Ω · α = {α a | a = 0 ,. . . , P-2} = {eg, α 1 ,. . . , Α p−2 }, and | Ω · α | = p−1. Since prime p is of the order of 2 k, then there exists a constant C, if k is sufficiently large | Ω · α |> meet C2 k. Here, the probability of the equation (4) is less than C - 12- k , and the operation defined by such a set (G, [Omega]) is a pseudo-free action.

信頼性δγ(δγ−reliable)の乱数化可能標本器:
自然数aが与えられるたびに、δ−reliableのf(τ)のブラックボックスF(τ)を用い、w∈Gについて、確率変数Xに従った標本x’に対応するwx’を返す乱数化可能標本器であって、wx’=wである確率がδγよりも大きい(γは正定数)、すなわち、
Pr[wx’=w]>δγ …(6)
を満たすものを、信頼性δγの乱数化可能標本器という。本形態の入力情報提供部5104と第二出力情報計算部5202と第二計算部5108との組は、w=f(x)について、信頼性δγの乱数化可能標本器である。
A randomizable sampler with reliability δ γγ -reliable):
Each time a natural number a is given, a random number that uses a black box F (τ) of f (τ) of δ-reliable and returns w a x ′ corresponding to a sample x ′ according to a random variable X for w∈G a reduction can sampler, w a x '= w a is greater than [delta] gamma probability is (gamma positive constant), i.e.,
Pr [w a x ′ = w a ]> δ γ (6)
A sampler that satisfies the above condition is called a randomizable sampler with reliability δγ. Set of input information providing unit 5104 of the present embodiment and the second output information calculation unit 5202 and the second calculation unit 5108, for w = f (x), is a random number of possible sampler reliability [delta] gamma.

次に、これらの定義を用い、本形態の再暗号化装置51でf(C1)が得られる理由を説明する。   Next, the reason why f (C1) is obtained by the re-encryption apparatus 51 of this embodiment will be described using these definitions.

本形態のステップS5110では同一の平文に対する暗号文の類に属するu’とvとの組があるか、すなわち、同一の平文に対する暗号文の類に属するuとvとの組があるかを判定している。本形態の入力情報提供部5104と第二出力情報計算部5202と第二計算部5108との組は信頼性δγの乱数化可能標本器であるため(式(6))、Tをk、δ、γから定まる一定値よりも大きい値とすれば、漸近的に大きい確率でuとvとが同一の平文に対する暗号文の類に属することになる(ステップS5110でyesとなる)場合が生じる。たとえば、T≧4/δγとすれば、uとvとが同一の平文に対する暗号文の類に属する(ステップS5110でyesとなる)確率は1/2よりも大きいことがMarkovの不等式によってわかる。 In step S5110 of this embodiment, whether there is a pair of u ′ and v belonging to the ciphertext class for the same plaintext, that is, whether there is a pair of u a and v belonging to the ciphertext class for the same plaintext. Judgment. For set of input information providing unit 5104 of the present embodiment and the second output information calculation unit 5202 and the second calculation unit 5108 is a random number of possible sampler reliability [delta] gamma (equation (6)), the T k, If the value is larger than a constant value determined from δ and γ, u a and v belong to the same ciphertext class for the same plaintext with an asymptotically high probability (yes in step S5110). Arise. For example, if T ≧ 4 / δ γ, by belonging to the class of ciphertext and u a and v for the same plaintext (a yes in step S5110) probability inequality Markov to be greater than 1/2 Recognize.

また、本形態ではu=f(C1)x及びv=f(C1)なのであるから、uとvとが同一の平文に対する暗号文の類に属する場合にはD(s,f(C1)x)=D(s,f(C1)x 1/a)が成立する。ただし、D(s,υ)は第二暗号化方式に則ってυ∈Gを第二復号鍵sで復号するための関数を表す。この場合、第2暗号化方式が確定暗号方式なのであればx =xが成立する。また、第2暗号化方式が確率暗号方式であったとしてもf(C1)が準同型関数なのであればx =xが成立する。 Further, in this embodiment u = f (C1) x 1 and v = f (C1) because there so a x 2, in the case where the u a and v belong to the class of the ciphertext for the same plaintext D (s 2 , f (C1) x 1) = D (s 2, f (C1) x 2 1 / a) is satisfied. However, D (s 2 , υ) represents a function for decrypting νεG with the second decryption key s 2 in accordance with the second encryption method. In this case, if the second encryption method is a definite encryption method, x 1 a = x 2 is established. Even if the second encryption method is a stochastic encryption method, if f (C1) is a homomorphic function, x 1 a = x 2 holds.

=xが成立する場合には、x=x=eである場合とx≠eである場合とがある。x=x=eである場合には、u=f(C1)となるのであるから、ステップS5114で出力されるuは正しいf(C1)となる。一方、x≠eである場合には、u≠f(C1)となるのであるから、ステップS5114で出力されるuは正しいf(C1)ではない。 if x 1 a = x 2 is established, and a case is x 1 = x 2 = e If a g and x 1e g. If it is x 1 = x 2 = e g, since it is of a u = f (C1), u is output in step S5114 is correct f (C1). On the other hand, in the case of x 1e g, since it is of a u ≠ f (C1), u is output in step S5114 is not the right f (C1).

群Gと自然数aが属する集合Ωとの組(G,Ω)によって定義される演算が擬似自由な作用であるか、疑似自由指標P(G,Ω)についてTP(G,Ω)が漸近的に小さい場合、x =xの場合にx≠eである確率(式(4))は漸近的に小さい。したがって、x =xの場合にx=eである確率は漸近的に大きい。よって、組(G,Ω)によって定義される演算が擬似自由な作用であるか、TP(G,Ω)が漸近的に小さい場合、uとvとが同一の平文に対する暗号文の類に属する場合に誤ったf(C1)が出力される確率は、uとvとが同一の平文に対する暗号文の類に属する場合に正しいf(C1)が出力される確率よりも十分小さい。この場合の再暗号化装置51はオールモスト自己訂正器であるといえる(式(2)参照)。そのため、前述のように、再暗号化装置51からローバスト自己訂正器を構成することが可能であり、圧倒的な確率で正しいf(C1)を得ることができる。(G,Ω)で定義される演算が疑似自由な作用である場合には、uとvとが同一の平文に対する暗号文の類に属する場合に誤ったf(C1)が出力される確率も無視できる。この場合の再暗号化装置51は、圧倒的な確率で正しいf(C1)または⊥を出力する。 Whether the operation defined by the group (G, Ω) of the group G and the set Ω to which the natural number a belongs is a pseudo-free action, or T 2 P (G, Ω) is about the pseudo-free index P (G, Ω) If asymptotically small probability of x 1e g in the case of x 1 a = x 2 (formula (4)) is asymptotically small. Thus, the probability that x 1 = e g in the case of x 1 a = x 2 is asymptotically large. Therefore, if the operation defined by the pair (G, Ω) is a pseudo-free action, or if T 2 P (G, Ω) is asymptotically small, the ciphertext for the plaintext with the same u a and v The probability that an incorrect f (C1) is output when belonging to a class is sufficiently smaller than the probability that a correct f (C1) is output when u a and v belong to the same ciphertext class for the same plaintext. . In this case, the re-encryption device 51 can be said to be an all-most self-corrector (see equation (2)). Therefore, as described above, a robust self-corrector can be configured from the re-encryption device 51, and correct f (C1) can be obtained with an overwhelming probability. When the operation defined by (G, Ω) is a pseudo-free action, the probability that erroneous f (C1) is output when u a and v belong to the same ciphertext class for the same plaintext Can be ignored. In this case, the re-encryption device 51 outputs correct f (C1) or ⊥ with an overwhelming probability.

なお、任意の定数ρに対してkが定まり、このkに対してk<k’を満たす任意のk’に対する関数値η(k’)がρ未満となる場合「η(k’)が漸近的に小さい」という。k’の例はセキュリティパラメータkである。また、任意の定数ρに対してkが定まり、このkに対してk<k’を満たす任意のk’に対する関数値1−η(k’)がρ未満となる場合「η(k’)が漸近的に大きい」という。 If k 0 is determined for an arbitrary constant ρ, and the function value η (k ′) for an arbitrary k ′ that satisfies k 0 <k ′ for this k 0 is less than ρ, “η (k ′ ) Is asymptotically small. " An example of k ′ is a security parameter k. Further, Sadamari is k 0 for any constant [rho, for this k 0 k 0 <If function value for 'any k satisfying' k 1-eta of (k ') is less than [rho "eta ( k ′) is asymptotically large ”.

また、aをa/bに置換すれば分かるように、上述の証明は第一実施形態で述べた「u’とv’とが互いに同一の平文に対する暗号文の類に属するのは、第一乱数化可能標本器がu=f(C1)を正しく計算しており、第二乱数化可能標本器がv=f(C1)を正しく計算している(x及びxが群Gの単位元eである)可能性が高い」ことの証明ともなる。 Further, as can be seen by replacing a with a / b, the above proof is that “u ′ and v ′ belong to the ciphertext class for the same plaintext as described in the first embodiment. randomizing allows sampler has correctly calculate u = f (C1) b, the second random number of possible sampler is v = f (C1) is correctly calculate a (x 1 and x 2 is the group G also a unit which is based on e g) is likely "that proof.

《信頼性δγの乱数化可能標本器と安全性について》
以下のような攻撃を想定する。
《Reliable δγ randomizable sampler and safety》
Assume the following attacks.

・ブラックボックスF(τ)又はその部分が意図的に不正なzを出力する、又は、ブラックボックスF(τ)から出力された値が不正なzに改ざんされる。   The black box F (τ) or its part intentionally outputs an incorrect z, or the value output from the black box F (τ) is altered to an incorrect z.

・不正なzに対応するwx’が乱数化可能標本器から出力される。 -W a x 'corresponding to an illegal z is output from a randomizable sampler.

・不正なzに対応するwx’は、自己訂正器C(C1)にuとvとが同一の平文に対する暗号文の類に属すると判定させる(ステップS5110でyesなる)にもかかわらず、自己訂正器C(C1)が誤った値を出力する確率を増加させる。 The w a x ′ corresponding to illegal z also causes the self-corrector C F (C1) to determine that u a and v belong to the same ciphertext class for the same plaintext (yes in step S5110). Regardless, it increases the probability that the self-corrector C F (C1) will output an incorrect value.

このような攻撃は、与えられた自然数aに対して乱数化可能標本器から出力されたwx’の誤差の確率分布D=wx’w−aが自然数aに依存する場合に可能となる。例えば、第二計算部5108から出力されるvがf(C1) となるような不正が行われた場合、xの値にかかわらず、必ずu=vが成立してuとvとが同一の平文に対する暗号文の類に属すると判定されることになる。よって、与えられた自然数aに対して乱数化可能標本器から出力されたwx’の誤差の確率分布D=wx’w−aが当該自然数aに依存しないことが望ましい。 Such attacks, if the probability distribution of the error of the output from the random number of possible sampler against natural number a given w a x 'D a = w a x'w -a depends on the natural number a It becomes possible. For example, if a fraud is performed such that v output from the second calculation unit 5108 is f (C1) a x 1 a , u a = v is always satisfied regardless of the value of x 1 and u It is determined that a and v belong to a ciphertext class for the same plaintext. Therefore, the error probability distribution D a = w a x'w -a given w a x output from the random number of possible sampler against natural number a 'does not depend on the natural number a is desirable.

あるいは、集合Ωのいかなる元a∈Ωについても、wx’の誤差の確率分布D=wx’w−aと区別することができない群Gに値を持つ確率分布Dが存在する(確率分布Dと確率分布Dとが統計的に近似する(statistically−close))乱数化可能標本器であることが望ましい。なお、確率分布Dは自然数aに依存しない。また、確率分布Dと確率分布Dとを区別することができないとは、多項式時間アルゴリズムによって確率分布Dと確率分布Dとを区別することができないことを意味し、例えば、無視することができるζ(0≦ζ<1)に対して
Σg∈G|Pr[g∈D]−Pr[g∈D]|<ζ …(7)
を満たすならば、多項式時間アルゴリズムによって確率分布Dと確率分布Dとを区別することができない。無視することができるζの例は、セキュリティパラメータkの関数値ζ(k)である。関数値ζ(k)の例は、任意の多項式p(k)について、十分大きなkに対して{ζ(k)p(k)}が0に収束するものである。関数値ζ(k)の具体例は、ζ(k)=2−kやζ(k)=2−√kなどである。また、これらの点は自然数a及びbを使用する第一実施形態から第四実施形態についても同様である。
Alternatively, for any original a∈ Ω set Omega, there are w a probability distribution of the error in x 'D a = w a x'w -a probability distribution D having a value in the group G can not be distinguished It is desirable that the sampler be a randomizable sampler (the probability distribution D a and the probability distribution D are statistically approximated). The probability distribution D does not depend on the natural number a. Further, the inability to distinguish between probability distributions D a probability distribution D, which means that it is impossible to distinguish between the probability distribution D a probability distribution D by a polynomial time algorithm, for example, be ignored For possible ζ (0 ≦ ζ <1), ΣgεG | Pr [gεD] −Pr [gεD a ] | <ζ (7)
If it satisfies, the probability distribution D a and the probability distribution D cannot be distinguished by the polynomial time algorithm. An example of ζ that can be ignored is the function value ζ (k) of the security parameter k. An example of the function value ζ (k) is such that {ζ (k) p (k)} converges to 0 for a sufficiently large k for an arbitrary polynomial p (k). Specific examples of the function value ζ (k) include ζ (k) = 2 −k and ζ (k) = 2 −√k . These points are the same in the first to fourth embodiments using the natural numbers a and b.

《その他》
第一実施形態から第四実施形態と同様、再暗号文取得装置53がローカルに含む再暗号化装置5351に第一暗号文C1が入力され、再暗号化装置5351と能力提供装置52との間で、前述の図8及び図12に記載された処理が実行されてもよい。この処理は例えば再暗号化装置51が再暗号化装置5351に置換された処理となる。或いは、この処理の際、上述した能力提供装置52の処理の少なくとも一部が再暗号化装置51によって実行されてもよい。また再暗号化装置5351は、再暗号化装置51及び能力提供装置52がそれぞれどのような処理を行っているかを知る必要はない。少なくとも、再暗号化装置51及び能力提供装置52からなるシステムとして図8に記載された処理が実行されればよい。
<Others>
As in the first to fourth embodiments, the first ciphertext C1 is input to the re-encryption device 5351 included locally in the re-ciphertext acquisition device 53, and the re-encryption device 5351 and the capability providing device 52 are connected. Thus, the processing described in FIGS. 8 and 12 may be executed. This processing is, for example, processing in which the re-encryption device 51 is replaced with the re-encryption device 5351. Alternatively, at the time of this processing, at least a part of the processing of the capability providing device 52 described above may be executed by the re-encryption device 51. Further, the re-encryption device 5351 does not need to know what processing each of the re-encryption device 51 and the capability providing device 52 performs. As long as the system includes at least the re-encryption device 51 and the capability providing device 52, the process illustrated in FIG.

[変形例等]
確率変数X、X及びXは、同じでも異なっていてもよい。
[Modifications, etc.]
The random variables X 1 , X 2 and X 3 may be the same or different.

第一乱数生成部、第二乱数生成部、第三乱数生成部のそれぞれは、一様乱数を生成することにより、再暗号化システムの安全性が最も高くなる。しかし、求める安全性のレベルがそれほど高くない場合には、第一乱数生成部、第二乱数生成部、第三乱数生成部の少なくとも一部が、一様乱数ではない乱数を生成してもよい。また、演算効率上からは、上述の各実施形態のように、選択される自然数の乱数は0以上K未満の自然数であることが望ましいが、それの代わりにK以上の自然数の乱数が選択されてもよい。 Each of the first random number generation unit, the second random number generation unit, and the third random number generation unit generates the uniform random number, so that the re-encryption system is most secure. However, if the required level of security is not so high, at least some of the first random number generator, the second random number generator, and the third random number generator may generate random numbers that are not uniform random numbers. . Also, from the computational efficiency, as in the embodiments described above, it is desirable is a natural number of random numbers to be selected is a natural number from 0 to less than K H, is K H or more random natural number in place of it It may be selected.

再暗号化装置が同一のa,bに対応する第一入力情報τ及び第二入力情報τを能力提供装置に提供するたびに、能力提供装置の処理が複数回実行させてもよい。これにより、再暗号化装置が第一入力情報τ及び第二入力情報τを能力提供装置に一回提供するたびに、再暗号化装置は第一出力情報zや第二出力情報zや第三出力情報zを複数個得ることができる。これにより、再暗号化装置と能力提供装置との間のやり取り回数や通信量を減らすことができる。 Each time the re-encrypting device provides the first input information τ 1 and the second input information τ 2 corresponding to the same a and b to the capability providing device, the processing of the capability providing device may be executed a plurality of times. As a result, each time the re-encryption device provides the first input information τ 1 and the second input information τ 2 to the capability providing device once, the re-encryption device recognizes the first output information z 1 and the second output information z. 2 and a plurality of third output information z 3 can be obtained. Thereby, the frequency | count of communication and the communication amount between a re-encryption apparatus and a capability provision apparatus can be reduced.

また、再暗号化装置が複数種類の第一入力情報τ及び第二入力情報τを能力提供装置にまとめて提供し、対応する第一出力情報zや第二出力情報zや第三出力情報zを複数個まとめて取得してもよい。これにより、再暗号化装置と能力提供装置との間のやり取り回数を減らすことができる。 Further, the re-encryption device collectively provides a plurality of types of first input information τ 1 and second input information τ 2 to the capability providing device, and the corresponding first output information z 1 , second output information z 2 , it may be acquired together a plurality of third output information z 3. As a result, the number of exchanges between the re-encryption device and the capability providing device can be reduced.

再暗号化装置の各部間のデータのやり取りは直接行われてもよいし、図示していない記憶部を介して行われてもよい。同様に、能力提供装置や再暗号文取得装置の各部間のデータのやり取りは直接行われてもよいし、図示していない記憶部を介して行われてもよい。   Data exchange between the units of the re-encryption device may be performed directly or via a storage unit (not shown). Similarly, data exchange between the units of the capability providing apparatus and the re-ciphertext acquisition apparatus may be performed directly or may be performed via a storage unit (not shown).

また、各実施形態の第一計算部や第二計算部において得られたuやvが群Gの元であるかを確認し、群Gの元であった場合には上述した処理を続行し、u又はvが群Gの元でなかった場合には、計算をすることができなかった旨の情報、例えば記号「⊥」が出力されてもよい。   In addition, it is confirmed whether u and v obtained in the first calculation unit and the second calculation unit of each embodiment are elements of the group G. If they are elements of the group G, the above-described processing is continued. If u, v or v is not an element of the group G, information indicating that the calculation could not be performed, for example, the symbol “⊥” may be output.

その他、本発明は上述の実施形態に限定されるものではない。例えば、上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。   In addition, the present invention is not limited to the above-described embodiment. For example, the various processes described above are not only executed in time series according to the description, but may also be executed in parallel or individually as required by the processing capability of the apparatus that executes the processes. Needless to say, other modifications are possible without departing from the spirit of the present invention.

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

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

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

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

1〜5 再暗号化システム
11〜51 再暗号化装置
12〜52 能力提供装置
13〜53 再暗号文取得装置
1 to 5 Re-encryption system 11 to 51 Re-encryption device 12 to 52 Capability providing device 13 to 53 Re-ciphertext acquisition device

Claims (18)

再暗号化装置と能力提供装置とを有し、
G,Hが有限可換群、fが第一暗号化方式に則って平文mを第一暗号化鍵yで暗号化して得られた群Hの元である第一暗号文C1が与えられたとき、当該第一暗号文C1を、第二暗号化方式に則って前記平文mを第二暗号化鍵yで暗号化して得られる群Gの元である第二暗号文f(C1)=C2に変換するための関数、a,bが互いに素である自然数、第二暗号化方式に則って当該平文を前記第二暗号化鍵yで暗号化して得られる可能性がある暗号文を要素とする集合を当該暗号文が属する暗号文の類、X,Xが群Gに値を持つ確率変数、xが確率変数Xの実現値、xが確率変数Xの実現値であり、
前記再暗号化装置が、
前記第一暗号文C1に対応する群Hの元である第一入力情報τ及び第二入力情報τを出力する入力情報提供部を含み、
前記能力提供装置が、
前記第一入力情報τを用い、或る確率より大きな確率でf(τ)を正しく計算し、得られた演算結果を第一出力情報zとする第一出力情報生成部と、
前記第二入力情報τを用い、或る確率より大きな確率でf(τ)を正しく計算し、得られた演算結果を第二出力情報zとする第二出力情報生成部と、を含み、
前記再暗号化装置が、さらに
前記第一出力情報zから演算結果u=f(C1)を生成する第一計算部と、
前記第二出力情報zから演算結果v=f(C1)を生成する第二計算部と、
前記演算結果uに対する値uと前記演算結果vに対する値vとが互いに同一の暗号文の類に属する場合に、a’a+b’b=1を満たす整数a’,b’についての値ub’a’を出力する最終出力部と、を含む、
再暗号化システム。
A re-encryption device and a capability providing device;
G, H finite friendly換群, f is first ciphertext C1 is given a plaintext m in accordance with the first encryption method first encryption key y 1 in encrypted-obtained group H of the original when in, the first ciphertext C1, the plaintext m in accordance with the second encryption system which is the second encryption key y 2 in the original group G obtained by encrypting the second ciphertext f (C1) A function for converting to C2, a natural number where a and b are relatively prime, and a ciphertext that may be obtained by encrypting the plaintext with the second encryption key y 2 in accordance with the second encryption scheme Is a class of ciphertexts to which the ciphertext belongs, X 1 and X 2 are random variables having values in the group G, x 1 is an actual value of the random variable X 1 , and x 2 is a random variable X 2 Realized value
The re-encryption device is
An input information providing unit that outputs first input information τ 1 and second input information τ 2 that are elements of the group H corresponding to the first ciphertext C1;
The capability providing device is
A first output information generating unit that correctly calculates f (τ 1 ) with a probability larger than a certain probability using the first input information τ 1 and sets the obtained calculation result as first output information z 1 ;
Using the second input information τ 2 to correctly calculate f (τ 2 ) with a probability greater than a certain probability, and to obtain a second output information z 2 as the second output information z 2 Including
The re-encryption device further generates a calculation result u = f (C1) b x 1 from the first output information z 1 ;
A second calculation unit that generates a calculation result v = f (C1) a x 2 from the second output information z 2 ;
When the value u a for the operation result u and the value v b for the operation result v belong to the same ciphertext class, the values u for integers a ′ and b ′ satisfying a′a + b′b = 1. a final output unit that outputs b ′ v a ′ ,
Re-encryption system.
請求項1の再暗号化システムであって、
前記再暗号化装置が、前記自然数a,bの少なくとも一方を選択する自然数選択部を含み、
前記第一入力情報τが、前記自然数bにさらに対応し、前記第二入力情報τが、前記自然数aにさらに対応する、
再暗号化システム。
The re-encryption system of claim 1, comprising:
The re-encryption device includes a natural number selection unit that selects at least one of the natural numbers a and b;
The first input information τ 1 further corresponds to the natural number b, and the second input information τ 2 further corresponds to the natural number a.
Re-encryption system.
請求項1又は2の再暗号化システムにおいて、
前記入力情報提供部が、前記第一暗号文C1との関係をかく乱させた情報を前記第一入力情報τ及び前記第二入力情報τとする、
再暗号化システム。
The re-encryption system according to claim 1 or 2,
The input information providing unit sets the information that disturbs the relationship with the first ciphertext C1 as the first input information τ 1 and the second input information τ 2 .
Re-encryption system.
請求項1から3の何れかのの再暗号化システムにおいて、
前記関数fが準同型関数である、
再暗号化システム。
The re-encryption system according to any one of claims 1 to 3,
The function f is a homomorphic function;
Re-encryption system.
請求項1から4の何れかの再暗号化システムであって、
前記関数fが準同型関数であり、
前記入力情報提供部が、
群Hの任意の元を生成する第一乱数生成部と、
前記第一暗号化方式に則って前記元を前記第一暗号化鍵yで暗号化して得られた群Hの元C1’に対応するC1C1’を前記第一入力情報τとして得る第一入力情報計算部と、
群Hの任意の元を生成する第二乱数生成部と、
前記第一暗号化方式に則って前記元を前記第一暗号化鍵yで暗号化して得られた群Hの元C1”に対応するC1C1”を前記第二入力情報τとして得る第二入力情報計算部と、
前記第一出力情報計算部は、前記第一入力情報C1C1’を用い、或る確率より大きな確率でf(C1C1’)を正しく計算し、得られた計算結果を前記第一出力情報zとし、
前記第二出力情報計算部は、前記第二入力情報C1C1”を用い、或る確率より大きな確率でf(C1C1”)を正しく計算し、得られた計算結果を第二出力情報zとし、
前記第一計算部は、前記第二暗号化方式に則って前記元を前記第二暗号化鍵yで暗号化して得られた群Hの元C2’に対応するz(C2’)−1を前記uとし、
前記第二計算部は、前記第二暗号化方式に則って前記元を前記第二暗号化鍵yで暗号化して得られた群Hの元C2”に対応するz(C2”)−1を前記vとする、
再暗号化システム。
The re-encryption system according to any one of claims 1 to 4,
The function f is a homomorphic function;
The input information providing unit
A first random number generator for generating an arbitrary element h r 1 of the group H;
C1 b C1 ′ corresponding to the element C1 ′ of the group H obtained by encrypting the element h r 1 with the first encryption key y 1 in accordance with the first encryption method is used as the first input information τ. A first input information calculation unit obtained as 1,
A second random number generator for generating an arbitrary element h r 2 of the group H;
C1 a C1 ″ corresponding to the element C1 ″ of the group H obtained by encrypting the element h r 2 with the first encryption key y 1 according to the first encryption method is used as the second input information τ. A second input information calculation unit obtained as 2;
The first output information calculation unit correctly calculates f (C1 b C1 ′) with a probability larger than a certain probability using the first input information C1 b C1 ′, and the obtained calculation result is the first output. Information z 1 and
The second output information calculation unit correctly calculates f (C1 a C1 ″) with a probability larger than a certain probability using the second input information C1 a C1 ″, and obtains the obtained calculation result as the second output information. z 2 and
The first calculation unit z 1 (C2) corresponding to the element C2 ′ of the group H obtained by encrypting the element h r 1 with the second encryption key y 2 according to the second encryption method. ') Let -1 be u,
The second calculation unit z 2 (C2 corresponding to the element C2 ″ of the group H obtained by encrypting the element h r 2 with the second encryption key y 2 in accordance with the second encryption method. ”) −1 is said v,
Re-encryption system.
請求項1から5の何れかの再暗号化システムにおいて、
前記関数fが準同型関数、群Gが群G,Gの直積G×G、μg1が群Gの生成元、μg2が群Gの生成元、sが前記第二暗号化鍵yに対応する復号鍵、前記第二暗号化鍵yがμg2 s2、rが整数の乱数、前記第二暗号文C2が(μg1 ,my )、前記値uが(c1u,c2u)∈G×G、前記値vが(c1v,c2v)∈G×G、e(α,β)が(α,β)∈G×Gに対して有限可換群Gの元を与える双線形写像であり、
前記最終出力部は、関係e(μg1,c2u)/e(c1u,y)=e(μg1,c2v)/e(c1v,y)を満たす場合に前記値ub’a’を出力する、
再暗号化システム。
The re-encryption system according to any one of claims 1 to 5,
Wherein the function f is homomorphic function, direct product G 1 × G 2 group G is a group G 1, G 2, mu g1 is generator of the group G 1, mu g2 is generator of the group G 2, s 2 is the second decryption key corresponding to the second encryption key y 2, the second encryption key y 2 is mu g2 s2, r is an integer random number, the second ciphertext C2 is (μ g1 r, my 2 r ), the value u a is (c 1u , c 2u ) εG 1 × G 2 , the value v b is (c 1v , c 2v ) εG 1 × G 2 , e (α, β) is (α, β) εG against 1 × G 2 is a bilinear mapping that gives the original finite-friendly換群G T,
The final output unit satisfies the value u b when the relationship e (μ g1 , c 2u ) / e (c 1u , y 2 ) = e (μ g1 , c 2v ) / e (c 1v , y 2 ) is satisfied. output ' va ' ,
Re-encryption system.
請求項6の再暗号化システムであって、
Nが素数ωと素数ιの合成数、前記群G,Gがそれぞれ前記合成数Nを法とした剰余環上で定義された第一楕円曲線上の点からなる部分群、G1ω,G2ωが前記素数ωを法とした剰余体上で定義された第二楕円曲線上の点からなる部分群、G1ι,G2ιが前記素数ιを法とした剰余体上で定義された第三楕円曲線上の点からなる部分群、eω(αω,βω)が(αω,βω)∈G1ω×G2ωに対して有限可換群GTωの元を与える第二双線形写像、eι(αι,βι)が(αι,βι)∈G1ι×G2ιに対して有限可換群GTιの元を与える第三双線形写像、HMが前記第一楕円曲線上の点を前記第二楕円曲線上の点と前記第三楕円曲線上の点とに写す同型写像、HM−1が前記同型写像HMの逆像であり、
前記再暗号化装置は、
前記同型写像HMを用いて前記第一楕円曲線上の点αを前記第二楕円曲線上の点θω(α)と前記第三楕円曲線上の点θι(α)とに写し、前記同型写像HMを用いて前記第一楕円曲線上の点βを前記第二楕円曲線上の点θω(β)と前記第三楕円曲線上の点θι(β)とに写し、eω(θω(α),θω(β))及びeι(θι(α),θι(β))を求め、eω(θω(α),θω(β))及びeι(θι(α),θι(β))に対する前記逆像HM−1をe(α,β)として求め、前記関係を満たすか否かを判定する判定部をさらに含む、
再暗号化システム。
The re-encryption system of claim 6,
N is a composite number of a prime number ω and a prime number ι, and the groups G 1 and G 2 are each a subgroup consisting of points on a first elliptic curve defined on a remainder ring modulo the composite number N, G , G is a subgroup consisting of points on the second elliptic curve defined on the remainder field modulo the prime number ω, and G and G are the second groups defined on the remainder field modulo the prime number ι. A subgroup consisting of points on the three elliptic curves, e ωω , β ω ) gives the element of the finite commutative group G for (α ω , β ω ) ∈G × G linear mapping, e ι (α ι, β ι) is (α ι, β ι) ∈G 1ι × G third bilinear mapping that gives a finite-friendly換群G Tiiota former relative 2ι, HM is the first An isomorphism mapping HM -1 to a point on the second elliptic curve and a point on the third elliptic curve, and HM -1 is an inverse image of the isomorphism HM,
The re-encryption device is
Using the isomorphism HM, the point α on the first elliptic curve is mapped to the point θ ω (α) on the second elliptic curve and the point θ ι (α) on the third elliptic curve, and the isomorphism Using the mapping HM, the point β on the first elliptic curve is mapped to the point θ ω (β) on the second elliptic curve and the point θ ι (β) on the third elliptic curve, and e ωω (α), θ ω (β)) and e ιι (α), θ ι (β)) are obtained, and e ωω (α), θ ω (β)) and e ι (θ further including a determination unit that obtains the inverse image HM −1 for ι (α), θ ι (β)) as e (α, β) and determines whether or not the relationship is satisfied.
Re-encryption system.
請求項1から4の何れかの再暗号化システムにおいて、
前記関数fが準同型関数、μが群Hの生成元、Kが群Hの位数、ν=f(μ)であり、
前記入力情報提供部は、
0以上の自然数の乱数rを生成する第一乱数生成部と、
前記第一入力情報τとしてμ r1C1を計算する第一入力情報計算部と、
0以上の自然数の乱数rを生成する第二乱数生成部と、
前記第二入力情報τとしてμ r2C1を計算する第二入力情報計算部と、を含み、
前記第一出力情報計算部が、前記第一入力情報μ r1C1を用い、或る確率より大きな確率でf(μ r1C1)を正しく計算し、得られた計算結果を前記第一出力情報zとし、
前記第二出力情報計算部は、前記第二入力情報μ r2C1を用い、或る確率より大きな確率でf(μ r2C1)を正しく計算し、得られた計算結果を第二出力情報zとし、
前記第一計算部は、zν−r1を計算してその計算結果を前記uとし、
前記第二計算部は、zν−r2を計算してその計算結果を前記vとする、
再暗号化システム。
The re-encryption system according to any one of claims 1 to 4,
The function f is a homomorphic function, μ h is a generator of the group H, K H is the order of the group H, ν = f (μ h ),
The input information providing unit
A first random number generator that generates a random number r 1 of a natural number greater than or equal to 0;
A first input information calculation unit for calculating μ h r1 C1 b as the first input information τ 1 ;
A second random number generator that generates a random number r 2 of a natural number greater than or equal to 0;
A second input information calculation unit for calculating μ h r2 C1 a as the second input information τ 2 ,
The first output information calculation unit correctly calculates f (μ h r1 C1 b ) with a probability larger than a certain probability using the first input information μ h r1 C1 b , and obtains the obtained calculation result in the first One output information z 1
The second output information calculation unit correctly calculates f (μ h r2 C1 a ) with a probability larger than a certain probability using the second input information μ h r2 C1 a , and obtains the obtained calculation result as the second Output information z 2
The first calculation unit calculates z 1 v −r1 and sets the calculation result as u,
The second calculation unit calculates z 2 v −r2 and sets the calculation result as v.
Re-encryption system.
請求項8の再暗号化システムにおいて、
前記第一乱数生成部が、b≠1のときに前記乱数rを生成し、
前記第一入力情報計算部が、b≠1のときに前記第一入力情報τとして前記μ r1C1を計算し、
前記第一出力情報計算部が、b≠1のときに前記第一入力情報μ r1C1を用いて得られた前記計算結果を前記第一出力情報zとし、
前記第一計算部が、b≠1のときにzν−r1を計算してその計算結果を前記uとし、
前記第二乱数生成部が、a≠1のときに前記乱数rを生成し、
前記第二入力情報計算部が、a≠1のときに前記第二入力情報τとしてμ r2C1を計算し、
前記第二出力情報計算部が、a≠1のときに前記第二入力情報μ r2C1を用いて得られた前記計算結果を第二出力情報zとし、
前記第二計算部が、a≠1のときにzν−r2を計算してその計算結果を前記vとし、
前記入力情報提供部が、
0以上の自然数の乱数rを生成する第三乱数生成部と、
b=1のときにC1r3を前記第一入力情報τとし、a=1のときにC1r3を前記第二入力情報τとする第三入力情報計算部と、を含み、
前記能力提供装置が、
前記C1r3を用い、或る確率より大きな確率でf(C1r3)を正しく計算し、得られた計算結果を第三出力情報zとする第三出力情報計算部を含み、
前記再暗号化装置が、
b=1のときにz 1/r3を前記uとし、a=1のときにz 1/r3を前記vとする第三計算部を含む、
再暗号化システム。
The re-encryption system of claim 8,
The first random number generator generates the random number r 1 when b ≠ 1;
The first input information calculation unit calculates the μ h r1 C1 b as the first input information τ 1 when b ≠ 1;
The first output information calculation unit uses the first input information μ h r1 C1 b when b ≠ 1 as the calculation result obtained as the first output information z 1 .
The first calculation unit calculates z 1 ν −r1 when b ≠ 1, and sets the calculation result as u,
The second random number generator generates the random number r 2 when a ≠ 1,
The second input information calculation unit calculates μ h r2 C1 a as the second input information τ 2 when a ≠ 1;
The second output information calculation unit sets the calculation result obtained using the second input information μ h r2 C1 a when a ≠ 1 as second output information z 2 ,
The second calculation unit calculates z 2 ν −r2 when a ≠ 1, and sets the calculation result as v,
The input information providing unit
A third random number generator that generates a random number r 3 of a natural number greater than or equal to 0;
a third input information calculation unit that sets C1 r3 as the first input information τ 1 when b = 1, and sets C1 r3 as the second input information τ 2 when a = 1,
The capability providing device is
A third output information calculation unit that correctly calculates f (C1 r3 ) with a probability larger than a certain probability using the C1 r3 and sets the obtained calculation result as the third output information z 3 ;
The re-encryption device is
a third calculation unit including z 3 1 / r3 as u when b = 1 and z 3 1 / r3 as v when a = 1,
Re-encryption system.
請求項1から9の何れかの再暗号化システムにおいて、
前記演算結果uのf(C1)に対する誤差の確率分布が前記自然数bに依存しない、並びに/若しくは、前記演算結果vのf(C1)に対する誤差の確率分布が前記自然数aに依存しない、又は、前記演算結果uのf(C1)に対する誤差の確率分布と区別することができない前記自然数bに依存しない確率分布が存在する、並びに/若しくは、前記演算結果vのf(C1)に対する誤差の確率分布と区別することができない前記自然数aに依存しない確率分布が存在する、
再暗号化システム。
The re-encryption system according to any one of claims 1 to 9,
The probability distribution of error for f (C1) b of the operation result u does not depend on the natural number b, and / or the probability distribution of error for f (C1) a of the operation result v does not depend on the natural number a. Alternatively, there is a probability distribution that does not depend on the natural number b, which cannot be distinguished from the error probability distribution of the calculation result u with respect to f (C1) b , and / or the calculation result v with respect to f (C1) a . There is a probability distribution that does not depend on the natural number a and cannot be distinguished from the probability distribution of errors.
Re-encryption system.
請求項1から10の何れかの再暗号化システムにおいて、
前記自然数a又は前記自然数bが定数である、再暗号化システム。
The re-encryption system according to any one of claims 1 to 10,
The re-encryption system, wherein the natural number a or the natural number b is a constant.
G,Hが有限可換群、fが第一暗号化方式に則って平文mを第一暗号化鍵yで暗号化して得られた群Hの元である第一暗号文C1が与えられたとき、当該第一暗号文C1を、第二暗号化方式に則って前記平文mを第二暗号化鍵yで暗号化して得られる群Gの元である第二暗号文f(C1)=C2に変換するための関数、前記第二暗号化方式に則って当該平文を前記第二暗号化鍵yで暗号化して得られる可能性がある暗号文を要素とする集合を当該暗号文が属する暗号文の類、X,Xが群Gに値を持つ確率変数、xが確率変数Xの実現値、xが確率変数Xの実現値、a,bが互いに素である自然数であり、
演算結果u=f(C1)を生成する第一計算部と、
演算結果v=f(C1)を生成する第二計算部と、
前記演算結果uに対する値uと前記演算結果vに対する値vとが互いに同一の暗号文の類に属する場合に、a’a+b’b=1を満たす整数a’,b’についての値ub’a’を出力する最終出力部と、
を有する再暗号化装置。
G, H finite friendly換群, f is first ciphertext C1 is given a plaintext m in accordance with the first encryption method first encryption key y 1 in encrypted-obtained group H of the original when in, the first ciphertext C1, the plaintext m in accordance with the second encryption system which is the second encryption key y 2 in the original group G obtained by encrypting the second ciphertext f (C1) = function for converting C2, the second encryption scheme set the ciphertext to the ciphertext elements may be obtained by encrypting the plain text by the second encryption key y 2 in accordance with the , X 1 and X 2 are random variables having values in group G, x 1 is a real value of random variable X 1 , x 2 is a real value of random variable X 2 , and a and b are relatively prime Is a natural number,
A first calculation unit that generates an operation result u = f (C1) b x 1 ;
A second calculation unit for generating an operation result v = f (C1) a x 2 ;
When the value u a for the operation result u and the value v b for the operation result v belong to the same ciphertext class, the values u for integers a ′ and b ′ satisfying a′a + b′b = 1. a final output unit for outputting b ′ v a ′ ;
A re-encryption device.
G,Hが有限可換群、fが第一暗号化方式に則って平文mを第一暗号化鍵y で暗号化して得られた群Hの元である第一暗号文C1が与えられたとき、当該第一暗号文C1を、第二暗号化方式に則って前記平文mを第二暗号化鍵y で暗号化して得られる群Gの元である第二暗号文f(C1)=C2に変換するための関数であり、
請求項12の再暗号化装置から出力された、前記第一暗号文C1に対応する群Hの元である第一入力情報τ を用い、或る確率より大きな確率でf(τ )を正しく計算し、得られた演算結果を第一出力情報z とする第一出力情報生成部と、
請求項12の再暗号化装置から出力された、前記第一暗号文C1に対応する群Hの元である第二入力情報τ を用い、或る確率より大きな確率でf(τ )を正しく計算し、得られた演算結果を第二出力情報z とする第二出力情報生成部と、
有する能力提供装置。
G, H finite friendly換群, f is first ciphertext C1 is given a plaintext m in accordance with the first encryption method first encryption key y 1 in encrypted-obtained group H of the original when in, the first ciphertext C1, the plaintext m in accordance with the second encryption system which is the second encryption key y 2 in the original group G obtained by encrypting the second ciphertext f (C1) = A function for converting to C2,
The first input information τ 1 that is an element of the group H corresponding to the first ciphertext C1 and is output from the re-encryption apparatus according to claim 12, and f (τ 1 ) is greater than a certain probability. A first output information generation unit that calculates correctly and sets the obtained calculation result as the first output information z 1 ;
The second input information τ 2 that is the element of the group H corresponding to the first ciphertext C1 and is output from the re-encryption device according to claim 12, and f (τ 2 ) is greater than a certain probability. A second output information generation unit that calculates correctly and sets the obtained calculation result as the second output information z 2 ;
Having ability providing device.
G,Hが有限可換群、fが第一暗号化方式に則って平文mを第一暗号化鍵yで暗号化して得られた群Hの元である第一暗号文C1が与えられたとき、当該第一暗号文C1を、第二暗号化方式に則って前記平文mを第二暗号化鍵yで暗号化して得られる群Gの元である第二暗号文f(C1)=C2に変換するための関数、前記第二暗号化方式に則って当該平文を前記第二暗号化鍵yで暗号化して得られる可能性がある暗号文を要素とする集合を当該暗号文が属する暗号文の類、X,Xが群Gに値を持つ確率変数、xが確率変数Xの実現値、xが確率変数Xの実現値、a,bが互いに素である自然数であり、
再暗号化装置で、前記第一暗号文C1に対応する群Hの元である第一入力情報τ及び第二入力情報τを出力する入力情報提供ステップと、
能力提供装置で、前記第一入力情報τを用い、或る確率より大きな確率でf(τ)を正しく計算し、得られた演算結果を第一出力情報zとする第一出力情報生成ステップと、
前記能力提供装置で、前記第二入力情報τを用い、或る確率より大きな確率でf(τ)を正しく計算し、得られた演算結果を第二出力情報zとする第二出力情報生成ステップと、
前記再暗号化装置で、前記第一出力情報zから演算結果u=f(C1)を生成する第一計算ステップと、
前記再暗号化装置で、前記第二出力情報zから演算結果v=f(C1)を生成する第二計算ステップと、
前記再暗号化装置で、前記演算結果uに対する値uと前記演算結果vに対する値vとが互いに同一の暗号文の類に属する場合に、a’a+b’b=1を満たす整数a’,b’についての値ub’a’を出力する最終出力ステップと、
を有する再暗号化方法。
G, H finite friendly換群, f is first ciphertext C1 is given a plaintext m in accordance with the first encryption method first encryption key y 1 in encrypted-obtained group H of the original when in, the first ciphertext C1, the plaintext m in accordance with the second encryption system which is the second encryption key y 2 in the original group G obtained by encrypting the second ciphertext f (C1) = function for converting C2, the second encryption scheme set the ciphertext to the ciphertext elements may be obtained by encrypting the plain text by the second encryption key y 2 in accordance with the , X 1 and X 2 are random variables having values in group G, x 1 is a real value of random variable X 1 , x 2 is a real value of random variable X 2 , and a and b are relatively prime Is a natural number,
An input information providing step of outputting first input information τ 1 and second input information τ 2 which are elements of the group H corresponding to the first ciphertext C1 in the re-encryption device;
The capability providing apparatus uses the first input information τ 1 to correctly calculate f (τ 1 ) with a probability larger than a certain probability, and uses the obtained calculation result as the first output information z 1. Generation step;
The capability providing apparatus uses the second input information τ 2 to correctly calculate f (τ 2 ) with a probability larger than a certain probability, and uses the obtained calculation result as second output information z 2. An information generation step;
A first calculation step of generating an operation result u = f (C1) b x 1 from the first output information z 1 in the re-encryption device;
A second calculation step of generating an operation result v = f (C1) a x 2 from the second output information z 2 in the re-encryption device;
In the re-encryption device, when the value u a for the operation result u and the value v b for the operation result v belong to the same ciphertext class, an integer a ′ that satisfies a′a + b′b = 1. , B ′, a final output step that outputs a value u b ′ v a ′ ,
A re-encryption method.
G,Hが有限可換群、fが第一暗号化方式に則って平文mを第一暗号化鍵yで暗号化して得られた群Hの元である第一暗号文C1が与えられたとき、当該第一暗号文C1を、第二暗号化方式に則って前記平文mを第二暗号化鍵yで暗号化して得られる群Gの元である第二暗号文f(C1)=C2に変換するための関数、前記第二暗号化方式に則って当該平文を前記第二暗号化鍵yで暗号化して得られる可能性がある暗号文を要素とする集合を当該暗号文が属する暗号文の類、X,Xが群Gに値を持つ確率変数、xが確率変数Xの実現値、xが確率変数Xの実現値、a,bが互いに素である自然数であり、
第一計算部で、演算結果u=f(C1)を生成する第一計算ステップと、
第二計算部で、演算結果v=f(C1)を生成する第二計算ステップと、
最終出力部で、前記演算結果uに対する値uと前記演算結果vに対する値vとが互いに同一の暗号文の類に属する場合に、a’a+b’b=1を満たす整数a’,b’についての値ub’a’を出力する最終出力ステップと、
を有する再暗号化方法。
G, H finite friendly換群, f is first ciphertext C1 is given a plaintext m in accordance with the first encryption method first encryption key y 1 in encrypted-obtained group H of the original when in, the first ciphertext C1, the plaintext m in accordance with the second encryption system which is the second encryption key y 2 in the original group G obtained by encrypting the second ciphertext f (C1) = function for converting C2, the second encryption scheme set the ciphertext to the ciphertext elements may be obtained by encrypting the plain text by the second encryption key y 2 in accordance with the , X 1 and X 2 are random variables having values in group G, x 1 is a real value of random variable X 1 , x 2 is a real value of random variable X 2 , and a and b are relatively prime Is a natural number,
A first calculation step of generating an operation result u = f (C1) b x 1 in the first calculation unit;
A second calculation step of generating an operation result v = f (C1) a x 2 in the second calculation unit;
In the final output unit, when the value u a for the calculation result u and the value v b for the calculation result v belong to the same ciphertext class, integers a ′ and b satisfying a′a + b′b = 1 A final output step that outputs a value u b ' v a' for ' ;
A re-encryption method.
G,Hが有限可換群、fが第一暗号化方式に則って平文mを第一暗号化鍵y で暗号化して得られた群Hの元である第一暗号文C1が与えられたとき、当該第一暗号文C1を、第二暗号化方式に則って前記平文mを第二暗号化鍵y で暗号化して得られる群Gの元である第二暗号文f(C1)=C2に変換するための関数であり、
請求項15の再暗号化方法を実行する再暗号化装置から出力された、前記第一暗号文C1に対応する群Hの元である第一入力情報τ を用い、或る確率より大きな確率でf(τ )を正しく計算し、得られた演算結果を第一出力情報z とする第一出力情報生成部と、
請求項15の再暗号化方法を実行する再暗号化装置から出力された、前記第一暗号文C1に対応する群Hの元である第二入力情報τ を用い、或る確率より大きな確率でf(τ )を正しく計算し、得られた演算結果を第二出力情報z とする第二出力情報生成部と、
を有する能力提供方法。
G, H finite friendly換群, f is first ciphertext C1 is given a plaintext m in accordance with the first encryption method first encryption key y 1 in encrypted-obtained group H of the original when in, the first ciphertext C1, the plaintext m in accordance with the second encryption system which is the second encryption key y 2 in the original group G obtained by encrypting the second ciphertext f (C1) = A function for converting to C2,
A probability larger than a certain probability using the first input information τ 1 that is an element of the group H corresponding to the first ciphertext C1 and is output from the re-encryption device that executes the re-encryption method according to claim 15. And f (τ 1 ) is correctly calculated, and the first output information generation unit which uses the obtained calculation result as the first output information z 1 ,
A probability larger than a certain probability using the second input information τ 2 that is an element of the group H corresponding to the first ciphertext C1 and is output from the re-encryption device that executes the re-encryption method according to claim 15. And f (τ 2 ) is correctly calculated, and a second output information generation unit that uses the obtained calculation result as second output information z 2 ;
A capability providing method.
コンピュータに請求項15の再暗号化方法の各ステップを実行させるためのプログラム。   A program for causing a computer to execute each step of the re-encryption method of claim 15. コンピュータに請求項16の能力提供方法の各ステップを実行させるためのプログラム。   A program for causing a computer to execute each step of the capability providing method of claim 16.
JP2011088314A 2011-04-12 2011-04-12 Re-encryption system, re-encryption device, capability providing device, re-encryption method, capability provision method, and program Active JP5562284B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011088314A JP5562284B2 (en) 2011-04-12 2011-04-12 Re-encryption system, re-encryption device, capability providing device, re-encryption method, capability provision method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011088314A JP5562284B2 (en) 2011-04-12 2011-04-12 Re-encryption system, re-encryption device, capability providing device, re-encryption method, capability provision method, and program

Publications (2)

Publication Number Publication Date
JP2012220834A JP2012220834A (en) 2012-11-12
JP5562284B2 true JP5562284B2 (en) 2014-07-30

Family

ID=47272375

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011088314A Active JP5562284B2 (en) 2011-04-12 2011-04-12 Re-encryption system, re-encryption device, capability providing device, re-encryption method, capability provision method, and program

Country Status (1)

Country Link
JP (1) JP5562284B2 (en)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5596616B2 (en) * 2011-05-12 2014-09-24 日本電信電話株式会社 Information providing system, mediating apparatus, mediating method, information providing method, and program
EP2884690A4 (en) * 2012-08-08 2016-03-09 Toshiba Kk Re-encryption key generation device, re-encryption device, encryption device, decryption device, and program
JP6006809B2 (en) 2013-01-16 2016-10-12 日本電信電話株式会社 Decoding service providing apparatus, processing apparatus, safety evaluation apparatus, program, and recording medium
EP3010178B1 (en) * 2013-07-18 2018-05-09 Nippon Telegraph And Telephone Corporation Calculation device, calculation method, and program for self-correction
JP2015022097A (en) * 2013-07-18 2015-02-02 日本電信電話株式会社 Decoding method, key cloud system, decoding capability providing device, terminal equipment and program
JP6341599B2 (en) * 2014-03-18 2018-06-13 国立研究開発法人情報通信研究機構 Encryption data update system and encryption data update method
JP6273951B2 (en) 2014-03-24 2018-02-07 富士通株式会社 ENCRYPTION DEVICE, ENCRYPTION METHOD, INFORMATION PROCESSING DEVICE, AND ENCRYPTION SYSTEM
WO2018102382A1 (en) * 2016-11-29 2018-06-07 ZeroDB, Inc. Method and system for switching public keys in ciphertexts
JP7119605B2 (en) 2018-06-08 2022-08-17 日本電信電話株式会社 Ciphertext conversion system, ciphertext conversion method, and program

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4758814B2 (en) * 2006-04-27 2011-08-31 日本電信電話株式会社 Anonymous ciphertext communication system, key generation device, communication device, method thereof, program, and recording medium
EP2525341B1 (en) * 2010-01-12 2016-04-06 Nippon Telegraph And Telephone Corporation Proxy calculation system, proxy calculation method, proxy calculation requesting apparatus, and proxy calculation program and recording medium therefor
JP5596612B2 (en) * 2011-04-12 2014-09-24 日本電信電話株式会社 Decoding control system and decoding control method

Also Published As

Publication number Publication date
JP2012220834A (en) 2012-11-12

Similar Documents

Publication Publication Date Title
JP5562284B2 (en) Re-encryption system, re-encryption device, capability providing device, re-encryption method, capability provision method, and program
JP5491638B2 (en) Proxy calculation system, calculation device, capability providing device, proxy calculation method, capability providing method, program, and recording medium
JP5424974B2 (en) Cryptographic processing system, key generation device, encryption device, decryption device, signature processing system, signature device, and verification device
JP5618881B2 (en) Cryptographic processing system, key generation device, encryption device, decryption device, cryptographic processing method, and cryptographic processing program
US8938068B2 (en) Functional encryption applied system, information output apparatus, information processing apparatus, encryption protocol execution method, information output method, information processing method, program and recording medium
CN103270719B (en) Encryption processing system, key generating device, encryption device, decryption device, cipher processing method
KR102423885B1 (en) Method and system for additive homomorphic encryption scheme with error detection functionality
KR101588992B1 (en) Cipher system, cipher method, and computer readable recording medium storing cipher program
KR101606317B1 (en) Encryption system, encryption method, encryption program and decryption device
JP5921410B2 (en) Cryptosystem
KR101423956B1 (en) System of attribute-based encryption and Method thereof
JP5596616B2 (en) Information providing system, mediating apparatus, mediating method, information providing method, and program
JP2010160235A (en) Retrieval system, terminal device, database device, retrieval method, and program
JP7117964B2 (en) Decryption device, encryption system, decryption method and decryption program
JP2013217970A (en) Hierarchical type inner product cipher system based on lattice problem, hierarchical type inner product cipher method, device based on lattice problem
Gaidhani et al. A SURVEY REPORT ON TECHNIQUES FOR DATA CONFIDENTIALITY IN CLOUD COMPUTING USING HOMOMORPHIC ENCRYPTION.
JP5097137B2 (en) Cryptographic communication system, terminal device, secret key generation method and program
Zhou et al. Secure fine-grained access control of mobile user data through untrusted cloud
JP5366755B2 (en) Data editing system, writing device, reading device, and data editing method
JP2012154977A (en) Time-limited encryption system using functional encryption, time-limited encryption method, apparatus and program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130718

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140305

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140318

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140516

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140610

R150 Certificate of patent or registration of utility model

Ref document number: 5562284

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150