JP2006227411A - Communications system, encryption device, key generator, key generating method, restoration device, communication method, encryption method, and cryptography restoration method - Google Patents

Communications system, encryption device, key generator, key generating method, restoration device, communication method, encryption method, and cryptography restoration method Download PDF

Info

Publication number
JP2006227411A
JP2006227411A JP2005042646A JP2005042646A JP2006227411A JP 2006227411 A JP2006227411 A JP 2006227411A JP 2005042646 A JP2005042646 A JP 2005042646A JP 2005042646 A JP2005042646 A JP 2005042646A JP 2006227411 A JP2006227411 A JP 2006227411A
Authority
JP
Japan
Prior art keywords
ciphertext
random number
key
encryption
plaintext
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
JP2005042646A
Other languages
Japanese (ja)
Other versions
JP4758110B2 (en
Inventor
Takeshi Ishihara
武 石原
Hiroshi Aono
博 青野
Setsuyuki Hongo
節之 本郷
Junji Yomo
順司 四方
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.)
NTT Docomo Inc
Yokohama National University NUC
Original Assignee
NTT Docomo Inc
Yokohama National University NUC
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 NTT Docomo Inc, Yokohama National University NUC filed Critical NTT Docomo Inc
Priority to JP2005042646A priority Critical patent/JP4758110B2/en
Publication of JP2006227411A publication Critical patent/JP2006227411A/en
Application granted granted Critical
Publication of JP4758110B2 publication Critical patent/JP4758110B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To realize a safe and efficient threshold encryption system. <P>SOLUTION: When a random number r is hidden as g<SP>r</SP>, with respect to g defined as gεZ*N<SP>2</SP>(here, ε is a symbol showing "g is an element of a set Z") and a plaintext m is encrypted by using at least a part of the random number r, a ciphertext is generated by performing a partial prior calculation for encryption, under a modulus of a composite number. When the plaintext m is restored, at least a part of the random number r is restored, by using partial decrypting information and the plaintext m is obtained by using at least a part of the restored random number r. <P>COPYRIGHT: (C)2006,JPO&NCIPI

Description

本発明は通信システム、暗号化装置、鍵生成装置、鍵生成方法、復元装置、通信方法、暗号化方法、暗号復元方法に関し、特に公開鍵暗号方式やしきい値暗号方式を採用した通信システム、暗号化装置、鍵生成装置、鍵生成方法、復元装置、通信方法、暗号化方法、暗号復元方法に関する。   The present invention relates to a communication system, an encryption device, a key generation device, a key generation method, a restoration device, a communication method, an encryption method, and an encryption restoration method, and more particularly, a communication system adopting a public key encryption method and a threshold encryption method, The present invention relates to an encryption device, a key generation device, a key generation method, a restoration device, a communication method, an encryption method, and an encryption restoration method.

従来、安全な通信を行うために、公開鍵暗号方式が用いられている。公開鍵暗号方式では、公開鍵に対する復号鍵を安全に保管しておくことが大きな課題の一つになっている。この課題に対する解決方法の一つとして、種々のしきい値暗号方式が開発されている。しきい値暗号方式とは、公開鍵暗号方式における復号鍵を複数の分散鍵に分散し、分散鍵を持つ複数の装置が協力しなければ、平文を復元できないようにした方式である。   Conventionally, public key cryptosystems are used to perform secure communication. In the public key cryptosystem, storing a decryption key for a public key safely is one of the major issues. As one of solutions to this problem, various threshold encryption methods have been developed. The threshold encryption method is a method in which a decryption key in a public key encryption method is distributed to a plurality of distributed keys, and plain text cannot be restored unless a plurality of devices having the distributed keys cooperate.

公開鍵暗号を用いるにあたって復号鍵を如何に安全に保管しておくかということは大きな課題の一つであり、その解決方法の一つとして種々のしきい値暗号の方式が開発されてきた。ここで、しきい値暗号とは公開鍵暗号における復号のための復号鍵をいくつかの分散鍵と呼ばれるものに分散し、分散鍵をもつ複数のセンタが協力しなければ復号ができない方式である。このようなしきい値暗号の方式としては、例えば、素因数分解型の暗号方式を用いる方法(例えば、非特許文献1、非特許文献2、非特許文献3)や、離散対数型の暗号方式を用いる方法(例えば、非特許文献4)などが知られている。   How to securely store a decryption key when using public key cryptography is one of the major issues, and various threshold cryptosystems have been developed as one of the solutions. Here, threshold encryption is a method in which a decryption key for decryption in public key cryptography is distributed into several so-called distributed keys, and decryption is not possible unless a plurality of centers having the distributed keys cooperate. . As such a threshold encryption method, for example, a method using a prime factorization type encryption method (for example, Non-Patent Document 1, Non-Patent Document 2, Non-Patent Document 3) or a discrete logarithmic encryption method is used. A method (for example, Non-Patent Document 4) is known.

Pierre-Alain Fouque and David Pointcheval, Threshold Cryptosystems Secure against Chosen-Ciphertext Attacks. ASIACRYPT 2001, pp.351-368(2001)Pierre-Alain Fouque and David Pointcheval, Threshold Cryptosystems Secure against Chosen-Ciphertext Attacks. ASIACRYPT 2001, pp.351-368 (2001) 石原武、青野博、本郷節之、四方順司、しきい値型Paillier 暗号の改良、信学技報ISEC2004-12(2004-05)、電子情報通信学会Takeshi Ishihara, Hiroshi Aono, Nobuyuki Hongo, Junji Shikata, Improvement of Threshold Type Paillier Cipher, IEICE Technical Report ISEC2004-12 (2004-05), IEICE V.Shoup and R.Gennaro, Securing Threshold Cryptosystems against Chosen Ciphertext Attack, Journal of Cryptology, vol.15,no.2, pp.75-96(2002)V.Shoup and R.Gennaro, Securing Threshold Cryptosystems against Chosen Ciphertext Attack, Journal of Cryptology, vol.15, no.2, pp.75-96 (2002) J.Katz and M.Yung, “Threshold Cryptosystems Based on Factoring”, ASIACRYPT2002, Lecture Notes in Computer Science, 2501, pp.192-205, Springer-Verlag, 2002J. Katz and M. Yung, “Threshold Cryptosystems Based on Factoring”, ASIACRYPT2002, Lecture Notes in Computer Science, 2501, pp.192-205, Springer-Verlag, 2002

しかし、上記非特許文献1に記載の技術は選択暗号文攻撃に対して安全性が示せるものの、暗号化の際にべき乗演算を数多く行う必要があり、暗号化の前に事前計算できないべき乗演算が存在していた(問題点1)。
また上記非特許文献2に記載の技術は暗号化のための計算量は少ないものの、安全性が選択平文攻撃のもとでのみ示され、選択暗号文攻撃のもとでの安全性が示されないという問題があった(問題点2)。また安全性の根拠をe乗根判定問題という、強い仮定の元ではじめて安全性が示せていた(問題点2’)。
However, although the technique described in Non-Patent Document 1 shows safety against a selected ciphertext attack, it is necessary to perform many exponentiation operations at the time of encryption, and there are exponentiation operations that cannot be pre-computed before encryption. It existed (Problem 1).
Further, although the technique described in Non-Patent Document 2 has a small amount of calculation for encryption, security is shown only under a selected plaintext attack, and security under a selected ciphertext attack is not shown. (Problem 2). In addition, the safety was demonstrated based on the strong assumption of the e-root determination problem as the basis of safety (Problem 2 ′).

また上記非特許文献3に記載の技術は素因数分解に基づく方式に比べて大きな素数を準備する必要がある。素数定理より大きい素数は数が少ないために、大きい素数を準備するということは目的の素数が見つけにくく、使える素数も少ないという問題がある(問題点3)。
さらに、非特許文献4に示される素因数分解型のしきい値暗号方式では、法Nのもとでの計算により暗号化及び復号を行い、選択平文攻撃に対する安全性を確保できるものの、1ビットしか暗号化できなかった。そのため、暗号化及び復号の効率が非常に悪く、実用的ではなかった(問題点4)。
Further, the technique described in Non-Patent Document 3 needs to prepare a large prime number as compared with a method based on prime factorization. Since prime numbers larger than the prime number theorem have few numbers, preparing a large prime number has a problem that it is difficult to find the target prime number and there are few prime numbers that can be used (Problem 3).
Further, in the prime factorization type threshold encryption method shown in Non-Patent Document 4, although encryption and decryption can be performed by calculation under the modulus N to ensure safety against a selected plaintext attack, only 1 bit is available. Could not encrypt. For this reason, the efficiency of encryption and decryption is very poor and not practical (Problem 4).

特に、問題点1及び問題点4については、携帯性を重視する移動通信端末は高速のCPUを搭載することが困難なため上記従来技術のしきい値暗号方式は、その暗号化の際の計算が非効率なため実用向きではない。
本発明の第1の目的は、上述した問題点1,2’,3,4を解決するため、複数ビットの平文を暗号化でき、決定問題に仮定を置く、素因数分解型で、かつ、事前計算により計算能力の低い移動通信端末などにおいても実用可能な、しきい値暗号化方式又は公開鍵暗号方式を採用した、通信システム、暗号化装置、鍵生成装置、鍵生成方法、復元装置、通信方法、暗号化方法、暗号復元方法を提供することである。
In particular, with regard to Problem 1 and Problem 4, since the mobile communication terminal that places importance on portability is difficult to mount a high-speed CPU, the above-described threshold encryption method of the above-described prior art is calculated at the time of encryption. Is inefficient because of inefficiency.
The first object of the present invention is to solve the above-mentioned problems 1, 2 ', 3, and 4, and to encrypt a plaintext of a plurality of bits, to make a decision problem, and to be a prime factorization type and advance Communication system, encryption device, key generation device, key generation method, restoration device, communication adopting threshold encryption method or public key encryption method, which can be practically used in mobile communication terminals with low calculation capability by calculation It is to provide a method, an encryption method, and an encryption restoration method.

本発明の第2の目的は、上述した問題点1,2,3,4を解決するため、複数ビットの平文を暗号化でき、素因数分解型で、かつ、事前計算により計算能力の低い移動通信端末などにおいても実用可能な、しきい値暗号化方式又は公開鍵暗号方式を採用した、通信システム、暗号化装置、鍵生成装置、鍵生成方法、復元装置、通信方法、暗号化方法、暗号復元方法を提供することである。   The second object of the present invention is to solve the above-mentioned problems 1, 2, 3 and 4, and can encrypt a multi-bit plaintext, is a prime factorization type, and has a low computing power by pre-computation. A communication system, encryption device, key generation device, key generation method, restoration device, communication method, encryption method, encryption restoration that employs a threshold encryption method or a public key encryption method that can also be used in terminals and the like. Is to provide a method.

本発明の請求項1による通信システムは、合成数を法とするもとで合成数とは素なgに対して乱数rをgrとして隠し、乱数rの少なくとも一部を用いて平文mを暗号化する場合に、合成数を法とするもとで、暗号化のために部分的な事前計算を行う暗号化装置と、
合成数を法として計算できるgrで定義されるuから乱数rの少なくとも一部を取出す際に必要となる秘密情報である鍵を元に分散鍵を生成する鍵生成装置と、
暗号文と分散鍵とを用いて部分復号情報を生成する部分復号装置(例えば、図1〜図3中の復号サーバ501〜50nに対応)と、
復号の際に乱数rの少なくとも一部を前記部分復号情報を用いて復元し、復元した乱数rの少なくとも一部を用いて平文mを求める復元装置と、
を含むことを特徴とする。このように構成すれば、安全かつ効率的なしきい値暗号方式を採用した通信システムを実現できる。
The communication system according to claim 1 of the present invention conceals the random number r as g r with respect to g which is not a composite number based on the composite number, and uses at least a part of the random number r to express the plaintext m. When encrypting, an encryption device that performs partial pre-calculation for encryption based on the composite number, and
A key generating unit for generating a distributed key based on the key that is secret information required when taking out at least part of the u from the random number r defined by g r which can calculate the composite number as a modulo,
A partial decryption device (for example, corresponding to decryption servers 50 1 to 50 n in FIGS. 1 to 3) that generates partial decryption information using ciphertext and a distributed key;
A restoration device that restores at least a part of the random number r using the partial decryption information at the time of decryption, and obtains the plaintext m using at least a part of the restored random number r;
It is characterized by including. If comprised in this way, the communication system which employ | adopted the safe and efficient threshold value encryption system is realizable.

本発明の請求項2による暗号化装置は、合成数を法とするもとで合成数とは素なgに対して乱数rをgrとして隠し、乱数rの少なくとも一部を用いて平文mを暗号化する場合に、合成数を法とするもとで、暗号化のために部分的な事前計算を行う暗号文生成手段と、前記暗号文生成手段によって生成した暗号文を暗号文管理サーバに送信する暗号文送信手段とを含むことを特徴とする。このように構成すれば、安全かつ効率的なしきい値暗号方式を採用した通信システムにおける暗号化装置を実現できる。 The encryption apparatus according to claim 2 of the present invention conceals the random number r as g r with respect to g which is not the combined number and modulo the combined number, and uses at least a part of the random number r as plaintext m. The ciphertext generating means for performing partial pre-calculation for encryption based on the composite number, and the ciphertext generated by the ciphertext generating means And ciphertext transmission means for transmitting to the network. If comprised in this way, the encryption apparatus in the communication system which employ | adopted the safe and efficient threshold value encryption system is realizable.

本発明の請求項3による鍵生成装置は、合成数を法として計算できるgrで定義されるuから乱数rの少なくとも一部を取出す際に必要となる秘密情報である鍵を元に分散鍵を生成する分散鍵生成手段と、前記分散鍵生成手段によって生成された分散鍵を部分復号装置に送信する分散鍵送信手段とを含むことを特徴とする。このように構成すれば、安全かつ効率的なしきい値暗号方式を採用した通信システムにおける鍵生成装置を実現できる。 The key generation device according to claim 3 of the present invention is a distributed key based on a key that is secret information necessary for extracting at least a part of a random number r from u defined by g r that can be calculated by using a composite number as a modulus. And a distributed key transmitting means for transmitting the distributed key generated by the distributed key generating means to the partial decryption device. If comprised in this way, the key generation apparatus in the communication system which employ | adopted the safe and efficient threshold value encryption system is realizable.

本発明の請求項4による鍵生成装置は、請求項3において、grで定義されるuと暗号文との関係を検証するための暗号文検証用データを、作成するために必要な公開情報を作成する公開情報作成手段を更に含むことを特徴とする。このように構成すれば、安全性をより高めたしきい値暗号方式を採用した通信システムにおける鍵生成装置を実現できる。
本発明の請求項5による鍵生成方法は、合成数を法として計算できるgrで定義されるuから乱数rの少なくとも一部を取出す際に必要となる秘密情報である鍵を元に分散鍵を生成する分散鍵生成ステップを含むことを特徴とする。このように構成すれば、安全かつ効率的なしきい値暗号方式を採用した鍵生成方法を実現できる。
The key generation apparatus according to claim 4 of the present invention, in claim 3, public information necessary ciphertext verification data for verifying the relationship between u and the ciphertext is defined by g r, in order to create It further comprises public information creating means for creating If comprised in this way, the key generation apparatus in the communication system which employ | adopted the threshold-value encryption method which raised safety | security more is realizable.
The key generation method according to claim 5 of the present invention, distributed key based on the key that is secret information required when taking out at least part of the u random number r defined by g r which can calculate the composite number as a modulo Including a distributed key generation step of generating. If comprised in this way, the key generation method which employ | adopted the safe and efficient threshold value encryption system is realizable.

本発明の請求項6による鍵生成方法は、合成数を法として計算できるgrで定義されるuから乱数rの少なくとも一部を取出す際に必要となる秘密情報である鍵を元に分散鍵を生成する分散鍵生成ステップと、grで定義されるuと暗号文との関係を検証するための暗号文検証用データを、作成するために必要な公開情報を作成する公開情報作成ステップとを含むことを特徴とする。このように構成すれば、安全性をより高めたしきい値暗号方式を採用した鍵生成方法を実現できる。 The key generation method according to claim 6 of the present invention, distributed key based on the key that is secret information required when taking out at least part of the u random number r defined by g r which can calculate the composite number as a modulo a distributed key generation step of generating a ciphertext verification data for verifying the relationship between u and the ciphertext is defined by g r, and public information generating step of generating public information needed to create It is characterized by including. If comprised in this way, the key generation method which employ | adopted the threshold-value encryption method which raised safety | security more is realizable.

本発明の請求項7による復元装置は、復号の際に乱数rの少なくとも一部を部分復号情報を用いて復元し、復元した乱数rの少なくとも一部を用いて平文mを求めることを特徴とする。このように構成すれば、安全かつ効率的なしきい値暗号方式を採用した通信システムにおける復元装置を実現できる。   The restoration device according to claim 7 of the present invention is characterized in that at the time of decryption, at least a part of the random number r is restored using the partial decryption information, and the plaintext m is obtained using at least a part of the restored random number r. To do. If comprised in this way, the decompression | restoration apparatus in the communication system which employ | adopted the safe and efficient threshold value encryption system is realizable.

本発明の請求項8による通信方法は、合成数を法とするもとで合成数とは素なgに対して乱数rをgrとして隠し、乱数rの少なくとも一部を用いて平文mを暗号化する場合に、合成数を法とするもとで、暗号化のために部分的な事前計算を行うステップと、
合成数を法として計算できるgrで定義されるuから乱数rの少なくとも一部を取出す際に必要となる秘密情報である鍵を元に分散鍵を生成するステップと、
暗号文と前記分散鍵記憶手段に記憶されている分散鍵とを用いて部分復号情報を生成するステップと、
復号の際に乱数rの少なくとも一部を前記部分復号情報を用いて復元し、復元した乱数rの少なくとも一部を用いて平文mを求めることを特徴とするステップと、
を含むことを特徴とする。このように構成すれば、安全かつ効率的なしきい値暗号方式を採用した通信方法を実現できる。
The communication method according to claim 8 of the present invention conceals a random number r as g r with respect to g that is not a composite number and modulo the composite number, and uses at least a part of the random number r to express the plaintext m. A step of performing a partial pre-calculation for encryption based on a composite number when encrypting; and
Generating a distributed key based on a key, which is secret information necessary for extracting at least a part of the random number r from u defined by g r that can be calculated modulo the composite number;
Generating partial decryption information using ciphertext and a distributed key stored in the distributed key storage means;
Reconstructing at least a part of the random number r using the partial decryption information at the time of decryption, and obtaining a plaintext m using at least a part of the restored random number r;
It is characterized by including. If comprised in this way, the communication method which employ | adopted the safe and efficient threshold value encryption system is realizable.

本発明の請求項9による通信システムは、合成数を法として計算できるgrで定義されるuから乱数rの少なくとも一部を取出す際に必要となる秘密鍵を生成する秘密鍵生成装置と、
合成数を法とするもとで合成数とは素なgに対して乱数rをgrとして隠し、乱数rの少なくとも一部を用いて平文mを暗号化する場合に、合成数を法とするもとで、暗号化のために部分的な事前計算を行う暗号化装置と、
復号の際に乱数rの少なくとも一部を、前記秘密鍵生成装置によって生成された秘密鍵を用いて復元し、復元した乱数rの少なくとも一部を用いて平文mを求める復元装置と、
を含むことを特徴とする。このように構成すれば、安全かつ効率的な公開鍵暗号方式を採用した通信システムを実現できる。
A communication system according to claim 9 of the present invention includes a secret key generation device that generates a secret key necessary for extracting at least a part of a random number r from u defined by g r that can be calculated modulo a composite number;
When the composite number is modulo, the random number r is concealed as g r with respect to the prime g and the plaintext m is encrypted using at least a part of the random number r. An encryption device that performs partial pre-computation for encryption,
A restoration device for restoring at least a part of the random number r at the time of decryption using the secret key generated by the secret key generation apparatus and obtaining the plaintext m using at least a part of the restored random number r;
It is characterized by including. If comprised in this way, the communication system which employ | adopted the safe and efficient public key encryption system is realizable.

本発明の請求項10による鍵生成装置は、合成数を法として計算できるgrで定義されるuから乱数rの少なくとも一部を取出す際に必要となる秘密鍵を生成する秘密鍵生成手段と、前記秘密鍵生成手段によって生成された秘密鍵を復元装置に送信する秘密鍵送信手段とを含むことを特徴とする。このように構成すれば、安全かつ効率的な公開鍵暗号方式を採用した通信システムにおける鍵生成装置を実現できる。 According to a tenth aspect of the present invention, there is provided a secret key generating means for generating a secret key necessary for extracting at least a part of the random number r from u defined by g r that can be calculated by using a composite number as a modulus. And a secret key transmitting means for transmitting the secret key generated by the secret key generating means to the restoration device. If comprised in this way, the key generation apparatus in the communication system which employ | adopted the safe and efficient public key cryptosystem is realizable.

本発明の請求項11による鍵生成装置は、請求項10において、grで定義されるuと暗号文との関係を検証するための暗号文検証用データを、作成するために必要な公開情報を作成する公開情報作成手段を更に含むことを特徴とする。このように構成すれば、安全性をより高めた公開鍵暗号方式を採用した通信システムにおける鍵生成装置を実現できる。 The key generation apparatus according to claim 11 of the present invention, in claim 10, public information necessary ciphertext verification data for verifying the relationship between u and the ciphertext is defined by g r, in order to create It further comprises public information creating means for creating If comprised in this way, the key generation apparatus in the communication system which employ | adopted the public key cryptosystem which raised safety | security more is realizable.

本発明の請求項12による鍵生成方法は、合成数を法として計算できるgrで定義されるuから乱数rの少なくとも一部を取出す際に必要となる秘密鍵を生成する秘密鍵生成ステップを含むことを特徴とする。このように構成すれば、安全かつ効率的な公開鍵暗号方式を採用した鍵生成方法を実現できる。
本発明の請求項13による鍵生成方法は、合成数を法として計算できるgrで定義されるuから乱数rの少なくとも一部を取出す際に必要となる秘密鍵を生成する秘密鍵生成ステップと、grで定義されるuと暗号文との関係を検証するための暗号文検証用データを、作成するために必要な公開情報を作成する公開情報作成ステップとを含むことを特徴とする。このように構成すれば、安全性をより高めた公開鍵値暗号方式を採用した鍵生成方法を実現できる。
The key generation method according to claim 12 of the present invention includes a secret key generation step for generating a secret key required for extracting at least a part of the random number r from u defined by g r that can be calculated by using a composite number as a modulus. It is characterized by including. If comprised in this way, the key generation method which employ | adopted the safe and efficient public key cryptosystem is realizable.
A key generation method according to a thirteenth aspect of the present invention includes a secret key generation step for generating a secret key necessary for extracting at least part of the random number r from u defined by g r that can be calculated by using a composite number as a modulus. , the ciphertext verification data for verifying the relationship between u and ciphertext is defined by g r, characterized in that it comprises a public information creation step of creating a public information needed to create. If comprised in this way, the key generation method which employ | adopted the public key value encryption system which raised safety | security more is realizable.

本発明の請求項14による通信方法は、合成数を法として計算できるgrで定義されるuから乱数rの少なくとも一部を取出す際に必要となる秘密鍵を生成する鍵生成ステップと、
合成数を法とするもとで合成数とは素なgに対して乱数rをgrとして隠し、乱数rの少なくとも一部を用いて平文mを暗号化する場合に、合成数を法とするもとで、暗号化のために部分的な事前計算を行うステップと、
復号の際に乱数rの少なくとも一部を、前記秘密鍵生成手段によって生成された秘密鍵を用いて復元し、復元した乱数rの少なくとも一部を用いて平文mを求める復元ステップと、
を含むことを特徴とする。このように構成すれば、安全かつ効率的な公開鍵暗号方式を採用した通信方法を実現できる。
A communication method according to claim 14 of the present invention includes a key generation step of generating a secret key necessary for extracting at least a part of the random number r from u defined by g r that can be calculated modulo the composite number;
When the composite number is modulo, the random number r is concealed as g r with respect to the prime g and the plaintext m is encrypted using at least a part of the random number r. A partial precomputation for encryption, and
A restoration step of restoring at least part of the random number r at the time of decryption using the secret key generated by the secret key generation means, and obtaining the plaintext m using at least part of the restored random number r;
It is characterized by including. If comprised in this way, the communication method which employ | adopted the safe and efficient public key cryptosystem is realizable.

本発明の請求項15による暗号化装置は、合成数を法とするもとで合成数とは素なgに対して乱数rをgrとして隠し、乱数rの少なくとも一部を用いて平文mを一度だけ暗号化し(従来特にしきい値暗号では検証データだけではなく一つの平文に対して二度暗号化してはじめて選択暗号文攻撃に対して安全であった)、更に暗号文検証用データを付加して、合成数を法とするもとで、暗号化のために部分的な事前計算を行う暗号文生成手段と、前記暗号文生成手段によって生成した暗号文を暗号文管理サーバに送信する暗号文送信手段とを含むことを特徴とする。このように構成すれば、安全かつ効率的な公開鍵暗号方式を採用した通信システムにおける暗号化装置を実現できる。 The encryption device according to claim 15 of the present invention conceals a random number r as g r with respect to g which is not a composite number based on the composite number, and uses at least a part of the random number r as plaintext m. Is encrypted only once (especially in the case of threshold encryption, not only the verification data but also a single plaintext was encrypted twice before it was safe against selective ciphertext attacks), and the ciphertext verification data was In addition, ciphertext generation means for performing partial pre-computation for encryption based on the composite number and ciphertext generated by the ciphertext generation means is transmitted to the ciphertext management server. And ciphertext transmission means. If comprised in this way, the encryption apparatus in the communication system which employ | adopted the safe and efficient public key encryption system is realizable.

本発明の請求項16による通信システムは、
合成数を法とするもとで合成数とは素なgに対して乱数rをgrとして隠し、乱数rの少なくとも一部を用いて平文mを一度だけ暗号化し(従来特にしきい値暗号では検証データだけではなく一つの平文に対して二度暗号化してはじめて選択暗号文攻撃に対して安全であった)、更に暗号文検証用データを付加して、合成数を法とするもとで、暗号化のために部分的な事前計算を行う暗号文生成手段と、
合成数を法として計算できるgrで定義されるuから乱数rの少なくとも一部を取出す際に必要となる秘密情報である鍵を元に分散鍵を生成する鍵生成手段と、
暗号文と分散鍵とを用いて部分復号情報を生成する部分復号手段(例えば、図1〜図3中の復号サーバ501〜50nに対応)と、
前記検証用データを用いて暗号文について検証を行う検証手段と、
復号の際に乱数rの少なくとも一部を前記部分復号情報を用いて復元し、復元した乱数rの少なくとも一部を用いて平文mを求めることを特徴とする復元手段と、
を含むことを特徴とする。このように構成すれば、安全かつ効率的なしきい値暗号方式を採用した通信システムを実現できる。
A communication system according to claim 16 of the present invention comprises:
Random number r is concealed as g r with respect to g that is not a composite number, and plain text m is encrypted only once using at least a part of random number r. In this case, it was only safe to encrypt not only the verification data but also the single plaintext twice, and it was safe against the selected ciphertext attack). And ciphertext generation means for performing partial pre-computation for encryption,
Key generation means for generating a distributed key based on a key, which is secret information necessary for extracting at least a part of the random number r from u defined by g r that can be calculated modulo the composite number;
Partial decryption means (for example, corresponding to the decryption servers 50 1 to 50 n in FIGS. 1 to 3) for generating partial decryption information using the ciphertext and the distributed key;
Verification means for verifying the ciphertext using the verification data;
Restoring means characterized in that at least a part of the random number r is restored using the partial decryption information at the time of decryption, and a plaintext m is obtained using at least a part of the restored random number r;
It is characterized by including. If comprised in this way, the communication system which employ | adopted the safe and efficient threshold value encryption system is realizable.

本発明の請求項17による通信方法は、
合成数を法とするもとで合成数とは素なgに対して乱数rをgrとして隠し、乱数rの少なくとも一部を用いて平文mを一度だけ暗号化し(従来特にしきい値暗号では検証データだけではなく一つの平文に対して二度暗号化してはじめて選択暗号文攻撃に対して安全であった)、更に暗号文検証用データを付加して、合成数を法とするもとで、暗号化のために部分的な事前計算を行う暗号文生成ステップと、
合成数を法として計算できるgrで定義されるuから乱数rの少なくとも一部を取出す際に必要となる秘密情報である鍵を元に分散鍵を生成する鍵生成ステップと、
暗号文と分散鍵とを用いて部分復号情報を生成する部分復号ステップと、
前記検証用データを用いて暗号文について検証を行う検証ステップと、
復号の際に乱数rの少なくとも一部を前記部分復号情報を用いて復元し、復元した乱数rの少なくとも一部を用いて平文mを求める復元ステップと、
を含むことを特徴とする。このように構成すれば、安全かつ効率的なしきい値暗号方式を採用した通信方法を実現できる。
A communication method according to claim 17 of the present invention comprises:
Random number r is concealed as g r with respect to g that is not a composite number, and plain text m is encrypted only once using at least a part of random number r. In this case, it was only safe to encrypt not only the verification data but also the single plaintext twice, and it was safe against the selected ciphertext attack). And a ciphertext generation step for performing partial precalculation for encryption, and
A key generating step of generating a distributed key based on the key that is secret information required when taking out at least part of the u from the random number r defined by g r which can calculate the composite number as a modulo,
A partial decryption step of generating partial decryption information using the ciphertext and the distributed key;
A verification step of verifying the ciphertext using the verification data;
A restoration step of restoring at least a part of the random number r using the partial decryption information at the time of decoding, and obtaining a plaintext m using at least a part of the restored random number r;
It is characterized by including. If comprised in this way, the communication method which employ | adopted the safe and efficient threshold value encryption system is realizable.

本発明の請求項18による通信システムは、
合成数を法とするもとで合成数とは素なgに対して乱数rをgrとして隠し、乱数rの少なくとも一部を用いて平文mを一度だけ暗号化し(従来特にしきい値暗号では検証データだけではなく一つの平文に対して二度暗号化してはじめて選択暗号文攻撃に対して安全であった)、更に暗号文検証用データを付加して、合成数を法とするもとで、暗号化のために部分的な事前計算を行う暗号化手段と、
合成数を法として計算できるgrで定義されるuから乱数rの少なくとも一部を取出す際に必要となる秘密鍵を生成する秘密鍵生成手段と、
前記検証用データを用いて暗号文について検証を行う検証手段と、
復号の際に乱数rの少なくとも一部を、前記秘密鍵生成手段によって生成された秘密鍵を用いて復元し、復元した乱数rの少なくとも一部を用いて平文mを求める復元手段と、
を含むことを特徴とする。このように構成すれば、安全かつ効率的な公開鍵暗号方式を採用した通信システムを実現できる。
A communication system according to claim 18 of the present invention comprises:
Random number r is concealed as g r with respect to g that is not a composite number, and plain text m is encrypted only once using at least a part of random number r. In this case, it was only safe to encrypt not only the verification data but also the single plaintext twice, and it was safe against the selected ciphertext attack). And encryption means for performing partial pre-computation for encryption,
A secret key generation means for generating a secret key that is required when taking out at least part of the u from the random number r defined by g r which can calculate the composite number as a modulo,
Verification means for verifying the ciphertext using the verification data;
Restoring means for restoring at least a part of the random number r at the time of decryption using the secret key generated by the secret key generating means and obtaining the plaintext m using at least a part of the restored random number r;
It is characterized by including. If comprised in this way, the communication system which employ | adopted the safe and efficient public key encryption system is realizable.

本発明の請求項19による通信方法は、
合成数を法とするもとで合成数とは素なgに対して乱数rをgrとして隠し、乱数rの少なくとも一部を用いて平文mを一度だけ暗号化し(従来特にしきい値暗号では検証データだけではなく一つの平文に対して二度暗号化してはじめて選択暗号文攻撃に対して安全であった)、更に暗号文検証用データを付加して、合成数を法とするもとで、暗号化のために部分的な事前計算を行う暗号化ステップと、
合成数を法として計算できるgrで定義されるuから乱数rの少なくとも一部を取出す際に必要となる秘密鍵を生成する秘密鍵生成ステップと、
前記検証用データを用いて暗号文について検証を行う検証ステップと、
復号の際に乱数rの少なくとも一部を、前記秘密鍵生成手段によって生成された秘密鍵を用いて復元し、復元した乱数rの少なくとも一部を用いて平文mを求める復元ステップと、
を含むことを特徴とする。このように構成すれば、安全かつ効率的な公開鍵暗号方式を採用した通信方法を実現できる。
A communication method according to claim 19 of the present invention comprises:
Random number r is concealed as g r with respect to g that is not a composite number, and plain text m is encrypted only once using at least a part of random number r. In this case, it was only safe to encrypt not only the verification data but also the single plaintext twice, and it was safe against the selected ciphertext attack). And an encryption step that performs a partial precomputation for encryption, and
A private key generation step of generating a secret key that is required when taking out at least part of the u from the random number r defined by g r which can calculate the composite number as a modulo,
A verification step of verifying the ciphertext using the verification data;
A restoration step of restoring at least part of the random number r at the time of decryption using the secret key generated by the secret key generation means, and obtaining the plaintext m using at least part of the restored random number r;
It is characterized by including. If comprised in this way, the communication method which employ | adopted the safe and efficient public key cryptosystem is realizable.

本発明の請求項20による暗号化方法は、合成数を法とするもとで合成数とは素なgに対して乱数rをgrとして隠し、乱数rの少なくとも一部を用いて平文mを暗号化することを特徴とする。このように構成すれば、平文mとは無関係に決められる乱数rをあらかじめ決めてgrをあらかじめ計算しておくことが可能となり、効率的なしきい値暗号方式を採用した通信システムにおける暗号化方式を実現でき、また乱数rの少なくとも一部の情報を正確に求める必要性から安全性の根拠を決定問題に置くことが可能となり安全なしきい値暗号方式を採用した通信システムにおける暗号化方法を実現できる。 The encryption method according to claim 20 of the present invention conceals a random number r as g r with respect to g which is not a composite number based on the composite number, and uses at least a part of the random number r as plaintext m. Is encrypted. With this configuration, it is possible to predetermine a random number r determined independently of the plaintext m and calculate g r in advance, and an encryption method in a communication system employing an efficient threshold encryption method In addition, it is possible to place the grounds for security in the decision problem from the necessity of accurately obtaining at least part of the information of the random number r. it can.

本発明の請求項21による暗号化方法は、合成数を法とするもとで合成数とは素なgに対して乱数rをgrとして隠し、乱数rの少なくとも一部を用いて平文mを一度だけ暗号化し、更に暗号文検証用データを付加することを特徴とする。このように構成すれば、平文mとは無関係に決められる乱数rをあらかじめ決めてgrをあらかじめ計算しておくことが可能となり、さらに検証用データも大部分を事前に計算することにより効率的なしきい値暗号方式を採用した通信システムにおける暗号化方式を実現でき、また暗号文の検証用データによって選択暗号文攻撃に対する耐性が付加され、安全なしきい値暗号方式を採用した通信システムにおける暗号化方法を実現できる。 The encryption method according to claim 21 of the present invention conceals a random number r as g r with respect to g which is not a composite number based on the composite number, and uses at least a part of the random number r as plaintext m. Is encrypted once, and ciphertext verification data is added. By configuring in this way, it becomes possible to predetermine a random number r determined independently of the plaintext m and calculate g r in advance, and to further efficiently calculate most of the verification data in advance. Encryption in a communication system that employs a secure threshold cryptosystem, and that is resistant to selected ciphertext attacks by ciphertext verification data, and is encrypted in a communication system that employs a secure threshold cryptosystem The method can be realized.

本発明の請求項22による暗号復元方法は、復号の際に乱数rの少なくとも一部を、しきい値暗号化方式において使用する部分復号情報を用いて復元し、復元した乱数rの少なくとも一部を用いて平文mを求めることを特徴とする。このように構成すれば、乱数rの少なくとも一部の情報を正確に求める必要性から安全性の根拠を決定問題に置くことが可能となり安全なしきい値暗号方式を採用した通信システムにおける暗号復元方法を実現できる。   In the encryption restoration method according to claim 22 of the present invention, at least a part of the random number r is restored using the partial decryption information used in the threshold encryption method at the time of decryption, and at least a part of the restored random number r The plaintext m is obtained using. With this configuration, it is possible to place the grounds for safety in the decision problem from the necessity of accurately obtaining at least part of the information of the random number r, and the encryption restoration method in the communication system adopting the secure threshold encryption method Can be realized.

本発明の請求項23による暗号復元方法は、復号の前に暗号文検証用データをもとに暗号文が正しく作られたものであるか確認し、その後確認が取れた場合には復号の際に乱数rの少なくとも一部を、公開鍵暗号化方式において使用する秘密鍵を用いて復元し、復元した乱数rの少なくとも一部を用いて平文mを求めることを特徴とする。このように構成すれば、暗号文の検証用データによって選択暗号文攻撃に対する耐性が付加され、安全なしきい値暗号方式を採用した通信システムにおける暗号復元方法を実現できる。   In the cipher restoration method according to claim 23 of the present invention, it is confirmed whether the ciphertext is correctly created based on the ciphertext verification data before decryption, and when the ciphertext is confirmed thereafter, the decryption is performed. And at least part of the random number r is restored using a secret key used in the public key cryptosystem, and plaintext m is obtained using at least part of the restored random number r. According to this configuration, the ciphertext verification data is added with resistance against a selected ciphertext attack, and a cipher restoration method in a communication system employing a safe threshold cryptosystem can be realized.

本発明の請求項24による復元装置は、復号の際に乱数rの少なくとも一部を、公開鍵暗号化方式において使用する秘密鍵を用いて復元し、復元した乱数rの少なくとも一部を用いて平文mを求めることを特徴とする。このように構成すれば、乱数rの少なくとも一部の情報を正確に求める必要性から安全性の根拠を決定問題に置くことが可能となり安全な公開鍵暗号方式を採用した通信システムにおける復元装置を実現できる。   The restoration apparatus according to claim 24 of the present invention restores at least a part of the random number r at the time of decryption using a secret key used in the public key encryption method, and uses at least a part of the restored random number r. It is characterized in that plaintext m is obtained. If constituted in this way, it becomes possible to place the basis of security in the decision problem from the necessity of accurately obtaining at least part of the information of the random number r, and a restoration device in a communication system adopting a secure public key cryptosystem is provided. realizable.

本発明によれば、計算能力が低い端末においても事前計算を行うことにより暗号化できるので、効率的なしきい値暗号方式又は公開鍵暗号方式を採用した通信システムを実現できるという効果がある。
また、本発明によれば、選択暗号文攻撃に対する耐性を付加するか、又は決定問題が難しいという妥当な仮定に基づくようにしたため、安全なしきい値暗号方式又は公開鍵暗号方式を採用した通信システムを実現できるという効果がある。
According to the present invention, even a terminal with low calculation capability can be encrypted by performing pre-calculation, so that it is possible to realize a communication system employing an efficient threshold encryption method or public key encryption method.
In addition, according to the present invention, a communication system adopting a safe threshold encryption method or a public key encryption method because it is based on a reasonable assumption that resistance against a selected ciphertext attack is added or a decision problem is difficult. There is an effect that can be realized.

以下、本発明の実施の形態を、図面を参照して説明する。なお、以下の説明において参照する各図では、他の図と同等部分は同一符号によって示されている。また、以下の説明において用いられている英文字やギリシャ文字は、各実施形態において同一に意義を有している。
本発明では、合成数NをN=pqと定義し、p,qを相異なる奇素数とし、共にΛ/2ビットとする。また、ZN 2は、0以上N2未満の整数の集合、Z* N 2は、ZN 2の要素のうちN2と互いに素な整数の集合、QN 2は法N2のもとで平方余剰である整数でありかつN2と互いに素な値の集合、とする。
Hereinafter, embodiments of the present invention will be described with reference to the drawings. In the drawings referred to in the following description, the same parts as those in the other drawings are denoted by the same reference numerals. In addition, English letters and Greek letters used in the following description have the same significance in each embodiment.
In the present invention, the composite number N is defined as N = pq, p and q are different odd prime numbers, and both are Λ / 2 bits. Z N 2 is a set of integers greater than or equal to 0 and less than N 2 , Z * N 2 is a set of integers that are relatively prime to N 2 among the elements of Z N 2 , and Q N 2 is a source of modulus N 2 A set of values that are integers that are square surplus and disjoint from N 2 .

さらに、本発明では、以下の仮定1及び仮定2を前提とする。
(仮定1)
(Partial Discrete Logarithm Assumption)
N(=pq),g∈Z* N2,gr(gのr乗)(r∈ZN2)(N2はN2を意味する)
が与えられた際に、rと法をNとして合同なr’(当然rと完全に等しくてもよい)を求めることはほとんどできない。なお、「ほとんどできない」とは、この問題が何題か出題された場合、正解率が0に限りなく近いいう意味である。
ここで、gの位数を0でないNの倍数とする。
Furthermore, the present invention assumes the following assumption 1 and assumption 2.
(Assumption 1)
(Partial Discrete Logarithm Assumption)
N (= pq), gεZ * N2 , g r (g to the power of r) (rεZ N2 ) (N2 means N 2 )
When r is given, it is almost impossible to find congruent r ′ (which may of course be completely equal to r) with r and modulus N. Note that “almost impossible” means that the correct answer rate is close to zero when several questions are given.
Here, the order of g is a non-zero multiple of N.

(仮定2)
(Decisional Small Diffie−Hellman Assumption)
N(=pq),M(=p22),g∈Z* N2,g2∈Z* M2,gr(gのr乗)(r∈ZN2)(N2はN2を意味し、M2はM2を意味する)
が与えられた際に、さらに以下に定義するZ0もしくはZ1を与えた際に、その予想が当たる確率は1/2とほとんど同じである(1/2との差が限りなく0に近い)。
0=g2 rmodM2,Z1=R(∈Z* M2)(M2はM2を意味する)
ここで、gの位数を0でないNの倍数、g2の位数を0でないN2の倍数とする。ただし、N>N2とするが、その差は無視できるほどしか差が無いとする。
(Assumption 2)
(Decisional Small Diffie-Hellman Assumption)
N (= pq), M ( = p 2 q 2), g∈Z * N2, g 2 ∈Z * M2, g r (g of r-th power) (r∈Z N2) (N2 means the N 2 , M2 means M 2 )
When Z 0 or Z 1 defined below is further given, the probability that the prediction is true is almost the same as 1/2 (the difference from 1/2 is almost as close to 0 as possible) ).
Z 0 = g 2 r mod M 2 , Z 1 = R (∈Z * M 2 ) (M 2 means M 2 )
Here, the order of g is a multiple of N that is not 0, and the order of g 2 is a multiple of N 2 that is not 0. However, it is assumed that N> N 2 but the difference is negligible.

(第1実施形態)
〔通信システム〕
図1に示すように、通信システム100は、暗号化端末10と、復元端末20と、鍵生成サーバ30と、暗号文管理サーバ40と、複数の復号サーバ501〜50nと、ネットワーク60とを備える。暗号化端末10と、復元端末20と、鍵生成サーバ30と、暗号文管理サーバ40と、複数の復号サーバ501〜50nは、ネットワーク60を介して、情報を送受信する。
(First embodiment)
〔Communications system〕
As illustrated in FIG. 1, the communication system 100 includes an encryption terminal 10, a restoration terminal 20, a key generation server 30, a ciphertext management server 40, a plurality of decryption servers 50 1 to 50 n, and a network 60. Is provided. The encryption terminal 10, the restoration terminal 20, the key generation server 30, the ciphertext management server 40, and the plurality of decryption servers 50 1 to 50 n transmit and receive information via the network 60.

鍵生成サーバ30は、μビットの平文mの暗号化に用いる公開情報(g,N,θ,H1)と、暗号文Cの復号に用いる秘密情報Lβとその分散鍵sを生成する鍵生成装置である。鍵生成サーバ30は、鍵生成部31と、鍵データベース32と、送信部33とを備える。鍵生成部31は、公開情報(g,N,θ,H1)と、それに対する秘密情報Lβと、秘密情報Lβを複数に分散した分散鍵sとを生成する。鍵生成部31は、n個の分散鍵sを生成する。さらに部分復号情報が正しいことを検証するためのn個の検証鍵vkとその生成元vを生成する。各検証鍵を区別するときには、i番目の検証鍵を「vki」と表す。よって、各分散鍵を区別するときには、i番目の分散鍵を「si」と表す。このように検証鍵vkと分散鍵sには、1〜nまでの番号が付与される。なお、復号サーバの数である「n」と、(t,n)しきい値暗号方式において復号のために必要な部分復号情報の数を表す「t」は、公開されている情報である。これら「n」及び「t」は、復元端末20に送信される。 The key generation server 30 generates a public information (g, N, θ, H1) used for encryption of μ-bit plaintext m, a secret information Lβ used for decryption of the ciphertext C, and a distributed key s thereof. It is. The key generation server 30 includes a key generation unit 31, a key database 32, and a transmission unit 33. The key generation unit 31 generates public information (g, N, θ, H1), secret information Lβ corresponding thereto, and a distributed key s in which the secret information Lβ is distributed in a plurality. The key generation unit 31 generates n distributed keys s. Further, n verification keys vk for verifying that the partial decryption information is correct and its generation source v are generated. When distinguishing each verification key, the i-th verification key is represented as “vki”. Therefore, when distinguishing each distributed key, the i-th distributed key is represented as “s i ”. Thus, numbers 1 to n are assigned to the verification key vk and the distributed key s. Note that “n”, which is the number of decryption servers, and “t”, which represents the number of partial decryption information necessary for decryption in the (t, n) threshold encryption method, are publicly available information. These “n” and “t” are transmitted to the restoration terminal 20.

鍵データベース32は、公開情報(g,N,θ,H1)を記憶する。送信部33は、鍵生成部31が生成した公開情報(g,N,θ,H1)を暗号化端末10、復元端末20、暗号文管理サーバ40に送信する。また、検証鍵vk1〜vknを少なくとも復元端末20に送信する。また、送信部33は、分散鍵s1〜snを、復号サーバ501〜50nに送信する。このような鍵生成サーバ30は、コンピュータを、鍵生成部31と、鍵データベース32と、送信部33として機能させるためのプログラムを、コンピュータが実行することにより実現できる。 The key database 32 stores public information (g, N, θ, H1). The transmission unit 33 transmits the public information (g, N, θ, H1) generated by the key generation unit 31 to the encryption terminal 10, the restoration terminal 20, and the ciphertext management server 40. Further, the verification keys vk1 to vkn are transmitted to at least the restoration terminal 20. Also, transmitter 33, a distributed key s 1 ~s n, and transmits the decryption server 50 1 to 50 n. Such a key generation server 30 can be realized by executing a program for causing a computer to function as the key generation unit 31, the key database 32, and the transmission unit 33.

暗号化端末10は、平文mを暗号化して暗号文Cを生成する暗号化装置である。暗号化端末10は、受信部11と、暗号文生成部12と、送信部13と、入力部14と、記憶部15とを備えている。
受信部11は、鍵生成サーバ30から公開情報(g,N,θ,H1)を受信する。記憶部15は、暗号文生成部12が事前に計算するH1(rmodN)とu=grmodN2とを記憶する。受信部11は、平文mを受信し、暗号文生成部12に入力してもよい。
The encryption terminal 10 is an encryption device that encrypts plaintext m and generates ciphertext C. The encryption terminal 10 includes a reception unit 11, a ciphertext generation unit 12, a transmission unit 13, an input unit 14, and a storage unit 15.
The receiving unit 11 receives public information (g, N, θ, H1) from the key generation server 30. The storage unit 15 stores H1 (rmodN) and u = g r modN 2 calculated in advance by the ciphertext generation unit 12. The receiving unit 11 may receive the plaintext m and input it to the ciphertext generation unit 12.

入力部14は、外部から入力される平文mを取得し、暗号文生成部12に入力する。暗号文生成部12は、事前計算され記憶部15に記憶されているH1(rmodN)及びu=grmodN2を用いて平文mを暗号化する。暗号文生成部12は、暗号文Cを生成する際に、合成数を法とするもとで合成数とは素なgに対して乱数rをgrとして隠し、乱数rの少なくとも一部を用いて平文mを暗号化する。暗号文生成部12は、入力部14や受信部11から平文mを取得する。なお、r∈UN2(N2はN2を意味する)である。ここで、「X∈UG」は、集合Gから一様な確率で要素Xを選択することを表す。 The input unit 14 acquires the plaintext m input from the outside and inputs it to the ciphertext generation unit 12. The ciphertext generation unit 12 encrypts the plaintext m using H1 (rmodN) and u = g r modN 2 that are pre-calculated and stored in the storage unit 15. When generating the ciphertext C, the ciphertext generating unit 12 hides the random number r as g r from g that is not a composite number based on the composite number, and at least part of the random number r is hidden. Use to encrypt plaintext m. The ciphertext generation unit 12 acquires the plaintext m from the input unit 14 and the reception unit 11. Note that it is r∈ U Z N2 (N2 means N 2). Here, “Xε U G” represents that the element X is selected from the set G with a uniform probability.

暗号文生成部12は、以下に示す式(1)及び式(2)を計算することにより、平文mを暗号化して暗号文C(c,u)を生成することが好ましい。
c=H1(rmodN)*m …(1)
u=grmodN2 …(2)
ハッシュ関数H1は、ZN→{0,1}μである。なお、上記の「*」は排他的論理和を示している。以後の説明においても同様である。
The ciphertext generation unit 12 preferably generates the ciphertext C (c, u) by encrypting the plaintext m by calculating the following equations (1) and (2).
c = H1 (rmodN) * m (1)
u = g r modN 2 (2)
The hash function H1 is Z N → {0, 1} μ. The above “*” indicates an exclusive OR. The same applies to the following description.

送信部13は、暗号文生成部12が生成した暗号文Cを、暗号文管理サーバ40に送信する。記憶部15は、後述するように暗号化する際に部分的に事前計算した結果を、一旦記憶する。このような暗号化端末10は、コンピュータを、受信部11と、暗号文生成部12と、送信部13と、入力部14と、記憶部15として機能させるためのプログラムを、コンピュータが実行することにより実現できる。   The transmission unit 13 transmits the ciphertext C generated by the ciphertext generation unit 12 to the ciphertext management server 40. As will be described later, the storage unit 15 temporarily stores a result of partial precalculation when encrypting. In such an encryption terminal 10, the computer executes a program for causing the computer to function as the reception unit 11, the ciphertext generation unit 12, the transmission unit 13, the input unit 14, and the storage unit 15. Can be realized.

暗号文管理サーバ40は、暗号文Cを暗号化端末10から受信し、暗号文Cを各装置に提供する暗号文管理装置である。暗号文管理サーバ40は、受信部41と、暗号文管理部42と、暗号文データベース43と、送信部44とを備える。受信部41は、暗号化端末10から暗号文Cを受信する。又、受信部41は、復元端末20や復号サーバ501〜50nから、暗号文Cの要求を受信する。更に、受信部41は、鍵生成サーバ30から公開情報(g,N,θ,H1)を受信する。 The ciphertext management server 40 is a ciphertext management apparatus that receives the ciphertext C from the encryption terminal 10 and provides the ciphertext C to each device. The ciphertext management server 40 includes a reception unit 41, a ciphertext management unit 42, a ciphertext database 43, and a transmission unit 44. The receiving unit 41 receives the ciphertext C from the encryption terminal 10. The receiving unit 41 receives a request for the ciphertext C from the restoration terminal 20 and the decryption servers 50 1 to 50 n . Further, the receiving unit 41 receives public information (g, N, θ, H1) from the key generation server 30.

暗号文データベース43は、暗号文Cを記憶する。送信部44は、暗号文Cを復元端末20、復号サーバ501〜50nに送信する。このような暗号文管理サーバ40は、コンピュータを、受信部41と、暗号文管理部42と、暗号文データベース43と、送信部44として機能させるためのプログラムを、コンピュータが実行することにより実現できる。 The ciphertext database 43 stores the ciphertext C. The transmission unit 44 transmits the ciphertext C to the restoration terminal 20 and the decryption servers 50 1 to 50 n . Such a ciphertext management server 40 can be realized by the computer executing a program for causing the computer to function as the reception unit 41, the ciphertext management unit 42, the ciphertext database 43, and the transmission unit 44. .

復号サーバ501〜50nは、部分復号情報σを生成する。部分復号情報σは、暗号文Cから平文mを復元する際に用いる情報であり、復元端末20が平文mの復元をするために必要な情報である。部分復号情報σは、暗号文Cと分散鍵sとを用いた計算を行うことにより、即ち、暗号文Cを分散鍵sを用いて部分的に復号することにより得られる情報である。複数の復号サーバ501〜50nがそれぞれ異なる分散鍵sを用いて部分復号情報σを生成することにより、複数の部分復号情報σが生成される。分散鍵siを用いて生成された部分復号情報は、「σi」と表す。よって、複数の部分復号情報σとして、分散鍵s1〜snを用いて部分復号情報σ1〜σnが生成される。このように部分復号情報σには、1〜nまでの番号が付与される。又、復号サーバ501〜50nにも、1〜nまでの番号が付与される。なお、Δ=n!=n・(n−1)・(n−2)…2・1と定義する。 The decryption servers 50 1 to 50 n generate partial decryption information σ. The partial decryption information σ is information used when the plaintext m is restored from the ciphertext C, and is information necessary for the restoration terminal 20 to restore the plaintext m. The partial decryption information σ is information obtained by performing a calculation using the ciphertext C and the distributed key s, that is, by partially decrypting the ciphertext C using the distributed key s. A plurality of partial decryption information σ is generated by the plurality of decryption servers 50 1 to 50 n generating partial decryption information σ using different shared keys s. The partial decryption information generated using the distributed key s i is expressed as “σ i ”. Therefore, partial decryption information σ 1 to σ n is generated as a plurality of partial decryption information σ using the distributed keys s 1 to s n . In this way, the numbers from 1 to n are assigned to the partial decoding information σ. The decryption servers 50 1 to 50 n are also given numbers 1 to n . Note that Δ = n! = N · (n-1) · (n-2) ... 2 · 1.

復号サーバ501〜50nはそれぞれ、受信部511〜51nと、部分復号情報生成部521〜52nと、送信部531〜53nとを備える。受信部511〜51nは、鍵生成サーバ30から公開情報(g,N,θ,H1)と分散鍵sとを受信する。又、受信部511〜51nは、復元端末20から部分復号情報σの要求(以下「復号要求」という)を受信する。更に、受信部511〜51nは、暗号文管理サーバ40から暗号文Cを受信する。 Each of the decryption servers 50 1 to 50 n includes reception units 51 1 to 51 n , partial decryption information generation units 52 1 to 52 n , and transmission units 53 1 to 53 n . The receiving units 51 1 to 51 n receive the public information (g, N, θ, H1) and the distributed key s from the key generation server 30. The receiving units 51 1 to 51 n receive a request for partial decoding information σ (hereinafter referred to as “decoding request”) from the restoration terminal 20. Furthermore, the receiving units 51 1 to 51 n receive the ciphertext C from the ciphertext management server 40.

部分復号情報生成部521〜52nのうち、暗号文Cを復号することに同意した部分復号情報生成部は、σi≡u2ΔSimodN2を復元端末20に送信する。σi≡u2ΔSimodN2を受信した復元端末20は、上記に同意した部分復号情報生成部から送られてきた情報が正しいものかどうか確認する。この確認においては、σi 2とvkiがそれぞれu4Δ、vΔを底として同じ対数を持つかどうかを確認する。復元端末20は、σiが正しいシェアであることを確認できなかった場合はinvalid symbolを出して処理を終了し、確認できた場合は以下の計算を行う。 Among the partial decoding information generation unit 52 1 to 52 n, partial decryption information generation unit who agree to decrypt the ciphertext C sends σ i ≡u 2 Δ Si modN 2 to restore the terminal 20. σ i ≡u 2 Δ Si modN 2 restore terminal 20 which has received the information sent from the partial decoding information generation unit which agree to the above is whether to verify correct. In this confirmation, it is confirmed whether σ i 2 and vk i have the same logarithm with u 4 Δ and vΔ as the bases, respectively. If the restoration terminal 20 cannot confirm that σ i is the correct share, the restoration terminal 20 issues an invalid symbol and terminates the process. If it can be confirmed, the restoration terminal 20 performs the following calculation.

Figure 2006227411
ただし、
Figure 2006227411
However,

Figure 2006227411
である。そして、rmodN並びに式(1)及び式(2)により、平文mが得られる。式(3)、式(4)において、「S」は、復元端末20からの復号要求を受け入れた復号サーバ501〜50nの番号の集合を表す。
Figure 2006227411
It is. Then, plaintext m is obtained by rmodN and equations (1) and (2). In Expressions (3) and (4), “S” represents a set of numbers of the decryption servers 50 1 to 50 n that have accepted the decryption request from the restoration terminal 20.

上記のような復号サーバ501〜50nは、コンピュータを、受信部511〜51nと、部分復号情報生成部521〜52nと、送信部531〜53nとして機能させるためのプログラムを、コンピュータが実行することにより実現できる。
復元端末20は、暗号文Cから平文mを復元する復元装置である。復元端末20は、受信部21と、平文復元部22と、送信部23と、出力部24とを備える。
受信部21は、複数の部分復号情報σを、複数の復号サーバ501〜50nから受信する。又、受信部21は、暗号文Cを暗号文管理サーバ40から受信する。更に、受信部21は、鍵生成サーバ30から公開情報(g,N,θ,H1)と検証鍵vk1〜vknを受信する。
The decoding servers 50 1 to 50 n as described above are programs for causing a computer to function as the receiving units 51 1 to 51 n , the partial decoded information generating units 52 1 to 52 n, and the transmitting units 53 1 to 53 n. Can be realized by a computer executing.
The restoration terminal 20 is a restoration device that restores the plaintext m from the ciphertext C. The restoration terminal 20 includes a reception unit 21, a plaintext restoration unit 22, a transmission unit 23, and an output unit 24.
The receiving unit 21 receives a plurality of partial decoding information σ from a plurality of decoding servers 50 1 to 50 n . The receiving unit 21 receives the ciphertext C from the ciphertext management server 40. Furthermore, the receiving unit 21, the public information from the key generation server 30 (g, N, θ, H1) and receives the verification key vk 1 ~vk n.

平文復元部22は、複数の部分復号情報σを用いて暗号文Cから平文mを復元する。平文復元部22は、復元した平文mを出力部24に出力する。送信部23は、暗号文Cの要求や、復号要求を送信する。このような復元端末20は、コンピュータを、受信部21と、平文復元部22と、送信部23と、出力部24として機能させるためのプログラムを、コンピュータが実行することにより実現できる。   The plaintext restoration unit 22 restores the plaintext m from the ciphertext C using a plurality of partial decryption information σ. The plaintext restoration unit 22 outputs the restored plaintext m to the output unit 24. The transmission unit 23 transmits a ciphertext C request and a decryption request. Such a restoration terminal 20 can be realized by the computer executing a program for causing the computer to function as the reception unit 21, the plaintext restoration unit 22, the transmission unit 23, and the output unit 24.

次に、図1、図2を用いて、平文mの暗号化から復元において通信システム100が行う処理を詳細に説明する。通信システム100では、(t,n)しきい値暗号方式により復号を行う。(t,n)しきい値暗号方式とは、n個の分散鍵s1〜snを用いて生成されるn個の部分復号情報σ1〜σnのうち、t個の部分復号情報を用いれば、平文mが復元できるしきい値暗号方式である。よって、「t」は、(t,n)しきい値暗号方式において必要な部分復号情報σの数を表す。 Next, the processing performed by the communication system 100 in the decryption from the plaintext m encryption will be described in detail with reference to FIGS. 1 and 2. In the communication system 100, decryption is performed by the (t, n) threshold encryption method. The (t, n) threshold cryptosystem is t partial decryption information among n partial decryption information σ 1 to σ n generated using n distributed keys s 1 to sn. If used, this is a threshold encryption method that can restore plaintext m. Therefore, “t” represents the number of pieces of partial decryption information σ required in the (t, n) threshold encryption method.

通信システム100が、合成数を法とするもとで合成数とは素なgに対して乱数rをgrとして隠し、乱数rの少なくとも一部を用いて平文mを暗号化する暗号方式を用いる場合を説明する。鍵生成サーバ30の鍵生成部31は、まず、2つの大きなΛ/2ビットの強い素数p,qを選択し、その積を計算して、合成数N=pqを生成する。強い素数p,qとは、p=2p’+1においてp’が素数であり、q=2q’+1においてq’が素数であることをいう。 An encryption method in which the communication system 100 conceals a random number r as g r with respect to g that is not a composite number based on the composite number, and encrypts the plaintext m using at least a part of the random number r. The case where it is used will be described. The key generation unit 31 of the key generation server 30 first selects two large Λ / 2-bit strong prime numbers p and q, calculates a product thereof, and generates a composite number N = pq. The strong prime numbers p and q mean that p ′ is a prime number at p = 2p ′ + 1 and q ′ is a prime number at q = 2q ′ + 1.

ここで、L=p’q’を計算して秘密にしておく。また、a∈ZN,b∈Z* Nをもとにg=(1+aN)bNmodN2を定め、gを公開する。さらに、値β∈Z* Nをランダムに選択し、θ=aLβmodNを計算する。θを公開し、暗号化の際用いるハッシュ関数H1:ZN→{0,1}μも公開する。
次に、鍵生成部31は、公開情報(g,N,θ,H1)に対応する秘密情報Lβを生成する。秘密情報Lβは、
Here, L = p′q ′ is calculated and kept secret. Also, g = (1 + aN) b N modN 2 is determined based on a∈Z N and b∈Z * N , and g is disclosed. Further, the value β∈Z * N is selected at random, and θ = aLβmodN is calculated. θ is disclosed, and the hash function H1: Z N → {0, 1} μ used for encryption is also disclosed.
Next, the key generation unit 31 generates secret information Lβ corresponding to the public information (g, N, θ, H1). The secret information Lβ is

Figure 2006227411
を満たす。更に、鍵生成部31は、秘密情報Lβを複数に分散して複数の分散鍵s、即ち、n個の分散鍵s1〜snを生成する。分散鍵s1〜snは、相互に異なる秘密情報である。
Figure 2006227411
Meet. Further, the key generation unit 31, a plurality of distributed key s to disperse the plurality of secret information L?, I.e., generating n distributed key s 1 ~s n. Distributed key s 1 ~s n are different from each other secret information.

本実施形態では、分散鍵s1〜snの個数nは、復号サーバ501〜50nの数と等しい。しかし、一つの復号サーバが複数の分散鍵を用いてもよい。よって、分散鍵sの個数と復号サーバの数は、必ずしも一致するとは限らない。分散鍵s1〜snの個数と復号サーバ501〜50nの数が一致する本実施形態では、復号サーバ50iが、分散鍵siを用いる。例えば、鍵生成部31は、Shamirにより提案された方法等を用いて、秘密情報Lβを複数に分散できる。 In the present embodiment, the number n of distributed keys s 1 to sn is equal to the number of decryption servers 50 1 to 50 n . However, one decryption server may use a plurality of distributed keys. Therefore, the number of distributed keys s and the number of decryption servers do not necessarily match. In this embodiment the number of decoding server 50 1 to 50 n and the number of distributed key s 1 ~s n match, decryption server 50i is used distributed key s i. For example, the key generation unit 31 can distribute the secret information Lβ into a plurality using the method proposed by Shamir.

具体的には、鍵生成部31は、aiU{0,1,・・・,LN−1}、(i=1,2,・・・,t−1)を乱数として選択し、さらに、a0=Lβとして定義して分散鍵siを生成する。又、「ZX」とは、0以上X未満の整数の集合(ZX=Z/XZ)を表す。この場合、鍵生成部31は、以下に示す式(6)を計算することにより、複数の分散鍵s1〜snを生成する。鍵生成部31は、式(6)を用いて、si=f(i)modLNを計算することにより分散鍵siを生成する。 Specifically, the key generation unit 31 selects a iU {0, 1,..., LN−1}, (i = 1, 2,..., T−1) as random numbers, Further, a distributed key s i is generated by defining as a 0 = Lβ. “Z X ” represents a set of integers of 0 or more and less than X (Z X = Z / XZ). In this case, the key generation unit 31, by calculating equation (6) below, to produce a plurality of distributed key s 1 ~s n. The key generation unit 31 generates a distributed key s i by calculating s i = f (i) mod LN using equation (6).

Figure 2006227411
Figure 2006227411

鍵生成部31は、生成した複数の分散鍵s1〜snを、送信部33に入力する。
更に、鍵生成部31は、部分復号情報σが正しく暗号文Cを部分的に復号したものか否かを判定する際に用いる複数の検証鍵vkを生成する。鍵生成部31は、分散鍵s1〜snと同数のn個の検証鍵vk1〜vknを生成する。鍵生成部31は、以下に示す式(7)を計算することにより検証鍵vk1〜vknを生成する。
Key generating unit 31, a plurality of the distributed key s 1 ~s n that generated and input to the transmitter 33.
Furthermore, the key generation unit 31 generates a plurality of verification keys vk used when determining whether or not the partial decryption information σ is correctly obtained by partially decrypting the ciphertext C. Key generating unit 31 generates the distributed key s 1 ~s n same number of n verification key vk 1 ~vk n. Key generating unit 31 generates a verification key vk 1 ~vk n by calculating equation (7) shown below.

Figure 2006227411
Figure 2006227411

式(7)において、νはQN2(N2はN2を意味する)の部分群の生成元である。「QX」は、法Xのもとで平方余剰かつXと互いに素な整数の集合を表す。そのため、「QX」は、Z* Xから要素を一つ取得し、2乗した値の集合となる。鍵生成部31は、生成した複数の検証鍵vk1〜vknと、QN2(N2はN2を意味する)の部分群の生成元νの合計n+1個の値を、送信部33に入力する。 In Expression (7), ν is a generator of a subgroup of Q N2 (N2 means N 2 ). “Q X ” represents a set of integers that are square surplus under the modulus X and relatively prime to X. Therefore, “Q X ” is a set of values obtained by obtaining one element from Z * X and squaring it. Key generating unit 31 inputs a plurality of verification keys vk 1 ~vk n that generated, Q N2 (N2 means N 2) the sum of n + 1 values of the origin ν subgroup of, the transmitter 33 To do.

送信部33は、図2に示すように、素数p,qを秘密にしたまま復元端末20に対応する公開情報(g,N,θ,H1)だけを、暗号化端末10、暗号文管理サーバ40、復元端末20に送信する。暗号化端末10の受信部11は、鍵生成サーバ30から公開情報(g,N,θ,H1)を受信し、暗号文生成部12に入力する。暗号文管理サーバ40の受信部41は、鍵生成サーバ30から公開情報(g,N,θ,H1)を受信し、暗号文管理部42に入力する。   As shown in FIG. 2, the transmission unit 33 transmits only the public information (g, N, θ, H1) corresponding to the restoration terminal 20 while keeping the prime numbers p and q secret, the encryption terminal 10, and the ciphertext management server. 40, transmitted to the restoration terminal 20. The receiving unit 11 of the encryption terminal 10 receives the public information (g, N, θ, H1) from the key generation server 30 and inputs it to the ciphertext generation unit 12. The receiving unit 41 of the ciphertext management server 40 receives the public information (g, N, θ, H1) from the key generation server 30 and inputs it to the ciphertext management unit 42.

更に、送信部33は、公開情報(g,N,θ,H1)と複数の分散鍵s1〜snとを対応付けて、複数の復号サーバ501〜50nに送信する。このとき、送信部33は、複数の分散鍵s1,・・・,si,・・・,snをそれぞれ、復号サーバ501,・・・,50i,・・・,50nに送信する。復号サーバ501〜50nの受信部511〜51nは、鍵生成サーバ30から、公開情報(g,N,θ,H1)と分散鍵s1〜snを受信し、部分復号情報生成部521〜52nに入力する。送信部33は、このようにして、複数の分散鍵sを復号装置に送信する鍵送信部として機能する。 Furthermore, transmitter 33, public information (g, N, θ, H1 ) and in association with a plurality of distributed key s 1 ~s n, and transmits to the plurality of decoded servers 50 1 to 50 n. In this case, transmitter 33, a plurality of distributed key s 1, ···, s i, ···, respectively s n, decoding server 50 1, ···, 50 i, ···, a 50 n Send. Reception unit 51 1 to 51 n of the decoding server 50 1 to 50 n from the key generation server 30, receives the public information (g, N, θ, H1 ) and the distributed key s 1 ~s n, partial decryption information generation Input to the sections 52 1 to 52 n . In this way, the transmission unit 33 functions as a key transmission unit that transmits a plurality of distributed keys s to the decryption device.

このように、送信部33が、uからrの少なくとも一部を取出す際必要となる秘密情報Lβを分散した分散鍵s1〜snを、複数の復号サーバ501〜50nに分散して提供する。更に、鍵生成サーバ30自身も秘密情報Lβは、鍵データベース32に格納しない。これにより、秘密情報Lβは一箇所に管理されず、複数の復号サーバ501〜50nによって分散管理される。 Thus, the transmission unit 33, the distributed key s 1 ~s n dispersed secret information Lβ needed when taking out at least part of r from u, distributed across multiple decoding servers 50 1 to 50 n provide. Further, the key generation server 30 itself does not store the secret information Lβ in the key database 32. As a result, the secret information Lβ is not managed in one place, but is distributed and managed by the plurality of decryption servers 50 1 to 50 n .

又、送信部33は、公開情報(g,N,θ,H1)と検証鍵vk1〜vknと、QN2(N2はN2を意味する)の部分群の生成元νとを対応付けて、復元端末20に送信する。復元端末20の受信部21は、鍵生成サーバ30から、公開情報(g,N,θ,H1)、検証鍵vk1〜vkn、QN2(N2はN2を意味する)の部分群の生成元νを受信し、平文復元部22に入力する。 Also, transmitter 33, public information (g, N, θ, H1 ) and associates the verification key vk 1 ~vk n, and Q N2 (N2 means N 2) generator of a subgroup of ν To the restoration terminal 20. Receiving unit 21 of the recovery device 20, from the key generation server 30, public information (g, N, θ, H1 ), verification key vk 1 ~vk n, Q N2 ( N2 means N 2) of the subgroup of The generation source ν is received and input to the plaintext restoration unit 22.

暗号化端末10の暗号文生成部12は、鍵生成サーバ30から受信した公開情報(g,N,θ,H1)を用いて暗号化する。具体的には、暗号文生成部12は、値gに対して乱数rをgrmodN2として隠し、rの少なくとも一部の情報を用いて平文mをもとに暗号文Cを生成する。例えば、暗号文生成部12は、上記式(1)及び上記式(2)を計算することにより、平文mを暗号化し、暗号文Cを生成する。平文mは、暗号化端末10が暗号化して秘密にしたい情報である。本実施形態における平文mは、複数の分散鍵s1〜snを用いない限り、暗号文Cから平文mを復号できないようにすることにより、暗号化端末10が分散管理したい情報である。 The ciphertext generation unit 12 of the encryption terminal 10 encrypts using the public information (g, N, θ, H1) received from the key generation server 30. Specifically, the ciphertext generation unit 12 conceals the random number r as g r modN 2 from the value g, and generates the ciphertext C based on the plaintext m using at least part of the information of r. For example, the ciphertext generation unit 12 encrypts the plaintext m and generates the ciphertext C by calculating the above formula (1) and the above formula (2). The plain text m is information that the encryption terminal 10 wants to encrypt and keep secret. Plaintext m in the present embodiment, unless a plurality of distributed key s 1 ~s n, by not be decrypted plaintext m from the ciphertext C, the encryption device 10 is information to be distributed management.

暗号文生成部12は、乱数rを、ZN2から選択する。暗号文生成部12は、生成した暗号文Cを送信部13に入力する。送信部13は、図2に示すように、暗号文Cと暗号化に用いた公開鍵を暗号文管理サーバ40に送信する。
暗号文管理サーバ40の受信部41は、図2に示すように、暗号化端末10から暗号文Cを受信する。受信部41は、受信した暗号文Cを暗号文管理部42に入力する。暗号文管理部42は、暗号文Cを、鍵生成サーバ30から受信した公開情報(g,N,θ,H1)に対応付けて、暗号文データベース43に格納する。
The ciphertext generation unit 12 selects the random number r from Z N2 . The ciphertext generation unit 12 inputs the generated ciphertext C to the transmission unit 13. As shown in FIG. 2, the transmission unit 13 transmits the ciphertext C and the public key used for encryption to the ciphertext management server 40.
The receiving unit 41 of the ciphertext management server 40 receives the ciphertext C from the encryption terminal 10 as shown in FIG. The receiving unit 41 inputs the received ciphertext C to the ciphertext management unit 42. The ciphertext management unit 42 stores the ciphertext C in the ciphertext database 43 in association with the public information (g, N, θ, H1) received from the key generation server 30.

その後、復元端末20の平文復元部22が、公開情報(g,N,θ,H1)をもとに作成した暗号文Cの要求と、公開情報(g,N,θ,H1)と秘密情報をもとに作成した部分復号情報σを要求する復号要求を生成し、送信部23に入力する。送信部23は、暗号文Cの要求を暗号文管理サーバ40に送信する。暗号文管理サーバ40の受信部41は、復元端末20から暗号文Cの要求を受信し、暗号文管理部42に入力する。暗号文管理部42は、暗号文Cの要求において指定されている公開情報(g,N,θ,H1)に対応する暗号文Cを、暗号文データベース43から取得し、公開情報(g,N,θ,H1)と対応付けて送信部44に入力する。送信部44は、図2に示すように公開情報(g,N,θ,H1)と対応付けられた暗号文Cを復元端末20に送信する。このように公開情報(g,N,θ,H1)は、暗号文Cを識別するための識別データとして用いることができる。   After that, the plaintext restoration unit 22 of the restoration terminal 20 requests the ciphertext C created based on the public information (g, N, θ, H1), the public information (g, N, θ, H1), and the secret information. A decoding request for requesting the partial decoding information σ created based on the above is generated and input to the transmission unit 23. The transmission unit 23 transmits a request for the ciphertext C to the ciphertext management server 40. The reception unit 41 of the ciphertext management server 40 receives the request for the ciphertext C from the restoration terminal 20 and inputs the request to the ciphertext management unit 42. The ciphertext management unit 42 acquires the ciphertext C corresponding to the public information (g, N, θ, H1) specified in the request for the ciphertext C from the ciphertext database 43, and public information (g, N , Θ, H1) are input to the transmitter 44 in association with each other. The transmission unit 44 transmits the ciphertext C associated with the public information (g, N, θ, H1) to the restoration terminal 20 as shown in FIG. Thus, the public information (g, N, θ, H1) can be used as identification data for identifying the ciphertext C.

又、送信部23は、復号要求を複数の復号サーバ501〜50nに送信する。このとき、送信部23は、復号要求を全ての復号サーバ501〜50nにブロードキャストにより送信してもよく、(t,n)しきい値暗号方式において必要な部分復号情報の数tだけ復号サーバを選択し、送信してもよい。
復号サーバ501〜50nの受信部511〜51nは、復号要求を受信し、部分復号情報生成部521〜52nに入力する。部分復号情報生成部521〜52nは、復号要求を受け入れた場合、復号要求において指定されている公開情報(g,N,θ,H1)を指定した暗号文Cの要求を生成し、送信部531〜53nに入力する。送信部531〜53nは、暗号文Cの要求を暗号文管理サーバ40に送信する。尚、部分復号情報生成部521〜52nは、復号要求を拒否してもよい。
The transmission unit 23 transmits the decryption request to the plurality of decryption servers 50 1 to 50 n . At this time, the transmitting unit 23 may transmit the decryption request to all the decryption servers 50 1 to 50 n by broadcast, and decrypts only the number t of partial decryption information necessary in the (t, n) threshold encryption method. A server may be selected and transmitted.
The receiving units 51 1 to 51 n of the decryption servers 50 1 to 50 n receive the decryption requests and input them to the partial decryption information generation units 52 1 to 52 n . When the partial decryption information generation units 52 1 to 52 n accept the decryption request, the partial decryption information generation units 52 1 to 52 n generate and transmit a request for the ciphertext C specifying the public information (g, N, θ, H1) specified in the decryption request. Input to the sections 53 1 to 53 n . The transmission units 53 1 to 53 n transmit the ciphertext C request to the ciphertext management server 40. The partial decryption information generation units 52 1 to 52 n may reject the decryption request.

暗号文管理サーバ40の受信部41は、復号サーバ501〜50nから暗号文Cの要求を受信し、暗号文管理部42に入力する。暗号文管理部42は、指定された公開情報(g,N,θ,H1)に対応する暗号文Cを暗号文データベース43から取得し、公開情報(g,N,θ,H1)と対応付けて送信部44に入力する。送信部44は、図2に示すように公開情報(g,N,θ,H1)と対応付けられた暗号文Cを復号サーバ501〜50nに送信する。 The reception unit 41 of the ciphertext management server 40 receives requests for the ciphertext C from the decryption servers 50 1 to 50 n and inputs them to the ciphertext management unit 42. The ciphertext management unit 42 acquires the ciphertext C corresponding to the specified public information (g, N, θ, H1) from the ciphertext database 43 and associates it with the public information (g, N, θ, H1). To the transmitter 44. The transmission unit 44 transmits the ciphertext C associated with the public information (g, N, θ, H1) to the decryption servers 50 1 to 50 n as shown in FIG.

復号サーバ501〜50nの受信部511〜51nは、暗号文Cを受信し、部分復号情報生成部521〜52nに入力する。部分復号情報生成部521〜52nはそれぞれ、受信した暗号文Cと分散鍵s1〜snを用いて、σi≡u2ΔSimodN2を計算することにより、暗号文Cを部分的に復号して部分復号情報σ1〜σnを生成する。部分復号情報生成部521〜52nは、復号要求において指定されている公開情報(g,N,θ,H1)に対応する分散鍵s1〜snを用いる。 The receiving units 51 1 to 51 n of the decryption servers 50 1 to 50 n receive the ciphertext C and input it to the partial decryption information generation units 52 1 to 52 n . Partial decoding information generation unit 52 1 to 52 n, respectively, using the distributed key s 1 ~s n ciphertext C received by calculating the σ i ≡u 2 Δ Si modN 2 , part a ciphertext C The partial decoding information [sigma] 1- [sigma] n is generated. Partial decoding information generation unit 52 1 to 52 n, the public information that is specified in the decryption request (g, N, θ, H1 ) using the distributed key s 1 ~s n corresponding to.

例えば、復号サーバ50iの場合、暗号文Cと分散鍵siを用いて、
σi=u2ΔSimodN2
を計算することにより、部分復号情報σiを生成する。
部分復号情報生成部52は、生成した部分復号情報σ1〜σnを送信部531〜53nに入力する。送信部531〜53nはそれぞれ、図2に示すように、部分復号情報σ1〜σnを復元端末20に送信する。尚、全ての復号サーバ501〜50nが、部分復号情報σ1〜σnの生成、送信を行う必要はなく、少なくとも(t,n)しきい値暗号方式において必要なt個の部分復号情報σを生成し、復元端末20に送信すればよい。
For example, in the case of the decryption server 50i, using the ciphertext C and the distributed key s i ,
σ i = u 2 Δ Si mod N 2
To generate partial decoding information σ i .
The partial decoding information generation unit 52 inputs the generated partial decoding information σ 1 to σ n to the transmission units 53 1 to 53 n . Each of the transmission units 53 1 to 53 n transmits partial decoding information σ 1 to σ n to the restoration terminal 20 as illustrated in FIG. Note that it is not necessary for all the decryption servers 50 1 to 50 n to generate and transmit the partial decryption information σ 1 to σ n , and at least t partial decryptions necessary for the (t, n) threshold encryption method. Information σ may be generated and transmitted to the restoration terminal 20.

復元端末20の受信部21は、複数の復号サーバ501〜50nから複数の部分復号情報σ1〜σnを受信する。受信部21は、受信した複数の部分復号情報σ1〜σnを平文復元部22に入力する。このようにして、受信部21は、複数の復号装置から複数の部分復号情報σを受信する復号情報受信部として機能する。尚、受信部21は、全ての復号サーバ501〜50nから全ての部分復号情報σ1〜σnを受信する必要はなく、少なくとも(t,n)しきい値暗号方式において必要なt個の部分復号情報σを受信する。 Receiving unit 21 of the recovery device 20 receives a plurality of partial decoding information σ 1n from a plurality of decryption servers 50 1 to 50 n. The receiving unit 21 inputs the received pieces of partial decryption information σ 1 to σ n to the plaintext restoration unit 22. In this way, the receiving unit 21 functions as a decoding information receiving unit that receives a plurality of pieces of partial decoding information σ from a plurality of decoding devices. Incidentally, the receiving unit 21 does not need to receive all the partial decryption information σ 1n from all of the decoding server 50 1 to 50 n, t pieces required in the least (t, n) threshold cryptosystem Of the partial decoding information σ.

平文復元部22は、複数の部分復号情報σ1〜σnを用いて、暗号文Cの一部であるuから平文mを復元する。平文復元部22は、まず、部分復号情報σが正しく復号されたものか否かを判定する。平文復元部22は、暗号文Cの一部であるuの4Δ乗「u4Δ」を底とした部分復号情報の2乗「σ2」の対数と、QN2(N2はN2を意味する)の部分群の生成元のΔ乗「νΔ」を底とした検証鍵vkの対数が等しいか否かを判定する。平文復元部22は、対数が等しい場合には、部分復号情報σが正しく復号されたものであると判定し、対数が異なる場合には、部分復号情報σは正しく復号されていないと判定する。 The plaintext restoration unit 22 restores the plaintext m from u, which is a part of the ciphertext C, using the plurality of pieces of partial decryption information σ 1 to σ n . The plaintext restoration unit 22 first determines whether or not the partial decryption information σ has been correctly decrypted. The plaintext restoration unit 22 calculates the logarithm of the square “σ 2 ” of the partial decryption information with u as a part of the ciphertext C to the 4th power “u 4 Δ” and Q N2 (N2 means N 2) . It is determined whether the logarithms of the verification keys vk with the Δ power “νΔ” of the generation source of the subgroups of Eq. The plaintext restoration unit 22 determines that the partial decryption information σ is correctly decrypted when the logarithm is equal, and determines that the partial decryption information σ is not correctly decrypted when the logarithm is different.

平文復元部22は、複数の部分復号情報σ1〜σnについて、それぞれ検証鍵vk1〜vknを用いて判定を行う。対数が等しいか否かの判定には、一般的な方法、例えば、文献「FPS00:P.−A. Fouque,G.Poupard and J.Stern,“Sharing Decryption in the Context of Voting or Lotteries”, Financial Cryptography 2000 Lecture Notes in Computer Science,pp.90−104,2000」に記載されている方法を用いることができる。 Plaintext restoring unit 22, a plurality of partial decryption information σ 1n, determination is performed using each verification key vk 1 ~vk n. In order to determine whether the logarithms are equal, a general method, for example, the document “FPS00: P.-A. Fouque, G. Poupard and J. Stern,“ Sharing Decryption in the Context of Voting or Lotteries ”, Financial Cryptography 2000 Lecture Notes in Computer Science, pp. 90-104, 2000 ”can be used.

平文復元部22は、正しく復号されていると判定した部分復号情報σ1〜σnを用いて、まず、平文mの暗号化に用いた乱数rの情報の一部を計算する。尚、平文復元部22は、全ての復号サーバ501〜50nからの全ての部分復号情報σ1〜σnを用いる必要はなく、(t,n)しきい値暗号方式において必要なt個の部分復号情報σを選択し、用いる。
平文復元部22は、まず、上述した式(3)を計算する。平文復元部22は、文献「SHo00:victor Shoup, “Practical Threshold Signatures”,EUROCRYPT,Lecture Notes in Computer Science, pp.207-220,2000」と同様に、式(4)に示す条件で式(3)を計算する。
The plaintext restoration unit 22 first calculates part of the information on the random number r used for encrypting the plaintext m, using the partial decryption information σ 1 to σ n determined to be correctly decrypted. Incidentally, the plaintext restoring unit 22 does not need to use all of the partial decryption information σ 1n from all of the decoding server 50 1 to 50 n, t pieces required in the (t, n) threshold cryptosystem Are selected and used.
The plaintext restoration unit 22 first calculates the above-described equation (3). The plaintext restoration unit 22 uses the expression (3) under the condition shown in the expression (4), similarly to the document “Sho00: victor Shoup,“ Practical Threshold Signatures ”, EUROCRYPT, Lecture Notes in Computer Science, pp.207-220, 2000”. ).

式(3)、式(4)において、「S」は、復元端末20からの復号要求を受け入れた復号サーバ501〜50nの番号の集合を表す。つまり、例えば、番号1、2、5が付与された復号サーバが復号要求を受け入れた場合には、S={1,2,5}と記述される。但し、集合Sに含まれる番号の数は、(t,n)しきい値暗号方式において部分復号情報σが必要な数tに限定される。又、式(3)、式(4)における「λ」は補間係数である。「λ」は、式(4)において、f(0)=a0を計算するために用いられ、式(8)に示す関係を持つ。 In Expressions (3) and (4), “S” represents a set of numbers of the decryption servers 50 1 to 50 n that have accepted the decryption request from the restoration terminal 20. That is, for example, when the decryption server assigned the numbers 1, 2, and 5 accepts the decryption request, S = {1, 2, 5} is described. However, the number of numbers included in the set S is limited to the number t that requires the partial decryption information σ in the (t, n) threshold encryption method. Further, “λ” in the equations (3) and (4) is an interpolation coefficient. “Λ” is used to calculate f (0) = a 0 in equation (4), and has the relationship shown in equation (8).

Figure 2006227411
Figure 2006227411

又、「ΠjS/[i](i−j)」は、集合Sに含まれる番号のうちiを除く全ての番号に関してiから引き算した値を考え、それら全ての積を示す。同様に、「ΠjS/[i](−j)」は、集合Sに含まれる番号のうちiを除く全ての数字に関して、符号の正負を逆にした値の積を示す。
次に、平文復元部22は、計算した乱数rの少なくとも一部を用いて、暗号文Cから平文mを復元する。具体的には、平文復元部22は、合成数を法とするもとで合成数とは素なgに対して乱数rをgrとして隠し、乱数rの少なくとも一部を用いて平文mを暗号化する際に用いた式、例えば、上記式(3)に基づいてrmodを算出し、算出したrmodと受信した暗号文Cとを式(1)に代入して、平文mを復元する。以上のようにして、復元端末20は、復号サーバ501〜50nから受信した複数の部分復号情報σ1〜σnに基づいて、秘密の情報である平文mを復元できる。
“Π jS / [i] (i−j)” represents the product of all the numbers included in the set S except for i and subtracted from i. Similarly, “Π jS / [i] (−j)” indicates a product of values obtained by reversing the sign of all the numbers excluding i among the numbers included in the set S.
Next, the plaintext restoration unit 22 restores the plaintext m from the ciphertext C using at least a part of the calculated random number r. Specifically, the plaintext restoration unit 22 conceals the random number r as g r with respect to g that is not a composite number based on the composite number, and uses the at least part of the random number r to convert the plain text m into a plain text m. The rmod is calculated based on an equation used for encryption, for example, the above equation (3), and the calculated rmod and the received ciphertext C are substituted into the equation (1) to restore the plaintext m. As described above, restore the terminal 20, based on the plurality of partial decryption information σ 1n received from the decoding server 50 1 to 50 n, can restore the plaintext m is a secret information.

尚、平文復元部22は、部分復号情報σが正しく復号されていないと判定した場合には、その部分復号情報σを送信した復号サーバに対する部分復号情報の拒否通知を生成し、送信部23に入力する。送信部23は、拒否通知を復号サーバに送信し、処理を終了する。もしくは、平文復元部22は、他の有効な部分復号情報をもとに秘密情報を復元する。   If the plaintext restoration unit 22 determines that the partial decryption information σ is not correctly decrypted, it generates a partial decryption information rejection notification to the decryption server that transmitted the partial decryption information σ, and sends it to the transmission unit 23. input. The transmission unit 23 transmits a rejection notice to the decryption server, and ends the process. Alternatively, the plaintext restoration unit 22 restores the secret information based on other valid partial decryption information.

〔安全性強化のための変形例〕
ところで、上記の通信システムにおいて、鍵生成部31による鍵生成、暗号化端末10による暗号化、復元端末20による復号において、上記とは異なる、以下の処理を行うことにより、選択暗号文攻撃に対する安全性を持たせることができる。
(1)鍵生成部31による鍵生成においては、以下の事項が異なる。
鍵生成部31は、公開情報(g,g2,N,M,θ,H1,H2)を生成する。まず、4つの大きなΛ/2ビットの強い素数p,p2,q,q2を用い、合成数N=pq,M=p22を作成し、p,p2,q,q2は秘密にしたままN,Mを公開情報として公開する。ここで、L=p’q’,L2=p2’q2’も計算して秘密にしておく。なお、N>Mとする。なお、N<Mの場合も同様に行える。
[Modifications to enhance safety]
By the way, in the communication system described above, the following processing, which is different from the above, is performed in the key generation by the key generation unit 31, the encryption by the encryption terminal 10, and the decryption by the restoration terminal 20. Can have sex.
(1) In key generation by the key generation unit 31, the following matters are different.
The key generation unit 31 generates public information (g, g 2 , N, M, θ, H1, H2). First, four large Λ / 2-bit strong prime numbers p, p 2 , q, q 2 are used to create a composite number N = pq, M = p 2 q 2 , and p, p 2 , q, q 2 are N and M are disclosed as public information while keeping them secret. Here, L = p′q ′ and L 2 = p 2 'q 2 ′ are also calculated and kept secret. Note that N> M. The same can be done when N <M.

また、a∈ZN,b∈Z* Nをもとにg=(1+aN)bNmodMを、a2∈ZM,b2∈Z* Mをもとにg2=(1+a2M)b2 MmodM2を、それぞれ定め、g,g2を公開する。さらに、値β, β2∈Z* Nをランダムに選択し、θ=aLβmodN, θ2=a22β2modMを計算しておく。また、暗号化の際に用いるハッシュ関数H1:ZN→{0,1}μとH2:{0,1}μ×ZN 2×ZN 2×ZM 2×ZM 2→{0,1}Bも公開する。ここで復号サーバ501〜50nへ渡す分散鍵はそれぞれ一つとするほかに、それぞれ二つ渡す方法も考えられる。この場合には、鍵生成部31は、Shamirにより提案された方法等を用いて、秘密情報L2β2も複数に分散する。 Also, g = (1 + aN) b N modM based on a∈Z N and b∈Z * N , and g 2 = (1 + a 2 M) based on a 2 ∈Z M and b 2 ∈Z * M. b 2 M mod M 2 is determined, and g and g 2 are disclosed. Further, the value beta, the beta 2 ∈ Z * N randomly selected, θ = aLβmodN, advance to calculate the θ 2 = a 2 L 2 β 2 modM. Also, hash functions H1: Z N → {0,1} μ and H2: {0,1} μ × Z N 2 × Z N 2 × Z M 2 × Z M 2 → {0, 1} B is also released. Here, in addition to a single distributed key to be passed to the decryption servers 50 1 to 50 n , a method of passing two each is also conceivable. In this case, the key generation unit 31 also distributes the secret information L 2 β 2 into a plurality using the method proposed by Shamir.

具体的には、鍵生成部31は、biU{0,1,・・・,L2M−1}、(i=1,2,・・・,t−1)を乱数として選択し、さらに、b0=L2β2として定義して分散鍵tiを生成する。この場合、鍵生成部31は、以下に示す式(6)’を計算することにより、複数の分散鍵t1〜tnを生成する。鍵生成部31は、式(6)’を用いて、ti=f2(i)modL2Mを計算することにより分散鍵tiを生成する。 Specifically, the key generation unit 31 selects b iU {0, 1,..., L 2 M−1}, (i = 1, 2,..., T−1) as a random number. Furthermore, a distributed key t i is generated by defining as b 0 = L 2 β 2 . In this case, the key generation unit 31 generates a plurality of distributed keys t 1 to t n by calculating Expression (6) ′ shown below. The key generation unit 31 generates a distributed key t i by calculating t i = f 2 (i) mod L 2 M using equation (6) ′.

Figure 2006227411
Figure 2006227411

鍵生成部31は、生成した複数の分散鍵t1〜tnも、送信部33に入力する。
更に、鍵生成部31は、部分復号情報σ’≡u’2ΔtimodM2が正しく暗号文Cを部分的に復号したものか否かを判定する際に用いる複数の検証鍵wkを生成する。鍵生成部31は、分散鍵t1〜tnと同数のn個の検証鍵wk1〜wknを生成する。鍵生成部31は、以下に示す式(7)’を計算することにより検証鍵wk1〜wknを生成する。
The key generation unit 31 also inputs the generated plurality of distributed keys t 1 to t n to the transmission unit 33.
Further, the key generation unit 31 generates a plurality of verification keys wk used for determining whether or not the partial decryption information σ'≡u '2 Δ ti modM 2 was decoded correctly the ciphertext C partially . Key generating unit 31 generates the distributed key t 1 ~t n same number of n verification key wk 1 ~wk n. Key generating unit 31 generates a verification key wk 1 ~wk n by calculating equation (7) 'shown below.

Figure 2006227411
Figure 2006227411

式(7)’において、ν2はQM2(M2はM2を意味する)の部分群の生成元である。
(2)暗号化端末10による暗号化においては、以下の事項が異なる。
式(1)及び式(2)の代わりに、次の式(9)を用いる。ただし、s∈ZN4(N4はN4を意味する)とする。
In Expression (7) ′, ν 2 is a generator of a subgroup of Q M2 (M2 means M 2 ).
(2) The following matters are different in the encryption by the encryption terminal 10.
Instead of the formula (1) and the formula (2), the following formula (9) is used. However, sεZ N4 (N4 means N 4 ).

Figure 2006227411
Figure 2006227411

(3)復号においては、以下の事項が異なる。
暗号文を復号する前に、復元端末20、暗号文管理サーバ40、復号サーバ501〜50nの少なくとも1箇所において暗号文の検証を行う。この場合、少なくとも復元端末20において、暗号文の検証を行うことが望ましい。
ここで復号サーバ501〜50nへ渡す分散鍵をそれぞれ二つ渡す方法の場合にはuに関して行う部分復号と結合をu’についても同様に行い、復元結果がともにrかどうかの確認をする。もしも同じにならない場合は不正な暗号文として認識する。
ただし各復号サーバが通信して納得した上であればuかu’どちらか一方だけ復号してrを求めても構わない。
以上のように、復号を行う前に、少なくとも復元端末20が暗号文の検証を行うことにより、選択暗号文攻撃に対する安全性を持たせることができる。
(3) The following matters are different in decoding.
Before decrypting the ciphertext, the ciphertext is verified in at least one of the restoration terminal 20, the ciphertext management server 40, and the decryption servers 50 1 to 50 n . In this case, it is desirable to verify the ciphertext at least at the restoration terminal 20.
Here, in the case of the method of passing two distributed keys to be passed to the decryption servers 50 1 to 50 n , partial decryption and combination performed on u are also performed on u ′ in the same manner, and it is confirmed whether the restoration results are both r. . If it is not the same, it is recognized as an illegal ciphertext.
However, as long as each decryption server communicates and is convinced, either u or u ′ may be decrypted to obtain r.
As described above, before the decryption is performed, at least the restoration terminal 20 verifies the ciphertext, thereby providing security against the selected ciphertext attack.

〔通信方法〕
次に、通信システム100を用いて行う通信方法の手順を説明する。まず、鍵生成サーバ30が、公開情報(g,N,θ,H1)、複数の分散鍵s1〜sn、複数の検証鍵vk1〜vknを生成する(S101)。鍵生成サーバ30は、公開情報(g,N,θ,H1)を復元端末20、復号サーバ501〜50n、暗号文管理サーバ40、暗号化端末10に送信する(S102〜S105)。鍵生成サーバ30は、複数の分散鍵s1〜snを復号サーバ501〜50nに送信する(S106)。鍵生成サーバ30は、少なくとも復元端末2,0にvk1〜vkn,vを送信する(S107)。
〔Communication method〕
Next, a procedure of a communication method performed using the communication system 100 will be described. First, the key generation server 30, public information (g, N, θ, H1 ), a plurality of distributed key s 1 ~s n, generates a plurality of verification keys vk 1 ~vk n (S101). The key generation server 30 transmits the public information (g, N, θ, H1) to the restoration terminal 20, the decryption servers 50 1 to 50 n , the ciphertext management server 40, and the encryption terminal 10 (S102 to S105). Key generating server 30 transmits a plurality of distributed key s 1 ~s n to the decoding server 50 1 ~50 n (S106). Key generating server 30 transmits at least restore the terminal 2,0 vk 1 ~vk n, v a (S107).

暗号化端末10は、例えば、式(2)を用い、合成数を法とするもとで合成数とは素なgに対して乱数rをgrとして隠し、式(1)を用い、乱数rの少なくとも一部を用いて平文mを暗号化し、暗号文Cを生成する(S108)。暗号化端末10は、生成した暗号文Cを暗号文管理サーバ40に送信する(S109)。暗号文管理サーバ40は、受信した暗号文Cを暗号文データベース43に格納する(S110)。 The encryption terminal 10 uses, for example, Equation (2), conceals the random number r as g r from g that is not a composite number based on the composite number, and uses Equation (1) to generate a random number. The plaintext m is encrypted using at least a part of r to generate a ciphertext C (S108). The encryption terminal 10 transmits the generated ciphertext C to the ciphertext management server 40 (S109). The ciphertext management server 40 stores the received ciphertext C in the ciphertext database 43 (S110).

復元端末20は、暗号文Cを暗号文管理サーバ40に要求する(S111)。暗号文管理サーバ40は、復元端末20の要求に応じて、暗号文データベース43が記憶する暗号文Cを復元端末20に送信する(S112)。
復元端末20は、復号サーバ501〜50nに復号要求を送信する(S113)。復号サーバ501〜50nは暗号文Cを暗号文管理サーバ40に要求する(S114)。
The restoration terminal 20 requests the ciphertext C from the ciphertext management server 40 (S111). In response to the request from the restoration terminal 20, the ciphertext management server 40 transmits the ciphertext C stored in the ciphertext database 43 to the restoration terminal 20 (S112).
The restoration terminal 20 transmits a decryption request to the decryption servers 50 1 to 50 n (S113). The decryption servers 50 1 to 50 n request the ciphertext C from the ciphertext management server 40 (S114).

暗号文管理サーバ40は、復号サーバ501〜50nの要求に応じて、暗号文データベース43が記憶する暗号文Cを復号サーバ501〜50nに送信する(S115)。
復号サーバ501〜50nはそれぞれ、暗号文Cと分散鍵s1〜snとを用いて、σi≡u2ΔSimodN2を計算することにより、部分復号情報σ1〜σnを生成する(S116)。 復号サーバ501〜50nはそれぞれ、生成した部分復号情報σ1〜σnを復元端末20に送信する(S117)。
The ciphertext management server 40 transmits the ciphertext C stored in the ciphertext database 43 to the decryption servers 50 1 to 50 n in response to requests from the decryption servers 50 1 to 50 n (S115).
Decoding server 50 1 to 50 n, respectively, using the ciphertext C and the distributed key s 1 ~s n, by calculating the σ i ≡u 2 Δ Si modN 2 , the partial decoding information σ 1n Generate (S116). Each of the decryption servers 50 1 to 50 n transmits the generated partial decryption information σ 1 to σ n to the restoration terminal 20 (S117).

復元端末20は、受信した部分復号情報σ1〜σnが正しく復号されたものか否かを、検証鍵vk1〜vknを用いて判定する(S118)。復元端末20は、部分復号情報σ1〜σnが正しく復号されたものと判定した場合には、部分復号情報σ1〜σnを用いて乱数rの少なくとも一部の情報を計算する。そして、復元端末20は、受信した暗号文Cと、計算した乱数rの少なくとも一部の情報を、合成数を法とするもとで合成数とは素なgに対して乱数rをgrとして隠し、乱数rの少なくとも一部を用いて平文mを暗号化する際に用いた式に代入することにより、平文mを復元する(S119)。このようにして、暗号化端末10と、複数の復号サーバ501〜50nとの間で、秘密の情報である平文mを管理できる。尚、ステップ(S103)、(S115)に代えて、復元端末20から復号サーバ501〜50nに公開情報(g,N,θ,H1)や暗号文Cを送信するようにしてもよい。 Restoring terminal 20, whether or not the received partial decryption information σ 1n is decoded correctly, it determines by using the verification key vk 1 ~vk n (S118). When it is determined that the partial decoding information σ 1 to σ n has been correctly decoded, the restoration terminal 20 calculates at least part of the random number r using the partial decoding information σ 1 to σ n . Then, restore terminal 20, a ciphertext C which has received at least a portion of the information of the calculated random number r, the random number r with respect to disjoint g the composite number in Moto to composite numbers modulo g r The plaintext m is restored by substituting it into the equation used when encrypting the plaintext m using at least a part of the random number r (S119). In this way, the plaintext m that is secret information can be managed between the encryption terminal 10 and the plurality of decryption servers 50 1 to 50 n . Instead of steps (S103) and (S115), public information (g, N, θ, H1) and ciphertext C may be transmitted from the restoration terminal 20 to the decryption servers 50 1 to 50 n .

なお、上述した安全性強化のための変形例の場合には、上記のステップS110、ステップS116、ステップS118のうち少なくとも1つのステップにおいて、暗号文の検証を行うことになる。この場合、少なくとも、復号サーバ501〜50nが行うステップS116において、暗号文の検証を行うことが望ましい。このように、復号を行う前に、少なくとも復元端末において、暗号文の検証を行うことにより、選択暗号文攻撃に対する安全性を持たせることができる。 In the case of the above-described modified example for enhancing security, the ciphertext is verified in at least one of the steps S110, S116, and S118. In this case, it is desirable to verify the ciphertext at least in step S116 performed by the decryption servers 50 1 to 50 n . As described above, it is possible to provide security against the selected ciphertext attack by performing ciphertext verification at least at the restoration terminal before performing decryption.

〔効果〕
本実施形態の通信システム100、暗号化端末10、復元端末20、鍵生成サーバ30、暗号文管理サーバ40、複数の復号サーバ501〜50n及び通信方法によれば、合成数を法とするもとで合成数とは素なgに対して乱数rをgrとして隠し、乱数rの少なくとも一部を用いて平文mを暗号化する方式をしきい値暗号方式に適用できる。そのため、安全性を確保するためには計算量が多くなってしまったり、1ビットしか暗号化できない従来のしきい値暗号方式に対して、通信システム100では、複数ビットの平文mを、grを計算し、H1(rmodN)によって暗号化し、安全性を確保できる。
〔effect〕
According to the communication system 100, the encryption terminal 10, the restoration terminal 20, the key generation server 30, the ciphertext management server 40, the plurality of decryption servers 50 1 to 50 n and the communication method according to the present embodiment, the composite number is modulo. based a hidden random number r with respect to disjoint g the composite number as g r, a method for encrypting a plaintext m can be applied to the threshold cryptosystem using at least a portion of the random number r. For this reason, in order to ensure safety, the amount of calculation is increased, or in contrast to the conventional threshold encryption method in which only one bit can be encrypted, the communication system 100 uses a plurality of bits of plaintext m as g r Can be calculated and encrypted with H1 (rmodN) to ensure safety.

上記の暗号化処理において、u=grmodN2、H1(rmodN)の部分を事前に計算し、暗号化する際はc=H1(rmodN)*mのみ計算すれば良いので、暗号化する際の計算量を少なくできることが分かる。つまり、通信システム100によれば、部分的に事前計算するので、処理効率の良いしきい値暗号方式を実現することができる。 In the above encryption process, u = g r modN 2 and H1 (rmodN) are calculated in advance, and only c = H1 (rmodN) * m needs to be calculated when encrypting. It can be seen that the amount of calculation can be reduced. In other words, according to the communication system 100, the pre-calculation is partially performed, so that a threshold encryption method with high processing efficiency can be realized.

特に、暗号化端末10や復元端末20が、携帯性を重視する移動通信端末のように高速のCPUを搭載することが困難な装置の場合においても、計算量が少ない本発明のしきい値暗号方式であれば利用可能である。さらに安全性強化のための変形例においては、素因数分解型のしきい値暗号ではよくあるように分散鍵を一つの復号サーバに二つ持たせるといったことが必要なく、変形例においては分散鍵の個数が減っているため記憶容量が少ない場合においても本発明のしきい値暗号方式であれば適用可能である。このように、本発明のしきい値暗号方式は、計算能力が低い暗号化装置や復号装置、復元装置、あるいは、安全性を高めた場合であっても記憶容量が低い暗号化装置や復号装置、復元装置においても、利用可能であり、暗号化と復号を効率的に行うことができる。   In particular, even when the encryption terminal 10 and the restoration terminal 20 are devices that are difficult to mount a high-speed CPU, such as a mobile communication terminal that places importance on portability, the threshold encryption of the present invention with a small amount of calculation Any method can be used. Furthermore, in the modified example for enhancing security, it is not necessary to have two distributed keys in one decryption server, as is often the case with prime factorization type threshold encryption. Even when the storage capacity is small because the number is reduced, the threshold encryption method of the present invention is applicable. As described above, the threshold encryption method according to the present invention is an encryption device, a decryption device, a restoration device having a low calculation capability, or an encryption device or a decryption device having a low storage capacity even when safety is improved. The restoration apparatus can also be used, and encryption and decryption can be performed efficiently.

なお、上述した、安全性強化のための変形例を採用した場合、暗号文の検証を行うためのデータについてもほぼ事前計算できるので、安全性を強化してもやはり処理効率の良いしきい値暗号方式を実現することができる。
また、例えば、H1(rmodN)*mとしてmを暗号化することにより、ハッシュ関数の性質からmを求めるためには、rmodNを一意に決定する必要性がある。このため、本実施形態を採用すれば、決定問題に根拠をおくかもしくは選択暗号文攻撃に対しても安全性を確保でき、安全性を付与したしきい値暗号方式を実現することができる。
In addition, when the above-described modified example for enhancing security is adopted, data for performing ciphertext verification can be almost pre-calculated. An encryption method can be realized.
Further, for example, in order to obtain m from the property of the hash function by encrypting m as H1 (rmodN) * m, it is necessary to uniquely determine rmodN. For this reason, if this embodiment is adopted, it is possible to secure a security against a decision problem or to protect against a selected ciphertext attack, and it is possible to realize a threshold encryption method with added security.

ところで、本実施形態の通信システム100は、種々の変更が可能である。例えば、暗号化端末10、復号サーバ501〜50nの一部、又は、復元端末20が、鍵生成サーバ30の機能の一部又は全部を備え、鍵生成装置として機能してもよい。この他、暗号化端末10、復元端末20、鍵生成サーバ30、暗号文管理サーバ40、復号サーバ501〜50nのそれぞれの全部又は一部の機能のうち、少なくとも2つの機能を有する装置を通信システム100に備えてもよい。なお、通信システム100は、暗号文管理サーバ40、暗号化端末10を複数備えてもよい。 By the way, the communication system 100 of this embodiment can be variously changed. For example, the encryption terminal 10, a part of the decryption servers 50 1 to 50 n , or the restoration terminal 20 may include a part or all of the functions of the key generation server 30 and function as a key generation apparatus. In addition, an apparatus having at least two functions among all or a part of the functions of the encryption terminal 10, the restoration terminal 20, the key generation server 30, the ciphertext management server 40, and the decryption servers 50 1 to 50 n. The communication system 100 may be provided. Note that the communication system 100 may include a plurality of ciphertext management servers 40 and encryption terminals 10.

又、上記実施の形態では、暗号文Cを識別するための識別データとして公開情報(g,N,θ,H1)を用いているが、公開情報以外のデータを識別データとして用いることができる。又、鍵生成サーバ30は、公開情報(g,N,θ,H1)の暗号文管理サーバ40への送信を省略してもよい。尚、この場合には、暗号文管理サーバ40は、暗号文Cの要求と暗号文Cとを対応付けるための識別データとして、公開情報(g,N,θ,H1)以外のものを暗号文Cに付与し、その識別データを復元端末20へ与え、その識別データに対応付けて暗号文Cを暗号文データベース43に格納する。   In the above embodiment, public information (g, N, θ, H1) is used as identification data for identifying the ciphertext C. However, data other than public information can be used as identification data. The key generation server 30 may omit the transmission of the public information (g, N, θ, H1) to the ciphertext management server 40. In this case, the ciphertext management server 40 uses the ciphertext C other than public information (g, N, θ, H1) as identification data for associating the ciphertext C request with the ciphertext C. The identification data is given to the restoration terminal 20 and the ciphertext C is stored in the ciphertext database 43 in association with the identification data.

あるいは、鍵生成サーバ30は、公開情報(g,N,θ,H1)を、暗号化端末10、復元端末20、暗号文管理サーバ40、復号サーバ501〜50nに送信せずに、これらの装置が自由に閲覧して取得できるようにしてもよい。又、暗号化端末10、復元端末20、暗号文管理サーバ40、復号サーバ501〜50n等が、予め公開情報(g,N,θ,H1)や分散鍵s1〜sn、検証鍵vk1〜vkn等を保持することにより、鍵生成サーバ30を省略してもよい。
又、復号サーバ501〜50nが完全に信用できる場合には検証鍵を用いなくてもよい。その場合には、復元端末20は、部分復号情報σが正しいか否かの判定を行わないため、より高速に処理を行え、効率を向上できる。
Alternatively, the key generation server 30 does not transmit the public information (g, N, θ, H1) to the encryption terminal 10, the restoration terminal 20, the ciphertext management server 40, and the decryption servers 50 1 to 50 n. These devices may be freely browsed and acquired. Also, the encryption device 10, restoring the terminal 20, the ciphertext management server 40, the decoding server 50 1 to 50 n and the like, previously published information (g, N, θ, H1 ) and distributed key s 1 ~s n, verification key by keeping vk 1 ~vk n like, may be omitted key generation server 30.
Further, when the decryption servers 50 1 to 50 n can be completely trusted, the verification key may not be used. In this case, the restoration terminal 20 does not determine whether or not the partial decoding information σ is correct, so that the processing can be performed at higher speed and the efficiency can be improved.

(第2実施形態)
〔通信システム〕
図4に示すように、公開鍵通信システム200は、暗号化端末10と、復元端末20と、鍵生成サーバ30と、暗号文管理サーバ40と、ネットワーク60とを備える。暗号化端末10と、復元端末20と、鍵生成サーバ30と、暗号文管理サーバ40は、ネットワーク60を介して、情報を送受信する。
鍵生成サーバ30は、μビットの平文mの暗号化に用いる公開情報(g,N,H1)と、暗号文Cの復号に用いる秘密鍵を生成する鍵生成装置である。鍵生成サーバ30は、鍵生成部31と、鍵データベース32と、送信部33とを備える。鍵生成部31は、公開情報(g,N,H1)と、それに対する秘密鍵とを生成する。
(Second Embodiment)
〔Communications system〕
As shown in FIG. 4, the public key communication system 200 includes an encryption terminal 10, a restoration terminal 20, a key generation server 30, a ciphertext management server 40, and a network 60. The encryption terminal 10, the restoration terminal 20, the key generation server 30, and the ciphertext management server 40 transmit and receive information via the network 60.
The key generation server 30 is a key generation device that generates public information (g, N, H1) used for encryption of μ-bit plaintext m and a secret key used for decryption of the ciphertext C. The key generation server 30 includes a key generation unit 31, a key database 32, and a transmission unit 33. The key generation unit 31 generates public information (g, N, H1) and a secret key for it.

鍵データベース32は、公開情報(g,N,H1)を記憶する。送信部33は、鍵生成部31が生成した公開情報(g,N,H1)を暗号化端末10、復元端末20、暗号文管理サーバ40に送信する。また、送信部33は、秘密鍵2Lを復元端末20に送信する。このような鍵生成サーバ30は、コンピュータを、鍵生成部31と、鍵データベース32と、送信部33として機能させるためのプログラムを、コンピュータが実行することにより実現できる。   The key database 32 stores public information (g, N, H1). The transmission unit 33 transmits the public information (g, N, H1) generated by the key generation unit 31 to the encryption terminal 10, the restoration terminal 20, and the ciphertext management server 40. In addition, the transmission unit 33 transmits the secret key 2L to the restoration terminal 20. Such a key generation server 30 can be realized by executing a program for causing a computer to function as the key generation unit 31, the key database 32, and the transmission unit 33.

暗号化端末10は、平文mを暗号化して暗号文Cを生成する暗号化装置である。暗号化端末10は、受信部11と、暗号文生成部12と、送信部13と、入力部14と、記憶部15とを備えている。
受信部11は、鍵生成サーバ30から公開情報(g,N,H1)を受信する。記憶部15は、暗号文生成部12が事前に計算するH1(rmodN)とu=grmodN2とを記憶する。受信部11は、平文mを受信し、暗号文生成部12に入力してもよい。
The encryption terminal 10 is an encryption device that encrypts plaintext m and generates ciphertext C. The encryption terminal 10 includes a reception unit 11, a ciphertext generation unit 12, a transmission unit 13, an input unit 14, and a storage unit 15.
The receiving unit 11 receives public information (g, N, H1) from the key generation server 30. The storage unit 15 stores H1 (rmodN) and u = g r modN 2 calculated in advance by the ciphertext generation unit 12. The receiving unit 11 may receive the plaintext m and input it to the ciphertext generation unit 12.

入力部14は、外部から入力される平文mを取得し、暗号文生成部12に入力する。暗号文生成部12は、事前計算され記憶部15に記憶されているH1(rmodN)及びu=grmodN2を用いて平文mを暗号化する。暗号文生成部12は、暗号文Cを生成する際に、合成数を法とするもとで合成数とは素なgに対して乱数rをgrとして隠し、乱数rの少なくとも一部を用いて平文mを暗号化する。暗号文生成部12は、入力部14や受信部11から平文mを取得する。暗号文生成部12は、上述した式(1)及び式(2)を計算することにより、平文mを暗号化して暗号文C(c,u)を生成することが好ましい。
c=H1(rmodN)*m …(1)
u=grmodN2 …(2)
ハッシュ関数H1は、ZN→{0,1}μである。なお、上記の「*」は排他的論理和を示している。
The input unit 14 acquires the plaintext m input from the outside and inputs it to the ciphertext generation unit 12. The ciphertext generation unit 12 encrypts the plaintext m using H1 (rmodN) and u = g r modN 2 that are pre-calculated and stored in the storage unit 15. When generating the ciphertext C, the ciphertext generating unit 12 hides the random number r as g r from g that is not a composite number based on the composite number, and at least part of the random number r is hidden. Use to encrypt plaintext m. The ciphertext generation unit 12 acquires the plaintext m from the input unit 14 and the reception unit 11. The ciphertext generation unit 12 preferably generates the ciphertext C (c, u) by encrypting the plaintext m by calculating the above-described equations (1) and (2).
c = H1 (rmodN) * m (1)
u = g r modN 2 (2)
The hash function H1 is Z N → {0, 1} μ. The above “*” indicates an exclusive OR.

送信部13は、暗号文生成部12が生成した暗号文Cを、暗号文管理サーバ40に送信する。記憶部15は、後述するように暗号化する際に部分的に事前計算した結果を、一旦記憶する。このような暗号化端末10は、コンピュータを、受信部11と、暗号文生成部12と、送信部13と、入力部14と、記憶部15として機能させるためのプログラムを、コンピュータが実行することにより実現できる。   The transmission unit 13 transmits the ciphertext C generated by the ciphertext generation unit 12 to the ciphertext management server 40. As will be described later, the storage unit 15 temporarily stores a result of partial precalculation when encrypting. In such an encryption terminal 10, the computer executes a program for causing the computer to function as the reception unit 11, the ciphertext generation unit 12, the transmission unit 13, the input unit 14, and the storage unit 15. Can be realized.

暗号文管理サーバ40は、暗号文Cを暗号化端末10から受信し、暗号文Cを各装置に提供する暗号文管理装置である。暗号文管理サーバ40は、受信部41と、暗号文管理部42と、暗号文データベース43と、送信部44とを備える。受信部41は、暗号化端末10から暗号文Cを受信する。又、受信部41は、復元端末20から、暗号文Cの要求を受信する。更に、受信部41は、鍵生成サーバ30から公開情報(g,N,H1)を受信する。   The ciphertext management server 40 is a ciphertext management apparatus that receives the ciphertext C from the encryption terminal 10 and provides the ciphertext C to each device. The ciphertext management server 40 includes a reception unit 41, a ciphertext management unit 42, a ciphertext database 43, and a transmission unit 44. The receiving unit 41 receives the ciphertext C from the encryption terminal 10. The receiving unit 41 receives a request for the ciphertext C from the restoration terminal 20. Further, the receiving unit 41 receives public information (g, N, H1) from the key generation server 30.

暗号文データベース43は、暗号文Cを記憶する。送信部44は、暗号文Cを復元端末20に送信する。このような暗号文管理サーバ40は、コンピュータを、受信部41と、暗号文管理部42と、暗号文データベース43と、送信部44として機能させるためのプログラムを、コンピュータが実行することにより実現できる。
復元端末20では以下の式を用いて復号化処理を行う。
2LmodN2=(1+2raLN)
である。そして、rmodN並びに式(1)及び式(2)により、平文mが得られる。
The ciphertext database 43 stores the ciphertext C. The transmission unit 44 transmits the ciphertext C to the restoration terminal 20. Such a ciphertext management server 40 can be realized by the computer executing a program for causing the computer to function as the reception unit 41, the ciphertext management unit 42, the ciphertext database 43, and the transmission unit 44. .
The restoration terminal 20 performs a decoding process using the following equation.
u 2L modN 2 = (1 + 2raLN)
It is. Then, plaintext m is obtained by rmodN and equations (1) and (2).

復元端末20は、暗号文Cから平文mを復元する復元装置である。復元端末20は、受信部21と、平文復元部22と、送信部23と、出力部24とを備える。
受信部21は、秘密鍵2Lを、鍵生成サーバ30から受信する。又、受信部21は、暗号文Cを暗号文管理サーバ40から受信する。更に、受信部21は、鍵生成サーバ30から公開情報(g,N,H1)を受信する。
The restoration terminal 20 is a restoration device that restores the plaintext m from the ciphertext C. The restoration terminal 20 includes a reception unit 21, a plaintext restoration unit 22, a transmission unit 23, and an output unit 24.
The receiving unit 21 receives the secret key 2L from the key generation server 30. The receiving unit 21 receives the ciphertext C from the ciphertext management server 40. Further, the receiving unit 21 receives public information (g, N, H1) from the key generation server 30.

平文復元部22は、秘密鍵2Lを用いて暗号文Cから平文mを復元する。平文復元部22は、復元した平文mを出力部24に出力する。送信部23は、暗号文Cの要求や、復号要求を送信する。このような復元端末20は、コンピュータを、受信部21と、平文復元部22と、送信部23と、出力部24として機能させるためのプログラムを、コンピュータが実行することにより実現できる。   The plaintext restoration unit 22 restores the plaintext m from the ciphertext C using the secret key 2L. The plaintext restoration unit 22 outputs the restored plaintext m to the output unit 24. The transmission unit 23 transmits a ciphertext C request and a decryption request. Such a restoration terminal 20 can be realized by the computer executing a program for causing the computer to function as the reception unit 21, the plaintext restoration unit 22, the transmission unit 23, and the output unit 24.

次に、図4、図5を用いて、平文mの暗号化から復元において公開鍵通信システム200が行う処理を詳細に説明する。公開鍵通信システム200では、公開鍵暗号方式により復号を行う。
公開鍵通信システム200が、合成数を法とするもとで合成数とは素なgに対して乱数rをgrとして隠し、乱数rの少なくとも一部を用いて平文mを暗号化する暗号方式を用いる場合を説明する。本例においては、鍵生成サーバ30の鍵生成部31は、まず、2つの大きなΛ/2ビットの強い素数p,qを選択し、公開情報(g,N,H1)を作成する。また、素数p及び素数qを記憶しておき、秘密鍵2Lを生成する。また、鍵生成サーバ30の鍵生成部31は、合成数N=pqを生成する。強い素数p,qとは、p=2p’+1においてp’が素数であり、q=2q’+1においてq’が素数であることをいう。
Next, a process performed by the public key communication system 200 in encryption and restoration of plaintext m will be described in detail with reference to FIGS. 4 and 5. In the public key communication system 200, decryption is performed by a public key cryptosystem.
A cipher in which the public key communication system 200 conceals a random number r as g r with respect to g that is not a composite number based on the composite number, and encrypts plaintext m using at least a part of the random number r. The case where the method is used will be described. In this example, the key generation unit 31 of the key generation server 30 first selects two large Λ / 2-bit strong primes p and q, and creates public information (g, N, H1). Further, the prime number p and the prime number q are stored, and the secret key 2L is generated. Further, the key generation unit 31 of the key generation server 30 generates the composite number N = pq. The strong prime numbers p and q mean that p ′ is a prime number at p = 2p ′ + 1 and q ′ is a prime number at q = 2q ′ + 1.

鍵生成部31は、素数p’、素数q’よりL=p’q’を構成し、公開情報(g,N,H1)に対応する秘密鍵2Lを生成する。
鍵生成部31は、生成した複数の秘密鍵2Lを、送信部33に入力する。
送信部33は、図5に示すように、素数p,qを秘密にしたまま復元端末20に対応する公開情報(g,N,H1)だけを、暗号化端末10、暗号文管理サーバ40、復元端末20に送信する。暗号化端末10の受信部11は、鍵生成サーバ30から公開情報(g,N,H1)を受信し、暗号文生成部12に入力する。暗号文管理サーバ40の受信部41は、鍵生成サーバ30から公開情報(g,N,H1)を受信し、暗号文管理部42に入力する。
The key generation unit 31 configures L = p′q ′ from the prime numbers p ′ and q ′, and generates a secret key 2L corresponding to the public information (g, N, H1).
The key generation unit 31 inputs the generated plurality of secret keys 2L to the transmission unit 33.
As illustrated in FIG. 5, the transmission unit 33 transmits only the public information (g, N, H1) corresponding to the restoration terminal 20 while keeping the prime numbers p and q secret, the encryption terminal 10, the ciphertext management server 40, It transmits to the restoration terminal 20. The reception unit 11 of the encryption terminal 10 receives the public information (g, N, H1) from the key generation server 30 and inputs it to the ciphertext generation unit 12. The receiving unit 41 of the ciphertext management server 40 receives the public information (g, N, H1) from the key generation server 30 and inputs it to the ciphertext management unit 42.

更に、送信部33は、秘密鍵2Lを復元端末20に送信する。
暗号化端末10の暗号文生成部12は、鍵生成サーバ30から受信した公開情報(g,N,H1)を用いて暗号化する。具体的には、暗号文生成部12は、値gに対して乱数rをgrmodN2として隠し、rの少なくとも一部の情報を用いて平文mをもとに暗号文Cを生成する。例えば、暗号文生成部12は、上記式(1)及び上記式(2)を計算することにより、平文mを暗号化し、暗号文Cを生成する。平文mは、暗号化端末10が暗号化して秘密にしたい情報である。本実施形態における平文mは、秘密鍵2Lを用いない限り、暗号文Cから平文mを復号できないようにすることにより、暗号化端末10が暗号化したい情報である。
Further, the transmission unit 33 transmits the secret key 2L to the restoration terminal 20.
The ciphertext generation unit 12 of the encryption terminal 10 performs encryption using the public information (g, N, H1) received from the key generation server 30. Specifically, the ciphertext generation unit 12 conceals the random number r as g r modN 2 from the value g, and generates the ciphertext C based on the plaintext m using at least part of the information of r. For example, the ciphertext generation unit 12 encrypts the plaintext m and generates the ciphertext C by calculating the above formula (1) and the above formula (2). The plain text m is information that the encryption terminal 10 wants to encrypt and keep secret. The plaintext m in the present embodiment is information that the encryption terminal 10 wants to encrypt by preventing the plaintext m from being decrypted from the ciphertext C unless the secret key 2L is used.

暗号文生成部12は、乱数rを、ZN2から選択する。暗号文生成部12は、生成した暗号文Cを送信部13に入力する。送信部13は、図5に示すように、暗号文Cを暗号文管理サーバ40に送信する。
暗号文管理サーバ40の受信部41は、図5に示すように、暗号化端末10から暗号文Cを受信する。受信部41は、受信した暗号文Cを暗号文管理部42に入力する。暗号文管理部42は、暗号文Cを、鍵生成サーバ30から受信した公開情報(g,N,H1)に対応付けて、暗号文データベース43に格納する。
The ciphertext generation unit 12 selects the random number r from Z N2 . The ciphertext generation unit 12 inputs the generated ciphertext C to the transmission unit 13. The transmission unit 13 transmits the ciphertext C to the ciphertext management server 40 as illustrated in FIG.
The receiving unit 41 of the ciphertext management server 40 receives the ciphertext C from the encryption terminal 10 as shown in FIG. The receiving unit 41 inputs the received ciphertext C to the ciphertext management unit 42. The ciphertext management unit 42 stores the ciphertext C in the ciphertext database 43 in association with the public information (g, N, H1) received from the key generation server 30.

その後、復元端末20の平文復元部22が、公開情報(g,N,H1)をもとに作成した暗号文Cの要求を生成し、送信部23に入力する。送信部23は、暗号文Cの要求を暗号文管理サーバ40に送信する。暗号文管理サーバ40の受信部41は復元端末20から暗号文Cの要求を受信部41において受信し、暗号文管理部42は、暗号文Cの要求において指定されている公開情報(g,N,H1)に対応する暗号文Cを、暗号文データベース43から取得し、公開情報(g,N,H1)と対応付けて送信部44に入力する。送信部44は、図2に示すように公開情報(g,N,H1)と対応付けられた暗号文Cを復元端末20に送信する。このように公開情報(g,N,H1)は、暗号文Cを識別するための識別データとして用いることができる。   Thereafter, the plaintext restoration unit 22 of the restoration terminal 20 generates a request for the ciphertext C created based on the public information (g, N, H1), and inputs the request to the transmission unit 23. The transmission unit 23 transmits a request for the ciphertext C to the ciphertext management server 40. The receiving unit 41 of the ciphertext management server 40 receives the ciphertext C request from the restoration terminal 20 at the receiving unit 41, and the ciphertext management unit 42 receives the public information (g, N) specified in the ciphertext C request. , H1) is obtained from the ciphertext database 43 and input to the transmission unit 44 in association with the public information (g, N, H1). The transmission unit 44 transmits the ciphertext C associated with the public information (g, N, H1) to the restoration terminal 20 as shown in FIG. Thus, the public information (g, N, H1) can be used as identification data for identifying the ciphertext C.

送信部33は、秘密鍵2Lを送信する。鍵生成サーバ30の送信部33から送信された秘密鍵2Lは、復元端末20の受信部21が受信する。
復元端末20の受信部21は、受信した秘密鍵2Lを平文復元部22に入力する。このようにして、受信部21は、鍵生成サーバ30から秘密鍵2Lを受信する復号情報受信部として機能する。
平文復元部22は、秘密鍵2Lを用いて、暗号文Cの一部であるuから平文mを復元する。この場合、平文復元部22は、
2L=(1+2raLN)modN2
からrmodNを求め、
c=H1(rmodN)*m
より、平文mを得る。
The transmission unit 33 transmits the secret key 2L. The private key 2L transmitted from the transmission unit 33 of the key generation server 30 is received by the reception unit 21 of the restoration terminal 20.
The receiving unit 21 of the restoration terminal 20 inputs the received secret key 2L to the plaintext restoration unit 22. In this way, the receiving unit 21 functions as a decryption information receiving unit that receives the secret key 2L from the key generation server 30.
The plaintext restoration unit 22 restores the plaintext m from u, which is a part of the ciphertext C, using the secret key 2L. In this case, the plaintext restoration unit 22
u 2L = (1 + 2raLN) modN 2
RmodN is calculated from
c = H1 (rmodN) * m
Thus, plaintext m is obtained.

〔安全性強化のための変形例〕
ところで、上記の通信システムにおいて、鍵生成部31による鍵生成、暗号化端末10による暗号化、復元端末20による復号において、上記とは異なる、以下の処理を行うことにより、選択暗号文攻撃に対する安全性を持たせることができる。
(1)鍵生成部31による鍵生成においては、以下の事項が異なる。
鍵生成部31は、公開情報(g,g2,N,M,H1,H2)を生成する。まず、4つの大きなΛ/2ビットの強い素数p,p2,q,q2を用い、合成数N=pq,M=p22を作成し、p,p2,q,q2は秘密にしたままN,Mを公開情報として公開する。ここで、L=p’q’,L2=p2’q2’も計算して秘密にしておく。なお、N>Mとする。
[Modifications to enhance safety]
By the way, in the communication system described above, the following processing, which is different from the above, is performed in the key generation by the key generation unit 31, the encryption by the encryption terminal 10, and the decryption by the restoration terminal 20. Can have sex.
(1) In key generation by the key generation unit 31, the following matters are different.
The key generation unit 31 generates public information (g, g 2 , N, M, H1, H2). First, four large Λ / 2-bit strong prime numbers p, p 2 , q, q 2 are used to create a composite number N = pq, M = p 2 q 2 , and p, p 2 , q, q 2 are N and M are disclosed as public information while keeping them secret. Here, L = p′q ′ and L 2 = p 2 'q 2 ′ are also calculated and kept secret. Note that N> M.

また、a∈ZN,b∈Z* Nをもとにg=(1+aN)bNmodMを、a2∈ZM,b2∈Z* Mをもとにg2=(1+a2M)b2 MmodM2を、それぞれ定め、g,g2を公開する。また、暗号化の際に用いるハッシュ関数H1:ZN→{0,1}μとH2:{0,1}μ×ZN 2×ZN 2×ZM 2×ZM 2→{0,1}Bも公開する。ここで復元端末20の持つ秘密鍵は一つとするほかに、二つにする方法も考えられる。この場合には、復元端末20では以下の式も用いて復号化処理を行う。
u’2L2modM2=(1+2ra22M)
(2)暗号化端末10による暗号化においては、以下の事項が異なる。
式(1)及び式(2)の代わりに、上述した式(9)を用いる。
Also, g = (1 + aN) b N modM based on a∈Z N and b∈Z * N , and g 2 = (1 + a 2 M) based on a 2 ∈Z M and b 2 ∈Z * M. b 2 M mod M 2 is determined, and g and g 2 are disclosed. Also, hash functions H1: Z N → {0,1} μ and H2: {0,1} μ × Z N 2 × Z N 2 × Z M 2 × Z M 2 → {0, 1} B is also released. Here, in addition to using one secret key for the restoration terminal 20, a method of using two is also conceivable. In this case, the restoration terminal 20 performs a decoding process using the following equation.
u '2L2 modM 2 = (1 + 2ra 2 L 2 M)
(2) The following matters are different in the encryption by the encryption terminal 10.
Instead of the formulas (1) and (2), the above formula (9) is used.

Figure 2006227411
Figure 2006227411

(3)復号においては、以下の事項が異なる。
暗号文を復号する前に、復元端末20、暗号文管理サーバ40の少なくとも1箇所において暗号文の検証を行う。この場合、少なくとも復元端末20において、暗号文の検証を行うことが望ましい。
ここで復元端末20のもつ秘密鍵を二つ持つ方法の場合にはuに関して行う部分復号をu’についても同様に行い、復元結果がともにrかどうかの確認をする。もしも同じにならない場合は不正な暗号文として認識する。鍵が二つある場合でも計算時間の短縮のため、uもしくはu’一方に対してのみ復元しても構わない。
以上のように、復号を行う前に、少なくとも復元端末20が暗号文の検証を行うことにより、選択暗号文攻撃に対する安全性を持たせることができる。
(3) The following matters are different in decoding.
Before decrypting the ciphertext, the ciphertext is verified at at least one location of the restoration terminal 20 and the ciphertext management server 40. In this case, it is desirable to verify the ciphertext at least at the restoration terminal 20.
Here, in the case of the method having two secret keys possessed by the restoration terminal 20, partial decryption performed on u is similarly performed on u ', and it is confirmed whether both restoration results are r. If it is not the same, it is recognized as an illegal ciphertext. Even when there are two keys, it is possible to restore only one of u and u ′ in order to shorten the calculation time.
As described above, before the decryption is performed, at least the restoration terminal 20 verifies the ciphertext, thereby providing security against the selected ciphertext attack.

〔通信方法〕
次に、公開鍵通信システム200を用いて行う通信方法の手順を説明する。まず、鍵生成サーバ30が、公開情報(g,N,H1)、秘密鍵2Lを生成する(S201)。鍵生成サーバ30は、公開情報(g,N,H1)を復元端末20、暗号文管理サーバ40、暗号化端末10に送信する(S202、S204、S205)。鍵生成サーバ30は、復元端末20に秘密鍵を送信する(S207)。
〔Communication method〕
Next, a procedure of a communication method performed using the public key communication system 200 will be described. First, the key generation server 30 generates public information (g, N, H1) and a secret key 2L (S201). The key generation server 30 transmits the public information (g, N, H1) to the restoration terminal 20, the ciphertext management server 40, and the encryption terminal 10 (S202, S204, S205). The key generation server 30 transmits the secret key to the restoration terminal 20 (S207).

暗号化端末10は、例えば、式(1)及び式(2)を用い、合成数を法とするもとで合成数とは素なgに対して乱数rをgrとして隠し、乱数rの少なくとも一部を用いて平文mを暗号化し、暗号文Cを生成する(S208)。暗号化端末10は、生成した暗号文Cを暗号文管理サーバ40に送信する(S209)。暗号文管理サーバ40は、受信した暗号文Cを暗号文データベース43に格納する(S210)。 The encryption terminal 10 uses, for example, Equation (1) and Equation (2), and conceals the random number r as g r for g that is not a composite number based on the composite number. The plaintext m is encrypted using at least a part to generate a ciphertext C (S208). The encryption terminal 10 transmits the generated ciphertext C to the ciphertext management server 40 (S209). The ciphertext management server 40 stores the received ciphertext C in the ciphertext database 43 (S210).

復元端末20は、暗号文Cを暗号文管理サーバ40に要求する(S211)。暗号文管理サーバ40は、復元端末20の要求に応じて、暗号文データベース43が記憶する暗号文Cを復元端末20に送信する(S212)。
復元端末20は、秘密鍵2Lを用いて乱数r mod Nを計算する。そして、復元端末20は、受信した暗号文Cと、計算した乱数rmod Nを、合成数を法とするもとで合成数とは素なgに対して乱数rをgrとして隠し、乱数rの少なくとも一部を用いて平文mを暗号化する際に用いた式に代入することにより、平文mを復元する(S219)。
The restoration terminal 20 requests the ciphertext C from the ciphertext management server 40 (S211). In response to the request from the restoration terminal 20, the ciphertext management server 40 transmits the ciphertext C stored in the ciphertext database 43 to the restoration terminal 20 (S212).
The restoration terminal 20 calculates a random number r mod N using the secret key 2L. Then, restore terminal 20, a ciphertext C which has received, hiding the calculated random number RMOD N, the random number r with respect to disjoint g the composite number in Moto to composite numbers modulo a g r, the random number r The plaintext m is restored by substituting it into the expression used when encrypting the plaintext m using at least a part of the plaintext m (S219).

なお、上述した安全性強化のための変形例の場合には、上記のステップS210において、又は、ステップS219の処理前において、暗号文の検証を行うことになる。この場合、少なくとも、復元端末20が行うステップS219の処理前において、暗号文の検証を行うことが望ましい。このように、復号を行う前に、少なくとも復元端末において、暗号文の検証を行うことにより、選択暗号文攻撃に対する安全性を持たせることができる。   In the case of the above-described modified example for enhancing security, the ciphertext is verified in step S210 described above or before the processing in step S219. In this case, it is desirable to verify the ciphertext at least before the process of step S219 performed by the restoration terminal 20. As described above, it is possible to provide security against the selected ciphertext attack by performing ciphertext verification at least at the restoration terminal before performing decryption.

〔効果〕
本実施形態の公開鍵通信システム200、暗号化端末10、復元端末20、鍵生成サーバ30、暗号文管理サーバ40及び通信方法によれば、合成数を法とするもとで合成数とは素なgに対して乱数rをgrとして隠し、乱数rの少なくとも一部を用いて平文mを暗号化する方式をしきい値暗号方式に適用できる。そのため、安全性を確保するためには計算量が多くなってしまったり、1ビットしか暗号化できない従来のしきい値暗号方式に対して、公開鍵通信システム200では、合成数を法とするもとで合成数とは素なgに対して乱数rをgrとして隠し、乱数rの少なくとも一部を用いて複数ビットの平文mを暗号化しているので安全性を確保できる。
〔effect〕
According to the public key communication system 200, the encryption terminal 10, the restoration terminal 20, the key generation server 30, the ciphertext management server 40, and the communication method of this embodiment, the composite number is a prime number based on the composite number. hide random number r as a g r with respect to a g, a method of encrypting a plaintext m using at least a part of the random number r can be applied to the threshold cryptosystem. For this reason, the public key communication system 200 uses a composite number as a modulo in contrast to the conventional threshold encryption method in which only one bit is encrypted in order to ensure safety. a random number r with respect to disjoint g the composite number hidden as g r, at least a portion of the random number r plaintext m multibit can ensure safety since the encryption used with.

上記の暗号化処理において、u=grmodN2、H1(rmodN)の部分を事前に計算し、暗号化する際はc=H1(rmodN)*mのみ計算すれば良いので、暗号化する際の計算量を少なくできることが分かる。つまり、公開鍵通信システム200によれば、部分的に事前計算するので、処理効率の良い公開鍵暗号方式を実現することができる。なお、上述した、安全性強化のための変形例を採用した場合、暗号文の検証を行うためのデータについてもほぼ事前計算できるので、安全性を強化してもやはり処理効率の良い公開鍵暗号方式を実現することができる。 In the above encryption process, u = g r modN 2 and H1 (rmodN) are calculated in advance, and only c = H1 (rmodN) * m needs to be calculated when encrypting. It can be seen that the amount of calculation can be reduced. In other words, according to the public key communication system 200, pre-computation is partially performed, so that a public key cryptosystem with high processing efficiency can be realized. In addition, when the above-described modified example for enhancing security is adopted, data for performing ciphertext verification can be almost pre-computed. A scheme can be realized.

また、例えば、H1(rmodN)*mとしてmを暗号化することにより、ハッシュ関数の性質からmを求めるためには、rmodNを一意に決定する必要性がある。このため、本実施形態を採用すれば、決定問題に根拠をおくかもしくは選択暗号文攻撃に対しても安全性を確保でき、安全性を付与した公開鍵値暗号方式を実現することができる。
特に、暗号化端末10が、携帯性を重視する移動通信端末のように高速のCPUを搭載することが困難な装置の場合においても、計算量が少ない本発明のしきい値暗号方式であれば利用可能である。このように、本発明の公開鍵暗号方式は、計算能力が低い暗号化装置においても、利用可能であり、暗号化を効率的に行うことができる。
Further, for example, in order to obtain m from the property of the hash function by encrypting m as H1 (rmodN) * m, it is necessary to uniquely determine rmodN. For this reason, if this embodiment is adopted, security can be secured against a decision problem or against a selected ciphertext attack, and a public key value encryption scheme with security can be realized.
In particular, even in the case where the encryption terminal 10 is a device that is difficult to mount a high-speed CPU, such as a mobile communication terminal that places importance on portability, the encryption terminal 10 is of the threshold encryption method of the present invention with a small amount of calculation. Is available. As described above, the public key cryptosystem of the present invention can be used even in an encryption apparatus having a low calculation capability, and can be efficiently encrypted.

ところで、本実施形態の公開鍵通信システム200は、種々の変更が可能である。例えば、復元端末20又は暗号文管理サーバ40が、鍵生成サーバ30の機能の一部又は全部を備え、鍵生成装置として機能してもよい。この場合、復元端末20が鍵生成サーバ30の機能の全部を備えていることが望ましい。この他、暗号化端末10、復元端末20、鍵生成サーバ30、暗号文管理サーバ40のそれぞれの全部又は一部の機能のうち、少なくとも2つの機能を有する装置を公開鍵通信システム200に備えてもよい。なお、公開鍵通信システム200は、暗号化端末10、暗号文管理サーバ40を複数備えてもよい。   By the way, the public key communication system 200 of the present embodiment can be variously changed. For example, the restoration terminal 20 or the ciphertext management server 40 may include a part or all of the functions of the key generation server 30 and function as a key generation device. In this case, it is desirable that the restoration terminal 20 has all the functions of the key generation server 30. In addition, the public key communication system 200 includes a device having at least two functions among all or some of the functions of the encryption terminal 10, the restoration terminal 20, the key generation server 30, and the ciphertext management server 40. Also good. The public key communication system 200 may include a plurality of encryption terminals 10 and ciphertext management servers 40.

又、上記実施の形態では、暗号文Cを識別するための識別データとして公開情報(g,N,H1)を用いているが、公開情報以外のデータを識別データとして用いることができる。又、鍵生成サーバ30は、公開情報(g,N,H1)の暗号文管理サーバ40への送信を省略してもよい。尚、この場合には、暗号文管理サーバ40は、暗号文Cの要求と暗号文Cとを対応付けるための識別データとして、公開情報(g,N,H1)以外のものを暗号文Cに付与し、その識別データを復元端末20へ与え、その識別データに対応付けて暗号文Cを暗号文データベース43に格納する。
あるいは、鍵生成サーバ30は、公開情報(g,N,H1)を、暗号化端末10、復元端末20、暗号文管理サーバ40に送信せずに、これらの装置が自由に閲覧して取得できるようにしてもよい。
In the above embodiment, public information (g, N, H1) is used as identification data for identifying the ciphertext C, but data other than public information can be used as identification data. The key generation server 30 may omit the transmission of the public information (g, N, H1) to the ciphertext management server 40. In this case, the ciphertext management server 40 gives the ciphertext C something other than the public information (g, N, H1) as identification data for associating the ciphertext C request with the ciphertext C. Then, the identification data is given to the restoration terminal 20, and the ciphertext C is stored in the ciphertext database 43 in association with the identification data.
Alternatively, the key generation server 30 can freely browse and acquire the public information (g, N, H1) without transmitting the public information (g, N, H1) to the encryption terminal 10, the restoration terminal 20, and the ciphertext management server 40. You may do it.

(まとめ)
上述した第1実施形態及び第2実施形態は、ともに事前計算を行うことにより暗号化を高速に行えるという特徴を持ち、素因数分解型の方式のため素数生成時の問題も少ない。
さらに、第1実施形態では安全性が選択平文攻撃のもとでのみ示されるが決定問題という比較的弱い仮定の下で安全性を示せる利点もある。第2実施形態では選択暗号文攻撃のもとでの安全性が示されるという利点がある。
(Summary)
The first embodiment and the second embodiment described above both have a feature that encryption can be performed at high speed by performing pre-calculation, and there are few problems when generating prime numbers because of the prime factorization type.
Further, in the first embodiment, the safety is shown only under the selected plaintext attack, but there is an advantage that the safety can be shown under a relatively weak assumption that is a decision problem. The second embodiment has an advantage that security under a selected ciphertext attack is shown.

本発明は、安全かつ効率的なしきい値暗号方式及び公開鍵暗号方式を採用した通信システムの構築に利用できる。   The present invention can be used to construct a communication system that employs a safe and efficient threshold encryption method and public key encryption method.

本発明の第1実施形態に係る通信システムの構成を示す図である。It is a figure which shows the structure of the communication system which concerns on 1st Embodiment of this invention. 本発明の第1実施形態に係る情報の流れを示す図である。It is a figure which shows the flow of the information which concerns on 1st Embodiment of this invention. 本発明の第1実施形態に係る通信方法の手順を示すフロー図である。It is a flowchart which shows the procedure of the communication method which concerns on 1st Embodiment of this invention. 本発明の第2実施形態に係る通信システムの構成を示す図である。It is a figure which shows the structure of the communication system which concerns on 2nd Embodiment of this invention. 本発明の第2実施形態に係る情報の流れを示す図である。It is a figure which shows the flow of the information which concerns on 2nd Embodiment of this invention. 本発明の第2実施形態に係る通信方法の手順を示すフロー図である。It is a flowchart which shows the procedure of the communication method which concerns on 2nd Embodiment of this invention.

符号の説明Explanation of symbols

10 暗号化端末
11 受信部
12 暗号文生成部
13 送信部
14 入力部
15 記憶部
20 復元端末
21 受信部
22 平文復元部
23 送信部
24 出力部
30 鍵生成サーバ
31 鍵生成部
32 鍵データベース
33 送信部
40 暗号文管理サーバ
41 受信部
42 暗号文管理部
43 暗号文データベース
44 送信部
50i 復号サーバ
60 ネットワーク
100 通信システム
200 公開鍵通信システム
51i 受信部
52i 部分復号情報生成部
53i 送信部
DESCRIPTION OF SYMBOLS 10 Encryption terminal 11 Reception part 12 Ciphertext generation part 13 Transmission part 14 Input part 15 Storage part 20 Restoration terminal 21 Reception part 22 Plaintext restoration part 23 Transmission part 24 Output part 30 Key generation server 31 Key generation part 32 Key database 33 Transmission Unit 40 ciphertext management server 41 reception unit 42 ciphertext management unit 43 ciphertext database 44 transmission unit 50 i decryption server 60 network 100 communication system 200 public key communication system 51 i reception unit 52 i partial decryption information generation unit 53 i transmission unit

Claims (24)

合成数を法とするもとで合成数とは素なgに対して乱数rをgrとして隠し、乱数rの少なくとも一部を用いて平文mを暗号化する場合に、合成数を法とするもとで、暗号化のために部分的な事前計算を行う暗号化装置と、
合成数を法として計算できるgrで定義されるuから乱数rの少なくとも一部を取出す際に必要となる秘密情報である鍵を元に分散鍵を生成する鍵生成装置と、
暗号文と分散鍵とを用いて部分復号情報を生成する部分復号装置と、
復号の際に乱数rの少なくとも一部を前記部分復号情報を用いて復元し、復元した乱数rの少なくとも一部を用いて平文mを求める復元装置と、
を含むことを特徴とする通信システム。
When the composite number is modulo, the random number r is concealed as g r with respect to the prime g and the plaintext m is encrypted using at least a part of the random number r. An encryption device that performs partial pre-computation for encryption,
A key generating unit for generating a distributed key based on the key that is secret information required when taking out at least part of the u from the random number r defined by g r which can calculate the composite number as a modulo,
A partial decryption device that generates partial decryption information using a ciphertext and a distributed key;
A restoration device that restores at least a part of the random number r using the partial decryption information at the time of decryption, and obtains the plaintext m using at least a part of the restored random number r;
A communication system comprising:
合成数を法とするもとで合成数とは素なgに対して乱数rをgrとして隠し、乱数rの少なくとも一部を用いて平文mを暗号化する場合に、合成数を法とするもとで、暗号化のために部分的な事前計算を行う暗号文生成手段と、前記暗号文生成手段によって生成した暗号文を暗号文管理サーバに送信する暗号文送信手段とを含むことを特徴とする暗号化装置。 When the composite number is modulo, the random number r is concealed as g r with respect to the prime g and the plaintext m is encrypted using at least a part of the random number r. A ciphertext generation unit that performs partial pre-calculation for encryption, and a ciphertext transmission unit that transmits the ciphertext generated by the ciphertext generation unit to the ciphertext management server. Feature encryption device. 合成数を法として計算できるgrで定義されるuから乱数rの少なくとも一部を取出す際に必要となる秘密情報である鍵を元に分散鍵を生成する分散鍵生成手段と、前記分散鍵生成手段によって生成された分散鍵を部分復号装置に送信する分散鍵送信手段とを含むことを特徴とする鍵生成装置。 A distributed key generating means for generating a distributed key based on a key that is secret information necessary for extracting at least a part of the random number r from u defined by g r that can be calculated by using a composite number as a modulus; A key generation apparatus comprising: a distributed key transmission means for transmitting the distributed key generated by the generation means to the partial decryption apparatus. rで定義されるuと暗号文との関係を検証するための暗号文検証用データを、作成するために必要な公開情報を作成する公開情報作成手段を更に含むことを特徴とする請求項3記載の鍵生成装置。 claims ciphertext verification data for verifying the relationship between u and the ciphertext is defined by g r, and wherein, further comprising a public information creation means for creating a public information needed to create 3. The key generation device according to 3. 合成数を法として計算できるgrで定義されるuから乱数rの少なくとも一部を取出す際に必要となる秘密情報である鍵を元に分散鍵を生成する分散鍵生成ステップを含むことを特徴とする鍵生成方法。 Including a distributed key generation step of generating a distributed key based on a key that is secret information necessary for extracting at least a part of the random number r from u defined by g r that can be calculated by using a composite number as a modulus Key generation method. 合成数を法として計算できるgrで定義されるuから乱数rの少なくとも一部を取出す際に必要となる秘密情報である鍵を元に分散鍵を生成する分散鍵生成ステップと、grで定義されるuと暗号文との関係を検証するための暗号文検証用データを、作成するために必要な公開情報を作成する公開情報作成ステップとを含むことを特徴とする鍵生成方法。 A distributed key generation step of generating a distributed key based on the key that is secret information required when taking out at least part of the u from the random number r defined by g r which can calculate the composite number as a modulo, in g r A key generation method comprising: a public information creation step of creating public information necessary for creating ciphertext verification data for verifying a relationship between u defined and ciphertext. 復号の際に乱数rの少なくとも一部を部分復号情報を用いて復元し、復元した乱数rの少なくとも一部を用いて平文mを求めることを特徴とする復元装置。   A restoration apparatus, wherein at least a part of a random number r is restored using partial decryption information at the time of decryption, and plaintext m is obtained using at least a part of the restored random number r. 合成数を法とするもとで合成数とは素なgに対して乱数rをgrとして隠し、乱数rの少なくとも一部を用いて平文mを暗号化する場合に、合成数を法とするもとで、暗号化のために部分的な事前計算を行うステップと、
合成数を法として計算できるgrで定義されるuから乱数rの少なくとも一部を取出す際に必要となる秘密情報である鍵を元に分散鍵を生成するステップと、
暗号文と前記分散鍵記憶手段に記憶されている分散鍵とを用いて部分復号情報を生成するステップと、
復号の際に乱数rの少なくとも一部を前記部分復号情報を用いて復元し、復元した乱数rの少なくとも一部を用いて平文mを求めることを特徴とするステップと、
を含むことを特徴とする通信方法。
When the composite number is modulo, the random number r is concealed as g r with respect to the prime g and the plaintext m is encrypted using at least a part of the random number r. A partial precomputation for encryption, and
Generating a distributed key based on a key, which is secret information necessary for extracting at least a part of the random number r from u defined by g r that can be calculated modulo the composite number;
Generating partial decryption information using ciphertext and a distributed key stored in the distributed key storage means;
Reconstructing at least a part of the random number r using the partial decryption information at the time of decryption, and obtaining a plaintext m using at least a part of the restored random number r;
A communication method comprising:
合成数を法として計算できるgrで定義されるuから乱数rの少なくとも一部を取出す際に必要となる秘密鍵を生成する秘密鍵生成装置と、
合成数を法とするもとで合成数とは素なgに対して乱数rをgrとして隠し、乱数rの少なくとも一部を用いて平文mを暗号化する場合に、合成数を法とするもとで、暗号化のために部分的な事前計算を行う暗号化装置と、
復号の際に乱数rの少なくとも一部を、前記秘密鍵生成装置によって生成された秘密鍵を用いて復元し、復元した乱数rの少なくとも一部を用いて平文mを求める復元装置と、
を含むことを特徴とする通信システム。
A secret key generation device that generates a secret key necessary for extracting at least a part of the random number r from u defined by g r that can be calculated modulo the composite number;
When the composite number is modulo, the random number r is concealed as g r with respect to the prime g and the plaintext m is encrypted using at least a part of the random number r. An encryption device that performs partial pre-computation for encryption,
A restoration device for restoring at least a part of the random number r at the time of decryption using the secret key generated by the secret key generation apparatus and obtaining the plaintext m using at least a part of the restored random number r;
A communication system comprising:
合成数を法として計算できるgrで定義されるuから乱数rの少なくとも一部を取出す際に必要となる秘密鍵を生成する秘密鍵生成手段と、前記秘密鍵生成手段によって生成された秘密鍵を復元装置に送信する秘密鍵送信手段とを含むことを特徴とする鍵生成装置。 A secret key generating means for generating a secret key necessary for extracting at least a part of the random number r from u defined by g r which can calculate the composite number modulo, and a secret key generated by the secret key generating means And a secret key transmission means for transmitting the message to the restoration device. rで定義されるuと暗号文との関係を検証するための暗号文検証用データを、作成するために必要な公開情報を作成する公開情報作成手段を更に含むことを特徴とする請求項10記載の鍵生成装置。 claims ciphertext verification data for verifying the relationship between u and the ciphertext is defined by g r, and wherein, further comprising a public information creation means for creating a public information needed to create 10. A key generation device according to 10. 合成数を法として計算できるgrで定義されるuから乱数rの少なくとも一部を取出す際に必要となる秘密鍵を生成する秘密鍵生成ステップを含むことを特徴とする鍵生成方法。 A key generation method comprising: a secret key generation step for generating a secret key necessary for extracting at least a part of a random number r from u defined by g r that can be calculated by using a composite number as a modulus. 合成数を法として計算できるgrで定義されるuから乱数rの少なくとも一部を取出す際に必要となる秘密鍵を生成する秘密鍵生成ステップと、grで定義されるuと暗号文との関係を検証するための暗号文検証用データを、作成するために必要な公開情報を作成する公開情報作成ステップとを含むことを特徴とする鍵生成方法。 A private key generation step of generating a secret key that is required when taking out at least part of being defined random number u r in g r which can calculate the composite number as a modulo, u and the ciphertext is defined by g r A public information creating step for creating public information necessary for creating ciphertext verification data for verifying the relationship between the public key and the key generation method. 合成数を法として計算できるgrで定義されるuから乱数rの少なくとも一部を取出す際に必要となる秘密鍵を生成する鍵生成ステップと、
合成数を法とするもとで合成数とは素なgに対して乱数rをgrとして隠し、乱数rの少なくとも一部を用いて平文mを暗号化する場合に、合成数を法とするもとで、暗号化のために部分的な事前計算を行うステップと、
復号の際に乱数rの少なくとも一部を、前記秘密鍵生成手段によって生成された秘密鍵を用いて復元し、復元した乱数rの少なくとも一部を用いて平文mを求める復元ステップと、
を含むことを特徴とする通信方法。
A key generating step of generating a secret key that is required when taking out at least part of the u from the random number r defined by g r which can calculate the composite number as a modulo,
When the composite number is modulo, the random number r is concealed as g r with respect to the prime g and the plaintext m is encrypted using at least a part of the random number r. A partial precomputation for encryption, and
A restoration step of restoring at least part of the random number r at the time of decryption using the secret key generated by the secret key generation means, and obtaining the plaintext m using at least part of the restored random number r;
A communication method comprising:
合成数を法とするもとで合成数とは素なgに対して乱数rをgrとして隠し、乱数rの少なくとも一部を用いて平文mを一度だけ暗号化し、更に暗号文検証用データを付加して、合成数を法とするもとで、暗号化のために部分的な事前計算を行う暗号文生成手段と、前記暗号文生成手段によって生成した暗号文を暗号文管理サーバに送信する暗号文送信手段とを含むことを特徴とする暗号化装置。 A random number r with respect to disjoint g The composite number composite numbers in Moto modulo hidden as g r, at least a part is encrypted once plaintext m using a further ciphertext verification data of the random number r And ciphertext generation means for performing partial pre-computation for encryption based on the composite number, and the ciphertext generated by the ciphertext generation means is transmitted to the ciphertext management server And a ciphertext transmitting means. 合成数を法とするもとで合成数とは素なgに対して乱数rをgrとして隠し、乱数rの少なくとも一部を用いて平文mを一度だけ暗号化し、更に暗号文検証用データを付加して、合成数を法とするもとで、暗号化のために部分的な事前計算を行う暗号文生成手段と、
合成数を法として計算できるgrで定義されるuから乱数rの少なくとも一部を取出す際に必要となる秘密情報である鍵を元に分散鍵を生成する鍵生成手段と、
暗号文と分散鍵とを用いて部分復号情報を生成する部分復号手段と、
前記検証用データを用いて暗号文について検証を行う検証手段と、
復号の際に乱数rの少なくとも一部を前記部分復号情報を用いて復元し、復元した乱数rの少なくとも一部を用いて平文mを求めることを特徴とする復元手段と、
を含むことを特徴とする通信システム。
A random number r with respect to disjoint g The composite number composite numbers in Moto modulo hidden as g r, at least a part is encrypted once plaintext m using a further ciphertext verification data of the random number r And ciphertext generating means for performing partial pre-computation for encryption under the modulo of the composite number, and
Key generation means for generating a distributed key based on a key, which is secret information necessary for extracting at least a part of the random number r from u defined by g r that can be calculated modulo the composite number;
Partial decryption means for generating partial decryption information using a ciphertext and a distributed key;
Verification means for verifying the ciphertext using the verification data;
Restoring means characterized in that at least a part of the random number r is restored using the partial decryption information at the time of decryption, and a plaintext m is obtained using at least a part of the restored random number r;
A communication system comprising:
合成数を法とするもとで合成数とは素なgに対して乱数rをgrとして隠し、乱数rの少なくとも一部を用いて平文mを一度だけ暗号化し、更に暗号文検証用データを付加して、合成数を法とするもとで、暗号化のために部分的な事前計算を行う暗号文生成ステップと、
合成数を法として計算できるgrで定義されるuから乱数rの少なくとも一部を取出す際に必要となる秘密情報である鍵を元に分散鍵を生成する鍵生成ステップと、
暗号文と分散鍵とを用いて部分復号情報を生成する部分復号ステップと、
前記検証用データを用いて暗号文について検証を行う検証ステップと、
復号の際に乱数rの少なくとも一部を前記部分復号情報を用いて復元し、復元した乱数rの少なくとも一部を用いて平文mを求める復元ステップと、
を含むことを特徴とする通信方法。
A random number r with respect to disjoint g The composite number composite numbers in Moto modulo hidden as g r, at least a part is encrypted once plaintext m using a further ciphertext verification data of the random number r And a ciphertext generation step for performing partial pre-computation for encryption based on the composite number modulo,
A key generating step of generating a distributed key based on the key that is secret information required when taking out at least part of the u from the random number r defined by g r which can calculate the composite number as a modulo,
A partial decryption step of generating partial decryption information using the ciphertext and the distributed key;
A verification step of verifying the ciphertext using the verification data;
A restoration step of restoring at least a part of the random number r using the partial decryption information at the time of decoding, and obtaining a plaintext m using at least a part of the restored random number r;
A communication method comprising:
合成数を法とするもとで合成数とは素なgに対して乱数rをgrとして隠し、乱数rの少なくとも一部を用いて平文mを一度だけ暗号化し、更に暗号文検証用データを付加して、合成数を法とするもとで、暗号化のために部分的な事前計算を行う暗号化手段と、
合成数を法として計算できるgrで定義されるuから乱数rの少なくとも一部を取出す際に必要となる秘密鍵を生成する秘密鍵生成手段と、
前記検証用データを用いて暗号文について検証を行う検証手段と、
復号の際に乱数rの少なくとも一部を、前記秘密鍵生成手段によって生成された秘密鍵を用いて復元し、復元した乱数rの少なくとも一部を用いて平文mを求める復元手段と、
を含むことを特徴とする通信システム。
A random number r with respect to disjoint g The composite number composite numbers in Moto modulo hidden as g r, at least a part is encrypted once plaintext m using a further ciphertext verification data of the random number r And an encryption means for performing partial pre-computation for encryption based on the composite number modulo,
A secret key generation means for generating a secret key that is required when taking out at least part of the u from the random number r defined by g r which can calculate the composite number as a modulo,
Verification means for verifying the ciphertext using the verification data;
Restoring means for restoring at least a part of the random number r at the time of decryption using the secret key generated by the secret key generating means and obtaining the plaintext m using at least a part of the restored random number r;
A communication system comprising:
合成数を法とするもとで合成数とは素なgに対して乱数rをgrとして隠し、乱数rの少なくとも一部を用いて平文mを一度だけ暗号化し、更に暗号文検証用データを付加して、合成数を法とするもとで、暗号化のために部分的な事前計算を行う暗号化ステップと、
合成数を法として計算できるgrで定義されるuから乱数rの少なくとも一部を取出す際に必要となる秘密鍵を生成する秘密鍵生成ステップと、
前記検証用データを用いて暗号文について検証を行う検証ステップと、
復号の際に乱数rの少なくとも一部を、前記秘密鍵生成手段によって生成された秘密鍵を用いて復元し、復元した乱数rの少なくとも一部を用いて平文mを求める復元ステップと、
を含むことを特徴とする通信方法。
A random number r with respect to disjoint g The composite number composite numbers in Moto modulo hidden as g r, at least a part is encrypted once plaintext m using a further ciphertext verification data of the random number r And an encryption step for performing partial pre-computation for encryption based on the composite number modulo,
A private key generation step of generating a secret key that is required when taking out at least part of the u from the random number r defined by g r which can calculate the composite number as a modulo,
A verification step of verifying the ciphertext using the verification data;
A restoration step of restoring at least part of the random number r at the time of decryption using the secret key generated by the secret key generation means, and obtaining the plaintext m using at least part of the restored random number r;
A communication method comprising:
合成数を法とするもとで合成数とは素なgに対して乱数rをgrとして隠し、乱数rの少なくとも一部を用いて平文mを暗号化することを特徴とする暗号化方法。 An encryption method characterized by concealing a random number r as g r with respect to g that is prime with respect to a composite number, and plaintext m is encrypted using at least a part of the random number r based on the composite number. . 合成数を法とするもとで合成数とは素なgに対して乱数rをgrとして隠し、乱数rの少なくとも一部を用いて平文mを一度だけ暗号化し、更に暗号文検証用データを付加することを特徴とする暗号化方法。 A random number r with respect to disjoint g The composite number composite numbers in Moto modulo hidden as g r, at least a part is encrypted once plaintext m using a further ciphertext verification data of the random number r And an encryption method. 復号の際に乱数rの少なくとも一部を、しきい値暗号化方式において使用する部分復号情報を用いて復元し、復元した乱数rの少なくとも一部を用いて平文mを求めることを特徴とする暗号復元方法。   At least a part of the random number r at the time of decryption is restored using the partial decryption information used in the threshold encryption method, and a plaintext m is obtained using at least a part of the restored random number r. Encryption restoration method. 復号の前に暗号文検証用データをもとに暗号文が正しく作られたものであるか確認し、その後確認が取れた場合には復号の際に乱数rの少なくとも一部を、公開鍵暗号化方式において使用する秘密鍵を用いて復元し、復元した乱数rの少なくとも一部を用いて平文mを求めることを特徴とする暗号復元方法。   Before decryption, it is confirmed whether the ciphertext is correctly created based on the ciphertext verification data, and if it is confirmed after that, at least a part of the random number r is converted into the public key cipher at the time of decryption. An encryption restoration method characterized in that a plaintext m is obtained using at least a part of the restored random number r and restored using a secret key used in the encryption method. 復号の際に乱数rの少なくとも一部を、公開鍵暗号化方式において使用する秘密鍵を用いて復元し、復元した乱数rの少なくとも一部を用いて平文mを求めることを特徴とする復元装置。   A restoration device characterized in that at least a part of a random number r is restored using a secret key used in a public key encryption method in decryption, and a plaintext m is obtained using at least a part of the restored random number r .
JP2005042646A 2005-02-18 2005-02-18 Communication system, encryption apparatus, key generation apparatus, key generation method, restoration apparatus, communication method, encryption method, encryption restoration method Expired - Fee Related JP4758110B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005042646A JP4758110B2 (en) 2005-02-18 2005-02-18 Communication system, encryption apparatus, key generation apparatus, key generation method, restoration apparatus, communication method, encryption method, encryption restoration method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005042646A JP4758110B2 (en) 2005-02-18 2005-02-18 Communication system, encryption apparatus, key generation apparatus, key generation method, restoration apparatus, communication method, encryption method, encryption restoration method

Publications (2)

Publication Number Publication Date
JP2006227411A true JP2006227411A (en) 2006-08-31
JP4758110B2 JP4758110B2 (en) 2011-08-24

Family

ID=36988822

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005042646A Expired - Fee Related JP4758110B2 (en) 2005-02-18 2005-02-18 Communication system, encryption apparatus, key generation apparatus, key generation method, restoration apparatus, communication method, encryption method, encryption restoration method

Country Status (1)

Country Link
JP (1) JP4758110B2 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008135869A (en) * 2006-11-27 2008-06-12 Ntt Docomo Inc Signature verifying device, encrypting device, signature verifying method and encrypting method
JP2009033608A (en) * 2007-07-30 2009-02-12 Ntt Docomo Inc Validity verification apparatus and method
JP2011250335A (en) * 2010-05-31 2011-12-08 Hitachi Ltd Efficient mutual authentication method, program, and device
CN114978503A (en) * 2022-05-23 2022-08-30 国汽智控(北京)科技有限公司 Vehicle-mounted data storage method, vehicle-mounted data acquisition equipment and storage medium
JP7318490B2 (en) 2019-11-01 2023-08-01 富士通株式会社 Cryptographic processing system and cryptographic processing method

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002535878A (en) * 1999-01-14 2002-10-22 ジェムプリュス Public and private key encryption method
WO2005015462A1 (en) * 2003-08-08 2005-02-17 Koninklijke Philips Electronics N.V. System for processing data and method thereof

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002535878A (en) * 1999-01-14 2002-10-22 ジェムプリュス Public and private key encryption method
WO2005015462A1 (en) * 2003-08-08 2005-02-17 Koninklijke Philips Electronics N.V. System for processing data and method thereof

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008135869A (en) * 2006-11-27 2008-06-12 Ntt Docomo Inc Signature verifying device, encrypting device, signature verifying method and encrypting method
JP2009033608A (en) * 2007-07-30 2009-02-12 Ntt Docomo Inc Validity verification apparatus and method
JP2011250335A (en) * 2010-05-31 2011-12-08 Hitachi Ltd Efficient mutual authentication method, program, and device
JP7318490B2 (en) 2019-11-01 2023-08-01 富士通株式会社 Cryptographic processing system and cryptographic processing method
CN114978503A (en) * 2022-05-23 2022-08-30 国汽智控(北京)科技有限公司 Vehicle-mounted data storage method, vehicle-mounted data acquisition equipment and storage medium
CN114978503B (en) * 2022-05-23 2024-02-23 国汽智控(北京)科技有限公司 Vehicle-mounted data storage method, vehicle-mounted data acquisition method, device and storage medium

Also Published As

Publication number Publication date
JP4758110B2 (en) 2011-08-24

Similar Documents

Publication Publication Date Title
US11552792B2 (en) Systems and methods for generating signatures
CN108352015B (en) Secure multi-party loss-resistant storage and encryption key transfer for blockchain based systems in conjunction with wallet management systems
JP4774492B2 (en) Authentication system and remote distributed storage system
US7634085B1 (en) Identity-based-encryption system with partial attribute matching
US9426131B2 (en) Server apparatus and program to re-encrypt ciphertext data
US20110145576A1 (en) Secure method of data transmission and encryption and decryption system allowing such transmission
JP5047638B2 (en) Ciphertext decryption right delegation system
Khan et al. Analysis of asymmetric cryptography in information security based on computational study to ensure confidentiality during information exchange
JP2016158189A (en) Change direction with key control system and change direction with key control method
US20240097894A1 (en) Threshold key exchange
CN111953479A (en) Data processing method and device
CN110519226B (en) Quantum communication server secret communication method and system based on asymmetric key pool and implicit certificate
JP4758110B2 (en) Communication system, encryption apparatus, key generation apparatus, key generation method, restoration apparatus, communication method, encryption method, encryption restoration method
CN108599941A (en) Random asymmetries expand byte encryption of communicated data method
Harn et al. A novel threshold cryptography with membership authentication and key establishment
JP4563037B2 (en) ENCRYPTION APPARATUS, DECRYPTION APPARATUS, ENCRYPTION SYSTEM HAVING THEM, ENCRYPTION METHOD, AND DECRYPTION METHOD
JP2006319485A (en) Signature device, signature encryption device, verification device, decoding device, restoration device, information providing device, communication system, signature method, signature encryption method, and verification method
JP2005321719A (en) Communication system, decrypting device, restoration device, key generation device, and communication method
JP3862397B2 (en) Information communication system
Sahana Raj et al. Identity based cryptography using matrices
JP3953235B2 (en) Cryptographic communication method and cryptographic communication system
US20040111602A1 (en) Public key cryptograph communication method
Singh et al. Encryption algorithms with emphasis on probabilistic Encryption & time stamp in network security
JP3870753B2 (en) Public Key Cryptography Considering Third Oracle
CN116599702A (en) Data encryption hosting system and method based on blockchain

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20071121

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101102

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20101213

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101229

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110208

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110408

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110602

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4758110

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140610

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees