WO2014010202A1 - Encrypted statistical processing system, decrypting system, key generation device, proxy device, encrypted statistical data generation device, encrypted statistical processing method, and encrypted statistical processing program - Google Patents

Encrypted statistical processing system, decrypting system, key generation device, proxy device, encrypted statistical data generation device, encrypted statistical processing method, and encrypted statistical processing program Download PDF

Info

Publication number
WO2014010202A1
WO2014010202A1 PCT/JP2013/004118 JP2013004118W WO2014010202A1 WO 2014010202 A1 WO2014010202 A1 WO 2014010202A1 JP 2013004118 W JP2013004118 W JP 2013004118W WO 2014010202 A1 WO2014010202 A1 WO 2014010202A1
Authority
WO
WIPO (PCT)
Prior art keywords
encrypted
key
data
statistical
decryption
Prior art date
Application number
PCT/JP2013/004118
Other languages
French (fr)
Japanese (ja)
Inventor
寿幸 一色
Original Assignee
日本電気株式会社
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 日本電気株式会社 filed Critical 日本電気株式会社
Priority to JP2014524632A priority Critical patent/JP6194886B2/en
Publication of WO2014010202A1 publication Critical patent/WO2014010202A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/008Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption

Abstract

[Problem] To provide a technique for performing statistical processing of encrypted data encrypted using different public keys while the data remains encrypted. [Solution] Provided are: a key-retention means for retaining homomorphically encrypted public keys and private keys; a full-public-key acquisition means for acquiring a full public key for generating encrypted information that can be decrypted in a distributed manner; a proxy-key generation means for generating a proxy key for converting encrypted data encrypted using a public key into reencrypted data that can be decrypted in a distributed manner; a reencryption means for converting encrypted data encrypted using a public key into reencrypted data using the proxy key; and an encrypted statistical data generation means for generating encrypted statistical data that can be decrypted into statistical information related to the original data, by performing a calculation using homomorphism on at least one of the reencrypted data items converted using the reencryption means from at least one of the encrypted data items encrypted using at least one of the public keys.

Description

暗号化統計処理システム、復号システム、鍵生成装置、プロキシ装置、暗号化統計データ生成装置、暗号化統計処理方法、および、暗号化統計処理プログラムEncryption statistical processing system, decryption system, key generation device, proxy device, encrypted statistical data generation device, encryption statistical processing method, and encryption statistical processing program
 本発明は、暗号化データに対する統計処理を行う技術に関する。 The present invention relates to a technique for performing statistical processing on encrypted data.
 近年、クラウドサービスにおけるセキュリティの重要性が広く認識されている。クラウドサービスの一例として、ユーザにお勧めの商品に関する情報を提供するリコメンデーションサービスがある。このようなサービスでは、例えば、ユーザから提供される情報がクラウド上のデータベースに収集される。収集された情報から統計データが求められる。そして、統計データに基づくサービスが行われる。このようなサービスにおいて、ユーザから提供される情報には、ユーザの購買情報や属性(年齢、性別、職業、居住地域など)のような個人情報が含まれることが多い。 In recent years, the importance of security in cloud services has been widely recognized. As an example of a cloud service, there is a recommendation service that provides information about recommended products to users. In such a service, for example, information provided by a user is collected in a database on the cloud. Statistical data is obtained from the collected information. Then, services based on statistical data are performed. In such a service, information provided by the user often includes personal information such as purchase information and attributes (age, gender, occupation, residential area, etc.) of the user.
 一方、クラウド上のデータベースは、誰により、どこで、どのように管理されているか明確でないことが多い。そのため、ユーザは、クラウド上のデータベースに対して、セキュリティに対する不安を抱いていると言われている。すなわち、ユーザは、クラウド上のデータベースの管理者を信頼できない場合が多い。このような場合、データベース内のデータに対するアクセス権限を利用した情報漏えい対策は、意味をなさない。 On the other hand, it is often not clear who, where and how the database on the cloud is managed. Therefore, it is said that the user has anxiety about security with respect to the database on the cloud. That is, the user often cannot trust the administrator of the database on the cloud. In such a case, the information leakage countermeasure using the access authority to the data in the database does not make sense.
 そこで、クラウド上のデータベースの管理者にもユーザの情報が分からないように、データを暗号化することが考えられる。データは、ユーザから提供される情報をサービス提供者のみが復号できるように暗号化される。そして、暗号化されたデータが、クラウド上のデータベースに保管される。この場合、例えば、クラウド上のデータベースに、準同型暗号方式を用いて暗号化されたデータを保存しておく。そのようにすると、データベースに記憶された暗号化データに対して、データが暗号化されたまま統計処理を行うことができる。このように暗号化したままで統計処理された結果の暗号化データは、元のデータの統計データに復号可能である。 Therefore, it is conceivable to encrypt the data so that the administrator of the database on the cloud does not know the user information. The data is encrypted so that only the service provider can decrypt the information provided by the user. The encrypted data is stored in a database on the cloud. In this case, for example, data encrypted using a homomorphic encryption method is stored in a database on the cloud. By doing so, statistical processing can be performed on the encrypted data stored in the database while the data is encrypted. The encrypted data obtained as a result of the statistical processing while being encrypted in this way can be decrypted into the statistical data of the original data.
 準同型暗号方式に関する技術の例が、非特許文献1に記載されている。非特許文献1に記載の準同型暗号方式では、ある公開鍵を用いて暗号化された複数の暗号化データに対して、データが暗号化されたまま、秘密鍵を用いずに、平文に関する統計処理を行うことが可能である。 Non-patent document 1 describes an example of technology related to the homomorphic encryption method. In the homomorphic encryption method described in Non-Patent Document 1, for a plurality of encrypted data encrypted using a certain public key, statistics about plaintext are obtained without using a secret key while the data is encrypted. Processing can be performed.
 非特許文献1に記載の準同型暗号方式では、統計処理が可能となる暗号化データは、すべて同じ公開鍵で暗号化されている必要がある。したがって、この関連技術は、統計処理を行いたい対象の暗号化データの少なくとも一部が、異なる公開鍵で暗号化されている場合、暗号化したまま統計処理を行うことができない。 In the homomorphic encryption method described in Non-Patent Document 1, all encrypted data that can be statistically processed must be encrypted with the same public key. Therefore, according to this related technique, when at least a part of encrypted data to be subjected to statistical processing is encrypted with a different public key, the statistical processing cannot be performed with encryption.
 統計処理を行いたい対象の暗号化データの少なくとも一部が異なる公開鍵で暗号化されている場合、例えば、統計処理を行いたい対象であるすべての暗号化データを取り出し、復号し、統計処理を行う方法が考えられる。しかし、この方法では、すべての暗号化データをサービス提供者側にダウンロードしなくてはならない。従って、利便性や通信コストの観点で問題がある。また、クラウド環境では、サービス提供者側の計算資源が少ないことが想定される。このため、統計処理は、なるべくクラウド側の装置で行うことが望まれている。さらには、統計処理対象の暗号化データが一度復号されるため、サービス提供者側の装置からのデータの漏洩を防がなくてはならない。そのため、情報漏洩対策にコストがかかるという問題も生じる。 If at least part of the encrypted data to be statistically processed is encrypted with a different public key, for example, all encrypted data to be statistically processed is extracted, decrypted, and statistically processed. Possible ways to do this. However, with this method, all encrypted data must be downloaded to the service provider side. Therefore, there are problems in terms of convenience and communication cost. In the cloud environment, it is assumed that there are few calculation resources on the service provider side. For this reason, it is desired that the statistical processing is performed by a device on the cloud side as much as possible. Furthermore, since the encrypted data subject to statistical processing is once decrypted, it is necessary to prevent leakage of data from the device on the service provider side. For this reason, there arises a problem that costs for information leakage countermeasures are high.
 本発明は、上述の課題を解決するためになされたもので、異なる公開鍵を用いて暗号化された暗号化データに対して、暗号化したまま統計処理を行う技術を提供することを主な目的とする。 The present invention has been made to solve the above-described problem, and mainly provides a technique for performing statistical processing on encrypted data encrypted using different public keys while being encrypted. Objective.
 本発明の暗号化統計処理システムは、準同型性を有する暗号方式の公開鍵および秘密鍵を保持する鍵保持手段と、1つ以上の分散復号用秘密鍵によって分散復号可能な暗号化情報を生成する全体公開鍵を取得する全体公開鍵取得手段と、前記公開鍵を用いて暗号化された暗号化データを、前記1つ以上の分散復号用秘密鍵によって分散復号可能な再暗号化データに変換するプロキシ鍵を、前記秘密鍵と、前記全体公開鍵とに基づいて生成するプロキシ鍵生成手段と、前記プロキシ鍵を用いて、前記公開鍵により暗号化された暗号化データを、前記再暗号化データに変換する再暗号化手段と、1つ以上の前記公開鍵によりそれぞれ暗号化された1つ以上の暗号化データが前記再暗号化手段によりそれぞれ変換された1つ以上の前記再暗号化データに対して、前記準同型性を利用した演算を施すことにより、1つ以上の前記暗号化データが暗号化される前の元のデータに関する統計情報に復号可能な暗号化統計データを生成する暗号化統計データ生成手段と、を備える。
The encryption statistical processing system of the present invention generates encryption information that can be distributed and decrypted by a key holding means for holding a public key and a secret key of a cryptographic method having homomorphism and one or more secret keys for distributed decryption An entire public key acquisition means for acquiring the entire public key, and the encrypted data encrypted using the public key is converted into re-encrypted data that can be distributed and decrypted by the one or more distributed decryption secret keys Proxy key generation means for generating a proxy key based on the secret key and the entire public key, and re-encryption of encrypted data encrypted by the public key using the proxy key Re-encryption means for converting to data, and one or more re-encrypted data obtained by converting one or more encrypted data respectively encrypted with one or more public keys by the re-encryption means. An encryption that generates encrypted statistical data that can be decrypted into statistical information about the original data before encryption of one or more of the encrypted data by performing an operation using the homomorphism Statistical data generation means.
 本発明の鍵生成装置は、準同型性を有する暗号方式の公開鍵および秘密鍵を保持する鍵保持手段と、1つ以上の分散復号用秘密鍵によって分散復号可能な暗号化情報を生成する全体公開鍵を取得する全体公開鍵取得手段と、前記公開鍵を用いて暗号化された暗号化データを、前記1つ以上の分散復号用秘密鍵によって分散復号可能な再暗号化データに変換するプロキシ鍵を、前記秘密鍵と、前記全体公開鍵とに基づいて生成するプロキシ鍵生成手段と、を備える。


 本発明の暗号化統計処理方法は、1つ以上の分散復号用秘密鍵によって分散復号可能な暗号化情報を生成する全体公開鍵を取得し、準同型性を有する暗号方式の公開鍵を用いて暗号化された暗号化データを、前記1つ以上の分散復号用秘密鍵によって分散復号可能な再暗号化データに変換するプロキシ鍵を、前記公開鍵に対応する秘密鍵と、前記全体公開鍵とに基づいて生成し、前記プロキシ鍵を用いて、前記公開鍵により暗号化された暗号化データを、前記再暗号化データに変換し、1つ以上の前記公開鍵によりそれぞれ暗号化された1つ以上の暗号化データがそれぞれ変換された1つ以上の前記再暗号化データに対して、前記準同型性を利用した演算を施すことにより、1つ以上の前記暗号化データが暗号化される前の元のデータに関する統計情報に復号可能な暗号化統計データを生成する。
The key generation apparatus of the present invention generates key information that holds public keys and secret keys of encryption schemes having homomorphism, and generates encryption information that can be distributed and decrypted by one or more secret keys for distributed decryption. Whole public key acquisition means for acquiring a public key, and a proxy that converts encrypted data encrypted using the public key into re-encrypted data that can be distributed and decrypted with the one or more distributed decryption private keys Proxy key generation means for generating a key based on the secret key and the entire public key.


The encryption statistical processing method of the present invention obtains an entire public key for generating encryption information that can be distributed and decrypted by using one or more secret keys for distributed decryption, and uses the public key of the encryption method having homomorphism. A proxy key for converting encrypted encrypted data into re-encrypted data that can be distributed and decrypted by the one or more distributed decryption secret keys, a secret key corresponding to the public key, the entire public key, One of the encrypted data encrypted based on the public key and encrypted with the public key into the re-encrypted data, each encrypted with one or more public keys. Before one or more of the encrypted data is encrypted by performing an operation using the homomorphism on one or more of the re-encrypted data converted from the encrypted data, respectively. On the original data of To generate encrypted statistical data decodable statistics.
 本発明の暗号化統計処理プログラムは、コンピュータを、1つ以上の分散復号用秘密鍵によって分散復号可能な暗号化情報を生成する全体公開鍵を取得する全体公開鍵取得手段と、準同型性を有する暗号方式の公開鍵を用いて暗号化された暗号化データを、前記1つ以上の分散復号用秘密鍵によって分散復号可能な再暗号化データに変換するプロキシ鍵を、前記公開鍵に対応する秘密鍵と、前記全体公開鍵とに基づいて生成するプロキシ鍵生成手段と、前記プロキシ鍵を用いて、前記公開鍵により暗号化された暗号化データを、前記再暗号化データに変換する再暗号化手段と、1つ以上の前記公開鍵によりそれぞれ暗号化された1つ以上の暗号化データがそれぞれ変換された1つ以上の前記再暗号化データに対して、前記準同型性を利用した演算を施すことにより、1つ以上の前記暗号化データが暗号化される前の元のデータに関する統計情報に復号可能な暗号化統計データを生成する暗号化統計データ生成手段と、して動作させる。 The encryption statistical processing program of the present invention includes a general public key acquisition means for acquiring an overall public key for generating encrypted information that can be distributed and decrypted by using one or more distributed decryption secret keys, and homomorphism. A proxy key that converts encrypted data encrypted using a public key of an encryption method having the encryption method into re-encrypted data that can be distributed and decrypted by the one or more secret keys for distributed decryption corresponds to the public key Proxy key generating means for generating based on a private key and the entire public key, and re-encryption for converting encrypted data encrypted with the public key into the re-encrypted data using the proxy key The homomorphism is utilized for the re-encrypted data obtained by converting the encryption means and the one or more encrypted data respectively encrypted by the one or more public keys. By performing an operation, the encrypted statistical data generating unit generates encrypted statistical data that can be decrypted into statistical information on the original data before the encrypted data is encrypted. .
 なお、本発明は、上述した暗号化統計処理プログラムが格納された、コンピュータで読み取り可能な記録媒体によっても実現できる。 Note that the present invention can also be realized by a computer-readable recording medium storing the above-described encrypted statistical processing program.
 本発明には、異なる公開鍵を用いて暗号化された暗号化データに対して、暗号化したまま統計処理を行う技術を提供することができるという効果がある。 The present invention has an effect that it is possible to provide a technique for performing statistical processing while encrypting encrypted data encrypted using different public keys.
図1は、本発明の第1の実施の形態の暗号化統計処理システムの構成を示すブロック図である。FIG. 1 is a block diagram showing the configuration of the encrypted statistical processing system according to the first embodiment of this invention. 図2は、本発明の第1の実施の形態の暗号化統計処理システムのハードウェア構成図である。FIG. 2 is a hardware configuration diagram of the encrypted statistical processing system according to the first embodiment of this invention. 図3は、本発明の第1の実施の形態の暗号化統計処理システムの機能ブロック図である。FIG. 3 is a functional block diagram of the encrypted statistical processing system according to the first embodiment of this invention. 図4は、本発明の第1の実施の形態の暗号化統計処理システムのプロキシ鍵生成動作を説明するフローチャートである。FIG. 4 is a flowchart illustrating the proxy key generation operation of the encrypted statistical processing system according to the first embodiment of this invention. 図5は、本発明の第1の実施の形態の暗号化統計処理システムの暗号化統計データ生成動作を説明するフローチャートである。FIG. 5 is a flowchart illustrating an encrypted statistical data generation operation of the encrypted statistical processing system according to the first embodiment of this invention. 図6は、本発明の第2の実施の形態の復号システムの構成を示すブロック図である。FIG. 6 is a block diagram illustrating a configuration of a decoding system according to the second embodiment of this invention. 図7は、本発明の第2の実施の形態の復号システムのハードウェア構成図である。FIG. 7 is a hardware configuration diagram of the decoding system according to the second embodiment of this invention. 図8は、本発明の第2の実施の形態の復号システムの機能ブロック図である。FIG. 8 is a functional block diagram of the decoding system according to the second embodiment of this invention. 図9は、本発明の第2の実施の形態の復号システムの復号動作を説明するフローチャートである。FIG. 9 is a flowchart illustrating the decoding operation of the decoding system according to the second embodiment of this invention. 図10は、本発明の第3の実施の形態の暗号化統計処理システムおよび復号システムの構成を示すブロック図である。FIG. 10 is a block diagram illustrating the configuration of the encryption statistical processing system and the decryption system according to the third embodiment of this invention. 図11は、本発明の第3の実施の形態の暗号化統計処理システムおよび復号システムの機能ブロック図である。FIG. 11 is a functional block diagram of an encryption statistical processing system and a decryption system according to the third embodiment of this invention. 図12は、本発明の第3の実施の形態における全体公開鍵生成動作を説明するフローチャートである。FIG. 12 is a flowchart for explaining the entire public key generation operation according to the third embodiment of the present invention. 図13は、本発明の第3の実施の形態の暗号化統計処理システムのプロキシ鍵生成動作を説明するフローチャートである。FIG. 13 is a flowchart illustrating the proxy key generation operation of the encrypted statistical processing system according to the third embodiment of this invention. 図14は、本発明の第3の実施の形態の暗号化統計処理システムの暗号化統計データ生成動作を説明するフローチャートである。FIG. 14 is a flowchart illustrating an encrypted statistical data generation operation of the encrypted statistical processing system according to the third embodiment of this invention. 図15は、本発明の第3の実施の形態の復号システムの復号動作を説明するフローチャートである。FIG. 15 is a flowchart illustrating the decoding operation of the decoding system according to the third embodiment of this invention.
 以下、本発明の実施の形態について、図面を参照して詳細に説明する。 Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
 (第1の実施の形態)
 図1は、本発明の第1の実施の形態の暗号化統計処理システム1の構成を表すブロック図である。なお、図1において、実線で囲まれた図形は、暗号化統計処理システム1の構成要素を表す。そして、破線で囲まれた図形は、暗号化統計処理システム1の外部に接続される装置を表す。図1において、暗号化統計処理システム1は、N(Nは1以上の整数)個の鍵生成装置100_1~100_Nと、N個のプロキシ装置200_1~200_Nと、暗号化統計データ生成装置300とを含む。N個の鍵生成装置100_1~100_Nは、総称して鍵生成装置100とも記述される。N個のプロキシ装置200_1~200_Nは、総称してプロキシ装置200とも記述される。
(First embodiment)
FIG. 1 is a block diagram showing the configuration of the encrypted statistical processing system 1 according to the first embodiment of this invention. In FIG. 1, a figure surrounded by a solid line represents a component of the encrypted statistical processing system 1. A figure surrounded by a broken line represents a device connected to the outside of the encrypted statistical processing system 1. In FIG. 1, the encrypted statistical processing system 1 includes N (N is an integer equal to or greater than 1) key generation devices 100_1 to 100_N, N proxy devices 200_1 to 200_N, and an encrypted statistical data generation device 300. Including. The N key generation devices 100_1 to 100_N are also collectively referred to as the key generation device 100. The N proxy devices 200_1 to 200_N are also collectively referred to as the proxy device 200.
 また、鍵生成装置100_iおよびプロキシ装置200_i(i=1~N)は、互いに通信が可能であるように接続されている。また、プロキシ装置200_iおよび暗号化統計データ生成装置300は、互いに通信が可能であるように接続されている。 Further, the key generation device 100_i and the proxy device 200_i (i = 1 to N) are connected so that they can communicate with each other. Further, the proxy device 200_i and the encrypted statistical data generation device 300 are connected so that they can communicate with each other.
 また、鍵生成装置100は、外部のデータ登録装置700に、互いに通信が可能であるように接続されている。ここで、データ登録装置700は、鍵生成装置100によって公開されている公開鍵を用いて、登録対象のデータを暗号化して暗号化データを生成し、生成された暗号化データを後述の暗号化データ記憶装置800に登録する装置である。 Also, the key generation device 100 is connected to an external data registration device 700 so that they can communicate with each other. Here, the data registration device 700 encrypts the data to be registered using the public key published by the key generation device 100 to generate encrypted data, and encrypts the generated encrypted data, which will be described later. This is a device registered in the data storage device 800.
 また、プロキシ装置200_i(i=1~N)は、外部の暗号化データ記憶装置800_iに、互いに通信が可能であるように接続されている。ここで、暗号化データ記憶装置800_iは、鍵生成装置100_iによって公開されている公開鍵を用いて暗号化された暗号化データを記憶する装置である。 Further, the proxy device 200_i (i = 1 to N) is connected to the external encrypted data storage device 800_i so that they can communicate with each other. Here, the encrypted data storage device 800 — i is a device that stores encrypted data encrypted using the public key disclosed by the key generation device 100 — i.
 また、暗号化統計データ生成装置300は、外部の暗号化統計データ記憶装置900に、互いに通信が可能であるように接続されている。ここで、暗号化統計データ記憶装置900は、統計情報が暗号化された暗号化統計データを記憶する装置である。 Also, the encrypted statistical data generation device 300 is connected to an external encrypted statistical data storage device 900 so that they can communicate with each other. Here, the encrypted statistical data storage device 900 is a device that stores encrypted statistical data in which statistical information is encrypted.
 また、図1において、通信が必要となる各装置間は、インターネット、LAN(Local Area Network)、公衆回線網、無線通信網またはこれらの組合せ等によって構成されるネットワークを介して、通信が可能であるように接続される。また、これらの各装置間の少なくとも一部は、他の各装置間を接続するネットワークとは異なるネットワークによって接続されていてもよい。 In FIG. 1, communication between devices that require communication is possible via a network constituted by the Internet, a LAN (Local Area Network), a public line network, a wireless communication network, or a combination thereof. Connected as is. In addition, at least a part of these devices may be connected by a network different from the network connecting the other devices.
 また、図1には、N個の鍵生成装置100と、N個のプロキシ装置200と、N個の暗号化データ記憶装置800と、1つの暗号化統計データ生成装置300と、1つの暗号化統計データ記憶装置900とが示されている。しかし、本発明の暗号化統計処理システムが備える各装置の数および接続される各装置の数は、図1の数に限定されない。 FIG. 1 also shows N key generation devices 100, N proxy devices 200, N encrypted data storage devices 800, one encrypted statistical data generation device 300, and one encryption. A statistical data storage device 900 is shown. However, the number of devices included in the encrypted statistical processing system of the present invention and the number of connected devices are not limited to the number shown in FIG.
 次に、図2は、暗号化統計処理システム1を構成する各装置のハードウェア構成を表す図である。図2において、鍵生成装置100は、CPU(Central Processing Unit)1001と、RAM(Random Access Memory)1002と、ROM(Read Only Memory)1003と、ハードディスク等の記憶装置1004と、ネットワークインタフェース1005とを備えたコンピュータ装置によって構成されている。 Next, FIG. 2 is a diagram showing the hardware configuration of each device constituting the encrypted statistical processing system 1. In FIG. 2, a key generation device 100 includes a CPU (Central Processing Unit) 1001, a RAM (Random Access Memory) 1002, a ROM (Read Only Memory) 1003, a storage device 1004 such as a hard disk, and a network interface 1005. It is comprised by the computer apparatus provided.
 ROM1003および記憶装置1004には、コンピュータ装置を本実施の形態の鍵生成装置100として機能させるコンピュータプログラムおよび各種データが格納されている。 The ROM 1003 and the storage device 1004 store computer programs and various data that cause the computer device to function as the key generation device 100 of the present embodiment.
 CPU1001は、ROM1003および記憶装置1004に記憶されたコンピュータプログラムおよび各種データをRAM1002にロードし、ロードされたコンピュータプログラムを実行する。 The CPU 1001 loads the computer program and various data stored in the ROM 1003 and the storage device 1004 into the RAM 1002, and executes the loaded computer program.
 ネットワークインタフェース1005は、ネットワークを介して他の装置との通信を行うモジュールである。 The network interface 1005 is a module that communicates with other devices via a network.
 プロキシ装置200は、CPU2001と、RAM2002と、ROM2003と、ハードディスク等の記憶装置2004と、ネットワークインタフェース2005とを備えたコンピュータ装置によって構成されている。 The proxy device 200 is configured by a computer device including a CPU 2001, a RAM 2002, a ROM 2003, a storage device 2004 such as a hard disk, and a network interface 2005.
 ROM2003および記憶装置2004には、コンピュータ装置を本実施の形態のプロキシ装置200として機能させるコンピュータプログラムおよび各種データが格納されている。 The ROM 2003 and the storage device 2004 store computer programs and various data that cause the computer device to function as the proxy device 200 of the present embodiment.
 CPU2001は、ROM2003および記憶装置2004に記憶されたコンピュータプログラムおよび各種データをRAM2002にロードし、ロードされたコンピュータプログラムを実行する。 The CPU 2001 loads the computer program and various data stored in the ROM 2003 and the storage device 2004 into the RAM 2002, and executes the loaded computer program.
 ネットワークインタフェース2005は、ネットワークを介して他の装置との通信を行うモジュールである。 The network interface 2005 is a module that communicates with other devices via a network.
 暗号化統計データ生成装置300は、CPU3001と、RAM3002と、ROM3003と、ハードディスク等の記憶装置3004と、ネットワークインタフェース3005とを備えたコンピュータ装置によって構成されている。 The encrypted statistical data generation device 300 is configured by a computer device including a CPU 3001, a RAM 3002, a ROM 3003, a storage device 3004 such as a hard disk, and a network interface 3005.
 ROM3003および記憶装置3004には、コンピュータ装置を本実施の形態の暗号化統計データ生成装置300として機能させるコンピュータプログラムおよび各種データが格納されている。 The ROM 3003 and the storage device 3004 store a computer program and various data that cause the computer device to function as the encrypted statistical data generation device 300 of the present embodiment.
 CPU3001は、ROM3003および記憶装置3004に記憶されたコンピュータプログラムおよび各種データをRAM3002にロードし、ロードされたコンピュータプログラムを実行する。 The CPU 3001 loads the computer program and various data stored in the ROM 3003 and the storage device 3004 into the RAM 3002, and executes the loaded computer program.
 ネットワークインタフェース3005は、ネットワークを介して他の装置との通信を行うモジュールである。 The network interface 3005 is a module that communicates with other devices via a network.
 なお、暗号化統計処理システム1を構成する各装置のハードウェア構成は、上述の構成に限定されない。 Note that the hardware configuration of each device constituting the encrypted statistical processing system 1 is not limited to the above-described configuration.
 次に、暗号化統計処理システム1を構成する各装置の機能ブロックについて、図3を参照して説明する。図3は、暗号化統計処理システム1を構成する各装置の機能ブロックを表すブロック図である。 Next, functional blocks of each device constituting the encrypted statistical processing system 1 will be described with reference to FIG. FIG. 3 is a block diagram showing functional blocks of each device constituting the encrypted statistical processing system 1.
 まず、鍵生成装置100の機能ブロックについて説明する。図3において、鍵生成装置100は、鍵保持部101と、全体公開鍵取得部102と、プロキシ鍵生成部103とを含む。ここで、鍵保持部101は、記憶装置1004によって実現される。また、全体公開鍵取得部102およびプロキシ鍵生成部103は、ネットワークインタフェース1005と、ROM1003および記憶装置1004に記憶されたコンピュータプログラムおよび各種データをRAM1002に読み込んで実行するCPU1001とによって実現される。なお、鍵生成装置100の各機能ブロックのハードウェア構成は、上述の構成に限定されない。 First, functional blocks of the key generation device 100 will be described. In FIG. 3, the key generation device 100 includes a key holding unit 101, an entire public key acquisition unit 102, and a proxy key generation unit 103. Here, the key holding unit 101 is realized by the storage device 1004. The entire public key acquisition unit 102 and the proxy key generation unit 103 are realized by a network interface 1005 and a CPU 1001 that reads a computer program and various data stored in the ROM 1003 and the storage device 1004 into the RAM 1002 and executes them. Note that the hardware configuration of each functional block of the key generation device 100 is not limited to the above-described configuration.
 鍵保持部101は、公開鍵およびその公開鍵のペアである秘密鍵を記憶する。この公開鍵および秘密鍵は、準同型性を有する公開鍵暗号方式において用いられる鍵である。また、公開鍵は、外部から取得可能であるように保持されている。秘密鍵は、外部から取得できないように保持されている。鍵保持部101に保持される公開鍵および秘密鍵は、鍵生成装置100において生成されたものであってもよいし、他の装置から取得されたものであってもよい。 The key holding unit 101 stores a public key and a secret key that is a pair of the public key. The public key and the secret key are keys used in a public key cryptosystem having homomorphism. The public key is held so that it can be acquired from the outside. The private key is held so that it cannot be obtained from the outside. The public key and secret key held in the key holding unit 101 may be generated by the key generation device 100 or may be acquired from another device.
 全体公開鍵取得部102は、全体公開鍵を取得する。全体公開鍵は、1つ以上の分散復号用秘密鍵を用いて分散復号可能な暗号化情報を生成するための公開鍵である。分散復号は、1つの暗号化された情報に対して、1つ以上の分散復号用秘密鍵を用いて復号途中のデータ(部分復号結果)をそれぞれ生成し、これらの部分復号結果に基づいて、完全に復号されたデータを求める復号方式である。このような全体公開鍵は、一般に知られている技術を用いて生成可能である。例えば、このような全体公開鍵は、上述の1つ以上の分散復号用秘密鍵のそれぞれのペアである1つ以上の分散復号用公開鍵から生成可能である。そこで、全体公開鍵取得部102は、このような全体公開鍵を、他の装置によって公開されている1つ以上の分散復号用公開鍵に基づいて生成してもよい。あるいは、全体公開鍵取得部102は、1つ以上の分散復号用公開鍵に基づいて他の装置によって生成され公開される全体公開鍵を取得してもよい。 The entire public key acquisition unit 102 acquires the entire public key. The entire public key is a public key for generating encrypted information that can be distributed and decrypted using one or more secret keys for distributed decryption. Distributed decryption generates data (partial decryption results) in the middle of decryption using one or more distributed decryption secret keys for one encrypted information, and based on these partial decryption results, This is a decoding method for obtaining completely decoded data. Such an entire public key can be generated using a generally known technique. For example, such an entire public key can be generated from one or more distributed decryption public keys that are each a pair of the one or more distributed decryption private keys described above. Therefore, the entire public key acquisition unit 102 may generate such an entire public key based on one or more distributed decryption public keys disclosed by other devices. Alternatively, the entire public key acquisition unit 102 may acquire an entire public key generated and released by another device based on one or more distributed decryption public keys.
 プロキシ鍵生成部103は、鍵保持部101に保持される公開鍵を用いて暗号化された暗号化データを、上述の1つ以上の分散復号用秘密鍵を用いて分散復号可能な再暗号化データに変換するためのプロキシ鍵を生成する。プロキシ鍵は、ある公開鍵pk_Aを用いて暗号化された暗号化データを、その公開鍵pk_Aとは異なる公開鍵pk_Bのペアである秘密鍵sk_Bを用いて復号可能な暗号化データに変換するための鍵である。このようなプロキシ鍵は、秘密鍵sk_Aと、公開鍵pk_Bとに基づいて生成可能であることが知られている。すなわち、この場合、プロキシ鍵生成部103は、鍵保持部101に保持される秘密鍵と、全体公開鍵とを用いて、プロキシ鍵を生成可能である。なお、このようなプロキシ鍵の生成技術として、例えば、参考文献A(G. Ateniese, K. Fu, M. Green, and S. Hohenberger, "Improved Proxy Re-Encryption Schemes with Applications to Secure Distributed Storage", ACMTransactions on Information and System Security (TISSEC), 2006.)に記載された技術が適用できる。 The proxy key generation unit 103 re-encrypts the encrypted data encrypted using the public key held in the key holding unit 101, using the one or more distributed decryption private keys described above. Generate a proxy key to convert to data. The proxy key converts encrypted data encrypted using a public key pk_A into encrypted data that can be decrypted using a private key sk_B that is a public key pk_B pair different from the public key pk_A. Is the key. It is known that such a proxy key can be generated based on the secret key sk_A and the public key pk_B. That is, in this case, the proxy key generation unit 103 can generate a proxy key using the secret key held in the key holding unit 101 and the entire public key. As a proxy key generation technique, for example, Reference A (G. Ateniese, K. Fu, M. Green, and S. Hohenberger, "Improved Proxy Re-Encryption Schemes with Applications to Secure Distributed Storage", The technology described in ACMTransactions (on) Information (and System Security (TISSEC), 2006) is applicable.
 次に、プロキシ装置200の機能ブロックについて説明する。図3において、プロキシ装置200は、再暗号化部201を含む。ここで、再暗号化部201は、ネットワークインタフェース2005と、CPU2001とによって実現される。CPU2001は、ROM2003および記憶装置2004に記憶された前述のコンピュータプログラムおよび各種データをRAM2002にロードし、ロードされたコンピュータプログラムを実行する。なお、再暗号化部201のハードウェア構成は、上述の構成に限定されない。 Next, functional blocks of the proxy device 200 will be described. In FIG. 3, the proxy device 200 includes a re-encryption unit 201. Here, the re-encryption unit 201 is realized by the network interface 2005 and the CPU 2001. The CPU 2001 loads the aforementioned computer program and various data stored in the ROM 2003 and the storage device 2004 into the RAM 2002, and executes the loaded computer program. Note that the hardware configuration of the re-encryption unit 201 is not limited to the above-described configuration.
 再暗号化部201は、鍵生成装置100のプロキシ鍵生成部103によって生成されたプロキシ鍵を用いて、そのプロキシ鍵を生成した鍵生成装置100の鍵保持部101に保持される公開鍵により暗号化された暗号化データを、再暗号化データに変換する。例えば、このようなプロキシ鍵を用いた再暗号化技術として、上述の参考文献Aに記載された技術が適用可能である。 The re-encryption unit 201 uses the proxy key generated by the proxy key generation unit 103 of the key generation device 100 to encrypt using the public key held in the key holding unit 101 of the key generation device 100 that generated the proxy key. The encrypted data is converted into re-encrypted data. For example, as a re-encryption technique using such a proxy key, the technique described in the above-mentioned reference A can be applied.
 次に、暗号化統計データ生成装置300の機能ブロックについて説明する。図3において、暗号化統計データ生成装置300は、暗号化統計データ生成部301を含む。ここで、暗号化統計データ生成部301は、ネットワークインタフェース3005と、ROM3003および記憶装置3004に記憶されたコンピュータプログラムおよび各種データをRAM3002に読み込んで実行するCPU3001とによって実現される。CPU3001は、ROM3003および記憶装置3004に記憶されたコンピュータプログラムおよび各種データをRAM3002にロードし、ロードされたコンピュータプログラムを実行する。なお、暗号化統計データ生成部301のハードウェア構成は、上述の構成に限定されない。 Next, functional blocks of the encrypted statistical data generation apparatus 300 will be described. In FIG. 3, the encrypted statistical data generation apparatus 300 includes an encrypted statistical data generation unit 301. Here, the encrypted statistical data generation unit 301 is realized by a network interface 3005 and a CPU 3001 that reads a computer program and various data stored in the ROM 3003 and the storage device 3004 into the RAM 3002 and executes them. The CPU 3001 loads the computer program and various data stored in the ROM 3003 and the storage device 3004 into the RAM 3002, and executes the loaded computer program. Note that the hardware configuration of the encrypted statistical data generation unit 301 is not limited to the above-described configuration.
 暗号化統計データ生成部301は、N個の暗号化データ記憶装置800にそれぞれ記憶されている暗号化データがN個のプロキシ装置200によってそれぞれ変換された再暗号化データに対して、準同型性を利用した演算を施す。ここで、これらの再暗号化データは、異なる公開鍵によって暗号化された暗号化データが、同一の全体公開鍵に対応する1つ以上の分散復号用秘密鍵を用いて復号可能な情報に再暗号化されたデータである。したがって、暗号化統計データ生成部301は、これらの再暗号化データに対して準同型性を利用した演算を行うことが可能である。そして、暗号化統計データ生成部301は、演算結果を暗号化統計データとする。つまり、このような暗号化統計データは、再暗号化データが再暗号化される前の暗号化データの元の平文に関する統計情報が全体公開鍵により暗号化された情報に相当する。 The encrypted statistical data generation unit 301 has homomorphism with respect to the re-encrypted data obtained by converting the encrypted data respectively stored in the N encrypted data storage devices 800 by the N proxy devices 200. Perform operations using. Here, the re-encrypted data is re-encrypted into information that can be decrypted by using one or more distributed decryption private keys corresponding to the same entire public key. It is encrypted data. Therefore, the encrypted statistical data generation unit 301 can perform an operation using homomorphism on these re-encrypted data. Then, the encrypted statistical data generation unit 301 sets the calculation result as encrypted statistical data. That is, such encrypted statistical data corresponds to information obtained by encrypting statistical information regarding the original plaintext of the encrypted data before the re-encrypted data is re-encrypted with the entire public key.
 また、暗号化統計データ生成部301は、生成した暗号化統計データを、暗号化統計データ記憶装置900に記憶させる。 In addition, the encrypted statistical data generation unit 301 stores the generated encrypted statistical data in the encrypted statistical data storage device 900.
 以上のように構成された暗号化統計処理システム1の動作について、図4~図5を参照して説明する。なお、以下の説明において参照する図面では、鍵生成装置100_i(i=1~N)は、第iの鍵生成装置とも記述される。プロキシ装置200_i(i=1~N)は、第iのプロキシ装置とも記述される。また、鍵生成装置100_iの鍵保持部101に保持されている公開鍵はspk_iと記述される。鍵生成装置100_iの鍵保持部101に保持されている秘密鍵はssk_iと記述される。また、暗号化データ記憶装置800_iには、公開鍵spk_iを用いてそれぞれ暗号化されたn_i(n_iは1以上の整数)個の暗号化データENC ( spk_i , M_{i,1} ) ~ ENC ( spk_i , M_{i,n_i} )が記憶されている。ここで、ENCは、準同型性を有する暗号化アルゴリズムを表す。また、M_{i,j}は、公開鍵spk_iによって暗号化されたj番目の平文を表す。また、1つ以上の分散復号用秘密鍵を用いて分散復号可能な情報を生成するための全体公開鍵gpkは、外部の装置により公開されている。 The operation of the encrypted statistical processing system 1 configured as described above will be described with reference to FIGS. In the drawings referred to in the following description, the key generation device 100_i (i = 1 to N) is also described as the i-th key generation device. The proxy device 200_i (i = 1 to N) is also described as the i-th proxy device. The public key held in the key holding unit 101 of the key generation device 100_i is described as spk_i. The secret key held in the key holding unit 101 of the key generation device 100_i is described as ssk_i. Also, the encrypted data storage device 800_i has n_i (n_i is an integer of 1 or more) pieces of encrypted data ENC (spk_i, M_ {i, 1}) ˜ ENC () each encrypted using the public key spk_i. spk_i, M_ {i, n_i}) is stored. Here, ENC represents an encryption algorithm having homomorphism. M_ {i, j} represents the jth plaintext encrypted with the public key spk_i. Also, the entire public key gpk for generating information that can be distributed and decrypted using one or more private keys for distributed decryption is disclosed by an external device.
 まず、図4は、暗号化統計処理システム1のプロキシ鍵生成動作を表すフローチャートである。 First, FIG. 4 is a flowchart showing the proxy key generation operation of the encrypted statistical processing system 1.
 図4では、まず、鍵生成装置100_iの全体公開鍵取得部102は、全体公開鍵gpkを取得する(ステップS1)。 In FIG. 4, first, the entire public key acquisition unit 102 of the key generation device 100_i acquires the entire public key gpk (step S1).
 次に、鍵生成装置100_iのプロキシ鍵生成部103は、鍵生成装置100_iの鍵保持部101に保持される秘密鍵ssk_i、および、ステップS1で取得された全体公開鍵gpkを用いて、プロキシ鍵rk_iを生成する(ステップS2)。プロキシ鍵rk_iは、公開鍵spk_iを用いて暗号化された暗号化データを、全体公開鍵gpkに関係する1つ以上の分散復号用秘密鍵を用いて分散復号可能な、再暗号化データに変換するための鍵である。 Next, the proxy key generation unit 103 of the key generation device 100_i uses the secret key ssk_i held in the key holding unit 101 of the key generation device 100_i and the entire public key gpk acquired in step S1 to use the proxy key. rk_i is generated (step S2). The proxy key rk_i converts encrypted data encrypted using the public key spk_i into re-encrypted data that can be distributed and decrypted using one or more private keys for distributed decryption related to the entire public key gpk. It is the key to do.
 次に、鍵生成装置100_iのプロキシ鍵生成部103は、生成したプロキシ鍵rk_iを、プロキシ装置200_iに対して送信する(ステップS3)。 Next, the proxy key generation unit 103 of the key generation device 100_i transmits the generated proxy key rk_i to the proxy device 200_i (step S3).
 以上で、暗号化統計処理システム1は、プロキシ鍵生成動作を終了する。 Thus, the encrypted statistical processing system 1 ends the proxy key generation operation.
 次に、図5は、暗号化統計処理システム1の暗号化統計データ生成動作を表すフローチャートである。 FIG. 5 is a flowchart showing the encrypted statistical data generation operation of the encrypted statistical processing system 1.
 図5において、プロキシ装置200_iの再暗号化部201は、プロキシ鍵rk_iを取得する(ステップS11)。 In FIG. 5, the re-encryption unit 201 of the proxy device 200_i acquires the proxy key rk_i (step S11).
 次に、プロキシ装置200_iの再暗号化部201は、公開鍵spk_iで暗号化された暗号化データの集合 { ENC ( spk_i , M_{i,j} ) } ( j = 1 ~ n_i ) を、暗号化データ記憶装置800_iから取得する(ステップS12)。 Next, the re-encryption unit 201 of the proxy device 200_i encrypts a set of encrypted data {ENC (spk_i, M_ {i, j})} (j = 1 to n_i) encrypted with the public key spk_i. Obtained from the data storage device 800_i (step S12).
 次に、プロキシ装置200_iの再暗号化部201は、プロキシ鍵rk_iを用いて、暗号化データの集合 { ENC ( spk_i , M_{i,j} ) } を、再暗号化データの集合 { ENC ( gpk , M_{i,j} ) } に変換する(ステップS13)。 Next, the re-encryption unit 201 of the proxy device 200_i uses the proxy key rk_i to convert the encrypted data set {ENC (spk_i, M_ {i, j}}} into the re-encrypted data set {ENC ( gpk, M_ {i, j})} is converted (step S13).
 次に、プロキシ装置200_iの再暗号化部201は、再暗号化データの集合{ENC(gpk,M_{i,j})}を、暗号化統計データ生成装置300に送信する(ステップS14)。 Next, the re-encryption unit 201 of the proxy device 200_i transmits a set of re-encrypted data {ENC (gpk, M_ {i, j})} to the encrypted statistical data generation device 300 (step S14).
 次に、暗号化統計データ生成装置300の暗号化統計データ生成部301は、プロキシ装置200_1~200_Nから、再暗号化データの各集合 { ENC ( gpk , M_{1,j} ) } ( j = 1 ~ n_1 ) ~ { ENC ( gpk , M_{N,j} ) } ( j = 1 ~ n_N ) を受信する(ステップS15)。以降、これらの再暗号化データのN個の集合は、まとめて、再暗号化データの集合{ ENC ( gpk , M_{1,1} ),…, ENC ( gpk , M_{N,n_N} ) } とも記述される。 Next, the encrypted statistical data generation unit 301 of the encrypted statistical data generation device 300 receives each set of re-encrypted data from the proxy devices 200_1 to 200_N {ENC (gpk, M_ {1, j})} (j = 1 ~ n_1) ~ {ENC (gpk, M_ {N, j})} (j = 1 ~ n_N) is received (step S15). Thereafter, these N sets of re-encrypted data are collectively expressed as a set of re-encrypted data {ENC (gpk, M_ {1,1}),…, ENC (gpk, M_ {N, n_N}) } Also described as.
 次に、暗号化統計データ生成部301は、再暗号化データの集合 { ENC ( gpk , M_{1,1} ),…, ENC ( gpk , M_{N,n_N} ) } に基づいて、暗号化統計データ ENC ( gpk , S ) を生成する(ステップS16)。 Next, the encrypted statistical data generation unit 301 performs encryption based on a set of re-encrypted data {ENC (gpk, M_ {1,1}), ..., ENC (gpk, M_ {N, n_N})}. Generate statistical data ENC (gpk, S) (step S16).
 ここで、Sは、平文M_{1,1} ~ M_{N,n_N} に対して統計処理を施した統計データを表す。例えば、S = M_{1,1}+M_{1,2}+…+M_{N, n_N} であれば、Sは、M_{1,1} ~ M_{N,n_N}の総和を表す。ENCが準同型性を有する暗号化アルゴリズムであることを利用して、暗号化統計データ生成部301は、再暗号化データの集合 { ENC ( gpk , M_{1,1} ) ,…, { ENC ( gpk , M_{N,n_N} ) }を復号することなく、上述のSで表される総和が暗号化された暗号化統計データENC ( gpk , S )を求めることが可能である。また、例えば、S = n ( M_{1,1}^2+…+M_{N,n_N} )^2 )-( ( M_{1,1}+…+M_{N,n_N} ) )^2であれば、SはM_{1,1} ~ M_{N,n_N}の分散を表す。ただし、nは、平文M_{1,1} ~ M_{N,n_N}の個数を表す。また、a^bは、aのb乗を表す。この場合も、暗号化統計データ生成部301は、再暗号化データの集合 { ENC ( gpk , M_{1,1} ) ~ ENC ( gpk , M_{N,n_N} ) } を復号することなく、上述のSで表される分散が暗号化された暗号化統計データENC ( gpk , S )を求めることが可能である。 Here, S represents statistical data obtained by performing statistical processing on plaintext M_ {1,1} to M_ {N, n_N}. For example, if S = M_ {1,1} + M_ {1,2} +... + M_ {N, n_N}, S represents the sum of M_ {1,1} to M_ {N, n_N}. Utilizing that ENC is an encryption algorithm having homomorphism, the encrypted statistical data generation unit 301 uses a set of re-encrypted data {ENC (gpk, M_ {1,1}),…, {ENC Without decrypting (ENgpk 統計, M_ {N, n_N})}, it is possible to obtain the encrypted statistical data ENC (gpk, S) in which the sum represented by S is encrypted. For example, S = n (M_ {1,1} ^ 2 +… + M_ {N, n_N}) ^ 2) − (- (M_ {1,1} +… + M_ {N, n_N})) ^ 2 For example, S represents the variance of M_ {1,1} to M_ {N, n_N}. Here, n represents the number of plaintexts M_ {1,1} to M_ {N, n_N}. A ^ b represents a to the power of b. Also in this case, the encrypted statistical data generation unit 301 decrypts the set of re-encrypted data {ENC (gpk, M_ {1,1}) to ENC (gpk, M_ {N, n_N})}, It is possible to obtain encrypted statistical data ENC (gpk, S) in which the variance represented by S is encrypted.
 次に、暗号化統計データ生成部301は、生成した暗号化統計データENC ( gpk , S )を、暗号化統計データ記憶装置900に記憶させる(ステップS17)。 Next, the encrypted statistical data generation unit 301 stores the generated encrypted statistical data ENC (gpk, S) in the encrypted statistical data storage device 900 (step S17).
 以上で、暗号化統計処理システム1は、暗号化統計データ生成動作を終了する。 Thus, the encrypted statistical processing system 1 ends the encrypted statistical data generation operation.
 次に、本発明の第1の実施の形態の効果について述べる。 Next, the effect of the first embodiment of the present invention will be described.
 本発明の第1の実施の形態の暗号化統計処理システムは、異なる公開鍵を用いて暗号化された暗号化データに対して、データが暗号化されたまま統計処理を行うことができる。 The encrypted statistical processing system according to the first embodiment of the present invention can perform statistical processing on encrypted data encrypted using different public keys while the data is encrypted.
 その理由は、プロキシ鍵生成部103が、プロキシ鍵を、鍵保持部101に保持される秘密鍵と、全体公開鍵とに基づいて生成するからである。プロキシ鍵は、鍵保持部101に保持される公開鍵を用いて暗号化された暗号化データを、1つ以上の分散復号用秘密鍵によって分散復号可能な再暗号化データに変換するための鍵である。全体公開鍵取得部102が、1つ以上の分散復号用秘密鍵によって分散復号可能な情報を生成するための全体公開鍵を取得する。そして、再暗号化部201が、鍵保持部101に保持される公開鍵を用いて暗号化された暗号化データを、プロキシ鍵を用いて再暗号化データに変換するからである。これにより、1つ以上の異なる公開鍵を用いて暗号化された暗号化データは、各公開鍵に基づいて生成されたプロキシ鍵により、同一の全体公開鍵を用いて暗号化された情報に相当する再暗号化データに変換される。そして、暗号化統計データ生成部301が、そのような再暗号化データに対して、準同型性を利用した演算を施す。このことにより、暗号化統計データ生成部301は、暗号化データを元のデータに復号することなく、元のデータに関する統計情報が暗号化された情報に相当する暗号化統計データを生成するからである。 The reason is that the proxy key generation unit 103 generates a proxy key based on the secret key held in the key holding unit 101 and the entire public key. The proxy key is a key for converting encrypted data encrypted using the public key held in the key holding unit 101 into re-encrypted data that can be distributed and decrypted by one or more private keys for distributed decryption. It is. The entire public key acquisition unit 102 acquires an entire public key for generating information that can be distributed and decrypted by using one or more distributed decryption secret keys. This is because the re-encryption unit 201 converts the encrypted data encrypted using the public key held in the key holding unit 101 into re-encrypted data using the proxy key. As a result, encrypted data encrypted using one or more different public keys corresponds to information encrypted using the same entire public key by a proxy key generated based on each public key. Converted to re-encrypted data. Then, the encrypted statistical data generation unit 301 performs an operation using homomorphism on such re-encrypted data. As a result, the encrypted statistical data generation unit 301 generates encrypted statistical data corresponding to information obtained by encrypting statistical information about the original data without decrypting the encrypted data into the original data. is there.
 このように、本発明の第1の実施の形態の暗号化統計処理システム1は、例えば復号システムによって公開される全体公開鍵を用いて、異なる公開鍵を用いて暗号化された暗号化データに対して暗号化したまま統計処理を行う。このことにより、本発明の第1の実施の形態の暗号化統計処理システム1は、そのような復号システムによって分散復号可能な暗号化統計データを生成することができる。したがって、本実施の形態は、暗号化データを生成するための公開鍵を用いたサービスを行うサービス提供者側と、統計データを利用したい統計データ利用者が異なる場合にも好適である。 As described above, the encrypted statistical processing system 1 according to the first embodiment of the present invention uses, for example, the entire public key disclosed by the decryption system to convert the encrypted data using a different public key. On the other hand, statistical processing is performed with encryption. Thus, the encrypted statistical processing system 1 according to the first embodiment of the present invention can generate encrypted statistical data that can be distributed and decrypted by such a decryption system. Therefore, this embodiment is also suitable when the service provider side that performs a service using a public key for generating encrypted data is different from the statistical data user who wants to use statistical data.
 (第2の実施の形態)
 次に、本発明の第2の実施の形態について図面を参照して詳細に説明する。本実施の形態では、本発明の第1の実施の形態の暗号化統計処理システム1によって生成された暗号化統計データを復号する復号システムについて説明する。なお、本実施の形態の説明において参照する各図面において、本発明の第1の実施の形態と同一の構成には同一の符号を付して本実施の形態における詳細な説明を省略する。
(Second Embodiment)
Next, a second embodiment of the present invention will be described in detail with reference to the drawings. In the present embodiment, a decryption system that decrypts encrypted statistical data generated by the encrypted statistical processing system 1 according to the first embodiment of the present invention will be described. Note that, in each drawing referred to in the description of the present embodiment, the same components as those in the first embodiment of the present invention are denoted by the same reference numerals, and detailed description thereof will be omitted.
 まず、図6は、本発明の第2の実施の形態の復号システム2の構成を表すブロック図である。なお、図6において、実線で囲まれた図形は、復号システム2の構成要素を表す。そして、破線で囲まれた図形は、復号システム2の外部に接続される装置を表す。図6において、復号システム2は、L(Lは1以上の整数)個の分散復号装置400_1~400_Lと、統計情報復号装置500とを含む。以下、L個の分散復号装置400_1~400_Lは、総称して分散復号装置400とも記述される。 First, FIG. 6 is a block diagram showing the configuration of the decoding system 2 according to the second embodiment of the present invention. In FIG. 6, a figure surrounded by a solid line represents a component of the decoding system 2. A figure surrounded by a broken line represents a device connected to the outside of the decoding system 2. In FIG. 6, the decoding system 2 includes L (L is an integer equal to or greater than 1) distributed decoding apparatuses 400_1 to 400_L and a statistical information decoding apparatus 500. Hereinafter, the L distributed decoding apparatuses 400_1 to 400_L are also collectively referred to as the distributed decoding apparatus 400.
 また、図6において、分散復号装置400および統計情報復号装置500は、互いに通信が可能であるように接続されている。また、分散復号装置400および統計情報復号装置500は、外部の暗号化統計データ記憶装置900とそれぞれ通信が可能であるように接続されている。ここで、暗号化統計データ記憶装置900は、本発明の第1の実施の形態の暗号化統計処理システム1によって生成された暗号化統計データを記憶する装置である。 In FIG. 6, the distributed decoding device 400 and the statistical information decoding device 500 are connected so that they can communicate with each other. Further, the distributed decryption device 400 and the statistical information decryption device 500 are connected so as to be able to communicate with the external encrypted statistical data storage device 900, respectively. Here, the encrypted statistical data storage device 900 is a device that stores the encrypted statistical data generated by the encrypted statistical processing system 1 according to the first embodiment of this invention.
 また、図6において、通信が必要となる各装置間は、インターネット、LAN、公衆回線網、無線通信網またはこれらの組合せ等によって構成されるネットワークを介して、通信が可能であるように接続される。また、これらの各装置間の少なくとも一部は、他の各装置間を接続するネットワークとは異なるネットワークによって接続されていてもよい。 In FIG. 6, the devices that need to communicate with each other are connected so that they can communicate via a network constituted by the Internet, a LAN, a public line network, a wireless communication network, or a combination thereof. The In addition, at least a part of these devices may be connected by a network different from the network connecting the other devices.
 また、図6には、L個の分散復号装置400と、1つの統計情報復号装置500と、1つの暗号化統計データ記憶装置900とが示されている。しかし、本発明の復号システムが備える各装置の数および接続される各装置の数は、図6の数に限定されない。 FIG. 6 also shows L distributed decryption devices 400, one statistical information decryption device 500, and one encrypted statistical data storage device 900. However, the number of devices included in the decoding system of the present invention and the number of connected devices are not limited to the numbers in FIG.
 次に、図7は、復号システム2を構成する各装置のハードウェア構成を表すブロック図である。 Next, FIG. 7 is a block diagram showing the hardware configuration of each device constituting the decoding system 2.
 図7において、分散復号装置400は、CPU4001と、RAM4002と、ROM4003と、ハードディスク等の記憶装置4004と、ネットワークインタフェース4005とを備えたコンピュータ装置によって構成されている。 7, the distributed decoding device 400 is configured by a computer device including a CPU 4001, a RAM 4002, a ROM 4003, a storage device 4004 such as a hard disk, and a network interface 4005.
 ROM4003および記憶装置4004には、コンピュータ装置を本実施の形態の分散復号装置400として機能させるコンピュータプログラムおよび各種データが記憶されている。 The ROM 4003 and the storage device 4004 store computer programs and various data that cause the computer device to function as the distributed decoding device 400 of the present embodiment.
 CPU4001は、ROM4003および記憶装置4004に記憶されたコンピュータプログラムおよび各種データをRAM4002にロードし、ロードされたコンピュータプログラムを実行する。 CPU 4001 loads the computer program and various data stored in ROM 4003 and storage device 4004 to RAM 4002 and executes the loaded computer program.
 ネットワークインタフェース4005は、ネットワークを介して他の装置との通信を行うモジュールである。 The network interface 4005 is a module that communicates with other devices via a network.
 統計情報復号装置500は、CPU5001と、RAM5002と、ROM5003と、ハードディスク等の記憶装置5004と、ネットワークインタフェース5005とを備えたコンピュータ装置によって構成されている。 The statistical information decoding device 500 is configured by a computer device including a CPU 5001, a RAM 5002, a ROM 5003, a storage device 5004 such as a hard disk, and a network interface 5005.
 ROM5003および記憶装置5004には、コンピュータ装置を本実施の形態の統計情報復号装置500として機能させるためのコンピュータプログラムおよび各種データが記憶されている。 The ROM 5003 and the storage device 5004 store a computer program and various data for causing the computer device to function as the statistical information decoding device 500 of the present embodiment.
 CPU5001は、ROM5003および記憶装置5004に記憶されたコンピュータプログラムおよび各種データをRAM5002にロードし、ロードされたコンピュータプログラムを実行する。 The CPU 5001 loads the computer program and various data stored in the ROM 5003 and the storage device 5004 to the RAM 5002, and executes the loaded computer program.
 ネットワークインタフェース5005は、ネットワークを介して他の装置との通信を行うモジュールである。 The network interface 5005 is a module that communicates with other devices via a network.
 次に、復号システム2を構成する各装置の機能ブロックについて、図8を参照して説明する。図8は、復号システム2を構成する各装置の機能ブロックを表すブロック図である。 Next, functional blocks of each device constituting the decoding system 2 will be described with reference to FIG. FIG. 8 is a block diagram showing functional blocks of each device constituting the decoding system 2.
 まず、分散復号装置400の各機能ブロックについて説明する。図8において、分散復号装置400は、分散復号用鍵保持部401と、分散復号部402とを含む。ここで、分散復号用鍵保持部401は、記憶装置4004によって実現される。また、分散復号部402は、ネットワークインタフェース4005と、CPU4001とによって実現される。CPU4001は、ROM4003および記憶装置4004に記憶された前述のコンピュータプログラムおよび各種データをRAM4002にロードし、ロードされたコンピュータプログラムを実行する。なお、分散復号装置400の各機能ブロックのハードウェア構成は、上述の構成に限定されない。 First, each functional block of the distributed decoding device 400 will be described. In FIG. 8, the distributed decryption apparatus 400 includes a distributed decryption key holding unit 401 and a distributed decryption unit 402. Here, the distributed decryption key holding unit 401 is realized by the storage device 4004. The distributed decoding unit 402 is realized by the network interface 4005 and the CPU 4001. The CPU 4001 loads the above-described computer program and various data stored in the ROM 4003 and the storage device 4004 into the RAM 4002, and executes the loaded computer program. Note that the hardware configuration of each functional block of the distributed decoding apparatus 400 is not limited to the above-described configuration.
 分散復号用鍵保持部401は、分散復号用公開鍵および分散復号用秘密鍵を記憶している。ここで、この分散復号用公開鍵および分散復号用秘密鍵は、分散復号可能な公開鍵暗号方式において用いられる鍵である。この分散復号用公開鍵は、他の装置が取得できるように保持される。また、分散復号用秘密鍵は、他の装置が取得できないよう保持されている。 The distributed decryption key holding unit 401 stores a distributed decryption public key and a distributed decryption secret key. Here, the distributed decryption public key and the distributed decryption secret key are keys used in a public key cryptosystem capable of distributed decryption. This distributed decryption public key is held so that other devices can obtain it. Also, the distributed decryption secret key is held so that other devices cannot obtain it.
 分散復号部402は、暗号化統計データ記憶装置900に記憶された暗号化統計データを、分散復号用秘密鍵を用いて復号することにより部分復号結果を生成する。ここで、暗号化統計データ記憶装置900には、本発明の第1の実施の形態の暗号化統計処理システム1によって生成された暗号化統計データが記憶されている。暗号化統計処理システム1は、L個の分散復号装置400に保持される分散復号用秘密鍵によって分散復号可能な情報を生成するための全体公開鍵を用いて、暗号化統計データを生成する。 The distributed decryption unit 402 generates a partial decryption result by decrypting the encrypted statistical data stored in the encrypted statistical data storage device 900 using the distributed decryption secret key. Here, the encrypted statistical data storage device 900 stores the encrypted statistical data generated by the encrypted statistical processing system 1 according to the first embodiment of this invention. The encrypted statistical processing system 1 generates encrypted statistical data by using the entire public key for generating information that can be distributed and decrypted by the distributed decryption secret keys held in the L distributed decryption devices 400.
 なお、分散復号装置400は、その分散復号装置400が公開する分散復号用公開鍵と、他の分散復号装置400が公開する他の分散復号用公開鍵とに基づいて、暗号化統計処理システム1によって用いられる上述の全体公開鍵を生成してもよい。そして、分散復号装置400は、生成した全体公開鍵を公開してもよい。 The distributed decryption apparatus 400 uses the encrypted statistical processing system 1 based on the distributed decryption public key disclosed by the distributed decryption apparatus 400 and other distributed decryption public keys disclosed by the other distributed decryption apparatuses 400. The entire public key used above may be generated. Then, the distributed decryption apparatus 400 may disclose the generated entire public key.
 次に、統計情報復号装置500の機能ブロックについて説明する。図8において、統計情報復号装置500は、統計情報復号部501を有する。ここで、統計情報復号部501は、ネットワークインタフェース5005と、CPU5001とによって構成される。CPU5001は、ROM5003および記憶装置5004に記憶された前述のコンピュータプログラムおよび各種データをRAM5002にロードし、ロードされたコンピュータプログラムを実行する。なお、統計情報復号部501のハードウェア構成は、上述の構成に限定されない。 Next, functional blocks of the statistical information decoding apparatus 500 will be described. In FIG. 8, the statistical information decoding apparatus 500 includes a statistical information decoding unit 501. Here, the statistical information decoding unit 501 includes a network interface 5005 and a CPU 5001. The CPU 5001 loads the above-described computer program and various data stored in the ROM 5003 and the storage device 5004 into the RAM 5002, and executes the loaded computer program. Note that the hardware configuration of the statistical information decoding unit 501 is not limited to the above-described configuration.
 統計情報復号部501は、L個の分散復号装置400によって得られたL個の部分復号結果に基づいて、暗号化統計データの完全な復号結果を取得する。これにより、統計情報復号部501は、本発明の第1の実施の形態の暗号化統計処理システム1に接続される暗号化データ記憶装置800に記憶されている暗号化データが暗号化される前の元のデータに関する統計情報を取得する。 The statistical information decryption unit 501 acquires a complete decryption result of the encrypted statistical data based on the L partial decryption results obtained by the L distributed decryption devices 400. As a result, the statistical information decrypting unit 501 encrypts the encrypted data stored in the encrypted data storage device 800 connected to the encrypted statistical processing system 1 according to the first embodiment of this invention. Get statistical information about the original data of.
 以上のように構成された復号システム2の復号動作について、図9を参照して説明する。 The decoding operation of the decoding system 2 configured as described above will be described with reference to FIG.
 なお、以下の説明において参照する図面では、分散復号装置400_i(i=1~L)は、第iの分散復号装置とも記述される。また、分散復号装置400_iの分散復号用鍵保持部401に保持されている分散復号用公開鍵は、dpk_iと記述される。分散復号用秘密鍵は、dsk_iと記述される。また、全体公開鍵gpkが、L個の分散復号用公開鍵dpk_iに基づき生成され、公開されている。また、暗号化統計データ記憶装置900には、本発明の第1の実施の形態の暗号化統計処理システム1によって生成された、全体公開鍵gpkに関連する暗号化統計データENC ( gpk , S )が記憶されている。 In the drawings referred to in the following description, the distributed decoding device 400_i (i = 1 to L) is also described as the i-th distributed decoding device. Further, the distributed decryption public key held in the distributed decryption key holding unit 401 of the distributed decryption device 400_i is described as dpk_i. The distributed decryption secret key is described as dsk_i. Also, the entire public key gpk is generated and released based on L distributed decryption public keys dpk_i. Further, the encrypted statistical data storage device 900 stores the encrypted statistical data ENC (gpk, S) related to the entire public key gpk generated by the encrypted statistical processing system 1 according to the first embodiment of the present invention. Is remembered.
 図9では、まず、分散復号装置400_iの分散復号部402は、暗号化統計データ記憶装置900から、暗号化統計データENC ( gpk , S )を取得する(ステップS21)。 In FIG. 9, first, the distributed decryption unit 402 of the distributed decryption device 400_i acquires the encrypted statistical data ENC (gpk, S) from the encrypted statistical data storage device 900 (step S21).
 次に、分散復号装置400_iの分散復号部402は、分散復号用鍵保持部401に保持された分散復号用秘密鍵dsk_iを用いて、暗号化統計データENC ( gpk , S )を部分復号し、部分復号結果RESULT_iを生成する(ステップS22)。 Next, the distributed decryption unit 402 of the distributed decryption device 400_i partially decrypts the encrypted statistical data ENC (gpk, S) using the distributed decryption private key dsk_i held in the distributed decryption key holding unit 401, A partial decoding result RESULT_i is generated (step S22).
 次に、分散復号装置400_iの分散復号部402は、部分復号結果RESULT_iを、統計情報復号装置500に送信する(ステップS23)。 Next, the distributed decoding unit 402 of the distributed decoding device 400_i transmits the partial decoding result RESULT_i to the statistical information decoding device 500 (step S23).
 次に、統計情報復号装置500の統計情報復号部501は、分散復号装置400_1~400_Lから、L個の部分復号結果RESULT_1~RESULT_Lを受信する(ステップS24)。 Next, the statistical information decoding unit 501 of the statistical information decoding apparatus 500 receives L partial decoding results RESULT_1 to RESULT_L from the distributed decoding apparatuses 400_1 to 400_L (step S24).
 次に、統計情報復号部501は、L個の部分復号結果RESULT_1~RESULT_Lに基づいて、復号結果Sを取得する(ステップS25)。 Next, the statistical information decoding unit 501 acquires the decoding result S based on the L partial decoding results RESULT_1 to RESULT_L (step S25).
 以上で、復号システム2は動作を終了する。 Thus, the decryption system 2 finishes the operation.
 次に、本発明の第2の実施の形態の効果について説明する。 Next, effects of the second exemplary embodiment of the present invention will be described.
 本発明の第2の実施の形態の復号システムは、異なる公開鍵を用いて暗号化された暗号化データが暗号化されたまま統計処理された暗号化統計データを、元のデータに関する統計情報に復号することができる。 In the decryption system according to the second embodiment of the present invention, encrypted statistical data obtained by performing statistical processing on encrypted data encrypted using different public keys is converted into statistical information about the original data. Can be decrypted.
 その理由は、分散復号用鍵保持部が、分散復号用公開鍵および分散復号用秘密鍵を保持しておき、分散復号用公開鍵を公開しておくからである。このことにより、これらの1つ以上の分散復号用秘密鍵を用いて分散復号可能な暗号化情報を生成するための全体公開鍵の生成が可能である。これにより、異なる公開鍵を用いて暗号化された暗号化データは、そのような全体公開鍵を用いて暗号化された情報に相当する再暗号化データに変換される。暗号化データは、復号されることなく再暗号化データのまま統計処理されて、暗号化統計データが生成される。そして、分散復号部が、そのような暗号化統計データに対して、分散復号用秘密鍵を用いて部分復号を行うことにより部分復号結果を生成する。そして、統計情報復号部が、1つ以上の部分復号結果に基づいて完全な復号結果を得る。すなわち、本実施の形態の復号システムは、暗号化統計データを分散復号することにより、復号結果として、異なる公開鍵を用いて暗号化された暗号化データの元のデータに対する統計情報を得ることができる。 The reason is that the distributed decryption key holding unit holds the distributed decryption public key and the distributed decryption private key, and publicizes the distributed decryption public key. As a result, it is possible to generate an entire public key for generating encrypted information that can be distributed and decrypted using one or more of these distributed decryption secret keys. Thereby, the encrypted data encrypted using a different public key is converted into re-encrypted data corresponding to the information encrypted using such an entire public key. The encrypted data is statistically processed as it is without being decrypted, and the encrypted statistical data is generated. Then, the distributed decryption unit generates partial decryption results by performing partial decryption on such encrypted statistical data using the distributed decryption secret key. Then, the statistical information decoding unit obtains a complete decoding result based on one or more partial decoding results. That is, the decryption system according to the present embodiment can obtain statistical information on the original data of encrypted data encrypted using different public keys as a decryption result by performing distributed decryption on the encrypted statistical data. it can.
 (第3の実施の形態)
 次に、本発明の第3の実施の形態について図面を参照して詳細に説明する。なお、本実施の形態の説明において参照する各図面において、本発明の第1および第2の実施の形態と同一の構成には同一の符号を付して本実施の形態における詳細な説明を省略する。
(Third embodiment)
Next, a third embodiment of the present invention will be described in detail with reference to the drawings. Note that, in each drawing referred to in the description of the present embodiment, the same components as those in the first and second embodiments of the present invention are denoted by the same reference numerals, and detailed description in the present embodiment is omitted. To do.
 まず、図10は、本発明の第3の実施の形態の暗号化統計処理システム3および復号システム4の構成を表すブロック図である。なお、図10において、実線で囲まれた図形は、暗号化統計処理システム3または復号システム4の構成要素を表す。そして、破線で囲まれた図形は、暗号化統計処理システム3および復号システム4の外部に接続される装置を表す。図10において、暗号化統計処理システム3は、N個の鍵生成装置130_1~130_Nと、N個のプロキシ装置230_1~230_Nと、暗号化統計データ生成装置330とを備える。N個の鍵生成装置130_1~130_Nは、以下、総称して鍵生成装置130とも記述される。N個のプロキシ装置230_1~230_Nは、以下、総称してプロキシ装置230とも記述される。また、暗号化統計処理システム3を構成する各装置のハードウェア構成は、図2を参照して説明した本発明の第1の実施の形態の暗号化統計処理システム1を構成する各装置と同様に構成可能である。 First, FIG. 10 is a block diagram showing the configurations of the encryption statistical processing system 3 and the decryption system 4 according to the third embodiment of the present invention. In FIG. 10, a figure surrounded by a solid line represents a component of the encrypted statistical processing system 3 or the decryption system 4. A figure surrounded by a broken line represents a device connected to the outside of the encryption statistical processing system 3 and the decryption system 4. In FIG. 10, the encrypted statistical processing system 3 includes N key generation devices 130_1 to 130_N, N proxy devices 230_1 to 230_N, and an encrypted statistical data generation device 330. Hereinafter, the N key generation devices 130_1 to 130_N are also collectively referred to as the key generation device 130. The N proxy devices 230_1 to 230_N are hereinafter also collectively referred to as the proxy device 230. The hardware configuration of each device constituting the encrypted statistical processing system 3 is the same as that of each device constituting the encrypted statistical processing system 1 according to the first embodiment of the present invention described with reference to FIG. Can be configured.
 また、図10において、復号システム4は、L個の分散復号装置430_1~430_Lと、統計情報復号装置530とを備える。L個の分散復号装置430_1~430_Lは、以下、総称して分散復号装置430とも記述される。また、復号システム4を構成する各装置のハードウェア構成は、図7を参照して説明した本発明の第2の実施の形態の復号システム2を構成する各装置と同様に構成可能である。 In FIG. 10, the decoding system 4 includes L distributed decoding devices 430_1 to 430_L and a statistical information decoding device 530. The L distributed decoding apparatuses 430_1 to 430_L are hereinafter collectively referred to as the distributed decoding apparatus 430. The hardware configuration of each device constituting the decoding system 4 can be configured in the same manner as each device constituting the decoding system 2 according to the second embodiment of the present invention described with reference to FIG.
 また、図10において、鍵生成装置130、プロキシ装置230および暗号化統計データ生成装置330は、本発明の第1の実施の形態における鍵生成装置100、プロキシ装置200および暗号化統計データ生成装置300と同様に、互いに通信が可能であるように接続される。さらに、鍵生成装置130、プロキシ装置230および暗号化統計データ生成装置330は、外部のデータ登録装置700、外部の暗号化データ記憶装置800および外部の暗号化統計データ記憶装置900とそれぞれ通信が可能であるように接続されている。 In FIG. 10, the key generation device 130, the proxy device 230, and the encrypted statistical data generation device 330 are the key generation device 100, the proxy device 200, and the encrypted statistical data generation device 300 according to the first embodiment of the present invention. Similarly, they are connected so that they can communicate with each other. Furthermore, the key generation device 130, the proxy device 230, and the encrypted statistical data generation device 330 can communicate with the external data registration device 700, the external encrypted data storage device 800, and the external encrypted statistical data storage device 900, respectively. Connected to be.
 また、図10において、分散復号装置430および統計情報復号装置530は、本発明の第2の実施の形態における分散復号装置400および統計情報復号装置500と同様に、互いに通信が可能であるように接続される。さらに、分散復号装置430および統計情報復号装置530は、外部の暗号化統計データ記憶装置900と、それぞれ通信が可能であるように接続されている。 Also, in FIG. 10, distributed decoding apparatus 430 and statistical information decoding apparatus 530 can communicate with each other in the same manner as distributed decoding apparatus 400 and statistical information decoding apparatus 500 in the second embodiment of the present invention. Connected. Further, the distributed decryption device 430 and the statistical information decryption device 530 are connected to the external encrypted statistical data storage device 900 so as to be able to communicate with each other.
 また、図10において、通信が必要となる各装置間は、インターネット、LAN、公衆回線網、無線通信網またはこれらの組合せ等によって構成されるネットワークを介して、通信が可能であるように接続される。また、これらの各装置間の少なくとも一部は、他の各装置間を接続するネットワークとは異なるネットワークによって接続されていてもよい。 In FIG. 10, the devices that require communication are connected so as to be able to communicate via a network constituted by the Internet, a LAN, a public line network, a wireless communication network, or a combination thereof. The In addition, at least a part of these devices may be connected by a network different from the network connecting the other devices.
 また、図10には、N個の鍵生成装置130と、N個のプロキシ装置230と、N個の暗号化データ記憶装置800と、1つの暗号化統計データ生成装置330と、1つの暗号化統計データ記憶装置900とが示されている。しかし、本発明の暗号化統計処理システムが備える各装置の数および接続される各装置の数は、図10の例に限定されない。また、図10には、L個の分散復号装置430と、1つの統計情報復号装置530とが示されている。しかし、本発明の復号システムが備える各装置の数および接続される各装置の数は、図10の例に限定されない。 FIG. 10 also shows N key generation devices 130, N proxy devices 230, N encrypted data storage devices 800, one encrypted statistical data generation device 330, and one encryption. A statistical data storage device 900 is shown. However, the number of devices included in the encrypted statistical processing system of the present invention and the number of connected devices are not limited to the example of FIG. FIG. 10 shows L distributed decoding apparatuses 430 and one statistical information decoding apparatus 530. However, the number of devices included in the decoding system of the present invention and the number of connected devices are not limited to the example of FIG.
 次に、暗号化統計処理システム3および復号システム4を構成する各装置の機能ブロックについて、図11を参照して説明する。図11は、暗号化統計処理システム3および復号システム4を構成する各装置の機能ブロックを表すブロック図である。 Next, functional blocks of the devices constituting the encrypted statistical processing system 3 and the decryption system 4 will be described with reference to FIG. FIG. 11 is a block diagram showing functional blocks of each device constituting the encrypted statistical processing system 3 and the decryption system 4.
 まず、鍵生成装置130の各機能ブロックについて説明する。図11において、鍵生成装置130は、本発明の第1の実施の形態における鍵生成装置100に対して、プロキシ鍵生成部103に替えてプロキシ鍵生成部133を備える点が異なる。 First, each functional block of the key generation device 130 will be described. In FIG. 11, the key generation device 130 is different from the key generation device 100 according to the first embodiment of the present invention in that a proxy key generation unit 133 is provided instead of the proxy key generation unit 103.
 プロキシ鍵生成部133は、そのプロキシ鍵生成部133が含まれる鍵生成装置130で生成された乱数、他の鍵生成装置130で生成された他の乱数、および、鍵保持部101に保持される秘密鍵に基づいて、統合用変換鍵を生成する。プロキシ鍵生成部133による統合用変換鍵の生成に使用される秘密鍵を保持する鍵保持部101は、そのプロキシ鍵生成部133を含む鍵生成装置130の鍵保持部101である。統合用変換鍵は、鍵保持部101に保持される公開鍵によって暗号化された暗号化データを、統合用秘密鍵によって復号可能な統合用再暗号化データに変換するための鍵である。統合用秘密鍵は、統合用秘密鍵を生成するプロキシ鍵生成部133が含まれる鍵生成装装置130で生成された乱数および他の鍵生成装置130で生成された他の乱数に基づき生成されうる秘密鍵である。このために、例えばプロキシ鍵生成部133が、乱数を生成する。プロキシ鍵生成部133は、さらに、他の鍵生成装置130のプロキシ鍵生成部133によって生成された他の乱数に関する情報を取得する。 The proxy key generation unit 133 is held in the random number generated by the key generation device 130 including the proxy key generation unit 133, another random number generated by another key generation device 130, and the key holding unit 101. An integration conversion key is generated based on the secret key. The key holding unit 101 that holds the secret key used to generate the conversion key for integration by the proxy key generation unit 133 is the key holding unit 101 of the key generation device 130 that includes the proxy key generation unit 133. The integration conversion key is a key for converting encrypted data encrypted by the public key held in the key holding unit 101 into integration re-encrypted data that can be decrypted by the integration secret key. The integration secret key can be generated based on a random number generated by the key generation device 130 including the proxy key generation unit 133 that generates the integration secret key and another random number generated by another key generation device 130. It is a secret key. For this purpose, for example, the proxy key generation unit 133 generates a random number. The proxy key generation unit 133 further acquires information regarding other random numbers generated by the proxy key generation unit 133 of the other key generation device 130.
 また、プロキシ鍵生成部133は、そのプロキシ鍵生成部133が含まれる鍵生成装置130で生成された乱数を、前述の全体公開鍵により暗号化して乱数暗号化情報を生成する。そして、プロキシ鍵生成部133は、統合用変換鍵および乱数暗号化情報を含む情報を、プロキシ鍵として生成する。 Further, the proxy key generation unit 133 generates random number encryption information by encrypting the random number generated by the key generation device 130 including the proxy key generation unit 133 with the above-described entire public key. Then, the proxy key generation unit 133 generates information including the integration conversion key and the random number encryption information as a proxy key.
 また、プロキシ鍵生成部133は、プロキシ装置230によって公開される後述のプロキシ公開鍵を用いて、上述の統合用変換鍵および乱数暗号化情報を含むプロキシ鍵を生成してもよい。具体的には、プロキシ鍵生成部133は、そのプロキシ鍵生成部133が含まれる鍵生成装置130で生成された乱数を、その鍵生成装置130に関連付けられたプロキシ装置230によって公開されるプロキシ公開鍵を用いて暗号化してもよい。また、プロキシ鍵生成部133は、他の鍵生成装置130によって生成された他の乱数を、同一のプロキシ公開鍵を用いて暗号してもよい。そして、プロキシ鍵生成部133は、それらの暗号化された乱数を表す情報と、自装置の秘密鍵とに基づいて、前述の統合用変換鍵がプロキシ公開鍵により暗号化された情報に相当する統合用変換鍵暗号化情報を生成してもよい。この場合、プロキシ鍵生成部133は、統合用変換鍵暗号化情報および乱数暗号化情報を含む情報を、プロキシ鍵として生成する。例えば、プロキシ鍵生成部133は、そのプロキシ鍵生成部133が含まれる鍵生成装置130が生成した乱数を、N個のプロキシ装置230によって公開されるN個のプロキシ公開鍵を用いてそれぞれ暗号化したN個の暗号化情報を生成すればよい。そして、プロキシ鍵生成部133は、生成した各情報を、暗号化に用いたプロキシ公開鍵に関係する他の鍵生成装置130に送信すればよい。これにより、プロキシ鍵生成部133は、N個の乱数が同一のプロキシ公開鍵を用いて暗号化された情報を取得可能となる。 Further, the proxy key generation unit 133 may generate a proxy key including the above-described integration conversion key and random number encryption information using a proxy public key described later disclosed by the proxy device 230. Specifically, the proxy key generation unit 133 publishes the random number generated by the key generation device 130 including the proxy key generation unit 133 by the proxy device 230 associated with the key generation device 130. You may encrypt using a key. Further, the proxy key generation unit 133 may encrypt other random numbers generated by other key generation devices 130 using the same proxy public key. Then, the proxy key generation unit 133 corresponds to the information obtained by encrypting the integration conversion key with the proxy public key based on the information representing the encrypted random number and the private key of the own device. Integration conversion key encryption information may be generated. In this case, the proxy key generation unit 133 generates information including integration conversion key encryption information and random number encryption information as a proxy key. For example, the proxy key generation unit 133 encrypts the random numbers generated by the key generation device 130 including the proxy key generation unit 133 using N proxy public keys disclosed by the N proxy devices 230, respectively. N pieces of encrypted information may be generated. Then, the proxy key generation unit 133 may transmit the generated information to another key generation apparatus 130 related to the proxy public key used for encryption. As a result, the proxy key generation unit 133 can acquire information obtained by encrypting N random numbers using the same proxy public key.
 次に、プロキシ装置230の各機能ブロックについて説明する。図11において、プロキシ装置230は、本発明の第1の実施の形態におけるプロキシ装置200に対して、再暗号化部201に替えて再暗号化部231を備え、さらに、プロキシ鍵保持部232を備える点が異なる。ここで、プロキシ鍵保持部232は、記憶装置2004によって構成される。 Next, each functional block of the proxy device 230 will be described. In FIG. 11, the proxy device 230 includes a re-encryption unit 231 instead of the re-encryption unit 201 with respect to the proxy device 200 according to the first embodiment of the present invention, and further includes a proxy key holding unit 232. The point to prepare is different. Here, the proxy key holding unit 232 is configured by the storage device 2004.
 プロキシ鍵保持部232は、プロキシ公開鍵およびプロキシ秘密鍵を記憶している。プロキシ公開鍵およびプロキシ秘密鍵は、準同型性を有する公開暗号化方式において用いられる公開鍵および秘密鍵である。このプロキシ公開鍵は、他の装置が取得できるように保持される。また、プロキシ秘密鍵は、他の装置が取得できないよう保持されている。 The proxy key holding unit 232 stores a proxy public key and a proxy secret key. The proxy public key and the proxy secret key are a public key and a secret key used in a public encryption system having homomorphism. This proxy public key is held so that other devices can obtain it. Also, the proxy secret key is held so that other devices cannot obtain it.
 再暗号化部231は、N個の鍵生成装置130によって生成されたN個のプロキシ鍵に含まれるN個の乱数暗号化情報に基づいて、統合用秘密鍵暗号化情報を生成する。ここで、N個の各乱数暗号化情報は、各鍵生成装置130によって生成された乱数が全体公開鍵によって暗号化された情報である。そこで、例えば、再暗号化部231は、N個の各乱数暗号化情報に対して準同型性を利用した演算を施すことにより、各乱数暗号化情報を復号することなく、これらの乱数に基づき生成されうる統合用秘密鍵に復号可能な統合用秘密鍵暗号化情報を得ることができる。 The re-encryption unit 231 generates the integration secret key encryption information based on the N random number encryption information included in the N proxy keys generated by the N key generation devices 130. Here, each of the N pieces of random number encryption information is information obtained by encrypting the random number generated by each key generation device 130 with the entire public key. Therefore, for example, the re-encryption unit 231 performs an operation using homomorphism on each of the N pieces of random number encryption information, and based on these random numbers without decrypting each random number encryption information. It is possible to obtain integration secret key encryption information that can be decrypted into an integration secret key that can be generated.
 また、再暗号化部231は、統合用変換鍵を用いて、暗号化データを、統合用再暗号化データに変換する。その統合用変換鍵は、再暗号化部231が含まれるプロキシ装置230に関連付けられた鍵生成装置130によって生成されたプロキシ鍵に含まれる統合用変換鍵である。また、暗号化データは、その鍵生成装置130により公開される公開鍵によって暗号化された暗号化データである。プロキシ鍵に前述の統合用変換鍵暗号化情報が含まれる場合、再暗号化部231は、プロキシ鍵保持部232に保持されるプロキシ秘密鍵を用いて統合用変換鍵暗号化情報を復号することにより、統合用変換鍵を取得すればよい。そして、再暗号化部231は、この統合用再暗号化データと、前述の統合用秘密鍵暗号化情報とを含む情報を、再暗号化データとして出力する。 In addition, the re-encryption unit 231 converts the encrypted data into the re-encrypted data for integration using the conversion key for integration. The integration conversion key is an integration conversion key included in the proxy key generated by the key generation device 130 associated with the proxy device 230 in which the re-encryption unit 231 is included. The encrypted data is encrypted data that is encrypted with a public key that is disclosed by the key generation device 130. When the proxy key includes the above-described integration conversion key encryption information, the re-encryption unit 231 uses the proxy secret key held in the proxy key holding unit 232 to decrypt the integration conversion key encryption information. Thus, the conversion key for integration may be acquired. Then, the re-encryption unit 231 outputs information including the integration re-encryption data and the above-described integration secret key encryption information as re-encryption data.
 次に、暗号化統計データ生成装置330の機能ブロックについて説明する。図11において、暗号化統計データ生成装置330は、本発明の第1の実施の形態における暗号化統計データ生成装置300に対して、暗号化統計データ生成部301に替えて暗号化統計データ生成部331を備える点が異なる。 Next, functional blocks of the encrypted statistical data generation apparatus 330 will be described. In FIG. 11, the encrypted statistical data generation device 330 is different from the encrypted statistical data generation device 300 according to the first embodiment of the present invention in place of the encrypted statistical data generation unit 301. The difference is that 331 is provided.
 暗号化統計データ生成部331は、プロキシ装置230から出力される再暗号化データに含まれる統合用再暗号化データに対して、準同型性を利用した演算を施す。そして、暗号化統計データ生成部331は、その演算結果である統合用再暗号化データ演算結果と、再暗号化データに含まれる統合用秘密鍵暗号化情報とを含む情報を、暗号化統計データとして生成する。このような暗号化統計データに含まれる統合用秘密鍵暗号化情報は、1つ以上の分散復号用秘密鍵を用いて分散復号されることにより統合用秘密鍵に復号可能である。また、このような暗号化統計データに含まれる統合用再暗号化データ演算結果は、そのような統合用秘密鍵により統計情報に復号可能である。したがって、このような暗号化統計データは、1つ以上の分散復号用秘密鍵を用いて統計情報に復号可能であるといえる。 The encrypted statistical data generation unit 331 performs an operation using homomorphism on the re-encrypted data for integration included in the re-encrypted data output from the proxy device 230. Then, the encrypted statistical data generation unit 331 converts the information including the integrated re-encrypted data calculation result, which is the calculation result, and the integrated private key encryption information included in the re-encrypted data, into the encrypted statistical data. Generate as The integration secret key encryption information included in such encrypted statistical data can be decrypted into the integration secret key by being distributed and decrypted using one or more distributed decryption secret keys. In addition, the integration re-encrypted data calculation result included in such encrypted statistical data can be decrypted into statistical information by such an integration secret key. Therefore, it can be said that such encrypted statistical data can be decrypted into statistical information using one or more distributed decryption secret keys.
 次に、分散復号装置430の各機能ブロックについて説明する。図11において、分散復号装置430は、本発明の第2の実施の形態における分散復号装置400に対して、分散復号部402に替えて分散復号部432を備える点が異なる。 Next, each functional block of the distributed decoding device 430 will be described. In FIG. 11, the distributed decoding device 430 is different from the distributed decoding device 400 according to the second embodiment of the present invention in that a distributed decoding unit 432 is provided instead of the distributed decoding unit 402.
 分散復号部432は、暗号化統計データ記憶装置900に記憶される暗号化統計データに含まれる統合用秘密鍵暗号化情報に対して、自装置の分散復号用鍵保持部401に保持される分散復号用秘密鍵を用いて部分復号を行うことにより、部分復号結果を生成する。 The distributed decryption unit 432 distributes the private key encryption information for integration included in the encrypted statistical data stored in the encrypted statistical data storage device 900 and held in the distributed decryption key holding unit 401 of the own device. A partial decryption result is generated by performing partial decryption using the decryption secret key.
 次に、統計情報復号装置530の機能ブロックについて説明する。図11において、統計情報復号装置530は、本発明の第2の実施の形態における統計情報復号装置500に対して、統計情報復号部501に替えて統計情報復号部531を備える点が異なる。 Next, functional blocks of the statistical information decoding device 530 will be described. In FIG. 11, the statistical information decoding device 530 is different from the statistical information decoding device 500 in the second embodiment of the present invention in that a statistical information decoding unit 531 is provided instead of the statistical information decoding unit 501.
 統計情報復号部531は、L個の分散復号装置430から出力されるL個の部分復号結果に基づいて、暗号化統計データに含まれる統合用秘密鍵暗号化情報の完全な復号結果として統合用秘密鍵を取得する。そして、統計情報復号部531は、取得した統合用秘密鍵を用いて、暗号化統計データに含まれる統合用再暗号化データ演算結果を復号する。これにより、統計情報復号部531は、暗号化データ記憶装置800に記憶されている暗号化データが暗号化される前のデータに関する統計情報を取得することになる。 Based on the L partial decryption results output from the L distributed decryption devices 430, the statistical information decryption unit 531 is used for integration as a complete decryption result of the integration secret key encryption information included in the encrypted statistical data. Obtain a secret key. Then, the statistical information decrypting unit 531 decrypts the integration re-encrypted data calculation result included in the encrypted statistical data, using the acquired integration secret key. As a result, the statistical information decryption unit 531 acquires statistical information regarding data before the encrypted data stored in the encrypted data storage device 800 is encrypted.
 以上のように構成された暗号化統計処理システム3および復号システム4の動作について、図面を参照して説明する。ここでは、本実施の形態においてエルガマル暗号方式を適用した場合の例を中心に動作の説明を行う。 Operations of the encrypted statistical processing system 3 and the decryption system 4 configured as described above will be described with reference to the drawings. Here, the operation will be described focusing on an example in which the El Gamal encryption method is applied in the present embodiment.
 初めに、本実施の形態で用いるエルガマル暗号方式について説明する。エルガマル暗号は鍵生成、暗号化、および、復号の3つの処理からなる公開鍵暗号方式である。以降、簡単のため、整数をpで割った余りの集合をZ_pと記載する。 First, the El Gamal encryption method used in this embodiment will be described. The El Gamal cipher is a public key cryptosystem consisting of three processes: key generation, encryption, and decryption. Hereinafter, for the sake of simplicity, the remainder set obtained by dividing the integer by p is referred to as Z_p.
 <鍵生成>エルガマル暗号の鍵生成のアルゴリズムは、セキュリティパラメータkを入力として、公開鍵(p,g,y)、秘密鍵(x)を出力する確率的アルゴリズムである。その鍵生成は、以下の通り行われる。 <Key generation> The key generation algorithm of the El Gamal encryption is a stochastic algorithm that outputs a public key (p, g, y) and a secret key (x) with the security parameter k as an input. The key generation is performed as follows.
 1:k ビットの素数 p を生成する。 1: Generate a prime number p of k bits.
 2:Z_p の生成元 g をランダムに生成する。 2: Generate Z_p 生成 generation source g randomly.
 3:Z_p からランダムに x を選び、y=g^x を計算する。 3: Select x randomly from Z_p and calculate y = g ^ x.
 4:(p, g, y)を公開鍵、xを秘密鍵として出力する。 4: Output (p, g, y) as public key and x as secret key.
 <暗号化>エルガマル暗号の暗号化のアルゴリズムは、メッセージM∈Z_pおよび公開鍵(p,g,y)を入力として、暗号文C=(c_1, c_2)を出力する確率的アルゴリズムである。その暗号化は、以下の通り行われる。 <Encryption> The encryption algorithm of the El Gamal encryption is a probabilistic algorithm that outputs a ciphertext C = (c_1, c_2) with the message MεZ_p and the public key (p, g, y) as inputs. The encryption is performed as follows.
 1:Z_pからランダムにrを選ぶ。 1: Select r at random from Z_p.
 2:c_1=y^r, c_2=g^M・g^rを計算する。ここで、“・”は、群上で定義された掛け算を表す演算子である。 2: Calculate c_1 = y ^ r, c_2 = g ^ M · g ^ r. Here, “·” is an operator representing multiplication defined on the group.
 3:C=(c_1, c_2)を出力する。 3: Output C = (c_1, c_2).
 <復号>エルガマル暗号の復号のアルゴリズムは、暗号文C=(c_1, c_2)および秘密鍵xを入力として、平文Mを出力する決定的アルゴリズムである。その復号は、以下の通り行われる。 <Decryption> The decryption algorithm of the El Gamal cipher is a definitive algorithm that outputs the plaintext M with the ciphertext C = (c_1, c_2) and the secret key x as inputs. The decoding is performed as follows.
 1:P=c_2/(c_1)^{1/x} を計算する。 1: Calculate P = c_2 / (c_1) ^ {1 / x} 1 /.
 2:g^M=Pを満たす M を見つける。 2: Find 見 つ け る M that satisfies g ^ M = P.
 3:Mを出力する。 3: Outputs M.
 このようなエルガマル暗号は、プロキシ再暗号化機能および加法準同型性を有するために、一般的に広く知られたエルガマル暗号とは異なる。しかし、このようなエルガマル暗号が、通常のエルガマル暗号と同等の安全性を有することを、数学的に証明可能である。以降、このようなエルガマル暗号方式を採用した場合の具体例を中心に、暗号化統計処理システム3および復号システム4の動作について説明する。 Such an El Gamal cipher has a proxy re-encryption function and an additive homomorphism, and therefore is different from the widely known El Gamal cipher. However, it can be mathematically proved that such an Elgamal cipher has the same security as a normal Elgamal cipher. Hereinafter, operations of the encrypted statistical processing system 3 and the decryption system 4 will be described focusing on a specific example in the case where such an El Gamal encryption method is adopted.
 なお、以下の動作の説明において、N個の各鍵生成装置130_iの鍵保持部101には、互いに異なる公開鍵spk_i=(p,g,y_i)および秘密鍵ssk_i=(x_i)が既に記憶されている。 In the following description of the operation, different public keys spk_i = (p, g, y_i) and secret key ssk_i = (x_i) are already stored in the key holding unit 101 of each of the N key generation devices 130_i. ing.
 ただし、各公開鍵spk_iの生成に用いられた素数pおよびZ_p の生成元gは、共通である。例えば、鍵生成装置130_iは、共通のpおよびgを用いて、上述したエルガマル暗号の鍵生成処理を実行することにより、公開鍵spk_i=(p,g,y_i)および秘密鍵ssk_i=(x_i)を生成してもよい。そして、鍵生成装置130_iは、生成された公開鍵spk_iと秘密鍵ssk_iを、鍵保持部101に保持させておいてもよい。そして、公開鍵spk_iは、公開され、外部から取得可能である。 However, the generation source g of the prime numbers p and Z_p used to generate each public key spk_i is common. For example, the public key spk_i = (p, g, y_i) and the private key ssk_i = (x_i) are obtained by executing the above-described El Gamal encryption key generation process using the common p and g. May be generated. The key generation device 130_i may hold the generated public key spk_i and secret key ssk_i in the key holding unit 101. The public key spk_i is made public and can be acquired from the outside.
 また、以下の動作の説明において、N個の各プロキシ装置230_iのプロキシ鍵保持部232には、プロキシ公開鍵ppk_i=(p,g,y_{p,i})およびプロキシ秘密鍵psk_i=(x_{p,i})が既に記憶されている。 Further, in the following description of the operation, the proxy public key ppk_i = (p, g, y_ {p, i}) and the proxy secret key psk_i = (x_) are stored in the proxy key holding unit 232 of each of the N proxy devices 230_i. {p, i}) is already stored.
 ただし、各プロキシ公開鍵ppk_iの生成には、上述の各公開鍵spk_iの生成に用いられた共通の素数pおよびZ_p の生成元gと同一のものが用いられている。例えば、プロキシ装置230_iは、このような共通のpおよびgを用いて、上述したエルガマル暗号の鍵生成処理を実行することにより、プロキシ公開鍵ppk_i=(p,g,y_{p,i})およびプロキシ秘密鍵psk_i=(x_{p,i})を生成してもよい。そして、プロキシ装置230_iは、生成されたプロキシ公開鍵ppk_iとプロキシ秘密鍵psk_iを、プロキシ鍵保持部232に保持させておいてもよい。そして、プロキシ公開鍵ppk_iは、公開され、外部から取得可能である。 However, for generation of each proxy public key ppk_i, the same generation source g of the common prime numbers p and Z_p used for generating each of the public keys spk_i described above is used. For example, the proxy device 230_i uses the common p and g to execute the above-described El Gamal encryption key generation process, whereby the proxy public key ppk_i = (p, g, y_ {p, i}) And the proxy secret key psk_i = (x_ {p, i}) may be generated. The proxy device 230_i may hold the generated proxy public key ppk_i and proxy secret key psk_i in the proxy key holding unit 232. The proxy public key ppk_i is made public and can be acquired from the outside.
 また、以下の動作の説明において、L個の各分散復号装置430_iの分散復号用鍵保持部401には、分散復号用公開鍵dpk_i=(p,g,y_{d,i})および分散復号用秘密鍵dsk_i=(x_{d,i})が既に記憶されている。 In the following description of the operation, the distributed decryption key holding unit 401 of each of the L distributed decryption devices 430_i includes the distributed decryption public key dpk_i = (p, g, y_ {d, i}) and the distributed decryption. Private key dsk_i = (x_ {d, i}) is already stored.
 ただし、各分散公開鍵dpk_iの生成には、上述の各公開鍵spk_iの生成に用いられた共通の素数pおよびZ_p の生成元gと同一のものが用いられている。例えば、分散復号装置430_iは、このような共通のpおよびgを用いて、上述したエルガマル暗号の鍵生成処理を実行することにより、分散復号用公開鍵dpk_i=(p,g,y_{d,i})および分散復号用秘密鍵dsk_i=(x_{d,i})を生成してもよい。そして、分散復号装置430_iは、生成された分散復号用公開鍵dpk_iと分散復号用秘密dsk_i鍵を、分散復号用鍵保持部401に保持させておいてもよい。そして、分散復号用公開鍵dpk_iは、公開され、外部から取得可能である。 However, for the generation of each distributed public key dpk_i, the same generators g as the common prime numbers p and Z_p used for generating each public key spk_i described above are used. For example, the distributed decryption device 430_i uses the common p and g to execute the above-described El Gamal encryption key generation process, thereby performing the distributed decryption public key dpk_i = (p, g, y_ {d, i}) and the secret key for distributed decryption dsk_i = (x_ {d, i}) may be generated. The distributed decryption device 430_i may hold the generated distributed decryption public key dpk_i and the distributed decryption secret dsk_i key in the distributed decryption key holding unit 401. The distributed decryption public key dpk_i is made public and can be acquired from the outside.
 また、以下の動作の説明において、N個の暗号化データ記憶装置800_iには、それぞれ平文M_{i,j} ( j = 1 ~ n_i ) が公開鍵spk_iによって暗号化された暗号化データの集合 { ENC(spk_i, M_{i,j}) }が既に記憶されている。ただし、暗号化データ記憶装置800_iに記憶された暗号化データの数はn_i個である。なお、このような暗号化データは、データ登録装置700によって、公開鍵spk_iおよび登録したいデータM_{i,j}を入力として、上述のエルガマル暗号の暗号化処理が実行されることにより、生成される。 In the following description of the operation, the N encrypted data storage devices 800_i each include a set of encrypted data in which plaintext M_ {i, j} j (j = 1 to n_i) is encrypted with the public key spk_i. {ENC (spk_i, M_ {i, j})} is already stored. However, the number of encrypted data stored in the encrypted data storage device 800_i is n_i. Note that such encrypted data is generated by the data registration apparatus 700 by executing the encryption process of the above-described El Gamal encryption with the public key spk_i and the data M_ {i, j} to be registered as inputs. The
 まず、全体公開鍵の生成動作について説明する。図12は、全体公開鍵の生成動作を表す図である。ここでは、分散復号装置430_iが、全体公開鍵を生成し、公開するものとして説明を行う。 First, the overall public key generation operation will be described. FIG. 12 is a diagram illustrating the generation operation of the entire public key. Here, the description will be made assuming that the distributed decryption device 430_i generates and publishes the entire public key.
 図12では、まず、分散復号装置430_iは、他の分散復号装置430_iと通信することにより、分散復号用公開鍵dpk_1~dpk_Nを取得する(ステップS101)。 In FIG. 12, first, the distributed decryption device 430_i acquires the distributed decryption public keys dpk_1 to dpk_N by communicating with the other distributed decryption devices 430_i (step S101).
 次に、分散復号装置430_iは、N個の分散復号用公開鍵dpk_1~dpk_Nに基づいて、全体公開鍵gpkを生成する。そして、分散復号装置430_iは、生成された全体公開鍵gpkを公開する(ステップS102)。 Next, the distributed decryption device 430_i generates the entire public key gpk based on the N distributed decryption public keys dpk_1 to dpk_N. Then, the distributed decryption device 430_i publishes the generated entire public key gpk (step S102).
 具体的には、分散復号装置430_iは、y_{d}=y_{d,1}(・)…(・)y_{d,N} を計算する。ここで、“(・)”は、二項演算子であり、暗号化アルゴリズムENCがその演算に関して準同型性を有する二項演算子を表す。一般に、演算子“(・)”は、ENCの暗号に応じて定まる。そして、分散復号装置430_iは、(p,g,y_{d})を全体公開鍵gpkとして公開する。 Specifically, the distributed decoding device 430_i calculates y_ {d} = y_ {d, 1} (•)... (•) y_ {d, N}. Here, “(•)” is a binary operator, and the encryption algorithm ENC represents a binary operator having homomorphism with respect to the operation. In general, the operator “(•)” is determined according to the encryption of ENC. Then, the distributed decryption device 430_i publishes (p, g, y_ {d}) as the entire public key gpk.
 以上で、分散復号装置430_iは、全体公開鍵gpkの生成動作を終了する。なお、このような全体公開鍵gpkの生成動作は、L個全ての分散復号装置430によって実行される必要はない。全体公開鍵gpkの生成動作は、少なくとも1つの分散復号装置430によって実行されればよい。あるいは、鍵生成装置130、暗号化統計データ生成装置330、統計情報復号装置530等の装置が、全体公開鍵gpkの生成処理を行ってもよい。 Thus, the distributed decryption device 430_i ends the operation of generating the entire public key gpk. Note that such an operation of generating the entire public key gpk does not need to be executed by all L distributed decryption devices 430. The generation operation of the entire public key gpk may be executed by at least one distributed decryption device 430. Alternatively, devices such as the key generation device 130, the encrypted statistical data generation device 330, and the statistical information decryption device 530 may perform the generation process of the entire public key gpk.
 次に、暗号化統計処理システム3のプロキシ鍵生成動作について説明する。図13は、暗号化統計処理システム3のプロキシ鍵生成動作を表す図である。 Next, the proxy key generation operation of the encrypted statistical processing system 3 will be described. FIG. 13 is a diagram illustrating the proxy key generation operation of the encrypted statistical processing system 3.
 図13では、まず、鍵生成装置130_iの全体公開鍵取得部102は、全体公開鍵gpkを取得する(ステップS201)。ここでは、全体公開鍵取得部102は、図12に示す動作を実行した装置(例えば、分散復号装置430_i)により公開されている全体公開鍵gpkを取得すればよい。 In FIG. 13, first, the entire public key acquisition unit 102 of the key generation device 130_i acquires the entire public key gpk (step S201). Here, the entire public key acquisition unit 102 may acquire the entire public key gpk published by the device (for example, the distributed decryption device 430_i) that has performed the operation illustrated in FIG.
 次に、プロキシ鍵生成部133は、そのプロキシ鍵生成部133が含まれる鍵生成装置130_iの鍵保持部101に保持されている秘密鍵ssk_i=(x_i)を取得する(ステップS202)。 Next, the proxy key generation unit 133 acquires the secret key ssk_i = (x_i) held in the key holding unit 101 of the key generation device 130_i including the proxy key generation unit 133 (Step S202).
 次に、プロキシ鍵生成部133は、乱数h_iを生成する(ステップS203)。具体的には、プロキシ鍵生成部133は、Z_pからランダムにh_iを選択する。 Next, the proxy key generation unit 133 generates a random number h_i (step S203). Specifically, the proxy key generation unit 133 selects h_i randomly from Z_p.
 次に、プロキシ鍵生成部133は、生成した乱数h_iをプロキシ公開鍵ppk_iで暗号化した情報と、他の鍵生成装置130_j(j=1~N、ただし、j≠i)によって生成された乱数h_jが同一のプロキシ公開鍵ppk_iで暗号化された情報とを取得する(ステップS204)。 Next, the proxy key generation unit 133 uses the information obtained by encrypting the generated random number h_i with the proxy public key ppk_i and the random number generated by another key generation device 130_j (j = 1 to N, where j ≠ i). Information obtained by encrypting h_j with the same proxy public key ppk_i is acquired (step S204).
 具体的には、鍵生成装置130_iのプロキシ鍵生成部133は、次のように動作することにより、これらのN個の乱数がプロキシ公開鍵ppk_iで暗号化された情報を取得すればよい。 Specifically, the proxy key generation unit 133 of the key generation device 130_i may acquire information obtained by encrypting these N random numbers with the proxy public key ppk_i by operating as follows.
 ・鍵生成装置130_iのプロキシ鍵生成部133は、プロキシ装置230_1~230_Nによって公開されているプロキシ公開鍵ppk_1~ppk_Nをそれぞれ用いて乱数h_i を暗号化し、ENC(ppk_1, h_i) ,…,ENC(ppk_N, h_i)を生成する。 The proxy key generation unit 133 of the key generation device 130_i encrypts the random number h_i using the proxy public keys ppk_1 to ppk_N disclosed by the proxy devices 230_1 to 230_N, respectively, and ENC (ppk_1, h_i), ..., ENC ( ppk_N, h_i) is generated.
 ・次に、鍵生成装置130_iのプロキシ鍵生成部133は、生成したENC(ppk_j, h_i) (j=1~N、ただし、j≠i)を、それぞれ他の鍵生成装置130_jに送信する。 Next, the proxy key generation unit 133 of the key generation device 130_i transmits the generated ENC (ppk_j, h_i) (j = 1 to N, where j ≠ i) to each of the other key generation devices 130_j.
 ・次に、鍵生成装置130_iのプロキシ鍵生成部133は、他の鍵生成装置130_jから、乱数h_jがプロキシ公開鍵ppk_iで暗号化されたENC(ppk_i, h_j)をそれぞれ受信する。 Next, the proxy key generation unit 133 of the key generation device 130_i receives ENC (ppk_i, h_j) in which the random number h_j is encrypted with the proxy public key ppk_i from each of the other key generation devices 130_j.
 このようにして、ステップS204において、鍵生成装置130_iのプロキシ鍵生成部133は、乱数h_1~h_Nが、同一のプロキシ公開鍵ppk_iで暗号化された情報ENC(ppk_i, h_1),…,ENC(ppk_i,h_N)を取得する。 In this way, in step S204, the proxy key generation unit 133 of the key generation device 130_i uses the information ENC (ppk_i, h_1),..., ENC () in which the random numbers h_1 to h_N are encrypted with the same proxy public key ppk_i. ppk_i, h_N) is acquired.
 次に、鍵生成装置130_iのプロキシ鍵生成部133は、乱数h_1~h_Nが同一のプロキシ公開鍵ppk_iで暗号化された情報と、ステップS202で取得した自装置の秘密鍵ssk_iに基づいて、統合用変換鍵暗号化情報ENC(ppk_i,rk-1_i)を生成する(ステップS205)。ここで、rk-1_iは、統合用変換鍵を表す。 Next, the proxy key generation unit 133 of the key generation device 130_i integrates the random numbers h_1 to h_N based on the information encrypted with the same proxy public key ppk_i and the private key ssk_i of the own device acquired in step S202. Conversion key encryption information ENC (ppk_i, rk-1_i) is generated (step S205). Here, rk-1_i represents an integration conversion key.
 ここで、前述のように、統合用変換鍵暗号化情報は、統合用変換鍵rk-1_iが、プロキシ公開鍵ppk_iにより暗号化された情報である。また、前述のように、統合用変換鍵rk-1_iは、公開鍵spk_iを用いて暗号化された暗号化データを、統合用秘密鍵により復号可能な統合用再暗号化データに変換するための情報である。 Here, as described above, the integration conversion key encryption information is information obtained by encrypting the integration conversion key rk-1_i with the proxy public key ppk_i. Further, as described above, the integration conversion key rk-1_i is used to convert encrypted data encrypted using the public key spk_i into integration re-encrypted data that can be decrypted with the integration secret key. Information.
 具体的には、鍵生成装置130_iは、次のように動作することにより、統合用変換鍵暗号化情報を生成する。ここでは、統合用変換鍵暗号化情報は、ENC(ppk_i,h_j)=(c_{1,j}, c_{2,j})と記述される。 Specifically, the key generation device 130_i generates the conversion key encryption information for integration by operating as follows. Here, the integration conversion key encryption information is described as ENC (ppk_i, h_j) = (c_ {1, j}, c_ {2, j}).
 ・まず、鍵生成装置130_iのプロキシ鍵生成部133は、C_{1,i}=c_{1,1}(・)…(・)c_{1,N}、C_{2,i}=c_{2,1}(・)…(・)c_{2,N}を計算する。 First, the proxy key generation unit 133 of the key generation device 130_i performs C_ {1, i} = c_ {1,1} (•) ... (•) c_ {1, N}, C_ {2, i} = c_ {2,1} (•)… (•) c_ {2, N} is calculated.
 ・次に、鍵生成装置130_iのプロキシ鍵生成部133は、C’_{1,i}=C_{1,i}^{1/ssk_i}, C’_{2,i}=C_{2,i}^{1/ssk_i} を計算する。 Next, the proxy key generation unit 133 of the key generation device 130_i performs C ′ _ {1, i} = C_ {1, i} ^ {1 / ssk_i}, C ′ _ {2, i} = C_ {2 , i} ^ {1 / ssk_i}.
 ・次に、鍵生成装置130_iのプロキシ鍵生成部133は、(C’_{1,i}, C’_{2,i})を統合用変換鍵暗号化情報ENC(ppk_i,rk-1_i)とする。 Next, the proxy key generation unit 133 of the key generation device 130_i converts (C ′ _ {1, i}, C ′ _ {2, i}) into the conversion key encryption information ENC (ppk_i, rk-1_i for integration). ).
 このようにして、ステップS205において、鍵生成装置130_iのプロキシ鍵生成部133は、統合用変換鍵暗号化情報ENC(ppk_i,rk-1_i)を生成する。 In this way, in step S205, the proxy key generation unit 133 of the key generation device 130_i generates the conversion key encryption information ENC (ppk_i, rk-1_i) for integration.
 次に、鍵生成装置130_iのプロキシ鍵生成部133は、ステップS205で生成した統合用変換鍵暗号化情報ENC(ppk_i,rk-1_i)を、プロキシ鍵の一部として、プロキシ装置230_iに送信する(ステップS206)。 Next, the proxy key generation unit 133 of the key generation device 130_i transmits the integration conversion key encryption information ENC (ppk_i, rk-1_i) generated in step S205 to the proxy device 230_i as a part of the proxy key. (Step S206).
 次に、鍵生成装置130_iのプロキシ鍵生成部133は、ステップS203で生成した乱数h_iに対して、全体公開鍵gpkを用いてエルガマル暗号の暗号化処理を実行することにより、乱数暗号化情報ENC(gpk, h_i)を計算する(ステップS207)。 Next, the proxy key generation unit 133 of the key generation device 130_i performs an Elgamal encryption encryption process on the random number h_i generated in step S203 using the entire public key gpk, thereby generating the random number encryption information ENC. (gpk, h_i) is calculated (step S207).
 次に、鍵生成装置130_iのプロキシ鍵生成部133は、ステップS207で生成した乱数暗号化情報ENC(gpk, h_i)を、プロキシ鍵の一部として、プロキシ装置230_1~プロキシ装置230_Nにそれぞれ送信する(ステップS208)。 Next, the proxy key generation unit 133 of the key generation device 130_i transmits the random number encryption information ENC (gpk, h_i) generated in step S207 to each of the proxy devices 230_1 to 230_N as a part of the proxy key. (Step S208).
 次に、プロキシ装置230_iの再暗号化部231は、ステップS206で鍵生成装置130_iから送信された統合用変換鍵暗号化情報ENC(ppk_i,rk-1_i)に対して、プロキシ秘密鍵psk_iを用いてエルガマル暗号の復号処理を実行する。このことにより、再暗号化部231は、統合用変換鍵rk-1_iを得る(ステップS209)。 Next, the re-encryption unit 231 of the proxy device 230_i uses the proxy secret key psk_i for the conversion key encryption information ENC (ppk_i, rk-1_i) for integration transmitted from the key generation device 130_i in step S206. The Elgamal encryption is decrypted. As a result, the re-encryption unit 231 obtains the integration conversion key rk-1_i (step S209).
 次に、プロキシ装置230_iの再暗号化部231は、ステップS208で鍵生成装置130_1~鍵生成装置130_Nからそれぞれ送信された乱数暗号化情報ENC(gpk,h_1),…,ENC(gpk, h_N)に対して、準同型性を利用した演算を施す。このことにより、再暗号化部231は、統合用秘密鍵暗号化情報を生成する(ステップS210)。 Next, the re-encryption unit 231 of the proxy device 230_i transmits the random number encryption information ENC (gpk, h_1),..., ENC (gpk, h_N) transmitted from the key generation device 130_1 to the key generation device 130_N in step S208, respectively. Is subjected to computation using homomorphism. As a result, the re-encryption unit 231 generates integration secret key encryption information (step S210).
 具体的には、プロキシ装置230_iの再暗号化部231は、ENC(gpk,h_i)=(c_{1,i}, c_{2,i})として、以下の通り動作する。 Specifically, the re-encryption unit 231 of the proxy device 230_i operates as follows with ENC (gpk, h_i) = (c_ {1, i}, c_ {2, i}).
 ・まず、プロキシ装置230_iの再暗号化部231は、C_1=c_{1,1}(・)…(・)c_{1,N}、C_2=c_{2,1}(・)…(・)c_{2,N}を計算する。 First, the re-encryption unit 231 of the proxy device 230_i performs C_1 = c_ {1,1} (•) ... (•) c_ {1, N}, C_2 = c_ {2,1} (•). ) Calculate c_ {2, N}.
 ・次に、プロキシ装置230_iの再暗号化部231は、(C_1, C_2) を、統合用秘密鍵暗号化情報ENC(gpk, H)とする。ここで、Hは、統合用秘密鍵を表す。 Next, the re-encryption unit 231 of the proxy device 230_i sets (C_1, C_2) と す る as the integration private key encryption information ENC (gpk, H). Here, H represents an integration secret key.
 以上で、暗号化統計処理システム3はプロキシ鍵生成動作を終了する。 Thus, the encrypted statistical processing system 3 ends the proxy key generation operation.
 なお、プロキシ鍵生成動作のステップS209で得られた統合用変換鍵rk-1_iおよびステップS210で得られた統合用秘密鍵暗号化情報ENC(gpk,H)は、次に説明する暗号化統計データ生成動作において用いられる。 Note that the integration conversion key rk-1_i obtained in step S209 of the proxy key generation operation and the integration secret key encryption information ENC (gpk, H) obtained in step S210 are encrypted statistical data described below. Used in the generation operation.
 次に、暗号化統計処理システム3の暗号化統計データ生成動作について説明する。図14は、暗号化統計処理システム3の暗号化統計データ生成動作を表す図である。 Next, the encrypted statistical data generation operation of the encrypted statistical processing system 3 will be described. FIG. 14 is a diagram illustrating the encrypted statistical data generation operation of the encrypted statistical processing system 3.
 図14では、まず、プロキシ装置230_iの再暗号化部231は、図13のプロキシ鍵生成動作により得られたプロキシ鍵の統合用変換鍵rk-1_iおよび統合用秘密鍵暗号化情報ENC(gpk,H)を取得する(ステップS301)。 In FIG. 14, first, the re-encryption unit 231 of the proxy device 230_i performs the proxy key integration conversion key rk-1_i obtained by the proxy key generation operation of FIG. 13 and the integration secret key encryption information ENC (gpk, H) is acquired (step S301).
 次に、プロキシ装置230_iの再暗号化部231は、公開鍵spk_iで暗号化された暗号化データの集合{ENC(spk_i, M_{i,j})}( j = 1 ~ n_i )を、暗号化データ記憶装置800_iから取得する(ステップS302)。 Next, the re-encryption unit 231 of the proxy device 230_i encrypts a set of encrypted data {ENC (spk_i, M_ {i, j})} (j = 1 to n_i) encrypted with the public key spk_i. Obtained from the data storage device 800_i (step S302).
 次に、プロキシ装置230_iの再暗号化部231は、統合用変換鍵rk-1_iを用いて、暗号化データの集合{ENC(spk_i, M_{i,j})}を、統合用再暗号化データの集合に変換する。 Next, the re-encryption unit 231 of the proxy device 230_i re-encrypts the set {ENC (spk_i, _M_ {i, j})} of the encrypted data using the integration conversion key rk-1_i. Convert to a set of data.
 具体的には、プロキシ装置230_iの再暗号化部231は、各暗号化データENC(spk_i, M_{i,j})=(c_1, c_2)=({y_i}^r, g^{M_{i,j}}g^{r})に対して、以下の通り再暗号化を実行する。 Specifically, the re-encryption unit 231 of the proxy device 230_i sets each encrypted data ENC (spk_i, M_ {i, j}) = (c_1, c_2) = ({y_i} ^ r, g ^ {M_ { i, j}} g ^ {r}) is re-encrypted as follows.
 ・まず、 プロキシ装置230_iの再暗号化部231は、c_1’=c_1^{rk-1_i}を計算する。 First, the re-encryption unit 231 of the proxy device 230_i calculates c_1 ′ = c_1 ^ {rk-1_i}.
 ・次に、プロキシ装置230_iの再暗号化部231は、(c_1’, c_2)を、統合用再暗号化データENC(gH , M_{i,j}) とする。ここで、gHは、前述の統合用秘密鍵Hに対応する統合用公開鍵を表す。すなわち、このようにして計算された(c_1’, c_2)は、統合用秘密鍵Hを用いて平文M_{i,j}に復号可能な統合用再暗号化データである。 Next, the re-encryption unit 231 of the proxy device 230_i sets (c_1 ′, c_2) as integration re-encrypted data ENC (gH, M_ {i, j}). Here, gH represents an integration public key corresponding to the integration secret key H described above. That is, (c_1 ′, c_2) calculated in this way is reintegrated data for integration that can be decrypted into plaintext M_ {i, j} using the integration secret key H.
 このようにして、ステップS303において、プロキシ装置230_iの再暗号化部231は、統合用再暗号化データの集合{ENC(gH, M_{i,1}),…,ENC(gH,M_{i,n_i})}を生成する。 In this way, in step S303, the re-encryption unit 231 of the proxy device 230_i sets the reencrypted data for integration {ENC (gH, gM_ {i, 1}),..., ENC (gH, M_ {i , n_i})}.
 次に、プロキシ装置230_iの再暗号化部231は、ステップS303で生成した統合用再暗号化データの集合と、統合用秘密鍵暗号化情報ENC(gpk,H)とを含む情報を、再暗号化データの集合ENC_i(gpk, M)として、暗号化統計データ生成装置330に送信する(ステップS304)。 Next, the re-encryption unit 231 of the proxy device 230_i re-encrypts information including the set of integration re-encrypted data generated in step S303 and the integration secret key encryption information ENC (gpk, H). The encrypted data set ENC_i (gpk, M) is transmitted to the encrypted statistical data generation apparatus 330 (step S304).
 具体的には、プロキシ装置230_iの再暗号化部231は、再暗号化データの集合としてENC_i(gpk,M)={ENC(gH, M_{i,1}),…,ENC(gH,M_{i,n_i}), ENC(gpk, H)}を送信すればよい。すなわち、ステップS303~S304により、プロキシ装置230_iの再暗号化部231は、暗号化データの集合{ENC(spk_i, M_{i,j})}を、再暗号化データの集合ENC_i(gpk,M)に変換したことになる。 Specifically, the re-encryption unit 231 of the proxy device 230_i sets ENC_i (gpk, M) = {ENC (gH, M_ {i, 1}),..., ENC (gH, M_ {i, n_i}), ENC (gpk, H)} may be transmitted. That is, through steps S303 to S304, the re-encryption unit 231 of the proxy device 230_i converts the encrypted data set {ENC (spk_i, M_ {i, j})} into the re-encrypted data set ENC_i (gpk, M ).
 次に、暗号化統計データ生成装置330の暗号化統計データ生成部331は、プロキシ装置230_1~230_NからN個の再暗号化データの集合ENC_1(gpk, M),…,ENC_N(gpk,M)を受信する(ステップS305)。 Next, the encrypted statistical data generation unit 331 of the encrypted statistical data generation apparatus 330 sets N re-encrypted data sets ENC_1 (gpk, M),..., ENC_N (gpk, M) from the proxy devices 230_1 to 230_N. Is received (step S305).
 次に、暗号化統計データ生成部331は、N個の再暗号化データの集合に含まれる統合用再暗号化データ対して、準同型性を利用した演算を施すことにより、統合用再暗号化データ演算結果を生成する(ステップS306)。 Next, the encrypted statistical data generation unit 331 performs integration re-encryption by performing an operation using homomorphism on the integration re-encrypted data included in the set of N re-encrypted data. A data calculation result is generated (step S306).
 具体的には、暗号化統計データ生成部331は、次のように動作してもよい。ただし、ENC_i(gpk,M)に含まれるENC(gH, M_{i,j})を(c_{1,j}, c_{2,j})と記す。 Specifically, the encrypted statistical data generation unit 331 may operate as follows. However, ENC (gH, M_ {i, j}) included in ENC_i (gpk, M) is denoted as (c_ {1, j}, c_ {2, j}).
 ・まず、暗号化統計データ生成部331は、再暗号化データの各集合ENC_i(gpk,M)に対して、C_{1,i}=c_{1,1}(・)…(・)c_{1,n_i}, C_{2,i}=c_{2,1}(・)…(・)c_{2,n_i}を計算する。これにより、N個の部分暗号化統計データENC_i(gH, S_i)=(C_{1,i}, C_{2,i})が得られる。ここで、部分暗号化統計データENC_i(gH, S_i)は、平文M_{i,1}~M_{i,n_i}に関する統計情報を統合用秘密鍵Hによって復号可能な部分的な暗号化統計情報(部分暗号化統計データ)である。 First, the encrypted statistical data generation unit 331 performs C_ {1, i} = c_ {1,1} (•) ... (•) c_ for each set ENC_i (gpk, M) of re-encrypted data. {1, n_i}, C_ {2, i} = c_ {2,1} (•) ... (•) c_ {2, n_i} is calculated. Thus, N pieces of partial encrypted statistical data ENC_i (gH, S_i) = (C_ {1, i}, C_ {2, i}) are obtained. Here, the partial encryption statistical data ENC_i (gH, S_i) is partial encryption statistical information that can decrypt the statistical information about the plaintexts M_ {i, 1} to M_ {i, n_i} with the integration secret key H. (Partially encrypted statistical data).
 ・次に、暗号化統計データ生成部331は、さらに、C_1=C_{1,1}(・)…(・)C_{1,N}、C_2=C_{2,1}(・)…(・)C_{2,N}を計算する。 Next, the encrypted statistical data generation unit 331 further performs C_1 = C_ {1,1} (•) ... (•) C_ {1, N}, C_2 = C_ {2,1} (•) ... (・) Calculate C_ {2, N}.
 ・次に、暗号化統計データ生成部331は、(C_1, C_2)を統合用再暗号化データ演算結果ENC(gH, S)とする。すなわち、統合用再暗号化データ演算結果ENC(gH, S)は、統合用秘密鍵Hを用いて平文M_{1,1}~M_{N,n_N}に関する統計情報に復号可能な情報である。このようにして、ステップS306において、暗号化統計データ生成部331は、統合用再暗号化データ演算結果を生成する。 Next, the encrypted statistical data generation unit 331 sets (C_1, C_2) as the re-encrypted data operation result for integration ENC (gH, S). That is, the integration re-encrypted data operation result ENC (gH, S) is information that can be decrypted into statistical information on plaintext M_ {1,1} to M_ {N, n_N} using the integration secret key H. . In this way, in step S306, the encrypted statistical data generation unit 331 generates a re-encrypted data calculation result for integration.
 次に、暗号化統計データ生成部331は、統合用再暗号化データ演算結果ENC(gH, S)と、統合用秘密鍵暗号化情報ENC(gpk, H)とを含む情報を暗号化統計データとして、暗号化統計データ記憶装置900に記憶させる(ステップS307)。 Next, the encrypted statistical data generation unit 331 converts the information including the integration re-encrypted data calculation result ENC (gH, S) and the integrated secret key encryption information ENC (gpk, H) into the encrypted statistical data. Is stored in the encrypted statistical data storage device 900 (step S307).
 このようにして生成された暗号化統計データには、統合用秘密鍵Hを用いて平文M_{1,1}~M_{N,n_N}に関する統計情報に復号可能な統合用再暗号化データ演算結果と、統合用秘密鍵Hが全体公開鍵gpkで暗号化された統合用秘密鍵暗号化情報とが含まれている。すなわち、このような再暗号化データの集合は、全体公開鍵に対応する1つ以上の分散復号用秘密鍵により分散復号可能なデータであるといえる。 For the encrypted statistical data generated in this way, the re-encrypted data calculation for integration that can be decrypted into the statistical information on plaintext M_ {1,1} to M_ {N, n_N} using the integration secret key H The result and the integration secret key encryption information obtained by encrypting the integration secret key H with the entire public key gpk are included. That is, it can be said that such a set of re-encrypted data is data that can be distributed and decrypted with one or more secret keys for distributed decryption corresponding to the entire public key.
 以上で、暗号化統計処理システム3は暗号化統計データ生成動作を終了する。 Thus, the encrypted statistical processing system 3 ends the encrypted statistical data generation operation.
 次に、復号システム4の復号動作について説明する。図15は、復号システム4の復号動作を表す図である。 Next, the decoding operation of the decoding system 4 will be described. FIG. 15 is a diagram illustrating a decoding operation of the decoding system 4.
 図15では、まず、分散復号装置430_iの分散復号部432は、暗号化統計データ記憶装置900から、暗号化統計データに含まれる統合用秘密鍵暗号化情報ENC(gpk,H)=(C_1, C_2)を受信する(ステップS401)。 In FIG. 15, first, the distributed decryption unit 432 of the distributed decryption device 430 — i receives from the encrypted statistical data storage device 900 the integrated secret key encryption information ENC (gpk, H) = (C_1, C_2) is received (step S401).
 次に、分散復号装置430_iの分散復号部432は、自装置の分散復号用秘密鍵dsk_iを用いて、統合用秘密鍵暗号化情報ENC(gpk,H)を部分復号し、部分復号結果を生成する。 Next, the distributed decryption unit 432 of the distributed decryption device 430_i partially decrypts the integrated secret key encryption information ENC (gpk, H) using the distributed decryption secret key dsk_i of the own device, and generates a partial decryption result To do.
 具体的には、分散復号装置430_iの分散復号部432は、C’_{i,1}=C_1^{1/dsk_i}を計算する。そして、分散復号装置430_iの分散復号部432は、(C’_{i,1}, C_2)を部分復号結果 PRESULT_iとする。 Specifically, the distributed decoding unit 432 of the distributed decoding device 430_i calculates C ′ _ {i, 1} = C_1 ^ {1 / dsk_i}. Then, the distributed decoding unit 432 of the distributed decoding device 430_i sets (C ′ _ {i, 1}, C_2) as the partial decoding result PRESULT_i.
 次に、分散復号装置430_iの分散復号部432は、部分復号結果PRESULT_iを、統計情報復号装置530に送信する(ステップS403)。 Next, the distributed decoding unit 432 of the distributed decoding device 430_i transmits the partial decoding result PRESULT_i to the statistical information decoding device 530 (step S403).
 次に、統計情報復号装置530の統計情報復号部531は、分散復号装置430_1~430_Lから部分復号結果PRESULT_1~PRESULT_Lを受信する(ステップS404)。 Next, the statistical information decoding unit 531 of the statistical information decoding device 530 receives partial decoding results PRESULT_1 to PRESULT_L from the distributed decoding devices 430_1 to 430_L (step S404).
 次に、統計情報復号部531は、L個の部分復号結果PRESULT_1~PRESULT_Lに基づいて、復号結果として統合用秘密鍵Hを得る(ステップS405)。 Next, the statistical information decryption unit 531 obtains the integration secret key H as a decryption result based on the L partial decryption results PRESULT_1 to PRESULT_L (step S405).
 具体的には、統計情報復号部531は、PRESULT_i=(C’_{i,1}, C_2) として、以下の通り動作する。 Specifically, the statistical information decoding unit 531 operates as follows with PRESULT_i = (C ′ _ {i, 1}, C_2).
 ・まず、統計情報復号部531は、 C’_1=C’_{1,1}(・)…(・)C’_{N,1}を計算する。 First, the statistical information decoding unit 531 calculates C′_1 = C ′ _ {1,1} (•)... (•) C ′ _ {N, 1}.
 ・次に、統計情報復号部531は、M’= C_2/C’_1 を計算する。 Next, the statistical information decoding unit 531 calculates M ′ = C_2 / C′_1.
 ・次に、統計情報復号部531は、g^H=M’を満たすHを探索する。得られたHが統合用秘密鍵である。 Next, the statistical information decoding unit 531 searches for H that satisfies g ^ H = M ′. The obtained H is the integration secret key.
 次に、統計情報復号部531は、暗号化統計データ記憶装置900から、暗号化統計データに含まれる統合用再暗号化データ演算結果ENC(gH, S)を受信する(ステップS406)。 Next, the statistical information decryption unit 531 receives the integration re-encrypted data calculation result ENC (gH, S) included in the encrypted statistical data from the encrypted statistical data storage device 900 (step S406).
 次に、統計情報復号部531は、ステップS405で得られた統合用秘密鍵Hを用いて、統合用再暗号化データ演算結果を復号することにより、元のデータに対する統計情報を得る(ステップS407)。 Next, the statistical information decryption unit 531 obtains statistical information for the original data by decrypting the integration re-encrypted data operation result using the integration secret key H obtained in step S405 (step S407). ).
 具体的には、統計情報復号部531は、統合用秘密鍵Hを用いて、統合用再暗号化データ演算結果ENC(gH, S)に対して、エルガマル暗号の復号処理を実行する。得られた平文Sを復号結果として出力する。 Specifically, the statistical information decryption unit 531 executes the Elgamal encryption decryption process on the integration re-encrypted data operation result ENC (gH, S) using the integration secret key H. The obtained plaintext S is output as a decryption result.
 以上で、復号システム4は、復号動作を終了する。 Thus, the decoding system 4 finishes the decoding operation.
 なお、本実施の形態において、暗号化統計データ生成装置330の暗号化統計データ生成部331は、N個の再暗号化データの各集合について部分暗号化統計データを求める。そして、暗号化統計データ生成部331は、求めたN個の部分暗号化統計データに基づいて暗号化統計データを求める。このような部分暗号化統計データを求める処理は、プロキシ装置230の再暗号化部231が行ってもよい。この場合、再暗号化部231は、データ登録装置700によって暗号化データ記憶装置800に新たな暗号化データが登録される度に、再暗号化処理および部分暗号化統計データの生成処理を行っておくようにしてもよい。この場合、例えば、プロキシ装置230は、このような部分暗号化統計データを、暗号化データ記憶装置800に記憶しておく。そして、暗号化統計データ生成装置330の暗号化統計データ生成部331は、これらのN個の部分暗号化統計データから、暗号化統計データを求めるようにしてもよい。あるいは、本実施の形態において、暗号化統計データ生成装置330の暗号化統計データ生成部331は、再暗号化データのN個の集合に含まれる再暗号化データから、部分暗号化統計データを求めることなく、暗号化統計データを求めてもよい。 In this embodiment, the encrypted statistical data generation unit 331 of the encrypted statistical data generation device 330 obtains partial encrypted statistical data for each set of N re-encrypted data. Then, the encrypted statistical data generation unit 331 obtains encrypted statistical data based on the obtained N pieces of partial encrypted statistical data. Such processing for obtaining the partial encrypted statistical data may be performed by the re-encryption unit 231 of the proxy device 230. In this case, the re-encryption unit 231 performs re-encryption processing and partial encryption statistical data generation processing each time new encrypted data is registered in the encrypted data storage device 800 by the data registration device 700. You may make it leave. In this case, for example, the proxy device 230 stores such partially encrypted statistical data in the encrypted data storage device 800. Then, the encrypted statistical data generation unit 331 of the encrypted statistical data generation device 330 may obtain the encrypted statistical data from these N pieces of partial encrypted statistical data. Alternatively, in the present embodiment, the encrypted statistical data generation unit 331 of the encrypted statistical data generation device 330 obtains partial encrypted statistical data from the re-encrypted data included in the N sets of re-encrypted data. Alternatively, the encrypted statistical data may be obtained.
 また、本実施の形態において、全体公開鍵の生成処理を、分散復号装置430が行う例について説明したが、鍵生成装置130が全体公開鍵を生成してもよい。あるいは、本実施の形態の暗号化統計処理システムおよび復号システムの内部または外部の任意の装置が、分散復号装置が公開する分散復号用公開鍵に基づいて全体公開鍵を生成し公開してもよい。 In the present embodiment, the example in which the distributed decryption apparatus 430 performs the generation process of the entire public key has been described. However, the key generation apparatus 130 may generate the entire public key. Alternatively, any device inside or outside the encryption statistical processing system and the decryption system according to the present embodiment may generate and publish the entire public key based on the distributed decryption public key disclosed by the distributed decryption device. .
 また、本実施の形態において、統合用秘密鍵暗号化情報の生成処理を、プロキシ装置が行う例について説明したが、統合用秘密鍵暗号化情報の生成処理は、例えば、暗号化統計データ生成装置が行ってもよい。 Further, in the present embodiment, the example in which the proxy device performs the generation process of the integration secret key encryption information has been described. However, the generation process of the integration secret key encryption information is performed by, for example, the encrypted statistical data generation apparatus. May do.
 また、本実施の形態において、エルガマル暗号を適用する例を中心に説明したが、準同型性および再暗号化機能を有するその他の暗号方式も適用可能である。 In this embodiment, the example in which the El Gamal encryption is applied has been mainly described, but other encryption methods having homomorphism and a re-encryption function are also applicable.
 次に、本発明の第3の実施の形態の効果について述べる。 Next, the effect of the third embodiment of the present invention will be described.
 本発明の第3の実施の形態の暗号化統計処理システムには、より多様な暗号方式において、異なる公開鍵を用いて暗号化された暗号化データに対する暗号化したままの統計処理が可能であるという効果がある。 The encrypted statistical processing system according to the third embodiment of the present invention can perform statistical processing as encrypted on encrypted data encrypted using different public keys in more various encryption methods. There is an effect.
 その理由は、第3の実施の形態の暗号化統計処理システムの各部が以下のように動作するからである。プロキシ鍵生成部が乱数を生成する。プロキシ鍵生成部は、前記公開鍵によって暗号化された暗号化データを、生成した乱数を含む1つ以上の乱数に基づき生成されうる統合用秘密鍵によって復号可能な統合用再暗号化データに変換するための統合用変換鍵を生成する。プロキシ鍵生成部は、生成した統合用変換鍵と、前述の乱数を全体公開鍵により暗号化した乱数暗号化情報とを含む情報を、プロキシ鍵として生成する。そして、再暗号化部が、そのような統合用変換鍵を用いて暗号化データに対する再暗号化を行って統合用再暗号化データを生成する。再暗号化部は、1つ以上の乱数暗号化情報に基づいて、統合用秘密鍵が全体公開鍵で暗号化された情報に相当する統合用秘密鍵暗号化情報を生成する。そして、暗号化統計データ生成部が、1つ以上の異なる公開鍵を用いて暗号化された暗号化データが変換された統合用再暗号化データに対して、準同型性を利用した演算を施す。暗号化統計データ生成部は、その演算結果である統合用再暗号化データ演算結果と、統合用秘密鍵暗号化情報とを含む情報を、暗号化統計データとして生成する。これにより、暗号化統計処理システムが採用する暗号方式の暗号化データから復号システムが採用する暗号方式の暗号化データへの再暗号化が難しい場合にも、以下の効果が得られる。すなわち、異なる公開鍵を用いて暗号化された暗号化データを、同一の統合用秘密鍵を用いて復号可能な統合用再暗号化データに変換することができる。従って、統合用再暗号化データに対して暗号化したまま統計演算を行うことが可能となる。そして、そのようにして得られた統合用再暗号化データ演算結果と、統合用秘密鍵暗号化情報とを含む暗号化統計データは、全体公開鍵で暗号化された情報を復号可能な復号システムにより復号可能である。すなわち、復号システムは、分散復号用秘密鍵を用いて統合用秘密鍵暗号化情報を分散復号することにより統合用秘密鍵を得ることができる。その結果、復号システムは、統合用秘密鍵を用いて統合用再暗号化データ演算結果を復号して統計データを得ることが可能となる。 The reason is that each part of the encrypted statistical processing system according to the third embodiment operates as follows. The proxy key generation unit generates a random number. The proxy key generation unit converts the encrypted data encrypted with the public key into re-encrypted data for integration that can be decrypted with an integration private key that can be generated based on one or more random numbers including the generated random number. To generate a conversion key for integration. The proxy key generation unit generates, as a proxy key, information including the generated conversion key for integration and random number encryption information obtained by encrypting the above random number with the entire public key. Then, the re-encryption unit re-encrypts the encrypted data using such an integration conversion key to generate integration re-encrypted data. The re-encryption unit generates integration secret key encryption information corresponding to information obtained by encrypting the integration secret key with the entire public key based on one or more random number encryption information. Then, the encrypted statistical data generation unit performs an operation using homomorphism on the re-encrypted data for integration in which the encrypted data encrypted using one or more different public keys is converted. . The encrypted statistical data generation unit generates, as encrypted statistical data, information including the integration re-encrypted data calculation result, which is the calculation result, and the integration secret key encryption information. Thus, the following effects can be obtained even when it is difficult to re-encrypt from the encrypted data of the encryption method adopted by the encryption statistical processing system to the encrypted data of the encryption method adopted by the decryption system. That is, encrypted data encrypted using a different public key can be converted into integrated re-encrypted data that can be decrypted using the same integrated private key. Therefore, it is possible to perform statistical calculation while encrypting the re-encrypted data for integration. The encrypted statistical data including the integration re-encrypted data calculation result and the integration secret key encryption information thus obtained is a decryption system capable of decrypting the information encrypted with the entire public key. Can be decrypted. That is, the decryption system can obtain the integration secret key by distributing and decrypting the integration secret key encryption information using the distributed decryption secret key. As a result, the decryption system can obtain statistical data by decrypting the integration re-encrypted data operation result using the integration secret key.
 また、本発明の第3の実施の形態の復号システムには、暗号化統計データを復号する際に用いる暗号方式として、より多様な暗号方式を適用できると言う効果がある。その暗号化データは、異なる公開鍵を用いて暗号化された暗号化データに対して暗号化したまま統計処理が行われることにより生成されたデータである。 Also, the decryption system according to the third embodiment of the present invention has an effect that more various encryption methods can be applied as the encryption method used when decrypting the encrypted statistical data. The encrypted data is data generated by performing statistical processing while encrypting encrypted data encrypted using different public keys.
 その理由は、本発明の第3の実施の形態の復号システムの各部が以下のように動作するからである。分散復号部が、暗号化統計データに含まれる統合用秘密鍵暗号化情報を、分散復号用秘密鍵を用いて復号することにより部分復号結果を生成する。統計情報復号部が、1つ以上の部分復号結果に基づく復号結果として統合用秘密鍵を取得する。統計情報復号部は、取得した統合用秘密鍵を用いて、暗号化統計データに含まれる統合用再暗号化データ演算結果を復号する。このことにより、統計情報復号部は、元のデータに関する統計情報を取得する。これにより、本実施の形態の復号システムは、暗号化統計処理システムが採用する暗号方式の暗号化データから復号システムが採用する暗号方式の暗号化データへの再暗号化が難しい場合にも、以下の効果が得られる。すなわち、異なる公開鍵を用いて暗号化された暗号化データが暗号化されたまま統計処理された統合用再暗号化データ演算結果を復号するための統合用秘密鍵を、分散復号して取得することが可能となる。 The reason is that each part of the decoding system according to the third embodiment of the present invention operates as follows. The distributed decryption unit generates a partial decryption result by decrypting the integrated secret key encryption information included in the encrypted statistical data using the distributed decryption secret key. The statistical information decryption unit acquires the integration secret key as a decryption result based on one or more partial decryption results. The statistical information decryption unit decrypts the integration re-encrypted data calculation result included in the encrypted statistical data, using the acquired integration secret key. Thus, the statistical information decoding unit acquires statistical information regarding the original data. As a result, the decryption system according to the present embodiment can be used in the case where it is difficult to re-encrypt from the encrypted data of the encryption method adopted by the encryption statistical processing system to the encrypted data of the encryption method adopted by the decryption system The effect is obtained. That is, the integrated private key for decrypting the integrated re-encrypted data operation result obtained by statistically processing encrypted data encrypted using different public keys is obtained by distributed decryption. It becomes possible.
 なお、上述した本発明の各実施の形態において、鍵生成装置は、公開鍵を用いたサービスを提供するサービス提供者側の装置に適用可能である。この場合、データ登録装置は、サービス提供者側の装置が公開する公開鍵を用いてデータを暗号化して登録するユーザ端末であってもよい。また、プロキシ装置は、サービス提供者によって信頼されうる管理者側の装置に適用可能である。また、暗号化統計データ生成装置は、クラウドデータベースを運営するデータベース管理者側の装置に適用可能である。この場合、暗号化統計データ記憶装置は、クラウドデータベースを実現するために使用される。また、分散復号装置および統計情報復号装置は、統計データを利用したい統計データ利用者側の装置に適用可能である。このように構成することにより、サービス提供者側の装置は、サービスで用いるユーザのデータを、自身が公開する公開鍵を用いて暗号化してクラウドデータベースに保存することができる。そして、クラウドデータベース管理者側の装置は、異なるサービスの異なる公開鍵を用いて暗号化された暗号化データに対して、暗号化したまま統計処理を施してデータベースに記憶させることができる。そして、統計データ利用者側の装置は、そのような暗号化統計データを復号するための分散復号用秘密鍵に関連付けられる分散復号用公開鍵を公開されていれば、そのような暗号化統計データを分散復号することによって統計データを取得することが可能となる。したがって、サービス提供者側の装置は、ユーザのデータの統計情報を提供するために、暗号化データを一旦復号して統計データを算出する処理を行う必要がない。その結果、サービス提供者側の装置の負荷が軽減される。さらに、サービス提供者側の装置が、暗号化データを一旦復号する必要がないので、ユーザのデータの漏洩防止対策が必要ない。また、クラウドデータベース側の装置は、そのような統計データの算出処理を、暗号化データを元のデータに復号することなく行うことができる。その結果、クラウドデータベース管理者に対して元のデータが漏洩することもない。 In each of the embodiments of the present invention described above, the key generation device can be applied to a service provider side device that provides a service using a public key. In this case, the data registration device may be a user terminal that encrypts and registers data using a public key published by the device on the service provider side. Further, the proxy device can be applied to an administrator-side device that can be trusted by a service provider. Further, the encrypted statistical data generation device can be applied to a device on the database administrator side that operates a cloud database. In this case, the encrypted statistical data storage device is used to implement a cloud database. Further, the distributed decoding device and the statistical information decoding device can be applied to a device on the statistical data user side who wants to use statistical data. With this configuration, the device on the service provider side can encrypt the user data used in the service using the public key that it discloses and store it in the cloud database. The device on the cloud database administrator side can perform statistical processing on encrypted data encrypted using different public keys of different services and store the encrypted data in the database. Then, if the statistical data user side device discloses the public key for distributed decryption associated with the secret key for distributed decryption for decrypting such encrypted statistical data, the encrypted statistical data Statistical data can be obtained by distributed decoding. Therefore, the apparatus on the service provider side need not perform a process of calculating the statistical data by once decrypting the encrypted data in order to provide the statistical information of the user data. As a result, the load on the device on the service provider side is reduced. Furthermore, since it is not necessary for the device on the service provider side to once decrypt the encrypted data, it is not necessary to take measures to prevent user data leakage. Further, the device on the cloud database side can perform such statistical data calculation processing without decrypting the encrypted data into the original data. As a result, the original data is not leaked to the cloud database administrator.
 また、上述した本発明の各実施の形態の説明において、暗号化統計処理システムおよび復号システムの各機能ブロックは、異なる装置(すなわち、鍵生成装置、プロキシ装置、暗号化統計データ生成装置、分散復号装置、および、統計情報復号装置)に分散されていた。しかし、これらの機能ブロックは、1つのコンピュータ装置によって構成されていてもよい。あるいは、これらの機能ブロックは、本発明の各実施の形態とは異なる組み合わせで複数の装置に分散されていてもよい。 In the description of each embodiment of the present invention described above, each functional block of the encrypted statistical processing system and the decryption system is different from each other (ie, key generation device, proxy device, encrypted statistical data generation device, distributed decryption). Device and statistical information decoding device). However, these functional blocks may be configured by one computer device. Alternatively, these functional blocks may be distributed to a plurality of apparatuses in a combination different from each embodiment of the present invention.
 例えば、N個の鍵生成装置の少なくとも一部または全部が、同一のコンピュータ装置によって実現されていてもよい。また、N個のプロキシ装置の少なくとも一部または全部のが、同一のコンピュータ装置によって実現されていてもよい。また、L個の分散復号装置の少なくとも一部または全部が、同一のコンピュータ装置によって実現されていてもよい。また、統計情報復号装置は、いずれかの分散復号装置と同一のコンピュータ装置によって実現されていてもよい。また、N個の暗号化データ記憶装置の少なくとも一部または全部が、同一のコンピュータ装置によって実現されていてもよい。また、N個の暗号化データ記憶装置の少なくとも一部または全部が、物理的に同一の記憶装置によって実現されていてもよい。また、暗号化統計処理システムの少なくとも一部の機能ブロックと、復号システムの少なくとも一部の機能ブロックとが同一のコンピュータ装置に配置されてもよい。また、暗号化統計処理システムが1つのコンピュータ装置によって実現され、復号システムが1つのコンピュータ装置によって実現されていてもよい。 For example, at least a part or all of the N key generation devices may be realized by the same computer device. Further, at least a part or all of the N proxy devices may be realized by the same computer device. Further, at least part or all of the L distributed decoding devices may be realized by the same computer device. Further, the statistical information decoding apparatus may be realized by the same computer apparatus as any one of the distributed decoding apparatuses. Further, at least part or all of the N encrypted data storage devices may be realized by the same computer device. Further, at least a part or all of the N encrypted data storage devices may be realized by the physically same storage device. Further, at least a part of functional blocks of the encrypted statistical processing system and at least a part of functional blocks of the decryption system may be arranged in the same computer apparatus. Further, the encrypted statistical processing system may be realized by one computer device, and the decryption system may be realized by one computer device.
 また、上述した本発明の各実施の形態において、各フローチャートを参照して説明した各装置の動作を、本発明のコンピュータプログラムとしてコンピュータ装置の記憶装置(記憶媒体)に格納しておき、係るコンピュータプログラムを当該CPUが読み出して実行するようにしてもよい。そして、このような場合において、本発明は、係るコンピュータプログラムのコードあるいはそのコードが格納された記憶媒体によって実現される。 In each embodiment of the present invention described above, the operation of each device described with reference to each flowchart is stored as a computer program of the present invention in a storage device (storage medium) of the computer device, and the computer The program may be read and executed by the CPU. In such a case, the present invention is realized by a code of the computer program or a storage medium storing the code.
 また、本発明の一実施形態において、本発明の復号システムは、分散復号用公開鍵および分散復号用秘密鍵を保持する分散復号用鍵保持手段と、1つ以上の前記分散復号用秘密鍵によって分散復号可能な暗号化情報を生成する全体公開鍵を用いて前記暗号化統計処理システムによって生成される暗号化統計データを、前記分散復号用秘密鍵を用いて部分復号することにより部分復号結果を出力する分散復号手段と、1つ以上の前記分散復号手段によって得られた部分復号結果に基づいて、1つ以上の前記暗号化データが暗号化される前の元のデータに関する前記統計情報を取得する統計情報復号手段と、を備える。 In one embodiment of the present invention, the decryption system of the present invention includes a distributed decryption key holding unit that holds a public key for distributed decryption and a secret key for distributed decryption, and one or more secret keys for distributed decryption. A partial decryption result is obtained by partially decrypting the encrypted statistical data generated by the encrypted statistical processing system using the entire public key that generates encrypted information that can be distributed and decrypted using the secret key for distributed decryption. The statistical information on the original data before the encryption of one or more of the encrypted data is acquired based on the partial decryption results obtained by the distributed decryption means for outputting and the one or more of the distributed decryption means Statistical information decoding means.
 また、本発明の一実施形態において、本発明のプロキシ装置は、前記鍵生成装置によって生成されたプロキシ鍵を用いて、前記公開鍵により暗号化された暗号化データを、前記再暗号化データに変換する再暗号化手段を備える。 In one embodiment of the present invention, the proxy device of the present invention converts encrypted data encrypted by the public key into the re-encrypted data using the proxy key generated by the key generation device. Re-encrypting means for conversion is provided.
 また、本発明の一実施形態において、本発明の暗号化統計データ生成装置は、1つ以上の前記鍵生成装置に保持される前記公開鍵によりそれぞれ暗号化された1つ以上の暗号化データが、前記1つ以上の鍵生成装置にそれぞれ対応する1つ以上の前記プロキシ装置によってそれぞれ変換された1つ以上の前記再暗号化データに対して、前記準同型性を利用した演算を施すことにより、1つ以上の前記暗号化データが暗号化される前の元のデータに関する統計情報に復号可能な暗号化統計データを生成する暗号化統計データ生成手段を備える。 In one embodiment of the present invention, the encrypted statistical data generation apparatus of the present invention has one or more encrypted data encrypted by the public key held in one or more of the key generation apparatuses. By performing an operation using the homomorphism on one or more re-encrypted data respectively converted by one or more proxy devices respectively corresponding to the one or more key generation devices Encrypted statistical data generating means for generating encrypted statistical data that can be decrypted into statistical information relating to original data before the one or more encrypted data is encrypted.
 また、本発明の一実施形態において、本発明の復号方法は、前記暗号化統計処理方法が実行されることにより生成される暗号化統計データを、前記分散復号用秘密鍵を用いて部分復号することにより部分復号結果を出力し、1つ以上の前記部分復号結果に基づいて、1つ以上の前記暗号化データが暗号化される前の元のデータに関する前記統計情報を取得する。 In one embodiment of the present invention, the decryption method of the present invention partially decrypts encrypted statistical data generated by executing the encrypted statistical processing method, using the distributed decryption secret key. Thus, a partial decryption result is output, and the statistical information on the original data before the one or more encrypted data is encrypted is acquired based on the one or more partial decryption results.
 また、上述した各実施の形態は、適宜組み合わせて実施されることが可能である。 Also, the above-described embodiments can be implemented in appropriate combination.
 また、本発明は、上述した各実施の形態に限定されず、様々な態様で実施されることが可能である。 Further, the present invention is not limited to the above-described embodiments, and can be implemented in various modes.
 以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。 As mentioned above, although this invention was demonstrated with reference to embodiment, this invention is not limited to the said embodiment. Various changes that can be understood by those skilled in the art can be made to the configuration and details of the present invention within the scope of the present invention.
 また、上述した各実施の形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。 Further, a part or all of the above-described embodiments can be described as in the following supplementary notes, but is not limited to the following.
 (付記1)
 準同型性を有する暗号方式の公開鍵および秘密鍵を保持する鍵保持手段と、
 1つ以上の分散復号用秘密鍵によって分散復号可能な暗号化情報を生成する全体公開鍵を取得する全体公開鍵取得手段と、
 前記公開鍵を用いて暗号化された暗号化データを、前記1つ以上の分散復号用秘密鍵によって分散復号可能な再暗号化データに変換するプロキシ鍵を、前記秘密鍵と、前記全体公開鍵とに基づいて生成するプロキシ鍵生成手段と、
 前記プロキシ鍵を用いて、前記公開鍵により暗号化された暗号化データを、前記再暗号化データに変換する再暗号化手段と、
 1つ以上の前記公開鍵によりそれぞれ暗号化された1つ以上の暗号化データが前記再暗号化手段によりそれぞれ変換された1つ以上の前記再暗号化データに対して、前記準同型性を利用した演算を施すことにより、1つ以上の前記暗号化データが暗号化される前の元のデータに関する統計情報に復号可能な暗号化統計データを生成する暗号化統計データ生成手段と、
 を備えた暗号化統計処理システム。
(Appendix 1)
A key holding means for holding a public key and a secret key of a cryptographic method having homomorphism, and
An overall public key acquisition means for acquiring an entire public key for generating encrypted information that can be distributed and decrypted by one or more distributed decryption secret keys;
A proxy key for converting encrypted data encrypted using the public key into re-encrypted data that can be distributed and decrypted by the one or more distributed decryption secret keys, the secret key, and the entire public key Proxy key generation means for generating based on
Re-encryption means for converting encrypted data encrypted by the public key into the re-encrypted data using the proxy key;
Utilizing the homomorphism with respect to one or more re-encrypted data obtained by converting one or more encrypted data respectively encrypted with one or more public keys by the re-encryption means Encrypted statistical data generation means for generating encrypted statistical data that can be decrypted into statistical information on the original data before the encrypted data is encrypted,
Encryption statistical processing system with
 (付記2)
 前記プロキシ鍵生成手段は、乱数を生成することにより、前記公開鍵によって暗号化された暗号化データを、1つ以上の前記乱数に基づき生成されうる統合用秘密鍵によって復号可能な統合用再暗号化データに変換する統合用変換鍵を、前記1つ以上の乱数および前記秘密鍵に基づいて生成し、生成した統合用変換鍵と、前記乱数を前記全体公開鍵により暗号化した乱数暗号化情報とを含む情報を、前記プロキシ鍵として生成し、
 前記再暗号化手段は、前記統合用変換鍵を用いて前記暗号化データを前記統合用再暗号化データに変換するとともに、1つ以上の前記乱数暗号化情報に基づいて、前記統合用秘密鍵が前記全体公開鍵で暗号化された統合用秘密鍵暗号化情報を生成し、前記統合用再暗号化データと、前記統合用秘密鍵暗号化情報とを含む情報を、前記再暗号化データとして生成し、
 前記暗号化統計データ生成手段は、1つ以上の前記再暗号化データに含まれる前記統合用再暗号化データに対して前記準同型性を利用した演算を施した結果である統合用再暗号化データ演算結果と、前記統合用秘密鍵暗号化情報とを含む情報を、前記暗号化統計データとして生成することを特徴とする付記1に記載の暗号化統計処理システム。
(Appendix 2)
The proxy key generation means generates a random number, whereby the encrypted data encrypted with the public key can be decrypted with an integration secret key that can be generated based on the one or more random numbers. Random number encryption information generated by generating an integration conversion key to be converted into encrypted data based on the one or more random numbers and the private key, and encrypting the generated conversion key and the random number with the entire public key Generating information including the proxy key,
The re-encryption means converts the encrypted data into the re-encrypted data for integration using the integration conversion key, and based on the one or more random number encryption information, the integration secret key Generates the integration secret key encryption information encrypted with the entire public key, and uses the integration re-encrypted data and the information including the integration secret key encryption information as the re-encryption data. Generate and
The encrypted statistical data generating means is a re-encryption for integration which is a result of performing an operation using the homomorphism on the re-encrypted data for integration included in one or more of the re-encrypted data The encrypted statistical processing system according to appendix 1, wherein information including a data calculation result and the integration secret key encryption information is generated as the encrypted statistical data.
 (付記3)
 前記再暗号化手段は、プロキシ公開鍵およびプロキシ秘密鍵を保持し、
 前記プロキシ鍵生成手段は、前記プロキシ公開鍵を用いて前記1つ以上の乱数がそれぞれ暗号化された情報と、前記秘密鍵とに基づいて、前記プロキシ秘密鍵を用いて前記統合用変換鍵に復号可能な統合用変換鍵暗号化情報を生成することにより、前記統合用変換鍵暗号化情報および前記乱数暗号化情報を含む情報を、前記プロキシ鍵として生成し、
 前記再暗号化手段は、前記プロキシ鍵に含まれる前記統合用変換鍵暗号化情報を、前記プロキシ秘密鍵を用いて復号することにより前記統合用変換鍵を取得し、取得した統合用変換鍵を用いて、前記暗号化データを前記統合用再暗号化データに変換することを特徴とする付記2に記載の暗号化統計処理システム。
(Appendix 3)
The re-encryption means holds a proxy public key and a proxy secret key,
The proxy key generation means uses the proxy secret key to convert the integration conversion key into the integration conversion key based on information obtained by encrypting the one or more random numbers using the proxy public key and the secret key. By generating decryptable integration conversion key encryption information, information including the integration conversion key encryption information and the random number encryption information is generated as the proxy key,
The re-encryption means acquires the integration conversion key by decrypting the integration conversion key encryption information included in the proxy key using the proxy secret key, and acquires the acquired integration conversion key. The encrypted statistical processing system according to appendix 2, wherein the encrypted data is converted into the re-encrypted data for integration.
 (付記4)
 分散復号用公開鍵および分散復号用秘密鍵を保持する分散復号用鍵保持手段と、
 1つ以上の前記分散復号用秘密鍵によって分散復号可能な暗号化情報を生成する全体公開鍵を用いて付記1から付記3のいずれか1つに記載の暗号化統計処理システムによって生成される暗号化統計データを、前記分散復号用秘密鍵を用いて部分復号することにより部分復号結果を出力する分散復号手段と、
 1つ以上の前記分散復号手段によって得られた部分復号結果に基づいて、1つ以上の前記暗号化データが暗号化される前の元のデータに関する前記統計情報を取得する統計情報復号手段と、
 を備えた復号システム。
(Appendix 4)
A distributed decryption key holding means for holding a distributed decryption public key and a distributed decryption secret key;
A cipher generated by the encryption statistical processing system according to any one of appendix 1 to appendix 3, using an entire public key that generates encrypted information that can be distributed and decrypted by one or more private keys for distributed decryption Distributed decryption means for outputting a partial decryption result by partially decrypting the statistical data using the secret key for distributed decryption,
Statistical information decryption means for obtaining the statistical information on the original data before one or more of the encrypted data is encrypted based on the partial decryption results obtained by one or more of the distributed decryption means;
A decryption system.
 (付記5)
 前記暗号化統計処理システムによって生成された前記暗号化統計データに前記統合用秘密鍵暗号化情報が含まれるとき、
 前記分散復号手段は、前記統合用秘密鍵暗号化情報を、前記分散復号用秘密鍵を用いて復号することにより前記部分復号結果を生成し、
 前記統計情報復号手段は、1つ以上の前記部分復号結果に基づく復号結果として前記統合用秘密鍵を取得し、取得した統合用秘密鍵を用いて前記暗号化統計データに含まれる前記統合用再暗号化データ演算結果を復号することにより、前記元のデータに関する前記統計情報を取得することを特徴とする付記4に記載の復号システム。
(Appendix 5)
When the encryption statistical data generated by the encryption statistical processing system includes the integration secret key encryption information,
The distributed decryption means generates the partial decryption result by decrypting the integrated secret key encryption information using the distributed decryption secret key;
The statistical information decryption means acquires the integration secret key as a decryption result based on one or more partial decryption results, and uses the acquired integration secret key to re-integrate the integration re-key included in the encrypted statistical data. The decryption system according to appendix 4, wherein the statistical information about the original data is obtained by decrypting an encrypted data calculation result.
 (付記6)
 準同型性を有する暗号方式の公開鍵および秘密鍵を保持する鍵保持手段と、
 1つ以上の分散復号用秘密鍵によって分散復号可能な暗号化情報を生成する全体公開鍵を取得する全体公開鍵取得手段と、
 前記公開鍵を用いて暗号化された暗号化データを、前記1つ以上の分散復号用秘密鍵によって分散復号可能な再暗号化データに変換するプロキシ鍵を、前記秘密鍵と、前記全体公開鍵とに基づいて生成するプロキシ鍵生成手段と、
 を備えた鍵生成装置。
(Appendix 6)
A key holding means for holding a public key and a secret key of a cryptographic method having homomorphism, and
An overall public key acquisition means for acquiring an entire public key for generating encrypted information that can be distributed and decrypted by one or more distributed decryption secret keys;
A proxy key for converting encrypted data encrypted using the public key into re-encrypted data that can be distributed and decrypted by the one or more distributed decryption secret keys, the secret key, and the entire public key Proxy key generation means for generating based on
A key generation device comprising:
 (付記7)
 付記6に記載の鍵生成装置によって生成されたプロキシ鍵を用いて、前記公開鍵により暗号化された暗号化データを、前記再暗号化データに変換する再暗号化手段を備えたプロキシ装置。
(Appendix 7)
A proxy apparatus comprising re-encryption means for converting encrypted data encrypted with the public key into the re-encrypted data using a proxy key generated by the key generation apparatus according to attachment 6.
 (付記8)
 1つ以上の付記6に記載の鍵生成装置に保持される前記公開鍵によりそれぞれ暗号化された1つ以上の暗号化データが、前記1つ以上の鍵生成装置にそれぞれ対応する1つ以上の付記7に記載のプロキシ装置によってそれぞれ変換された1つ以上の前記再暗号化データに対して、前記準同型性を利用した演算を施すことにより、1つ以上の前記暗号化データが暗号化される前の元のデータに関する統計情報に復号可能な暗号化統計データを生成する暗号化統計データ生成手段を備えた暗号化統計データ生成装置。
(Appendix 8)
One or more encrypted data respectively encrypted with the public key held in one or more key generation devices according to supplementary note 6 are one or more corresponding to the one or more key generation devices, respectively. The one or more encrypted data is encrypted by performing an operation using the homomorphism on the one or more re-encrypted data respectively converted by the proxy device according to appendix 7. An encrypted statistical data generation device comprising encrypted statistical data generation means for generating encrypted statistical data that can be decrypted into statistical information relating to the original data prior to processing.
 (付記9)
 分散復号用公開鍵および分散復号用秘密鍵を保持する分散復号用鍵保持手段と、
 自装置に保持される前記分散復号用秘密鍵を含む1つ以上の前記分散復号用秘密鍵を用いて分散復号可能な暗号化情報を生成する全体公開鍵を用いて付記1から付記3のいずれか1つに記載の暗号化統計処理システムによって生成される暗号化統計データを、前記分散復号用秘密鍵を用いて部分復号することにより部分復号結果を出力する分散復号手段と、
 を備えた分散復号装置。
(Appendix 9)
A distributed decryption key holding means for holding a distributed decryption public key and a distributed decryption secret key;
Any one of appendix 1 to appendix 3 using an entire public key that generates encrypted information that can be distributed and decrypted by using one or more distributed decryption secret keys including the distributed decryption secret key held in its own device Distributed decryption means for outputting a partial decryption result by partially decrypting encrypted statistical data generated by the encrypted statistical processing system according to any one of the above using the distributed decryption secret key;
A distributed decoding apparatus comprising:
 (付記10)
 1つ以上の付記9に記載の分散復号装置によってそれぞれ得られた前記部分復号結果に基づいて、1つ以上の前記暗号化データが暗号化される前の元のデータに関する前記統計情報を取得する統計情報復号手段を備えた統計情報復号装置。
(Appendix 10)
The statistical information on the original data before the one or more encrypted data is encrypted is acquired based on the partial decryption results respectively obtained by the one or more distributed decryption devices according to Supplementary Note 9. A statistical information decoding device comprising statistical information decoding means.
 (付記11)
 1つ以上の分散復号用秘密鍵によって分散復号可能な暗号化情報を生成する全体公開鍵を取得し、
 準同型性を有する暗号方式の公開鍵を用いて暗号化された暗号化データを、前記1つ以上の分散復号用秘密鍵によって分散復号可能な再暗号化データに変換するプロキシ鍵を、前記公開鍵に対応する秘密鍵と、前記全体公開鍵とに基づいて生成し、
 前記プロキシ鍵を用いて、前記公開鍵により暗号化された暗号化データを、前記再暗号化データに変換し、
 1つ以上の前記公開鍵によりそれぞれ暗号化された1つ以上の暗号化データがそれぞれ変換された1つ以上の前記再暗号化データに対して、前記準同型性を利用した演算を施すことにより、1つ以上の前記暗号化データが暗号化される前の元のデータに関する統計情報に復号可能な暗号化統計データを生成する、暗号化統計処理方法。
(Appendix 11)
Obtain an entire public key that generates encrypted information that can be distributed and decrypted with one or more private keys for distributed decryption,
A proxy key for converting encrypted data encrypted using a public key of an encryption method having homomorphism into re-encrypted data that can be distributed and decrypted by the one or more secret keys for distributed decryption. Generated based on the private key corresponding to the key and the entire public key,
Using the proxy key, the encrypted data encrypted with the public key is converted into the re-encrypted data,
By performing an operation using the homomorphism on one or more re-encrypted data converted from one or more encrypted data respectively encrypted by one or more public keys An encryption statistical processing method for generating encrypted statistical data that can be decrypted into statistical information relating to original data before one or more of the encrypted data is encrypted.
 (付記12)
 付記11に記載の暗号化統計処理方法が実行されることにより生成される暗号化統計データを、前記分散復号用秘密鍵を用いて部分復号することにより部分復号結果を出力し、
 1つ以上の前記部分復号結果に基づいて、1つ以上の前記暗号化データが暗号化される前の元のデータに関する前記統計情報を取得する、復号方法。
(Appendix 12)
A partial decryption result is output by partially decrypting encrypted statistical data generated by executing the encrypted statistical processing method according to appendix 11, using the distributed decryption secret key,
The decryption method, wherein the statistical information on the original data before the one or more encrypted data is encrypted is acquired based on the one or more partial decryption results.
 (付記13)
 コンピュータを、
 1つ以上の分散復号用秘密鍵によって分散復号可能な暗号化情報を生成する全体公開鍵を取得する全体公開鍵取得手段と、
 準同型性を有する暗号方式の公開鍵を用いて暗号化された暗号化データを、前記1つ以上の分散復号用秘密鍵によって分散復号可能な再暗号化データに変換するプロキシ鍵を、前記公開鍵に対応する秘密鍵と、前記全体公開鍵とに基づいて生成するプロキシ鍵生成手段と、
 前記プロキシ鍵を用いて、前記公開鍵により暗号化された暗号化データを、前記再暗号化データに変換する再暗号化手段と、
 1つ以上の前記公開鍵によりそれぞれ暗号化された1つ以上の暗号化データがそれぞれ変換された1つ以上の前記再暗号化データに対して、前記準同型性を利用した演算を施すことにより、1つ以上の前記暗号化データが暗号化される前の元のデータに関する統計情報に復号可能な暗号化統計データを生成する暗号化統計データ生成手段と、
 として動作させる暗号化統計処理プログラム。
(Appendix 13)
Computer
An overall public key acquisition means for acquiring an entire public key for generating encrypted information that can be distributed and decrypted by one or more distributed decryption secret keys;
A proxy key for converting encrypted data encrypted using a public key of an encryption method having homomorphism into re-encrypted data that can be distributed and decrypted by the one or more secret keys for distributed decryption. Proxy key generation means for generating a secret key corresponding to the key and the entire public key;
Re-encryption means for converting encrypted data encrypted by the public key into the re-encrypted data using the proxy key;
By performing an operation using the homomorphism on one or more re-encrypted data converted from one or more encrypted data respectively encrypted by one or more public keys Encrypted statistical data generation means for generating encrypted statistical data that can be decrypted into statistical information on the original data before the one or more encrypted data is encrypted;
Encrypted statistical processing program that operates as
 (付記14)
 コンピュータを、
 付記13に記載の暗号化統計処理プログラムが実行されることにより生成される暗号化統計データを、前記分散復号用秘密鍵を用いて部分復号することにより部分復号結果を出力する分散復号手段と、
 1つ以上の前記部分復号結果に基づいて、1つ以上の前記暗号化データが暗号化される前の元のデータに関する前記統計情報を取得する統計情報復号手段と、
 として動作させる復号プログラム。
(Appendix 14)
Computer
A distributed decryption means for outputting a partial decryption result by partially decrypting encrypted statistical data generated by executing the encrypted statistical processing program according to attachment 13, using the distributed decryption secret key;
Statistical information decryption means for obtaining the statistical information on the original data before the one or more encrypted data are encrypted based on one or more partial decryption results;
Decryption program that operates as
 この出願は、2012年7月12日に出願された日本出願特願2012-156041を基礎とする優先権を主張し、その開示の全てをここに取り込む。 This application claims priority based on Japanese Patent Application No. 2012-156041 filed on July 12, 2012, the entire disclosure of which is incorporated herein.
 1、3  暗号化統計処理システム
 2、4  復号システム
 100、130  鍵生成装置
 101  鍵保持部
 102  全体公開鍵取得部
 103、133  プロキシ鍵生成部
 200、230  プロキシ装置
 201、231  再暗号化部
 232  プロキシ鍵保持部
 300、330  暗号化統計データ生成装置
 301、331  暗号化統計データ生成部
 400、430  分散復号装置
 401  分散復号用鍵保持部
 402、432  分散復号部
 500、530  統計情報復号装置
 501、531  統計情報復号部
 700  データ登録装置
 800  暗号化データ記憶装置
 900  暗号化統計データ記憶装置
1, 3 Encryption statistical processing system 2, 4 Decryption system 100, 130 Key generation device 101 Key holding unit 102 Overall public key acquisition unit 103, 133 Proxy key generation unit 200, 230 Proxy device 201, 231 Re-encryption unit 232 Proxy Key holding unit 300, 330 Encrypted statistical data generation device 301, 331 Encrypted statistical data generation unit 400, 430 Distributed decryption device 401 Distributed decryption key holding unit 402, 432 Distributed decryption unit 500, 530 Statistical information decryption device 501, 531 Statistical information decryption unit 700 Data registration device 800 Encrypted data storage device 900 Encrypted statistical data storage device

Claims (10)

  1.  準同型性を有する暗号方式の公開鍵および秘密鍵を保持する鍵保持手段と、
     1つ以上の分散復号用秘密鍵によって分散復号可能な暗号化情報を生成する全体公開鍵を取得する全体公開鍵取得手段と、
     前記公開鍵を用いて暗号化された暗号化データを、前記1つ以上の分散復号用秘密鍵によって分散復号可能な再暗号化データに変換するプロキシ鍵を、前記秘密鍵と、前記全体公開鍵とに基づいて生成するプロキシ鍵生成手段と、
     前記プロキシ鍵を用いて、前記公開鍵により暗号化された暗号化データを、前記再暗号化データに変換する再暗号化手段と、
     1つ以上の前記公開鍵によりそれぞれ暗号化された1つ以上の暗号化データが前記再暗号化手段によりそれぞれ変換された1つ以上の前記再暗号化データに対して、前記準同型性を利用した演算を施すことにより、1つ以上の前記暗号化データが暗号化される前の元のデータに関する統計情報に復号可能な暗号化統計データを生成する暗号化統計データ生成手段と、
     を備えた暗号化統計処理システム。
    A key holding means for holding a public key and a secret key of a cryptographic method having homomorphism, and
    An overall public key acquisition means for acquiring an entire public key for generating encrypted information that can be distributed and decrypted by one or more distributed decryption secret keys;
    A proxy key for converting encrypted data encrypted using the public key into re-encrypted data that can be distributed and decrypted by the one or more distributed decryption secret keys, the secret key, and the entire public key Proxy key generation means for generating based on
    Re-encryption means for converting encrypted data encrypted by the public key into the re-encrypted data using the proxy key;
    Utilizing the homomorphism with respect to one or more re-encrypted data obtained by converting one or more encrypted data respectively encrypted with one or more public keys by the re-encryption means Encrypted statistical data generation means for generating encrypted statistical data that can be decrypted into statistical information on the original data before the encrypted data is encrypted,
    Encryption statistical processing system with
  2.  前記プロキシ鍵生成手段は、乱数を生成することにより、前記公開鍵によって暗号化された暗号化データを、1つ以上の前記乱数に基づき生成されうる統合用秘密鍵によって復号可能な統合用再暗号化データに変換する統合用変換鍵を、前記1つ以上の乱数および前記秘密鍵に基づいて生成し、生成した統合用変換鍵と、前記乱数を前記全体公開鍵により暗号化した乱数暗号化情報とを含む情報を、前記プロキシ鍵として生成し、
     前記再暗号化手段は、前記統合用変換鍵を用いて前記暗号化データを前記統合用再暗号化データに変換するとともに、1つ以上の前記乱数暗号化情報に基づいて、前記統合用秘密鍵が前記全体公開鍵で暗号化された統合用秘密鍵暗号化情報を生成し、前記統合用再暗号化データと、前記統合用秘密鍵暗号化情報とを含む情報を、前記再暗号化データとして生成し、
     前記暗号化統計データ生成手段は、1つ以上の前記再暗号化データに含まれる前記統合用再暗号化データに対して前記準同型性を利用した演算を施した結果である統合用再暗号化データ演算結果と、前記統合用秘密鍵暗号化情報とを含む情報を、前記暗号化統計データとして生成することを特徴とする請求項1に記載の暗号化統計処理システム。
    The proxy key generation means generates a random number, whereby the encrypted data encrypted with the public key can be decrypted with an integration secret key that can be generated based on the one or more random numbers. Random number encryption information generated by generating an integration conversion key to be converted into encrypted data based on the one or more random numbers and the private key, and encrypting the generated conversion key and the random number with the entire public key Generating information including the proxy key,
    The re-encryption means converts the encrypted data into the re-encrypted data for integration using the integration conversion key, and based on the one or more random number encryption information, the integration secret key Generates the integration secret key encryption information encrypted with the entire public key, and uses the integration re-encrypted data and the information including the integration secret key encryption information as the re-encryption data. Generate and
    The encrypted statistical data generating means is a re-encryption for integration which is a result of performing an operation using the homomorphism on the re-encrypted data for integration included in one or more of the re-encrypted data 2. The encrypted statistical processing system according to claim 1, wherein information including a data operation result and the integration secret key encryption information is generated as the encrypted statistical data.
  3.  分散復号用公開鍵および分散復号用秘密鍵を保持する分散復号用鍵保持手段と、
     1つ以上の前記分散復号用秘密鍵によって分散復号可能な暗号化情報を生成する全体公開鍵を用いて請求項1または請求項2に記載の暗号化統計処理システムによって生成される暗号化統計データを、前記分散復号用秘密鍵を用いて部分復号することにより部分復号結果を出力する分散復号手段と、
     1つ以上の前記分散復号手段によって得られた部分復号結果に基づいて、1つ以上の前記暗号化データが暗号化される前の元のデータに関する前記統計情報を取得する統計情報復号手段と、
     を備えた復号システム。
    A distributed decryption key holding means for holding a distributed decryption public key and a distributed decryption secret key;
    The encrypted statistical data generated by the encrypted statistical processing system according to claim 1 or 2, using an entire public key that generates encrypted information that can be distributed and decrypted by using one or more of the secret keys for distributed decryption. A partial decryption means for outputting a partial decryption result by partial decryption using the distributed decryption secret key;
    Statistical information decryption means for obtaining the statistical information on the original data before one or more of the encrypted data is encrypted based on the partial decryption results obtained by one or more of the distributed decryption means;
    A decryption system.
  4.  前記暗号化統計処理システムによって生成された前記暗号化統計データは、前記統合用秘密鍵暗号化情報を含み、
     前記分散復号手段は、前記統合用秘密鍵暗号化情報を、前記分散復号用秘密鍵を用いて復号することにより前記部分復号結果を生成し、
     前記統計情報復号手段は、1つ以上の前記部分復号結果に基づく復号結果として前記統合用秘密鍵を取得し、取得した統合用秘密鍵を用いて前記暗号化統計データに含まれる前記統合用再暗号化データ演算結果を復号することにより、前記元のデータに関する前記統計情報を取得することを特徴とする請求項3に記載の復号システム。
    The encrypted statistical data generated by the encrypted statistical processing system includes the integration secret key encryption information,
    The distributed decryption means generates the partial decryption result by decrypting the integrated secret key encryption information using the distributed decryption secret key;
    The statistical information decryption means acquires the integration secret key as a decryption result based on one or more partial decryption results, and uses the acquired integration secret key to re-integrate the integration re-key included in the encrypted statistical data. The decryption system according to claim 3, wherein the statistical information on the original data is obtained by decrypting an encrypted data operation result.
  5.  準同型性を有する暗号方式の公開鍵および秘密鍵を保持する鍵保持手段と、
     1つ以上の分散復号用秘密鍵によって分散復号可能な暗号化情報を生成する全体公開鍵を取得する全体公開鍵取得手段と、
     前記公開鍵を用いて暗号化された暗号化データを、前記1つ以上の分散復号用秘密鍵によって分散復号可能な再暗号化データに変換するプロキシ鍵を、前記秘密鍵と、前記全体公開鍵とに基づいて生成するプロキシ鍵生成手段と、
     を備えた鍵生成装置。
    A key holding means for holding a public key and a secret key of a cryptographic method having homomorphism, and
    An overall public key acquisition means for acquiring an entire public key for generating encrypted information that can be distributed and decrypted by one or more distributed decryption secret keys;
    A proxy key for converting encrypted data encrypted using the public key into re-encrypted data that can be distributed and decrypted by the one or more distributed decryption secret keys, the secret key, and the entire public key Proxy key generation means for generating based on
    A key generation device comprising:
  6.  請求項5に記載の鍵生成装置によって生成されたプロキシ鍵を用いて、前記公開鍵により暗号化された暗号化データを、前記再暗号化データに変換する再暗号化手段を備えたプロキシ装置。 A proxy apparatus comprising re-encryption means for converting encrypted data encrypted by the public key into the re-encrypted data, using the proxy key generated by the key generation apparatus according to claim 5.
  7.  1つ以上の請求項5に記載の鍵生成装置に保持される前記公開鍵によりそれぞれ暗号化された1つ以上の暗号化データが、前記1つ以上の鍵生成装置にそれぞれ対応する1つ以上の請求項6に記載のプロキシ装置によってそれぞれ変換された1つ以上の前記再暗号化データに対して、前記準同型性を利用した演算を施すことにより、1つ以上の前記暗号化データが暗号化される前の元のデータに関する統計情報に復号可能な暗号化統計データを生成する暗号化統計データ生成手段を備えた暗号化統計データ生成装置。 One or more encrypted data respectively encrypted with the public key held in one or more key generation devices according to claim 5, respectively corresponding to the one or more key generation devices The computation using the homomorphism is performed on the one or more re-encrypted data respectively converted by the proxy device according to claim 6 so that the one or more encrypted data are encrypted. An encrypted statistical data generation device comprising encrypted statistical data generation means for generating encrypted statistical data that can be decrypted into statistical information relating to original data before being converted into data.
  8.  1つ以上の分散復号用秘密鍵によって分散復号可能な暗号化情報を生成する全体公開鍵を取得し、
     準同型性を有する暗号方式の公開鍵を用いて暗号化された暗号化データを、前記1つ以上の分散復号用秘密鍵によって分散復号可能な再暗号化データに変換するプロキシ鍵を、前記公開鍵に対応する秘密鍵と、前記全体公開鍵とに基づいて生成し、
     前記プロキシ鍵を用いて、前記公開鍵により暗号化された暗号化データを、前記再暗号化データに変換し、
     1つ以上の前記公開鍵によりそれぞれ暗号化された1つ以上の暗号化データがそれぞれ変換された1つ以上の前記再暗号化データに対して、前記準同型性を利用した演算を施すことにより、1つ以上の前記暗号化データが暗号化される前の元のデータに関する統計情報に復号可能な暗号化統計データを生成する、暗号化統計処理方法。
    Obtain an entire public key that generates encrypted information that can be distributed and decrypted with one or more private keys for distributed decryption,
    A proxy key for converting encrypted data encrypted using a public key of an encryption method having homomorphism into re-encrypted data that can be distributed and decrypted by the one or more secret keys for distributed decryption. Generated based on the private key corresponding to the key and the entire public key,
    Using the proxy key, the encrypted data encrypted with the public key is converted into the re-encrypted data,
    By performing an operation using the homomorphism on one or more re-encrypted data converted from one or more encrypted data respectively encrypted by one or more public keys An encryption statistical processing method for generating encrypted statistical data that can be decrypted into statistical information relating to original data before one or more of the encrypted data is encrypted.
  9.  請求項8に記載の暗号化統計処理方法が実行されることにより生成される暗号化統計データを、前記分散復号用秘密鍵を用いて部分復号することにより部分復号結果を出力し、
     1つ以上の前記部分復号結果に基づいて、1つ以上の前記暗号化データが暗号化される前の元のデータに関する前記統計情報を取得する、復号方法。
    A partial decryption result is output by partially decrypting encrypted statistical data generated by executing the encryption statistical processing method according to claim 8 using the secret key for distributed decryption,
    The decryption method, wherein the statistical information on the original data before the one or more encrypted data is encrypted is acquired based on the one or more partial decryption results.
  10.  コンピュータを、
     1つ以上の分散復号用秘密鍵によって分散復号可能な暗号化情報を生成する全体公開鍵を取得する全体公開鍵取得手段と、
     準同型性を有する暗号方式の公開鍵を用いて暗号化された暗号化データを、前記1つ以上の分散復号用秘密鍵によって分散復号可能な再暗号化データに変換するプロキシ鍵を、前記公開鍵に対応する秘密鍵と、前記全体公開鍵とに基づいて生成するプロキシ鍵生成手段と、
     前記プロキシ鍵を用いて、前記公開鍵により暗号化された暗号化データを、前記再暗号化データに変換する再暗号化手段と、
     1つ以上の前記公開鍵によりそれぞれ暗号化された1つ以上の暗号化データがそれぞれ変換された1つ以上の前記再暗号化データに対して、前記準同型性を利用した演算を施すことにより、1つ以上の前記暗号化データが暗号化される前の元のデータに関する統計情報に復号可能な暗号化統計データを生成する暗号化統計データ生成手段と、
     として動作させる暗号化統計処理プログラム。
    Computer
    An overall public key acquisition means for acquiring an entire public key for generating encrypted information that can be distributed and decrypted by one or more distributed decryption secret keys;
    A proxy key for converting encrypted data encrypted using a public key of an encryption method having homomorphism into re-encrypted data that can be distributed and decrypted by the one or more secret keys for distributed decryption. Proxy key generation means for generating a secret key corresponding to the key and the entire public key;
    Re-encryption means for converting encrypted data encrypted by the public key into the re-encrypted data using the proxy key;
    By performing an operation using the homomorphism on one or more re-encrypted data converted from one or more encrypted data respectively encrypted by one or more public keys Encrypted statistical data generation means for generating encrypted statistical data that can be decrypted into statistical information on the original data before the one or more encrypted data is encrypted;
    Encrypted statistical processing program that operates as
PCT/JP2013/004118 2012-07-12 2013-07-03 Encrypted statistical processing system, decrypting system, key generation device, proxy device, encrypted statistical data generation device, encrypted statistical processing method, and encrypted statistical processing program WO2014010202A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014524632A JP6194886B2 (en) 2012-07-12 2013-07-03 Encryption statistical processing system, decryption system, key generation device, proxy device, encrypted statistical data generation device, encryption statistical processing method, and encryption statistical processing program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2012156041 2012-07-12
JP2012-156041 2012-07-12

Publications (1)

Publication Number Publication Date
WO2014010202A1 true WO2014010202A1 (en) 2014-01-16

Family

ID=49915686

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2013/004118 WO2014010202A1 (en) 2012-07-12 2013-07-03 Encrypted statistical processing system, decrypting system, key generation device, proxy device, encrypted statistical data generation device, encrypted statistical processing method, and encrypted statistical processing program

Country Status (2)

Country Link
JP (1) JP6194886B2 (en)
WO (1) WO2014010202A1 (en)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015184490A (en) * 2014-03-24 2015-10-22 富士通株式会社 Encryption device, encryption method, information processor, and encryption system
JP2016131271A (en) * 2015-01-13 2016-07-21 国立研究開発法人情報通信研究機構 Server and service method
WO2019130528A1 (en) * 2017-12-28 2019-07-04 三菱電機株式会社 Conversion key generation device, ciphertext conversion device, secret information processing system, conversion key generation method, conversion key generation program, ciphertext conversion method, and ciphertext conversion program
WO2020137728A1 (en) * 2018-12-26 2020-07-02 国立大学法人筑波大学 Distributed data integration device, distributed data integration method, and program
CN111586000A (en) * 2020-04-28 2020-08-25 北京物资学院 Full-proxy homomorphic re-encryption transmission system and operation mechanism thereof
US10778431B2 (en) 2016-01-18 2020-09-15 Mitsubishi Electric Corporation Encrypted text conversion device, computer readable medium, and encryption text conversion method
JP6803598B1 (en) * 2020-08-04 2020-12-23 Eaglys株式会社 Data sharing systems, data sharing methods, and data sharing programs
CN113423086A (en) * 2021-03-18 2021-09-21 北京邮电大学 Vehicle matching method and related equipment thereof
JPWO2021245931A1 (en) * 2020-06-05 2021-12-09

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011232727A (en) * 2010-04-27 2011-11-17 Fuji Xerox Co Ltd System for storing and conducting logical operations on sets of encrypted data, method for storing and conducting logical operations on encrypted data, system for storing and conducting logical operations on encrypted data, and program for storing and conducting logical operations on sets of encrypted data
JP2012049679A (en) * 2010-08-25 2012-03-08 Sony Corp Terminal apparatus, server, data processing system, data processing method and program

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006113851A (en) * 2004-10-15 2006-04-27 Victor Co Of Japan Ltd Statistical information collection method

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011232727A (en) * 2010-04-27 2011-11-17 Fuji Xerox Co Ltd System for storing and conducting logical operations on sets of encrypted data, method for storing and conducting logical operations on encrypted data, system for storing and conducting logical operations on encrypted data, and program for storing and conducting logical operations on sets of encrypted data
JP2012049679A (en) * 2010-08-25 2012-03-08 Sony Corp Terminal apparatus, server, data processing system, data processing method and program

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
TOSHIYUKI ISSHIKI: "Software Implementation of Privacy Preserving Statistical Computations based on Homomorphic Encryption", IEICE TECHNICAL REPORT, vol. 111, no. 454, 23 February 2012 (2012-02-23), pages 135 - 140 *

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015184490A (en) * 2014-03-24 2015-10-22 富士通株式会社 Encryption device, encryption method, information processor, and encryption system
JP2016131271A (en) * 2015-01-13 2016-07-21 国立研究開発法人情報通信研究機構 Server and service method
US10778431B2 (en) 2016-01-18 2020-09-15 Mitsubishi Electric Corporation Encrypted text conversion device, computer readable medium, and encryption text conversion method
WO2019130528A1 (en) * 2017-12-28 2019-07-04 三菱電機株式会社 Conversion key generation device, ciphertext conversion device, secret information processing system, conversion key generation method, conversion key generation program, ciphertext conversion method, and ciphertext conversion program
JPWO2019130528A1 (en) * 2017-12-28 2020-04-02 三菱電機株式会社 Conversion key generation device, ciphertext conversion device, secret information processing system, conversion key generation method, conversion key generation program, ciphertext conversion method, and ciphertext conversion program
CN111512592A (en) * 2017-12-28 2020-08-07 三菱电机株式会社 Conversion key generation device, ciphertext conversion device, secret information processing system, conversion key generation method, conversion key generation program, ciphertext conversion method, and ciphertext conversion program
US11374742B2 (en) 2017-12-28 2022-06-28 Mitsubishi Electric Corporation Conversion key generation device, ciphertext conversion device, privacy-preserving information processing system, conversion key generation method, ciphertext conversion method, and computer
WO2020137728A1 (en) * 2018-12-26 2020-07-02 国立大学法人筑波大学 Distributed data integration device, distributed data integration method, and program
US11934558B2 (en) 2018-12-26 2024-03-19 University Of Tsukuba Distributed data integration device, distributed data integration method, and program
JP7209378B2 (en) 2018-12-26 2023-01-20 国立大学法人 筑波大学 Distributed data integration device, distributed data integration analysis device, distributed data integration method, and program
JPWO2020137728A1 (en) * 2018-12-26 2021-11-18 国立大学法人 筑波大学 Distributed data integration device, distributed data integration method, and program
CN111586000A (en) * 2020-04-28 2020-08-25 北京物资学院 Full-proxy homomorphic re-encryption transmission system and operation mechanism thereof
WO2021245931A1 (en) * 2020-06-05 2021-12-09 三菱電機株式会社 Concealed information processing device, encryption device, encryption method, and encryption program
JPWO2021245931A1 (en) * 2020-06-05 2021-12-09
JP7098091B2 (en) 2020-06-05 2022-07-08 三菱電機株式会社 Confidential information processing system, encryption device, encryption method and encryption program
WO2022030136A1 (en) * 2020-08-04 2022-02-10 Eaglys株式会社 Data sharing system, data sharing method, and data sharing program
JP2022029386A (en) * 2020-08-04 2022-02-17 Eaglys株式会社 Data sharing system, data sharing method, and data sharing program
JP6803598B1 (en) * 2020-08-04 2020-12-23 Eaglys株式会社 Data sharing systems, data sharing methods, and data sharing programs
CN113423086A (en) * 2021-03-18 2021-09-21 北京邮电大学 Vehicle matching method and related equipment thereof

Also Published As

Publication number Publication date
JPWO2014010202A1 (en) 2016-06-20
JP6194886B2 (en) 2017-09-13

Similar Documents

Publication Publication Date Title
JP6194886B2 (en) Encryption statistical processing system, decryption system, key generation device, proxy device, encrypted statistical data generation device, encryption statistical processing method, and encryption statistical processing program
US9426131B2 (en) Server apparatus and program to re-encrypt ciphertext data
Shao et al. Fine-grained data sharing in cloud computing for mobile devices
US20140098960A1 (en) Ciphertext Processing Method, Apparatus, and System
JP5979141B2 (en) Encrypted statistical processing system, apparatus, method and program
CN102055760B (en) Message sending/receiving method and system
WO2016051591A1 (en) Re-encryption key generation device, re-encryption device, encryption device, decryption device and program
WO2012111714A1 (en) File server device and file server system
US20170310479A1 (en) Key Replacement Direction Control System and Key Replacement Direction Control Method
JP2012175156A (en) Key management system
JP6115573B2 (en) Cryptographic system, data storage system, and apparatus and method used therefor
US9813386B2 (en) Cooperation service providing system and server apparatus
WO2014034018A1 (en) Re-encryption system, re-encryption method and re-encryption program
US20170366338A1 (en) Method and system for providing encrypted data
WO2018016330A1 (en) Communication terminal, server device, and program
CN111786786A (en) Agent re-encryption method and system supporting equation judgment in cloud computing environment
JP6368047B2 (en) Key exchange method, key exchange system, key distribution device, representative communication device, general communication device, and program
JP6266130B2 (en) Cryptographic system, master key update device, and master key update program
JP7325689B2 (en) Ciphertext conversion system, conversion key generation method, and conversion key generation program
WO2022239129A1 (en) Key exchange system, device, key exchange method, and program
Chen et al. A limited proxy re-encryption with keyword search for data access control in cloud computing
JP2005176144A (en) Terminal device, communication system and communication method
WO2019142824A1 (en) Communication device, server device, secret communication system, method thereof, and program
JP2014017763A (en) Encryption update system, encryption update request device, encryption update device, decryption device, encryption update method, and computer program
JP6189788B2 (en) Key generation device, re-encryption device, and program

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 13816597

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2014524632

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 13816597

Country of ref document: EP

Kind code of ref document: A1