JP5912281B2 - Decryption result verification apparatus, method, system, and program - Google Patents

Decryption result verification apparatus, method, system, and program Download PDF

Info

Publication number
JP5912281B2
JP5912281B2 JP2011092163A JP2011092163A JP5912281B2 JP 5912281 B2 JP5912281 B2 JP 5912281B2 JP 2011092163 A JP2011092163 A JP 2011092163A JP 2011092163 A JP2011092163 A JP 2011092163A JP 5912281 B2 JP5912281 B2 JP 5912281B2
Authority
JP
Japan
Prior art keywords
ciphertext
decryption
result
verification
function
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
JP2011092163A
Other languages
Japanese (ja)
Other versions
JP2012227652A (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 JP2011092163A priority Critical patent/JP5912281B2/en
Publication of JP2012227652A publication Critical patent/JP2012227652A/en
Application granted granted Critical
Publication of JP5912281B2 publication Critical patent/JP5912281B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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 parity bits 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に確認情報Q(m)を付加したものが暗号化の対象となり、メッセージmのみを暗号化の対象とする場合と比較して、生成される暗号文の長さが長くなる可能性がある。   In the technology described in the background art, the message m added with the confirmation information Q (m) is the object of encryption, and the generated ciphertext is compared with the case where only the message m is the object of encryption. The length can be longer.

この発明の課題は、暗号化の対象はメッセージmのままで、復号装置が復号のための計算を正しく行ったかどうかを検証可能な復号結果検証装置、方法、システム及びプログラムを提供することである。   An object of the present invention is to provide a decryption result verification apparatus, method, system, and program capable of verifying whether or not the decryption apparatus has correctly performed calculation for decryption while the object of encryption is the message m. .

この発明の一態様による復号結果検証装置は、hをハッシュ関数、E(m,r)を整数rを用いてメッセージmのみを暗号化して暗号文を生成しその生成された暗号文からメッセージmの情報を漏洩しない暗号化関数として、E(m,h(m))を暗号文cとして、暗号文cを、暗号化関数Eに対応する復号関数Dで受信した暗号文cを復号可能でありその復号結果m’を出力する復号装置に送信する送信部と、復号装置から復号結果m’を受信する受信部と、復号結果m’を用いて検証情報E(m’,h(m’))を計算する検証情報生成部と、暗号文cと検証情報E(m’,h(m’))とが一致するか判定する判定部と、を含む。 The decryption result verification apparatus according to an aspect of the present invention generates a ciphertext by encrypting only a message m using h as a hash function and E (m, r) as an integer r, and generates a message m from the generated ciphertext. It is possible to decrypt the ciphertext c received with the decryption function D corresponding to the encryption function E, with E (m, h (m)) as the ciphertext c, There is a transmitting unit that transmits the decoding result m ′ to the decoding device, a receiving unit that receives the decoding result m ′ from the decoding device, and verification information E (m ′, h (m ′) using the decoding result m ′. )) And a determination unit that determines whether the ciphertext c and the verification information E (m ′, h (m ′)) match.

暗号化関数が用いる整数としてメッセージmのハッシュ値h(m)を用いることにより、暗号化の対象はメッセージmのままで、復号装置が復号のための計算を正しく行ったかどうかを検証することができる。   By using the hash value h (m) of the message m as an integer used by the encryption function, it is possible to verify whether or not the decryption apparatus has correctly performed the calculation for decryption while the message m is the encryption target. it can.

実施形態の復号結果検証装置の構成を説明するためのブロック図。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. 実施形態のアルゴリズムの概要を説明するための図。The figure for demonstrating the outline | summary of the algorithm of embodiment. Pailler暗号を用いたアルゴリズムの例の概要を説明するための図。The figure for demonstrating the outline | summary of the example of the algorithm using a Pillar encryption. ElGamal暗号を用いたアルゴリズムの例の概要を説明するための図。The figure for demonstrating the outline | summary of the example of the algorithm using ElGamal encryption.

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

[記号の定義]
まず、以下のように記号を定義する。
mは、メッセージである。
E(m,r)は、整数rを用いてメッセージmを暗号化して暗号文を生成しその生成された暗号文からメッセージmの情報を漏洩しない暗号化関数である。rは、例えば乱数である。例えば、E(m,r)を、確率的アルゴリズムにより記述された確率的公開鍵暗号の暗号化関数とする。E(m,r)は、所定の整数rを乱数の初期値として用いてもよい。暗号化関数E(m,r)の具体例は、後述する。
[Definition of symbols]
First, symbols are defined as follows.
m is a message.
E (m, r) is an encryption function that encrypts the message m using the integer r to generate a ciphertext and does not leak the information of the message m from the generated ciphertext. r is, for example, a random number. For example, let E (m, r) be an encryption function of probabilistic public key cryptography described by a probabilistic algorithm. For E (m, r), a predetermined integer r may be used as the initial value of the random number. A specific example of the encryption function E (m, r) will be described later.

hは、例えばランダム関数と見なすことができるSHA−256等の安全なハッシュ関数である。
c=E(m,h(m))は、暗号文である。
For example, h is a secure hash function such as SHA-256 that can be regarded as a random function.
c = E (m, h (m)) is a ciphertext.

Dは、Eに対応する公開鍵暗号方式における復号関数である。すなわち、任意のメッセージmに対してD(E(m))=mである。   D is a decryption function in the public key cryptosystem corresponding to E. That is, D (E (m)) = m for an arbitrary message m.

[実施形態]
この発明の一実施形態である復号結果検証装置1(図1)は、復号装置2に行わせた所定の計算の結果を用いて、暗号文cを復号する。その際、復号結果検証装置1は、復号装置2の計算結果が、正しく行われたかどうかを検証可能である。また、復号装置2が、メッセージmを改変したかどうかについても検証可能である。
[Embodiment]
The decryption result verification device 1 (FIG. 1) according to an embodiment of the present invention decrypts the ciphertext c 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. It is also possible to verify whether or not the decryption device 2 has modified the message m.

図1に示すように、復号結果検証装置1は、送信部11、受信部12、検証情報生成部13、判定部14、出力部15を例えば含む。また、この実施形態のアルゴリズムの概要を図3に示す。   As illustrated in FIG. 1, the decoding result verification apparatus 1 includes a transmission unit 11, a reception unit 12, a verification information generation unit 13, a determination unit 14, and an output unit 15, for example. An outline of the algorithm of this embodiment is shown in FIG.

暗号文c=E(m,h(m))は、暗号化装置0により生成されて(ステップe1、図2)、復号結果検証装置1に送信される。   The ciphertext c = E (m, h (m)) is generated by the encryption device 0 (step e1, FIG. 2) and transmitted to the decryption result verification device 1.

復号結果検証装置1の送信部11は、暗号文cを復号装置2に送信する(ステップv1)。   The transmission unit 11 of the decryption result verification device 1 transmits the ciphertext c to the decryption device 2 (step v1).

復号装置2は、受信した暗号文cを復号関数Dで復号可能であり、その復号結果m’を出力する(ステップd1)。復号装置2が正しく計算を行った場合には、復号結果m’=mとなる。しかし、復号装置2は、正しく計算を行わなくてもよい。この結果、復号結果m’≠mである復号結果m’が、復号結果検証装置1に送信されることもある。   The decryption device 2 can decrypt the received ciphertext c with the decryption function D, and outputs the decryption result m '(step d1). When the decoding device 2 correctly calculates, the decoding result m ′ = m. However, the decoding device 2 does not have to calculate correctly. As a result, a decoding result m ′ in which the decoding result m ′ ≠ m may be transmitted to the decoding result verification apparatus 1.

復号結果検証装置1の受信部12は、復号結果m’を復号装置2から受信する(ステップv2)。受信した復号結果m’は、検証情報生成部13に送信される。   The receiving unit 12 of the decoding result verification device 1 receives the decoding result m ′ from the decoding device 2 (step v2). The received decryption result m ′ is transmitted to the verification information generation unit 13.

復号結果検証装置1の検証情報生成部13は、復号結果m’を用いて検証情報E(m’,h(m’))を計算する(ステップv3)。計算された検証情報E(m’,h(m’))は、判定部14に送信される。   The verification information generation unit 13 of the decoding result verification apparatus 1 calculates the verification information E (m ′, h (m ′)) using the decoding result m ′ (step v3). The calculated verification information E (m ′, h (m ′)) is transmitted to the determination unit 14.

判定部14は、暗号文cと検証情報E(m’,h(m’))とが一致するか判定する(ステップv4)。判定結果は、出力部15に送信される。   The determination unit 14 determines whether the ciphertext c matches the verification information E (m ′, h (m ′)) (step v4). The determination result is transmitted to the output unit 15.

これらが一致していれば、復号装置2の計算結果は正しく、復号結果m’がmであると判断することができる(ステップv5)。   If they match, it can be determined that the calculation result of the decoding device 2 is correct and the decoding result m 'is m (step v5).

これらが一致していなければ、復号装置2の計算結果は正しくなく、復号結果m’はmでないと判断することができる(ステップv6)。   If they do not match, the calculation result of the decoding device 2 is not correct, and it can be determined that the decoding result m 'is not m (step v6).

E(m,r)の定義から、生成された暗号文cからメッセージmの情報は漏洩しない。このため、復号装置2は、暗号文cと検証情報E(m’,h(m’))とが一致するような、m’=mでない復号結果m’を生成することはできない。このため、上記のように判断することができるのである。   From the definition of E (m, r), the information of the message m is not leaked from the generated ciphertext c. For this reason, the decryption apparatus 2 cannot generate a decryption result m ′ that is not m ′ = m so that the ciphertext c matches the verification information E (m ′, h (m ′)). For this reason, it can be judged as described above.

復号結果m’がmであると判断することができた場合には、復号結果検証装置1の出力部15は、復号結果m’をmとして出力する。   When it is possible to determine that the decoding result m ′ is m, the output unit 15 of the decoding result verification apparatus 1 outputs the decoding result m ′ as m.

このように、暗号化関数Eが用いる整数としてメッセージmのハッシュ値h(m)を用いることにより、暗号化の対象はメッセージmのままで、復号装置が復号のための計算を正しく行ったかどうかを検証することができる。   In this way, by using the hash value h (m) of the message m as an integer used by the encryption function E, whether or not the decryption apparatus has correctly performed the calculation for decryption while the object of the encryption remains the message m. Can be verified.

[暗号化関数及び復号関数の具体例1]
いわゆるPailler暗号を用いて、暗号化関数E及び復号関数Dを構成することができる。この場合のアルゴリズムの概要を、図4に例示する。Pailler暗号については、例えば下記参考文献を参照のこと。
[Specific example 1 of encryption function and decryption function]
The encryption function E and the decryption function D can be configured using so-called Pillar encryption. An outline of the algorithm in this case is illustrated in FIG. See, for example, the following references for the Pillar cipher.

〔参考文献〕Pascal Paillier, “Public-Key Cryptosystems Based on Composite Degree Residuosity Classes”, ADVANCES IN CRYPTOLOGY ― EUROCRYPT '99, Lecture Notes in Computer Science, 1999, Volume 1592/1999, pp.223-238   [References] Pascal Paillier, “Public-Key Cryptosystems Based on Composite Degree Residuosity Classes”, ADVANCES IN CRYPTOLOGY ― EUROCRYPT '99, Lecture Notes in Computer Science, 1999, Volume 1592/1999, pp.223-238

p,qを素数、N=pq、Nを公開鍵、p−1とq−1の最小公倍数であるλを秘密鍵、gをZ/NZの可逆元として、暗号化関数E(m,r)=g mod Nとする。すなわち、暗号文c=E(m,h(m))=gh(m) mod Nとなる。 An encryption function E (, where p and q are prime numbers, N = pq, N 2 is a public key, λ which is the least common multiple of p−1 and q−1 is a secret key, and g is a reversible element of Z / N 2 Z. m, r) = g m r N mod N 2 That is, the ciphertext c = E (m, h (m)) = g m h (m) N mod N 2 .

復号関数Dは、例えば次の5個の式により定義される。復号装置2は、ステップd1において、下記式により定義されるm’の値を計算して、復号結果として出力する。なお、下記式により定義されるm’の値の計算をするとは、その値を計算しさえすればその計算方法は問わないことを意味する。すなわち、その値を計算するために、数学的に等価な計算方法により計算してもよいことを意味する。   The decryption function D is defined by the following five expressions, for example. In step d1, the decoding device 2 calculates the value of m ′ defined by the following equation and outputs it as a decoding result. The calculation of the value of m ′ defined by the following formula means that the calculation method is not limited as long as the value is calculated. That is, it means that the value may be calculated by a mathematically equivalent calculation method.

w=gλ mod N
z=(w−1)/N
μ=z−1 mod N
u=cλ mod N
v=(u−1)/N
m’=vμ mod N
w = g λ mod N 2
z = (w−1) / N
μ = z −1 mod N
u = c λ mod N 2
v = (u-1) / N
m ′ = vμ mod N

ハッシュ関数hをランダム関数とみなすことができて、識別合成剰余問題(Decisional Composite Residuosity Problem)が困難であるようにNやgが選ばれているならば、この具体例1の方式は安全である。識別合成剰余問題とは、秘密の数をaとして、乱数r,rについてg mod Nとr mod Nを与えられたとき、それらを識別する問題である。 If the hash function h can be regarded as a random function and N and g are selected so that the Discrete Composite Residue Problem Problem is difficult, the method of Example 1 is safe. . The identification / combining residue problem is a problem for identifying a random number r 1 , r 2 given g a r 1 N mod N 2 and r 2 N mod N 2 with a secret number a.

mをある分布Mに従う確率変数によって定められるメッセージとする。hをランダム関数と見なすことができるならば、c=gh(m) mod Nは乱数rについてc=g mod Nと識別困難である。もし、識別合成剰余問題が困難であれば、g mod Nは乱数rについてr mod Nと識別困難である。したがって、cは、r mod Nと識別困難である。r mod Nはメッセージmの情報を含まないから、暗号文cからのメッセージmの情報は漏洩しない。 Let m be a message defined by a random variable that follows a certain distribution M. If h can be regarded as a random function, c = g m h (m) N mod N 2 is difficult to distinguish from c = g m r 1 N mod N 2 for random number r 1 . If the discriminative synthesis residue problem is difficult, g m r 1 N mod N 2 is difficult to discriminate from r 2 N mod N 2 for random number r 2 . Therefore, c is difficult to distinguish from r 2 N mod N 2 . Since r 2 N mod N 2 does not include the information of the message m, the information of the message m from the ciphertext c is not leaked.

例えば、Nの素因数分解が困難であれば識別合成剰余問題を効率良く解くアルゴリズムは知られておらず、識別合成剰余問題は困難であると考えられている。また、hとしてSHA−256などの安全なハッシュ関数を選べば、セキュリティパラメータkについて、Mがkビット以上のエントロピーを持つときに、Mから選んだmについてh(m)で与えられる分布を乱数と識別することは困難であるから、hをランダム関数とみなすことができる。   For example, if the prime factorization of N is difficult, an algorithm for efficiently solving the discriminative synthesis residue problem is not known, and it is considered that the discriminative synthesis residue problem is difficult. Also, if a secure hash function such as SHA-256 is selected as h, when M has an entropy of k bits or more with respect to the security parameter k, the distribution given by h (m) for m selected from M is a random number. H can be regarded as a random function.

[暗号化関数及び復号関数の具体例2]
いわゆるElGamal暗号を用いて、暗号化関数E及び復号関数Dを構成することができる。この場合のアルゴリズムの概要を、図5に例示する。
[Specific example 2 of encryption function and decryption function]
The encryption function E and the decryption function D can be configured using so-called ElGamal encryption. An outline of the algorithm in this case is illustrated in FIG.

Gを巡回群、gを群Gの生成元、所定の整数sを秘密鍵、y=gを公開鍵とする。 Cyclic group of G, g a generator of the group G, the private key a predetermined integer s, the public key y = g s.

暗号化関数E(m,r)を、c=my及びc=gを出力する関数とする。すなわち、第一暗号文c=myh(m)及び第二暗号文c=gh(m)の組(c,c)が、暗号文cとなる。 Encryption function E to (m, r), a function that outputs c 0 = my r and c 1 = g r. That is, a set (c 0 , c 1 ) of the first ciphertext c 0 = my h (m) and the second ciphertext c 1 = gh (m) becomes the ciphertext c.

復号関数Dを、c −sとする。 Let the decoding function D be c 0 c 1 -s .

復号結果検証装置1の検証情報生成部13は、ステップv3において、第一検証情報c’=m’yh(m’)及び第二検証情報c’=gh(m’)を計算し、この計算された第一検証情報c’及び第二検証情報c’の組(c’,c’)が検証情報となる。 In step v3, the verification information generation unit 13 of the decryption result verification apparatus 1 calculates the first verification information c 0 ′ = m′y h (m ′) and the second verification information c 1 ′ = g h (m ′) . The set (c 0 ′, c 1 ′) of the calculated first verification information c 0 ′ and second verification information c 1 ′ becomes verification information.

復号結果検証装置1の判定部14は、ステップv4において、第一暗号文cと第一検証情報c’とが一致するか、及び、第一暗号文cと第一検証情報c’とが一致するかを判定する。何れも一致すれば、暗号文cと検証情報とが一致すると判定する。少なくとも一方が一致しない場合には、暗号文cと検証情報とが一致しないと判定する。 Determination unit 14 of the decoding result verification apparatus 1 in step v4, or a first ciphertext c 0 the first verification information c 0 'match, and the first ciphertext c 1 and the first verification information c 1 Determine whether 'matches. If both match, it is determined that the ciphertext c and the verification information match. If at least one does not match, it is determined that the ciphertext c and the verification information do not match.

ハッシュ関数hをランダム関数とみなすことができて、識別Diffie−Hellman問題が困難であれば、この具体例2の方式は安全である。   If the hash function h can be regarded as a random function and the identification Diffie-Hellman problem is difficult, the method of this specific example 2 is safe.

識別Diffie−Hellman問題とは、ランダムなa,b,cについて、組(g,g,g,gab)と組(g,g,g,g)とを確率的多項式時間のアルゴリズムで識別する問題である。ランダム関数と見なすことができるハッシュ関数として例えばSHA−256が知られている。また、識別Diffie−Hellman問題が困難な群として、有限体の乗法群や、楕円曲線等の一般的なElGamal暗号に用いられる群がある。 The identification Diffie-Hellman problem is that random (a, b, c) and a set (g, g a , g b , g ab ) and a set (g, g a , g b , g c ) are stochastic polynomial times. It is a problem identified by the algorithm. For example, SHA-256 is known as a hash function that can be regarded as a random function. Further, as a group in which the identification Diffie-Hellman problem is difficult, there are a finite field multiplicative group and a group used for general ElGamal encryption such as an elliptic curve.

このとき、dを任意の整数として、組(g,g,gh(m),gsh(m))と組(g,g,gh(m),g)とは識別困難である。このため、各組の4番目の要素をm倍した組(g,g,gh(m),mgsh(m))と組(g,g,gh(m),mg)とも識別困難である。このことは、y=gであることを考慮すると、g,gを既知として、組(myh(m),gh(m))と組(mg,gh(m))とが識別困難であることと同義である。このため、組(myh(m),gh(m))の分布と組(mg,gh(m))の分布とは等しく、暗号文cである組(myh(m),gh(m))からメッセージmについての情報は得られない。 At this time, it is difficult to distinguish the pair (g, g s , gh (m) , g sh (m) ) and the pair (g, g s , gh (m) , g d ), where d is an arbitrary integer. It is. Therefore, a set (g, g s , gh (m) , mg sh (m) ) and a set (g, g s , gh (m) , mg d ) obtained by multiplying the fourth element of each set by m Both are difficult to identify. This is, considering that it is a y = g s, g, as known to g s, the set (my h (m), g h (m)) and the set (mg d, g h (m )) and Is synonymous with being difficult to identify. Therefore, the distribution of the pair (my h (m) , gh (m) ) and the distribution of the pair (mg d , gh (m) ) are equal, and the pair (my h (m) , The information about the message m cannot be obtained from gh (m) ).

このように、具体例2で定義した暗号化関数Eは、生成された暗号文からメッセージmの情報を漏洩しないという性質を満たす。   As described above, the encryption function E defined in the specific example 2 satisfies the property that the information of the message m is not leaked from the generated ciphertext.

[変形例等]
復号結果検証装置1の各部間のデータのやり取りは直接行われてもよいし、図示していない記憶部を介して行われてもよい。
[Modifications, etc.]
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 出力部
2 復号装置
DESCRIPTION OF SYMBOLS 1 Decoding result verification apparatus 11 Transmission part 12 Reception part 13 Verification information generation part 14 Determination part 15 Output part 2 Decoding apparatus

Claims (6)

復号装置に暗号文の復号を依頼して、戻ってきた結果を検証する復号結果検証装置であって、
hをハッシュ関数、E(m,r)を公開鍵と整数rを用いてメッセージmのみを暗号化して暗号文を生成する暗号化関数、E(m,h(m))を暗号文cとして、
上記暗号化関数Eは、生成された暗号文から上記メッセージmの情報を漏洩しない確率的公開鍵暗号方式であり、
上記E(m,h(m))に入力される上記メッセージmは付加ビットのない平文であり、
上記暗号文cを、上記暗号化関数Eに対応する復号関数Dで受信した上記暗号文cを秘密鍵を用いて復号可能でありその復号結果m’を出力する上記復号装置に送信する送信部と、
上記復号装置から上記復号結果m’を受信する受信部と、
上記復号結果m’を用いて上記公開鍵のみで検証情報E(m’,h(m’))を計算する検証情報生成部と、
上記暗号文cと上記検証情報E(m’,h(m’))とが一致するか判定する判定部と、
を含む復号結果検証装置。
A decryption result verification device that requests the decryption device to decrypt the ciphertext and verifies the returned result,
h a hash function, E (m, r) encryption function for generating a ciphertext by encrypting only messages m using a public key and an integer r a, E (m, h (m )) ciphertext c As
The encryption function E is a probabilistic public key cryptosystem that does not leak the information of the message m from the generated ciphertext,
The message m to be input to the E (m, h (m) ) is no additional bit plaintext,
The ciphertext c, transmission unit that transmits the ciphertext c received by decryption function D that corresponds to the encryption function E is decodable using a secret key to the decoding apparatus for outputting the decoded result m ' When,
A receiving unit for receiving the decoding result m ′ from the decoding device;
A verification information generation unit that calculates verification information E (m ′, h (m ′)) using only the public key by using the decryption result m ′;
A determination unit that determines whether the ciphertext c and the verification information E (m ′, h (m ′)) match;
A decryption result verification device.
請求項1の復号結果検証装置において、
検証する暗号文cを生成する上記暗号化関数E(m,r)は、p,qを素数、N=pq、N上記公開鍵、p−1とq−1の最小公倍数であるλを上記秘密鍵、gをZ/NZの可逆元として、g mod N表わされるものであり、
上記暗号文cを復号するための上記復号関数は、下記式により定義されるm’の値を計算する関数で表わされるものである、
w=gλ mod N
z=(w−1)/N
μ=z−1 mod N
u=cλ mod N
v=(u−1)/N
m’=vμ mod N
ことを特徴とする復号結果検証装置。
In the decryption result verification apparatus according to claim 1,
Generating a ciphertext c to verify the encryption function E (m, r) is, p, prime numbers q, N = pq, the public key N 2, is the least common multiple of p-1 and q-1 lambda Is represented by g m r N mod N 2 , where g is the above-mentioned secret key and g is a reversible element of Z / N 2 Z,
The decryption function D for decrypting the ciphertext c is represented by a function for calculating the value of m ′ defined by the following equation:
w = g λ mod N 2
z = (w−1) / N
μ = z −1 mod N
u = c λ mod N 2
v = (u-1) / N
m ′ = vμ mod N
The decoding result verification apparatus characterized by the above-mentioned .
請求項1の復号結果検証装置において、
検証する暗号文cを生成する上記暗号化関数E(m,r)は、Gを巡回群、gを群Gの生成元、所定の整数sを上記秘密鍵、y=g上記公開鍵として、c =my及びc=gを出力する関数で表わされるものであり、
上記暗号文cは、第一暗号文c=myh(m)及び第二暗号文c=gh(m) の組で表わされるものであり、
上記暗号文cを復号するための上記復号関数Dは、c −s表わされるものであり、
上記検証情報生成部は、第一検証情報c’=m’yh(m’)及び第二検証情報c’=gh(m’)を計算し、
上記判定部は、上記第一暗号文cと上記第一検証情報c’とが一致するか、及び、上記第暗号文cと上記第検証情報c’とが一致するかを判定する、
ことを特徴とする復号結果検証装置。
In the decryption result verification apparatus according to claim 1,
The encryption function E which generates a ciphertext c to validate (m, r) is a group visited G, g a generator of the group G, the private key a predetermined integer s, y = g s the public key Is expressed by a function that outputs c 0 = my r and c 1 = g r ,
The ciphertext c is represented by a set of a first ciphertext c 0 = my h (m) and a second ciphertext c 1 = gh (m) ,
The decryption function D for decrypting the ciphertext c is represented by c 0 c 1 -s ,
The verification information generation unit calculates the first verification information c 0 '= m'y h (m ') and the second verification information c 1 '= g h (m '),
Whether the first ciphertext c 0 and the first verification information c 0 ′ match, or whether the second ciphertext c 1 and the second verification information c 1 ′ match Determine
The decoding result verification apparatus characterized by the above-mentioned .
復号装置に暗号文の復号を依頼して、戻ってきた結果を検証する復号結果検証方法であって、
hをハッシュ関数、E(m,r)を公開鍵と整数rを用いてメッセージmのみを暗号化して暗号文を生成する暗号化関数、E(m,h(m))を暗号文cとして、
上記暗号化関数Eは、生成された暗号文から上記メッセージmの情報を漏洩しない確率的公開鍵暗号方式であり、
上記E(m,h(m))に入力される上記メッセージmは付加ビットのない平文であり、
送信部が、上記暗号文cを、上記暗号化関数Eに対応する復号関数Dで受信した暗号文cを秘密鍵を用いて復号可能でありその復号結果m’を出力する上記復号装置に送信する送信ステップと、
受信部が、上記復号装置から上記復号結果m’を受信する受信ステップと、
検証情報生成部が、上記公開鍵のみで上記復号結果m’を用いて検証情報E(m’,h(m’))を計算する検証情報生成ステップと、
判定部が、上記暗号文cと上記検証情報E(m’,h(m’))とが一致するか判定する判定ステップと、
を含む復号結果検証方法。
A decryption result verification method that requests the decryption device to decrypt the ciphertext and verifies the returned result,
h a hash function, E (m, r) encryption function for generating a ciphertext by encrypting only messages m using a public key and an integer r a, E (m, h (m )) ciphertext c As
The encryption function E is a probabilistic public key cryptosystem that does not leak the information of the message m from the generated ciphertext,
The message m to be input to the E (m, h (m) ) is no additional bit plaintext,
Transmitting unit transmits, to the ciphertext c, and the ciphertext c received by decryption function D that corresponds to the encryption function E can be decrypted using the private key to the decoding apparatus for outputting the decoded result m ' Sending step to
A receiving step in which the receiving unit receives the decoding result m ′ from the decoding device;
A verification information generation step in which a verification information generation unit calculates verification information E (m ′, h (m ′)) using only the public key and the decryption result m ′;
A determination step for determining whether the ciphertext c and the verification information E (m ′, h (m ′)) match;
A decryption result verification method including:
復号装置に暗号文の復号を依頼して、戻ってきた結果を検証する復号結果検証システムにおいて、
hをハッシュ関数、E(m,r)を公開鍵と整数rを用いてメッセージmのみを暗号化して暗号文を生成する暗号化関数、E(m,h(m))を暗号文cとして、
上記暗号化関数Eは、生成された暗号文から上記メッセージmの情報を漏洩しない確率的公開鍵暗号方式であり、
上記E(m,h(m))に入力される上記メッセージmは付加ビットのない平文であり、
上記暗号化関数Eに対応する復号関数Dで受信した上記暗号文cを秘密鍵を用いて復号可能でありその復号結果m’を出力する復号装置と、
上記暗号文cを上記復号装置に送信する送信部と、上記復号装置から上記復号結果m’を受信する受信部と、上記公開鍵のみで上記復号結果m’を用いて検証情報E(m’,h(m’))を計算する検証情報生成部と、上記暗号文cと上記検証情報E(m’,h(m’))とが一致するか判定する判定部と、を含む復号結果検証装置と、
を含む復号結果検証システム。
In the decryption result verification system that requests the decryption device to decrypt the ciphertext and verifies the returned result,
h a hash function, E (m, r) encryption function for generating a ciphertext by encrypting only messages m using a public key and an integer r a, E (m, h (m )) ciphertext c As
The encryption function E is a probabilistic public key cryptosystem that does not leak the information of the message m from the generated ciphertext,
The message m to be input to the E (m, h (m) ) is no additional bit plaintext,
A decryption device capable of decrypting the ciphertext c received by the decryption function D corresponding to the encryption function E using a secret key, and outputting the decryption result m ′;
A transmission unit that transmits the ciphertext c to the decryption device, a reception unit that receives the decryption result m ′ from the decryption device, and verification information E (m ′) using only the public key and the decryption result m ′ , H (m ′)), and a decryption result including a determination unit that determines whether the ciphertext c and the verification information E (m ′, h (m ′)) match. A verification device;
A decryption result verification system 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.
JP2011092163A 2011-04-18 2011-04-18 Decryption result verification apparatus, method, system, and program Active JP5912281B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011092163A JP5912281B2 (en) 2011-04-18 2011-04-18 Decryption result verification apparatus, method, system, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011092163A JP5912281B2 (en) 2011-04-18 2011-04-18 Decryption result verification apparatus, method, system, and program

Publications (2)

Publication Number Publication Date
JP2012227652A JP2012227652A (en) 2012-11-15
JP5912281B2 true JP5912281B2 (en) 2016-04-27

Family

ID=47277389

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011092163A Active JP5912281B2 (en) 2011-04-18 2011-04-18 Decryption result verification apparatus, method, system, and program

Country Status (1)

Country Link
JP (1) JP5912281B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5860420B2 (en) * 2013-01-16 2016-02-16 日本電信電話株式会社 Safety evaluation device and program

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3306384B2 (en) * 1998-11-11 2002-07-24 日本電信電話株式会社 Encryption device, decryption device, and program recording medium for public key encryption using random function
JP2004254027A (en) * 2003-02-19 2004-09-09 Toshiba Corp Server device, key managing device, and encryption communication method and program
JP5469631B2 (en) * 2011-03-31 2014-04-16 日本電信電話株式会社 Decryption result verification apparatus, method and program

Also Published As

Publication number Publication date
JP2012227652A (en) 2012-11-15

Similar Documents

Publication Publication Date Title
US20230106151A1 (en) Multi-party threshold authenticated encryption
US11895231B2 (en) Adaptive attack resistant distributed symmetric encryption
KR102423885B1 (en) Method and system for additive homomorphic encryption scheme with error detection functionality
US11804960B2 (en) Distributed symmetric encryption
US9698984B2 (en) Re-encrypted data verification program, re-encryption apparatus and re-encryption system
JP2014220661A (en) Certification device, output device, verification device, input device, certification method, verification method and program
JPWO2017126001A1 (en) Ciphertext conversion apparatus, ciphertext conversion program, and ciphertext conversion method
JP2012150378A (en) Proxy re-encryption system, key generation device, re-encryption device, proxy re-encryption method, and program
WO2021222272A1 (en) Adaptive attack resistant distributed symmetric encryption
WO2014030706A1 (en) Encrypted database system, client device and server, method and program for adding encrypted data
KR101533950B1 (en) Broadcast encryption method and system
JP5730805B2 (en) Hierarchical inner product encryption system based on lattice problem, hierarchical inner product encryption method and apparatus based on lattice problem
JP5679344B2 (en) Signature key obfuscation system, signature key obfuscation method, encryption signature system using obfuscated signature key, encryption signature method and program using obfuscated signature key
JP5912281B2 (en) Decryption result verification apparatus, method, system, and program
JP5469631B2 (en) Decryption result verification apparatus, method and program
WO2023048711A1 (en) Threshold secret share generation for distributed symmetric cryptography
JP5367023B2 (en) Information encryption method, information encryption apparatus, program, and recording medium
JP4565632B2 (en) Secret calculation method and system, and program
JP2009290698A (en) Blind signature device, partial blind signature device, receiver, system, method, and program
JP2001222218A (en) Device and method for ciphering, device and method for deciphering, cipher system and recording medium which stores the program
JP5683512B2 (en) Verifiable cryptographic signature system, verifiable cryptographic signature method, apparatus, and program
TW202245436A (en) Method of generating signature of message, message authentication method and encryption device
CN116415265A (en) Encryption, encryption signature processing and decryption methods and related equipment
JP6267591B2 (en) Tag-use disposable signature system and method, tag key generation device, signature device, and program
JP2004347885A (en) Encryption device processing method, decryption device processing method, device and program for same

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

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140610

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140804

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20140909

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141208

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20141215

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20141226

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160210

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160401

R150 Certificate of patent or registration of utility model

Ref document number: 5912281

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150