JP2012212031A - Decryption result verification device, method, and program - Google Patents

Decryption result verification device, method, and program Download PDF

Info

Publication number
JP2012212031A
JP2012212031A JP2011077726A JP2011077726A JP2012212031A JP 2012212031 A JP2012212031 A JP 2012212031A JP 2011077726 A JP2011077726 A JP 2011077726A JP 2011077726 A JP2011077726 A JP 2011077726A JP 2012212031 A JP2012212031 A JP 2012212031A
Authority
JP
Japan
Prior art keywords
decryption
function
decoding
verification
true
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.)
Granted
Application number
JP2011077726A
Other languages
Japanese (ja)
Other versions
JP5469631B2 (en
Inventor
Takeshi Yamamoto
剛 山本
Tetsutaro Kobayashi
鉄太郎 小林
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 JP2011077726A priority Critical patent/JP5469631B2/en
Publication of JP2012212031A publication Critical patent/JP2012212031A/en
Application granted granted Critical
Publication of JP5469631B2 publication Critical patent/JP5469631B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

PROBLEM TO BE SOLVED: To provide a technique for verifying whether a decryption device accurately makes a calculation for decryption.SOLUTION: A random number (r of G) is generated, where G is a commutative group, E is a homomorphic encryption function of a public key encryption in which an element of G is a plaintext, B is a function such that it is difficult to calculate an element of (an intersection of a set (S+x) and a set S) which is not 0 with respect to arbitrary (x of G) which is within a range of a set (a subset S of G), and not 0, (m) is a message, C=E(B(m)) is a ciphertext, and I is a function which includes an element (x) of G as an input, and outputs true when such m' that x=B(m') is present. Transmission information C=E(r) is calculated. C+Cis transmitted to a decryption device 2 which can decrypt the decryption function E, and decrypts the received C+Cto output a decryption result (d) thereof. The decryption result (d) is received from the decryption device 2. Verification information d'=d-r is calculated. It is determined whether I(d') is true.

Description

この発明は、コンピュータによる計算技術に関する。特に、他の計算機に行わせた計算結果を用いて計算を行う技術に関する。   The present invention relates to a computer calculation technique. In particular, the present invention relates to a technique for performing calculations using calculation results obtained by other computers.

パリティビット等の確認情報Q(m)を用いて、復号装置に行わせた復号の計算結果が正しいかどうかを判断する以下のような技術が考えられる。パリティビットについては、例えば非特許文献1を参照のこと。   The following techniques for determining whether or not the calculation result of the decoding performed by the decoding apparatus is correct using the confirmation information Q (m) such as the parity bit can be considered. For the parity bit, see Non-Patent Document 1, for example.

依頼装置は、メッセージmに対してパリティビット等の確認情報Q(m)をビット結合して得られるm||Q(m)を平文とした暗号文E(m||Q(m))を、復号装置に行わせる計算結果を用いて復号する。ここで、Q(m)を例えば偶数性のパリティビットとする。すなわち、Q(m)を構成するビットのうち1のビットの数が、偶数の場合には0を出力し、奇数の場合には1を出力するパリティビットとする。   The requesting device obtains ciphertext E (m || Q (m)) in which m || Q (m) obtained by bit-combining confirmation information Q (m) such as a parity bit with the message m is plaintext. Decoding is performed using the calculation result to be performed by the decoding device. Here, Q (m) is, for example, an even parity bit. That is, 0 is output when the number of 1 bits out of the bits constituting Q (m) is an even number, and 1 is output when the number is odd.

まず、依頼装置が、暗号文E(m||Q(m))を復号装置に送信する。   First, the requesting device transmits the ciphertext E (m || Q (m)) to the decrypting device.

復号装置は、受信した暗号文E(m||Q(m))を復号し、計算結果m||Q(m)を依頼装置に送信する。   The decryption device decrypts the received ciphertext E (m || Q (m)) and transmits the calculation result m || Q (m) to the requesting device.

依頼装置は、受信した計算結果m||Q(m)を、メッセージmと確認情報Q(m)とに分離する。依頼装置は、分離された確認情報Q(m)と、分離されたメッセージmから生成した確認情報Q(m)とが一致しているか判断する。   The requesting device separates the received calculation result m || Q (m) into a message m and confirmation information Q (m). The requesting device determines whether the separated confirmation information Q (m) matches the confirmation information Q (m) generated from the separated message m.

一致していれば、受信した計算結果m||Q(m)は正しいと判断することができ、分離されたメッセージmを、正しく復号されたメッセージmとする。   If they match, it can be determined that the received calculation result m || Q (m) is correct, and the separated message m is set as a correctly decoded message m.

一致していなければ、受信した計算結果m||Q(m)は正しくないと判断することができ、分離されたメッセージmを、正しく復号されたメッセージmではないとする。   If they do not match, it can be determined that the received calculation result m || Q (m) is not correct, and it is assumed that the separated message m is not a correctly decoded message m.

これにより、依頼装置は、復号装置の計算結果m||Q(m)が偶発的な誤りを含む場合に、その誤りを一定の確率で検出することができる。   As a result, when the calculation result m || Q (m) of the decoding device includes an accidental error, the requesting device can detect the error with a certain probability.

長尾真(外7名)編,「岩波 情報科学辞典」,第1刷,岩波書店,1995年5月25日,p.592Edited by Makoto Nagao (7 outside), “Iwanami Information Science Dictionary”, 1st edition, Iwanami Shoten, May 25, 1995, p. 592

背景技術に記載した技術では、復号装置は依頼装置の判断を欺きながら、メッセージmを改変することが可能である。   In the technique described in the background art, the decryption apparatus can modify the message m while deceiving the determination of the requesting apparatus.

例えば、復号装置は、暗号文E(m||Q(m))を復号したm||Q(m)から確認情報Q(m)を分離する。復号装置は、任意の改変されたメッセージm及びこのメッセージmに対応する確認情報Q(m)を生成する。例えば、mを構成するビットのうち何れか2つのビットの値を反転させたものをmとする。この場合、Q(m)の値とQ(m)の値とは同じになる。復号装置は、m||Q(m)に代えてm||Q(m)を依頼装置に送信する。 For example, the decryption device separates the confirmation information Q (m) from m || Q (m) obtained by decrypting the ciphertext E (m || Q (m)). The decryption device generates an arbitrary modified message m * and confirmation information Q (m * ) corresponding to the message m * . For example, m * is a value obtained by inverting the value of any two of the bits constituting m. In this case, the value of Q (m * ) is the same as the value of Q (m). The decryption device transmits m * || Q (m * ) to the requesting device instead of m || Q (m).

この場合、依頼装置は、受信したm||Q(m)を、メッセージmと確認情報Q(m)とに分離し、分離された確認情報Q(m)と、分離されたメッセージmから生成した確認情報Q(m)とが一致しているか判断するが、この値は一致してしまう。 In this case, the requesting device separates the received m * || Q (m * ) into a message m * and confirmation information Q (m * ), and separates the separated confirmation information Q (m * ). It is determined whether the confirmation information Q (m * ) generated from the message m * matches, but this value matches.

このようにして、復号装置は依頼装置の判断を欺きながら、メッセージmを改変することが可能である。言い換えれば、背景技術の依頼装置は、復号装置が復号のための計算を正しく行ったかどうかを検証することはできない。   In this way, the decryption device can modify the message m while misleading the requesting device. In other words, the background art requesting device cannot verify whether or not the decoding device has correctly performed the calculation for decoding.

この発明の課題は、復号装置が復号のための計算を正しく行ったかどうかを検証可能な復号結果検証装置、方法及びプログラムを提供することである。   An object of the present invention is to provide a decoding result verification apparatus, method, and program capable of verifying whether or not the decoding apparatus has correctly performed calculation for decoding.

この発明の一態様による復号結果検証装置は、Gを可換群、EをGの元を平文とする公開鍵暗号方式における準同型性の暗号化関数、Bを集合S⊆Gを値域とし任意の0ではないx∈Gについて(S+x)∩Sの元で0ではないものを計算することが困難な関数、mをメッセージ、C=E(B(m))を暗号文、IをGの元xを入力としてx=B(m’)となるm’が存在する場合には真を出力する関数として、乱数r∈Gを生成する乱数生成部と、送信情報C=E(r)を計算する送信情報生成部と、C+Cを、暗号化関数Eを復号可能であり受信したC+Cを復号しその復号結果dを出力する復号装置に送信する送信部と、復号装置から復号結果dを受信する受信部と、d’=d−rを計算する検証情報生成部と、I(d’)=真であるか判定する判定部と、を含む。 The decryption result verification apparatus according to one aspect of the present invention is an arbitrary homomorphic encryption function in a public key cryptosystem in which G is a commutative group, E is a plaintext of G, and B is a set S⊆G as a range. Is a function that is difficult to calculate for non-zero x∈G of (S + x) ∩S, m is a message, C = E (B (m)) is ciphertext, and I is G A random number generation unit that generates a random number rεG and a transmission information C 0 = E (r) as a function that outputs true when there is m ′ with x = B (m ′) when the element x is input. A transmission information generation unit that calculates C + C 0 , a transmission unit that can decrypt the encryption function E and decrypts the received C + C 0 and outputs the decryption result d, and a decryption result from the decryption device a receiving unit that receives d, a verification information generating unit that calculates d ′ = d−r, and I (d ′) = true Including and Luca determination unit.

復号結果検証装置は、復号装置が復号のための計算を正しく行ったかどうかを検証することができる。   The decryption result verification device can verify whether the decryption device has correctly performed the calculation for decryption.

実施形態の復号結果検証装置の構成を説明するためのブロック図。The block diagram for demonstrating the structure of the decoding result verification apparatus of embodiment. 実施形態の復号結果検証装置の処理を説明するためのフローチャート。The flowchart for demonstrating the process of the decoding result verification apparatus of embodiment.

以下、図面を参照してこの発明の一実施形態を説明する。   An embodiment of the present invention will be described below with reference to the drawings.

[記号の定義]
まず、以下のように記号を定義する。
[Definition of symbols]
First, symbols are defined as follows.

Gは、可換群である。なお、群の演算は、加法的に表記する。   G is a commutative group. Note that group operations are expressed additively.

Eは、Gの元を平文とする公開鍵暗号方式における準同型性の暗号化関数である。Eは、準同型性の性質を有するため、任意のa∈G及び任意のb∈Gに対してE(a)+E(b)=E(a+b)である。Eは公開されており、復号結果検証装置1は関数Eの計算が可能であるとする。   E is a homomorphic encryption function in a public key cryptosystem that uses G as a plaintext. Since E has the property of homomorphism, E (a) + E (b) = E (a + b) for any a∈G and any b∈G. E is open to the public, and the decryption result verification apparatus 1 can calculate the function E.

Dは、Eに対応する公開鍵暗号方式における復号関数である。すなわち、任意のy∈Gに対してD(E(y))=yである。   D is a decryption function in the public key cryptosystem corresponding to E. That is, D (E (y)) = y for any yεG.

Bは、集合S⊆Gを値域とする関数である。また、Bは、任意の0ではないx∈Gについて(S+x)∩Sの元で0ではないものを計算することが困難な関数であるという性質を有する。   B is a function having the set S⊆G as a range. Further, B has a property that it is difficult to calculate a non-zero element under (S + x) ∩S for any non-zero x∈G.

mは、メッセージである。   m is a message.

C=E(B(m))は、復号の対象となる暗号文である。暗号文Cは、図示されていない暗号文生成装置により生成されたものである。   C = E (B (m)) is a ciphertext to be decrypted. The ciphertext C is generated by a ciphertext generation device (not shown).

Iは、Gの元xを入力としてx=B(m’)となるm’が存在する場合には真を出力し、存在しない場合には偽を出力する関数である。   I is a function that outputs true when there is an m ′ satisfying x = B (m ′) with the x element of G as an input, and outputs false when it does not exist.

Aは、Gの元を入力としてあるメッセージを出力する関数で任意のメッセージmに対してA(B(m))=mの性質を満たす関数である。   A is a function that outputs a message with the element of G as an input, and is a function that satisfies the property of A (B (m)) = m for an arbitrary message m.

hは、例えばSHA−256等の安全なハッシュ関数である。   h is a secure hash function such as SHA-256, for example.

||は、ビット結合である。   || is a bit combination.

[復号結果検証装置及び方法]
この発明の一実施形態である復号結果検証装置1(図1)は、復号装置2に行わせた所定の計算の結果を用いて、暗号文E(B(m))を復号する。その際、復号結果検証装置1は、復号装置2の計算結果が、正しく行われたかどうかを検証可能である。言い換えれば、復号装置2が、メッセージmを改変したかどうか検証可能である。
[Decryption result verification apparatus and method]
The decryption result verification device 1 (FIG. 1) according to an embodiment of the present invention decrypts the ciphertext E (B (m)) using the result of a predetermined calculation performed by the decryption device 2. At that time, the decryption result verification apparatus 1 can verify whether the calculation result of the decryption apparatus 2 is correctly performed. In other words, it is possible to verify whether or not the decryption apparatus 2 has modified the message m.

図1に示すように、復号結果検証装置1は、乱数生成部11、送信情報生成部12、送信部13、受信部14、検証情報生成部15、判定部16、出力部17を例えば含む。   As illustrated in FIG. 1, the decryption result verification device 1 includes, for example, a random number generation unit 11, a transmission information generation unit 12, a transmission unit 13, a reception unit 14, a verification information generation unit 15, a determination unit 16, and an output unit 17.

復号結果検証装置1の乱数生成部11(図1)は、乱数r∈Gを生成する(ステップS1)。生成された乱数rは、送信情報生成部12及び検証情報生成部15に送信される。   The random number generation unit 11 (FIG. 1) of the decryption result verification apparatus 1 generates a random number rεG (step S1). The generated random number r is transmitted to the transmission information generation unit 12 and the verification information generation unit 15.

復号結果検証装置1の送信情報生成部12は、乱数rを用いて、送信情報C=E(r)を生成する(ステップS2)。生成された送信情報Cは、送信部13に送信される。 The transmission information generation unit 12 of the decryption result verification device 1 generates transmission information C 0 = E (r) using the random number r (step S2). The generated transmission information C 0 is transmitted to the transmission unit 13.

復号結果検証装置1の送信部13には、暗号文C=E(B(m))及び送信情報Cが入力される。送信部13は、C+Cを計算して、復号装置2に送信する(ステップS3)。 The ciphertext C = E (B (m)) and the transmission information C 0 are input to the transmission unit 13 of the decryption result verification device 1. Transmission unit 13 may calculate the C + C 0, and transmits the decoding apparatus 2 (step S3).

復号装置2は、C+Cを受信する。復号装置2は、暗号化関数Eを復号可能であり、受信したC+Cを復号し、その復号結果dを復号結果検証装置1に送信する(ステップS4)。復号装置2は、具体的には、復号関数Dを用いて、C+Cを復号する。Eの準同型性から、復号装置2の計算が正しく行われた場合には、復号結果d=D(C+C)=D(E(B(m))+E(r))=D(E(B(m)+r))=B(m)+rとなる。 Decoder 2 receives the C + C 0. The decryption device 2 can decrypt the encryption function E, decrypts the received C + C 0 , and transmits the decryption result d to the decryption result verification device 1 (step S4). Specifically, the decoding device 2 decodes C + C 0 using the decoding function D. Because of the homomorphism of E, when the decoding device 2 performs the calculation correctly, the decoding result d = D (C + C 0 ) = D (E (B (m)) + E (r)) = D (E ( B (m) + r)) = B (m) + r.

復号結果検証装置1の受信部14は、復号結果dを受信する(ステップS5)。受信部14は、受信した復号結果dを検証情報生成部15に送信する。   The receiving unit 14 of the decoding result verification apparatus 1 receives the decoding result d (step S5). The receiving unit 14 transmits the received decoding result d to the verification information generating unit 15.

復号結果検証装置1の検証情報生成部15は、復号結果d及び乱数rを用いて、検証情報d’=d−rを計算する(ステップS6)。計算された’は、判定部16に送信される。   The verification information generation unit 15 of the decryption result verification device 1 calculates verification information d ′ = dr using the decryption result d and the random number r (step S6). The calculated 'is transmitted to the determination unit 16.

判定部16は、I(d’)=真であるか判定する(ステップS7)。すなわち、検証情報d’が、集合Sに属するかどうかを判定する。   The determination unit 16 determines whether I (d ′) = true (step S7). That is, it is determined whether or not the verification information d ′ belongs to the set S.

I(d’)=真であれば、復号装置2の復号結果dは正しいと判断することができる。その理由については後述する。この場合、判定部16は、検証情報d’を出力部17に送信する。検証情報d’を受信した出力部17は、A(d’)を計算して出力する(ステップS8)。この場合、A(d’)=mとなる。   If I (d ′) = true, it can be determined that the decoding result d of the decoding device 2 is correct. The reason will be described later. In this case, the determination unit 16 transmits the verification information d ′ to the output unit 17. The output unit 17 that has received the verification information d 'calculates and outputs A (d') (step S8). In this case, A (d ′) = m.

I(d’)=真でなければ、復号装置2の復号結果dは正しいと判断することはできない。その理由については後述する。この場合、判定部16は、エラーが生じた旨の情報を出力する。   Unless I (d ′) = true, the decoding result d of the decoding device 2 cannot be determined to be correct. The reason will be described later. In this case, the determination unit 16 outputs information indicating that an error has occurred.

このようにして、復号結果検証装置1は、復号装置2が復号のための計算を正しく行ったかどうかを検証することができる。   In this way, the decoding result verification apparatus 1 can verify whether the decoding apparatus 2 has correctly performed the calculation for decoding.

[B,A及びIの具体例]
例えば、B(m)=m||h(m)とすることができる。もし、このように定義されたBが、Bの性質を満たさなければ、hをランダムオラクルと識別することができるが、安全なハッシュ関数をランダムオラクルと識別するための実施可能なアルゴリズムは存在しないと考えられている。よって、このように定義されたBは、Bの性質を満たす。
[Specific examples of B, A and I]
For example, B (m) = m || h (m). If B defined in this way does not satisfy the properties of B, then h can be identified as a random oracle, but there is no practicable algorithm for identifying a secure hash function as a random oracle. It is believed that. Therefore, B defined in this way satisfies the property of B.

ハッシュ関数hの出力のビット長をLとすると、Aは、入力に対して下位Lビットを除いたビット列を出力する関数である。   When the bit length of the output of the hash function h is L, A is a function that outputs a bit string excluding the lower L bits with respect to the input.

また、I(d’)は、dの下位Lビットと、d’の下位Lビット以外のビットのハッシュ値h(A(d’))とが一致している場合に真を出力し、一致していない場合に偽を出力する関数である。   I (d ′) outputs true when the lower L bits of d and the hash value h (A (d ′)) of bits other than the lower L bits of d ′ match, This is a function that outputs false if not done.

[I(d’)の値に基づいて、復号装置2の復号結果dが正しいかどうか判断することができる理由]
上記の実施形態のアルゴリズムは、次の<方式1>のように記述することができる。ここで、暗号文C=E(B(m))である。機械Xは、上記実施形態の復号装置2に対応する。
[Reason why it is possible to determine whether the decoding result d of the decoding device 2 is correct based on the value of I (d ′)]
The algorithm of the above embodiment can be described as the following <Method 1>. Here, the ciphertext C = E (B (m)). The machine X corresponds to the decoding device 2 of the above embodiment.

<方式1>
1.乱数rを生成し、C=E(r)を計算する。
<Method 1>
1. A random number r is generated and C 0 = E (r) is calculated.

2.機械Xに暗号文C+Cを入力し、機械Xから復号結果dを受信する。 2. The ciphertext C + C 0 is input to the machine X, and the decryption result d is received from the machine X.

3.d’=d−rを計算する。   3. Calculate d '= d-r.

4.I(d’)が真であれば、A(d)を出力する。そうでなければ、エラーを出力
する。
4). If I (d ′) is true, A (d) is output. Otherwise, an error is output.

<方式1>において、機械Xが悪意を持って返答する可能性を考慮するときに、I(d’)が真でかつA(d’)がm以外となる事象を、Xによる攻撃が成功したと呼ぶことにする。以下では、機械Xによる攻撃が成功する確率を評価する。   In <Method 1>, when considering the possibility of machine X responding maliciously, an attack by X succeeds in an event where I (d ') is true and A (d') is other than m. I will call it. In the following, the probability that the attack by the machine X is successful is evaluated.

<方式1>において機械Xに送信する情報の暗号化を省略すると下記の<方式2>が得られる。機械Xが悪意を持って返答する可能性を考慮するときに、I(d’)が真でかつA(d’)がm以外となる事象を、機械Xによる攻撃が成功したと呼ぶことにする。   If encryption of information to be transmitted to the machine X is omitted in <Method 1>, the following <Method 2> is obtained. When considering the possibility of machine X responding maliciously, an event where I (d ′) is true and A (d ′) is other than m is referred to as a successful attack by machine X. To do.

<方式2>
1.機械XにB(m)+rを入力し、機械Xから復号結果dを受信する。
<Method 2>
1. B (m) + r is input to the machine X, and the decoding result d is received from the machine X.

2.d’=d−rを計算する。   2. Calculate d '= d-r.

3.I(d’)が真であれば、A(d’)を出力する。そうでなければ、エラーを出力
する。
3. If I (d ′) is true, A (d ′) is output. Otherwise, an error is output.

記号rをr−B(m)で置き換えると、次の<方式3>を得る。機械Xが悪意を持って返答する可能性を考慮するときに、I(d’)が真でかつA(d’)がm以外となる事象を、機械Xによる攻撃が成功したとよぶことにする。   When the symbol r is replaced with r-B (m), the following <Method 3> is obtained. When considering the possibility of machine X responding maliciously, an attack by machine X is said to be successful when I (d ′) is true and A (d ′) is other than m. To do.

<方式3>
1.機械Xに暗号文rを入力し、機械Xから復号結果dを受信する。
<Method 3>
1. The ciphertext r is input to the machine X, and the decryption result d is received from the machine X.

2.d’=d−r+B(m)を計算する。   2. d '= d-r + B (m) is calculated.

3.I(d’)が真であれば、A(d’)を出力する。そうでなければ、エラーを出力する。   3. If I (d ') is true, A (d') is output. Otherwise, an error is output.

任意のB(m)について、乱数rとr+B(m)の分布は等しいか、識別困難であるから、任意の機械Xについて、<方式2>において攻撃が成功する確率と<方式3>において攻撃が成功する確率は等しいまたは識別困難である。   For any B (m), the distribution of random numbers r and r + B (m) is equal or difficult to identify, so for any machine X, the probability of successful attack in <Method 2> and the attack in <Method 3> Probability of success is equal or difficult to identify.

ここで、次の<方式4>を考える。機械Yが悪意を持って返答する可能性を考慮するときに、I(d’)が真でかつA(d’)がm以外となる事象を、機械Yによる攻撃が成功したとよぶことにする。   Here, consider the following <Method 4>. When considering the possibility that the machine Y will respond maliciously, the attack by the machine Y is said to be successful when I (d ′) is true and A (d ′) is other than m. To do.

<方式4>
1.機械Yから復号結果dを受信する。
<Method 4>
1. The decryption result d is received from the machine Y.

2.d’=d+B(m)を計算する。   2. Calculate d '= d + B (m).

3.I(d’)が真であれば、A(d’)を出力する。そうでなければ、エラーを出力する。   3. If I (d ') is true, A (d') is output. Otherwise, an error is output.

さて、ある機械Xが存在して、<方式3>において攻撃が成功する確率がpであるとする。機械Xをサブルーチンとして用いて外部の機械Mと通信する機械Yを次のように構成することができる。 Well, if there is a machine X, the probability of successful attacks in the <method 3> is assumed to be p X. The machine Y X that communicate with an external machine M using the machine X as a subroutine may be configured as follows.

<Y
1.乱数rを生成し、機械Xに送信する。機械Xからdを受信する。
<Y X>
1. A random number r is generated and transmitted to the machine X. Receive d from machine X.

2.d−rを計算し、機械Mに返信する。   2. Calculate dr and return to machine M.

<方式4>を機械Mとみなして、<方式4>における機械Yを機械Yに置き換えると、置き換えて得られた方式の出力は<方式3>と等しい。したがって、機械Xが<方式3>の攻撃に成功する確率は、機械Yが<方式4>の攻撃に成功する確率と等しい。 The <method 4> is regarded as a machine M, by replacing the mechanical Y in <Method 4> the machine Y X, the output of the replaced resulting scheme is equal to <method 3>. Therefore, the probability that the machine X succeeds in the attack of <scheme 3> is equal to the probability that the machine Y X succeeds in the attack of <scheme 4>.

ところで、上記実施形態のBについての定義を仮定すると、任意の機械Yについて、機械Yが<方式4>の攻撃に成功する確率は無視できる。そのBについての定義とは、「Bは次の性質を満たすとする:Bの値域をSとするとき、任意の0ではないx∈Gについて(S+x)∩Sの元で0ではないものを計算することは困難である。」というものである。   By the way, assuming the definition of B in the above embodiment, for any machine Y, the probability that the machine Y will succeed in the attack of <Method 4> can be ignored. The definition for B is “assuming that B satisfies the following property: where B is S, and for any non-zero x∈G, (S + x) ∩ that is not zero under S It ’s difficult to calculate. ”

なぜならば、もし<方式4>の攻撃に成功するならばd≠0であり、I(d’)が真であるならば、B(m)∈SについてB(m)+d∈Sとなり、dを上記のx∈Gとみなせば、B(m)∈(S+x)∩Sを計算できたことになるからである。   Because if d ≠ 0 if the attack of <scheme 4> is successful and I (d ′) is true, then B (m) ∈S becomes B (m) + d∈S, and d This is because B (m) ε (S + x) ∩S can be calculated if x is regarded as xεG.

したがって、任意の機械Xについて機械Yを機械Yとして用いれば、機械Yが<方式4>の攻撃に成功する確率は無視できる。機械Xが<方式3>の攻撃に成功する確率は、機械Yが<方式4>の攻撃に成功する確率と等しいから、任意の機械Xについてpは無視できる量である。 Therefore, the use of the mechanical Y X as machine Y for any machine X, the probability that the machine Y X has successfully attack <scheme 4> is negligible. Since the probability that the machine X succeeds in the attack of <scheme 3> is equal to the probability that the machine Y X succeeds in the attack of <scheme 4>, p X is a negligible amount for any machine X.

<方式2>は<方式1>から公開鍵暗号による暗号化を取り去ったものであるから、任意の機械Xが<方式1>の攻撃に成功する確率は、機械Xが<方式2>の攻撃に成功する確率よりも小さい。よって、任意の機械Xが<方式1>の攻撃に成功する確率は無視できる量である。   <Method 2> is obtained by removing the encryption by public key encryption from <Method 1>. Therefore, the probability that an arbitrary machine X will succeed in the attack of <Method 1> is that the machine X is an attack of <Method 2>. Is less than the probability of success. Therefore, the probability that an arbitrary machine X succeeds in the attack of <Method 1> is a negligible amount.

すなわち、復号装置2は復号結果検証装置1の判断を欺きながら、メッセージmを改変することはできない。言い換えれば、復号結果検証装置1は、復号装置2が復号のための計算を正しく行ったかどうかを検証することができる。   That is, the decryption device 2 cannot alter the message m while deceiving the judgment of the decryption result verification device 1. In other words, the decryption result verification device 1 can verify whether the decryption device 2 has correctly performed the calculation for decryption.

[変形例等]
乱数rは、復号装置2が知ることができない所定の整数であってもよい。
[Modifications, etc.]
The random number r may be a predetermined integer that the decryption device 2 cannot know.

復号結果検証装置1の各部間のデータのやり取りは直接行われてもよいし、図示していない記憶部を介して行われてもよい。   Data exchange between the units of the decryption result verification apparatus 1 may be performed directly or may be performed via a storage unit (not shown).

その他、この発明は上述の実施形態に限定されるものではない。例えば、上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。   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.

また、上述の構成をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。   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.

その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。   Needless to say, other modifications are possible without departing from the spirit of the present invention.

1 復号結果検証装置
11 乱数生成部
12 送信情報生成部
13 送信部
14 受信部
15 検証情報生成部
16 判定部
17 出力部
2 復号装置
DESCRIPTION OF SYMBOLS 1 Decoding result verification apparatus 11 Random number generation part 12 Transmission information generation part 13 Transmission part 14 Reception part 15 Verification information generation part 16 Determination part 17 Output part 2 Decoding apparatus

Claims (5)

Gを可換群、EをGの元を平文とする公開鍵暗号方式における準同型性の暗号化関数、Bを集合S⊆Gを値域とし任意の0ではないx∈Gについて(S+x)∩Sの元で0ではないものを計算することが困難な関数、mをメッセージ、C=E(B(m))を暗号文、IをGの元xを入力としてx=B(m’)となるm’が存在する場合には真を出力する関数として、
乱数r∈Gを生成する乱数生成部と、
送信情報C=E(r)を計算する送信情報生成部と、
C+Cを、上記暗号化関数Eを復号可能であり受信したC+Cを復号しその復号結果dを出力する復号装置に送信する送信部と、
上記復号装置から上記復号結果dを受信する受信部と、
検証情報d’=d−rを計算する検証情報生成部と、
I(d’)=真であるか判定する判定部と、
を含む復号結果検証装置。
A homomorphic encryption function in a public key cryptosystem where G is a commutative group, E is a plaintext element of G, B is a set S⊆G as a range, and x∈G that is not 0 (S + x) ∩ A function that is difficult to calculate a non-zero element under S, m is a message, C = E (B (m)) is a ciphertext, I is an element x of G and x = B (m ′) As a function that outputs true when m 'exists,
A random number generator for generating a random number rεG;
A transmission information generator for calculating transmission information C 0 = E (r);
The C + C 0, a transmission unit that transmits to decode the C + C 0 received is capable decodes the encryption function E decoding apparatus for outputting the decoded result d,
A receiving unit for receiving the decoding result d from the decoding device;
A verification information generator for calculating verification information d ′ = d−r;
A determination unit for determining whether I (d ′) = true;
A decryption result verification device.
請求項1の復号結果検証装置において、
AをGの元を入力としてあるメッセージを出力する関数で任意のメッセージmに対してA(B(m))=mの性質を満たす関数として、
I(d’)=真であれば、A(d’)を出力する出力部を更に含む、
復号結果検証装置。
In the decryption result verification apparatus according to claim 1,
A is a function that outputs a message with an element of G as an input, and satisfies a property of A (B (m)) = m for an arbitrary message m.
If I (d ′) = true, it further includes an output unit for outputting A (d ′).
Decryption result verification device.
請求項1又は2の復号結果検証装置において、
hをハッシュ関数、||をビット結合として、
上記B(m)=m||h(m)であることを特徴とする、
復号結果検証装置。
In the decryption result verification device according to claim 1 or 2,
Let h be a hash function and ||
B (m) = m || h (m),
Decryption result verification device.
Gを可換群、EをGの元を平文とする公開鍵暗号方式における準同型性の暗号化関数、Bを集合S⊆Gを値域とし任意の0ではないx∈Gについて(S+x)∩Sの元で0ではないものを計算することが困難な関数、mをメッセージ、C=E(B(m))を暗号文、IをGの元xを入力としてx=B(m’)となるm’が存在する場合には真を出力する関数として、
乱数生成部が、乱数r∈Gを生成する乱数生成ステップと、
送信情報生成部が、送信情報C=E(r)を計算する送信情報生成ステップと、
送信部が、C+Cを、上記暗号化関数Eを復号可能であり受信したC+Cを復号しその復号結果dを出力する復号装置に送信する送信ステップと、
受信部が、上記復号装置から上記復号結果dを受信する受信ステップと、
検証情報生成部が、検証情報d’=d−rを計算する検証情報生成ステップと、
判定部が、I(d’)=真であるか判定する判定ステップと、
を含む復号結果検証方法。
A homomorphic encryption function in a public key cryptosystem where G is a commutative group, E is a plaintext element of G, B is a set S⊆G as a range, and x∈G that is not 0 (S + x) ∩ A function that is difficult to calculate a non-zero element under S, m is a message, C = E (B (m)) is a ciphertext, I is an element x of G and x = B (m ′) As a function that outputs true when m 'exists,
A random number generation unit for generating a random number rεG,
A transmission information generation step in which a transmission information generation unit calculates transmission information C 0 = E (r);
A transmission step in which the transmission unit transmits C + C 0 to a decryption device that can decrypt the encryption function E and decrypts the received C + C 0 and outputs the decryption result d;
A receiving step for receiving the decoding result d from the decoding device;
A verification information generation step in which the verification information generation unit calculates verification information d ′ = d−r;
A determination step for determining whether or not I (d ′) = true;
A decryption result verification method including:
請求項1から3の何れかに記載の復号結果検証装置の各部としてコンピュータを機能させるためのプログラム。   The program for functioning a computer as each part of the decoding result verification apparatus in any one of Claim 1 to 3.
JP2011077726A 2011-03-31 2011-03-31 Decryption result verification apparatus, method and program Active JP5469631B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011077726A JP5469631B2 (en) 2011-03-31 2011-03-31 Decryption result verification apparatus, method and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011077726A JP5469631B2 (en) 2011-03-31 2011-03-31 Decryption result verification apparatus, method and program

Publications (2)

Publication Number Publication Date
JP2012212031A true JP2012212031A (en) 2012-11-01
JP5469631B2 JP5469631B2 (en) 2014-04-16

Family

ID=47266051

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011077726A Active JP5469631B2 (en) 2011-03-31 2011-03-31 Decryption result verification apparatus, method and program

Country Status (1)

Country Link
JP (1) JP5469631B2 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012227652A (en) * 2011-04-18 2012-11-15 Nippon Telegr & Teleph Corp <Ntt> Device, method, system, and program for verifying decryption result
WO2015008607A1 (en) * 2013-07-18 2015-01-22 日本電信電話株式会社 Decoding device, decoding ability providing device, method thereof, and program
KR101833323B1 (en) 2018-01-12 2018-02-28 한국스마트인증 주식회사 Method for Confirming Statement by Use of Block Chain Which Guarantees Anonymity and Prevents Sybil Attack

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012227652A (en) * 2011-04-18 2012-11-15 Nippon Telegr & Teleph Corp <Ntt> Device, method, system, and program for verifying decryption result
WO2015008607A1 (en) * 2013-07-18 2015-01-22 日本電信電話株式会社 Decoding device, decoding ability providing device, method thereof, and program
CN105339995A (en) * 2013-07-18 2016-02-17 日本电信电话株式会社 Decoding device, decoding ability providing device, method thereof, and program
JP6059347B2 (en) * 2013-07-18 2017-01-11 日本電信電話株式会社 Decoding device, decoding capability providing device, method and program thereof
CN105339995B (en) * 2013-07-18 2018-04-06 日本电信电话株式会社 Decrypt device, decryption capabilities provide device, its method and recording medium
US10163370B2 (en) 2013-07-18 2018-12-25 Nippon Telegraph And Telephone Corporation Decoding apparatus, decoding capability providing apparatus, method thereof and program
KR101833323B1 (en) 2018-01-12 2018-02-28 한국스마트인증 주식회사 Method for Confirming Statement by Use of Block Chain Which Guarantees Anonymity and Prevents Sybil Attack
WO2019139200A1 (en) * 2018-01-12 2019-07-18 한국스마트인증 주식회사 Method for intention expression identification using block chain, by which anonymity can be guaranteed and sybil attack can be prevented
US11303427B2 (en) 2018-01-12 2022-04-12 Korea Smart Authentication Corp. Method for verifying opinion by use of block chain which guarantees anonimity and prevents sybil attack

Also Published As

Publication number Publication date
JP5469631B2 (en) 2014-04-16

Similar Documents

Publication Publication Date Title
JP6058237B1 (en) Ciphertext conversion apparatus, ciphertext conversion program, and ciphertext conversion method
CN114036565B (en) Private information retrieval system and private information retrieval method
US7499552B2 (en) Cipher method and system for verifying a decryption of an encrypted user data key
US20180091301A1 (en) Method and system for switching public keys in ciphertexts
JP6738062B2 (en) Ciphertext verification system, method, and recording medium
US20210135851A1 (en) Encryption processing system and encryption processing method
JP2017511095A (en) Authentication apparatus and method
CN115580396A (en) System and method for inquiring hiding trace
JP6738061B2 (en) Ciphertext verification system, method, and recording medium
JP2012104883A (en) Storage device, access device, and program
WO2014030706A1 (en) Encrypted database system, client device and server, method and program for adding encrypted data
JP6059347B2 (en) Decoding device, decoding capability providing device, method and program thereof
CN111970111A (en) Quantum zero knowledge proof-based block chain consensus mechanism establishing method and system
JP5469631B2 (en) Decryption result verification apparatus, method and program
Yüksel et al. A secure key establishment protocol for ZigBee wireless sensor networks
JP2008176192A (en) Code conversion method and device, and program
JP5755557B2 (en) Timed cryptographic system, timed cryptographic method, apparatus, and program
US8325913B2 (en) System and method of authentication
CN111970130B (en) Quantum block chain establishment method and system
JP2010258708A (en) Information processing device, operation verifying method, and program
JP2015026892A (en) Information processing system
CN114117388A (en) Device registration method, device registration apparatus, electronic device, and storage medium
JP2011175072A (en) Secure-computation system, secure-computation method, and method for preventing unauthorized use
JP5912281B2 (en) Decryption result verification apparatus, method, system, and program
WO2020044485A1 (en) Message authentication device, message authentication method, and message authentication program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20121227

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140121

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140131

R150 Certificate of patent or registration of utility model

Ref document number: 5469631

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150