JP6194886B2 - 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 - Google Patents
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 Download PDFInfo
- Publication number
- JP6194886B2 JP6194886B2 JP2014524632A JP2014524632A JP6194886B2 JP 6194886 B2 JP6194886 B2 JP 6194886B2 JP 2014524632 A JP2014524632 A JP 2014524632A JP 2014524632 A JP2014524632 A JP 2014524632A JP 6194886 B2 JP6194886 B2 JP 6194886B2
- Authority
- JP
- Japan
- Prior art keywords
- encrypted
- key
- data
- decryption
- statistical
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000003672 processing method Methods 0.000 title claims description 7
- 230000010354 integration Effects 0.000 claims description 143
- 238000000034 method Methods 0.000 claims description 52
- 238000006243 chemical reaction Methods 0.000 claims description 46
- 238000013500 data storage Methods 0.000 description 40
- 238000004590 computer program Methods 0.000 description 27
- 238000010586 diagram Methods 0.000 description 20
- 238000004364 calculation method Methods 0.000 description 19
- 238000004422 calculation algorithm Methods 0.000 description 9
- 230000000694 effects Effects 0.000 description 8
- 101100409044 Chlorobaculum tepidum (strain ATCC 49652 / DSM 12025 / NBRC 103806 / TLS) ppk1 gene Proteins 0.000 description 2
- 208000019901 Anxiety disease Diseases 0.000 description 1
- 101100065246 Mus musculus Enc1 gene Proteins 0.000 description 1
- 239000000654 additive Substances 0.000 description 1
- 230000000996 additive effect Effects 0.000 description 1
- 230000036506 anxiety Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/008—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Description
本発明は、暗号化データに対する統計処理を行う技術に関する。 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 a 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に記載の準同型暗号方式では、ある公開鍵を用いて暗号化された複数の暗号化データに対して、データが暗号化されたまま、秘密鍵を用いずに、平文に関する統計処理を行うことが可能である。
An example of a technique related to the homomorphic encryption method is described in
非特許文献1に記載の準同型暗号方式では、統計処理が可能となる暗号化データは、すべて同じ公開鍵で暗号化されている必要がある。したがって、この関連技術は、統計処理を行いたい対象の暗号化データの少なくとも一部が、異なる公開鍵で暗号化されている場合、暗号化したまま統計処理を行うことができない。
In the homomorphic encryption method described in
統計処理を行いたい対象の暗号化データの少なくとも一部が異なる公開鍵で暗号化されている場合、例えば、統計処理を行いたい対象であるすべての暗号化データを取り出し、復号し、統計処理を行う方法が考えられる。しかし、この方法では、すべての暗号化データをサービス提供者側にダウンロードしなくてはならない。従って、利便性や通信コストの観点で問題がある。また、クラウド環境では、サービス提供者側の計算資源が少ないことが想定される。このため、統計処理は、なるべくクラウド側の装置で行うことが望まれている。さらには、統計処理対象の暗号化データが一度復号されるため、サービス提供者側の装置からのデータの漏洩を防がなくてはならない。そのため、情報漏洩対策にコストがかかるという問題も生じる。 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 used 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 arithmetic operation, it operates as an encrypted statistical data generation unit that generates encrypted statistical data that can be decrypted into statistical information on the original data before the one or more encrypted data is encrypted .
なお、本発明は、上述した暗号化統計処理プログラムが格納された、コンピュータで読み取り可能な記録媒体によっても実現できる。 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.
以下、本発明の実施の形態について、図面を参照して詳細に説明する。 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
また、鍵生成装置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
また、鍵生成装置100は、外部のデータ登録装置700に、互いに通信が可能であるように接続されている。ここで、データ登録装置700は、鍵生成装置100によって公開されている公開鍵を用いて、登録対象のデータを暗号化して暗号化データを生成し、生成された暗号化データを後述の暗号化データ記憶装置800に登録する装置である。
The
また、プロキシ装置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
また、暗号化統計データ生成装置300は、外部の暗号化統計データ記憶装置900に、互いに通信が可能であるように接続されている。ここで、暗号化統計データ記憶装置900は、統計情報が暗号化された暗号化統計データを記憶する装置である。
The encrypted statistical
また、図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
次に、図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 illustrating a hardware configuration of each device constituting the encrypted
ROM1003および記憶装置1004には、コンピュータ装置を本実施の形態の鍵生成装置100として機能させるコンピュータプログラムおよび各種データが格納されている。
The
CPU1001は、ROM1003および記憶装置1004に記憶されたコンピュータプログラムおよび各種データをRAM1002にロードし、ロードされたコンピュータプログラムを実行する。
The
ネットワークインタフェース1005は、ネットワークを介して他の装置との通信を行うモジュールである。
The
プロキシ装置200は、CPU2001と、RAM2002と、ROM2003と、ハードディスク等の記憶装置2004と、ネットワークインタフェース2005とを備えたコンピュータ装置によって構成されている。
The
ROM2003および記憶装置2004には、コンピュータ装置を本実施の形態のプロキシ装置200として機能させるコンピュータプログラムおよび各種データが格納されている。
The
CPU2001は、ROM2003および記憶装置2004に記憶されたコンピュータプログラムおよび各種データをRAM2002にロードし、ロードされたコンピュータプログラムを実行する。
The
ネットワークインタフェース2005は、ネットワークを介して他の装置との通信を行うモジュールである。
A
暗号化統計データ生成装置300は、CPU3001と、RAM3002と、ROM3003と、ハードディスク等の記憶装置3004と、ネットワークインタフェース3005とを備えたコンピュータ装置によって構成されている。
The encrypted statistical
ROM3003および記憶装置3004には、コンピュータ装置を本実施の形態の暗号化統計データ生成装置300として機能させるコンピュータプログラムおよび各種データが格納されている。
The
CPU3001は、ROM3003および記憶装置3004に記憶されたコンピュータプログラムおよび各種データをRAM3002にロードし、ロードされたコンピュータプログラムを実行する。
The
ネットワークインタフェース3005は、ネットワークを介して他の装置との通信を行うモジュールである。
A
なお、暗号化統計処理システム1を構成する各装置のハードウェア構成は、上述の構成に限定されない。
Note that the hardware configuration of each device constituting the encrypted
次に、暗号化統計処理システム1を構成する各装置の機能ブロックについて、図3を参照して説明する。図3は、暗号化統計処理システム1を構成する各装置の機能ブロックを表すブロック図である。
Next, functional blocks of each device constituting the encrypted
まず、鍵生成装置100の機能ブロックについて説明する。図3において、鍵生成装置100は、鍵保持部101と、全体公開鍵取得部102と、プロキシ鍵生成部103とを含む。ここで、鍵保持部101は、記憶装置1004によって実現される。また、全体公開鍵取得部102およびプロキシ鍵生成部103は、ネットワークインタフェース1005と、ROM1003および記憶装置1004に記憶されたコンピュータプログラムおよび各種データをRAM1002に読み込んで実行するCPU1001とによって実現される。なお、鍵生成装置100の各機能ブロックのハードウェア構成は、上述の構成に限定されない。
First, functional blocks of the
鍵保持部101は、公開鍵およびその公開鍵のペアである秘密鍵を記憶する。この公開鍵および秘密鍵は、準同型性を有する公開鍵暗号方式において用いられる鍵である。また、公開鍵は、外部から取得可能であるように保持されている。秘密鍵は、外部から取得できないように保持されている。鍵保持部101に保持される公開鍵および秘密鍵は、鍵生成装置100において生成されたものであってもよいし、他の装置から取得されたものであってもよい。
The
全体公開鍵取得部102は、全体公開鍵を取得する。全体公開鍵は、1つ以上の分散復号用秘密鍵を用いて分散復号可能な暗号化情報を生成するための公開鍵である。分散復号は、1つの暗号化された情報に対して、1つ以上の分散復号用秘密鍵を用いて復号途中のデータ(部分復号結果)をそれぞれ生成し、これらの部分復号結果に基づいて、完全に復号されたデータを求める復号方式である。このような全体公開鍵は、一般に知られている技術を用いて生成可能である。例えば、このような全体公開鍵は、上述の1つ以上の分散復号用秘密鍵のそれぞれのペアである1つ以上の分散復号用公開鍵から生成可能である。そこで、全体公開鍵取得部102は、このような全体公開鍵を、他の装置によって公開されている1つ以上の分散復号用公開鍵に基づいて生成してもよい。あるいは、全体公開鍵取得部102は、1つ以上の分散復号用公開鍵に基づいて他の装置によって生成され公開される全体公開鍵を取得してもよい。
The entire public
プロキシ鍵生成部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
次に、プロキシ装置200の機能ブロックについて説明する。図3において、プロキシ装置200は、再暗号化部201を含む。ここで、再暗号化部201は、ネットワークインタフェース2005と、CPU2001とによって実現される。CPU2001は、ROM2003および記憶装置2004に記憶された前述のコンピュータプログラムおよび各種データをRAM2002にロードし、ロードされたコンピュータプログラムを実行する。なお、再暗号化部201のハードウェア構成は、上述の構成に限定されない。
Next, functional blocks of the
再暗号化部201は、鍵生成装置100のプロキシ鍵生成部103によって生成されたプロキシ鍵を用いて、そのプロキシ鍵を生成した鍵生成装置100の鍵保持部101に保持される公開鍵により暗号化された暗号化データを、再暗号化データに変換する。例えば、このようなプロキシ鍵を用いた再暗号化技術として、上述の参考文献Aに記載された技術が適用可能である。
The
次に、暗号化統計データ生成装置300の機能ブロックについて説明する。図3において、暗号化統計データ生成装置300は、暗号化統計データ生成部301を含む。ここで、暗号化統計データ生成部301は、ネットワークインタフェース3005と、ROM3003および記憶装置3004に記憶されたコンピュータプログラムおよび各種データをRAM3002に読み込んで実行するCPU3001とによって実現される。CPU3001は、ROM3003および記憶装置3004に記憶されたコンピュータプログラムおよび各種データをRAM3002にロードし、ロードされたコンピュータプログラムを実行する。なお、暗号化統計データ生成部301のハードウェア構成は、上述の構成に限定されない。
Next, functional blocks of the encrypted statistical
暗号化統計データ生成部301は、N個の暗号化データ記憶装置800にそれぞれ記憶されている暗号化データがN個のプロキシ装置200によってそれぞれ変換された再暗号化データに対して、準同型性を利用した演算を施す。ここで、これらの再暗号化データは、異なる公開鍵によって暗号化された暗号化データが、同一の全体公開鍵に対応する1つ以上の分散復号用秘密鍵を用いて復号可能な情報に再暗号化されたデータである。したがって、暗号化統計データ生成部301は、これらの再暗号化データに対して準同型性を利用した演算を行うことが可能である。そして、暗号化統計データ生成部301は、演算結果を暗号化統計データとする。つまり、このような暗号化統計データは、再暗号化データが再暗号化される前の暗号化データの元の平文に関する統計情報が全体公開鍵により暗号化された情報に相当する。
The encrypted statistical
また、暗号化統計データ生成部301は、生成した暗号化統計データを、暗号化統計データ記憶装置900に記憶させる。
In addition, the encrypted statistical
以上のように構成された暗号化統計処理システム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
まず、図4は、暗号化統計処理システム1のプロキシ鍵生成動作を表すフローチャートである。
First, FIG. 4 is a flowchart showing the proxy key generation operation of the encrypted
図4では、まず、鍵生成装置100_iの全体公開鍵取得部102は、全体公開鍵gpkを取得する(ステップS1)。
In FIG. 4, first, the entire public
次に、鍵生成装置100_iのプロキシ鍵生成部103は、鍵生成装置100_iの鍵保持部101に保持される秘密鍵ssk_i、および、ステップS1で取得された全体公開鍵gpkを用いて、プロキシ鍵rk_iを生成する(ステップS2)。プロキシ鍵rk_iは、公開鍵spk_iを用いて暗号化された暗号化データを、全体公開鍵gpkに関係する1つ以上の分散復号用秘密鍵を用いて分散復号可能な、再暗号化データに変換するための鍵である。
Next, the proxy
次に、鍵生成装置100_iのプロキシ鍵生成部103は、生成したプロキシ鍵rk_iを、プロキシ装置200_iに対して送信する(ステップS3)。
Next, the proxy
以上で、暗号化統計処理システム1は、プロキシ鍵生成動作を終了する。
Thus, the encrypted
次に、図5は、暗号化統計処理システム1の暗号化統計データ生成動作を表すフローチャートである。
Next, FIG. 5 is a flowchart showing the encrypted statistical data generation operation of the encrypted
図5において、プロキシ装置200_iの再暗号化部201は、プロキシ鍵rk_iを取得する(ステップS11)。
In FIG. 5, the
次に、プロキシ装置200_iの再暗号化部201は、公開鍵spk_iで暗号化された暗号化データの集合 { ENC ( spk_i , M_{i,j} ) } ( j = 1 〜 n_i ) を、暗号化データ記憶装置800_iから取得する(ステップS12)。
Next, the
次に、プロキシ装置200_iの再暗号化部201は、プロキシ鍵rk_iを用いて、暗号化データの集合 { ENC ( spk_i , M_{i,j} ) } を、再暗号化データの集合 { ENC ( gpk , M_{i,j} ) } に変換する(ステップS13)。
Next, the
次に、プロキシ装置200_iの再暗号化部201は、再暗号化データの集合{ENC(gpk,M_{i,j})}を、暗号化統計データ生成装置300に送信する(ステップS14)。
Next, the
次に、暗号化統計データ生成装置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
次に、暗号化統計データ生成部301は、再暗号化データの集合 { ENC ( gpk , M_{1,1} ),…, ENC ( gpk , M_{N,n_N} ) } に基づいて、暗号化統計データ ENC ( gpk , S ) を生成する(ステップS16)。
Next, the encrypted statistical
ここで、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 the plaintexts 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
次に、暗号化統計データ生成部301は、生成した暗号化統計データENC ( gpk , S )を、暗号化統計データ記憶装置900に記憶させる(ステップS17)。
Next, the encrypted statistical
以上で、暗号化統計処理システム1は、暗号化統計データ生成動作を終了する。
The encrypted
次に、本発明の第1の実施の形態の効果について述べる。 Next, effects of the first exemplary embodiment of the present invention will be described.
本発明の第1の実施の形態の暗号化統計処理システムは、異なる公開鍵を用いて暗号化された暗号化データに対して、データが暗号化されたまま統計処理を行うことができる。 The encrypted statistical processing system according to the first embodiment of this 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は、暗号化データを元のデータに復号することなく、元のデータに関する統計情報が暗号化された情報に相当する暗号化統計データを生成するからである。
This is because the proxy
このように、本発明の第1の実施の形態の暗号化統計処理システム1は、例えば復号システムによって公開される全体公開鍵を用いて、異なる公開鍵を用いて暗号化された暗号化データに対して暗号化したまま統計処理を行う。このことにより、本発明の第1の実施の形態の暗号化統計処理システム1は、そのような復号システムによって分散復号可能な暗号化統計データを生成することができる。したがって、本実施の形態は、暗号化データを生成するための公開鍵を用いたサービスを行うサービス提供者側と、統計データを利用したい統計データ利用者が異なる場合にも好適である。
As described above, the encrypted
(第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
まず、図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 a configuration of the
また、図6において、分散復号装置400および統計情報復号装置500は、互いに通信が可能であるように接続されている。また、分散復号装置400および統計情報復号装置500は、外部の暗号化統計データ記憶装置900とそれぞれ通信が可能であるように接続されている。ここで、暗号化統計データ記憶装置900は、本発明の第1の実施の形態の暗号化統計処理システム1によって生成された暗号化統計データを記憶する装置である。
In FIG. 6, the distributed
また、図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
次に、図7は、復号システム2を構成する各装置のハードウェア構成を表すブロック図である。
Next, FIG. 7 is a block diagram showing a hardware configuration of each device constituting the
図7において、分散復号装置400は、CPU4001と、RAM4002と、ROM4003と、ハードディスク等の記憶装置4004と、ネットワークインタフェース4005とを備えたコンピュータ装置によって構成されている。
In FIG. 7, the distributed
ROM4003および記憶装置4004には、コンピュータ装置を本実施の形態の分散復号装置400として機能させるコンピュータプログラムおよび各種データが記憶されている。
The
CPU4001は、ROM4003および記憶装置4004に記憶されたコンピュータプログラムおよび各種データをRAM4002にロードし、ロードされたコンピュータプログラムを実行する。
The
ネットワークインタフェース4005は、ネットワークを介して他の装置との通信を行うモジュールである。
A
統計情報復号装置500は、CPU5001と、RAM5002と、ROM5003と、ハードディスク等の記憶装置5004と、ネットワークインタフェース5005とを備えたコンピュータ装置によって構成されている。
The statistical
ROM5003および記憶装置5004には、コンピュータ装置を本実施の形態の統計情報復号装置500として機能させるためのコンピュータプログラムおよび各種データが記憶されている。
The
CPU5001は、ROM5003および記憶装置5004に記憶されたコンピュータプログラムおよび各種データをRAM5002にロードし、ロードされたコンピュータプログラムを実行する。
The
ネットワークインタフェース5005は、ネットワークを介して他の装置との通信を行うモジュールである。
A
次に、復号システム2を構成する各装置の機能ブロックについて、図8を参照して説明する。図8は、復号システム2を構成する各装置の機能ブロックを表すブロック図である。
Next, functional blocks of each device constituting the
まず、分散復号装置400の各機能ブロックについて説明する。図8において、分散復号装置400は、分散復号用鍵保持部401と、分散復号部402とを含む。ここで、分散復号用鍵保持部401は、記憶装置4004によって実現される。また、分散復号部402は、ネットワークインタフェース4005と、CPU4001とによって実現される。CPU4001は、ROM4003および記憶装置4004に記憶された前述のコンピュータプログラムおよび各種データをRAM4002にロードし、ロードされたコンピュータプログラムを実行する。なお、分散復号装置400の各機能ブロックのハードウェア構成は、上述の構成に限定されない。
First, each functional block of the distributed
分散復号用鍵保持部401は、分散復号用公開鍵および分散復号用秘密鍵を記憶している。ここで、この分散復号用公開鍵および分散復号用秘密鍵は、分散復号可能な公開鍵暗号方式において用いられる鍵である。この分散復号用公開鍵は、他の装置が取得できるように保持される。また、分散復号用秘密鍵は、他の装置が取得できないよう保持されている。
The distributed decryption
分散復号部402は、暗号化統計データ記憶装置900に記憶された暗号化統計データを、分散復号用秘密鍵を用いて復号することにより部分復号結果を生成する。ここで、暗号化統計データ記憶装置900には、本発明の第1の実施の形態の暗号化統計処理システム1によって生成された暗号化統計データが記憶されている。暗号化統計処理システム1は、L個の分散復号装置400に保持される分散復号用秘密鍵によって分散復号可能な情報を生成するための全体公開鍵を用いて、暗号化統計データを生成する。
The distributed
なお、分散復号装置400は、その分散復号装置400が公開する分散復号用公開鍵と、他の分散復号装置400が公開する他の分散復号用公開鍵とに基づいて、暗号化統計処理システム1によって用いられる上述の全体公開鍵を生成してもよい。そして、分散復号装置400は、生成した全体公開鍵を公開してもよい。
The distributed
次に、統計情報復号装置500の機能ブロックについて説明する。図8において、統計情報復号装置500は、統計情報復号部501を有する。ここで、統計情報復号部501は、ネットワークインタフェース5005と、CPU5001とによって構成される。CPU5001は、ROM5003および記憶装置5004に記憶された前述のコンピュータプログラムおよび各種データをRAM5002にロードし、ロードされたコンピュータプログラムを実行する。なお、統計情報復号部501のハードウェア構成は、上述の構成に限定されない。
Next, functional blocks of the statistical
統計情報復号部501は、L個の分散復号装置400によって得られたL個の部分復号結果に基づいて、暗号化統計データの完全な復号結果を取得する。これにより、統計情報復号部501は、本発明の第1の実施の形態の暗号化統計処理システム1に接続される暗号化データ記憶装置800に記憶されている暗号化データが暗号化される前の元のデータに関する統計情報を取得する。
The statistical
以上のように構成された復号システム2の復号動作について、図9を参照して説明する。
The decoding operation of the
なお、以下の説明において参照する図面では、分散復号装置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
図9では、まず、分散復号装置400_iの分散復号部402は、暗号化統計データ記憶装置900から、暗号化統計データENC ( gpk , S )を取得する(ステップS21)。
In FIG. 9, first, the distributed
次に、分散復号装置400_iの分散復号部402は、分散復号用鍵保持部401に保持された分散復号用秘密鍵dsk_iを用いて、暗号化統計データENC ( gpk , S )を部分復号し、部分復号結果RESULT_iを生成する(ステップS22)。
Next, the distributed
次に、分散復号装置400_iの分散復号部402は、部分復号結果RESULT_iを、統計情報復号装置500に送信する(ステップS23)。
Next, the distributed
次に、統計情報復号装置500の統計情報復号部501は、分散復号装置400_1〜400_Lから、L個の部分復号結果RESULT_1〜RESULT_Lを受信する(ステップS24)。
Next, the statistical
次に、統計情報復号部501は、L個の部分復号結果RESULT_1〜RESULT_Lに基づいて、復号結果Sを取得する(ステップS25)。
Next, the statistical
以上で、復号システム2は動作を終了する。
Thus, the
次に、本発明の第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つ以上の部分復号結果に基づいて完全な復号結果を得る。すなわち、本実施の形態の復号システムは、暗号化統計データを分散復号することにより、復号結果として、異なる公開鍵を用いて暗号化された暗号化データの元のデータに対する統計情報を得ることができる。 This is because 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 this 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
また、図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 apparatuses 430_1 to 430_L and a statistical
また、図10において、鍵生成装置130、プロキシ装置230および暗号化統計データ生成装置330は、本発明の第1の実施の形態における鍵生成装置100、プロキシ装置200および暗号化統計データ生成装置300と同様に、互いに通信が可能であるように接続される。さらに、鍵生成装置130、プロキシ装置230および暗号化統計データ生成装置330は、外部のデータ登録装置700、外部の暗号化データ記憶装置800および外部の暗号化統計データ記憶装置900とそれぞれ通信が可能であるように接続されている。
In FIG. 10, the
また、図10において、分散復号装置430および統計情報復号装置530は、本発明の第2の実施の形態における分散復号装置400および統計情報復号装置500と同様に、互いに通信が可能であるように接続される。さらに、分散復号装置430および統計情報復号装置530は、外部の暗号化統計データ記憶装置900と、それぞれ通信が可能であるように接続されている。
Also, in FIG. 10, distributed
また、図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
次に、暗号化統計処理システム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
プロキシ鍵生成部133は、そのプロキシ鍵生成部133が含まれる鍵生成装置130で生成された乱数、他の鍵生成装置130で生成された他の乱数、および、鍵保持部101に保持される秘密鍵に基づいて、統合用変換鍵を生成する。プロキシ鍵生成部133による統合用変換鍵の生成に使用される秘密鍵を保持する鍵保持部101は、そのプロキシ鍵生成部133を含む鍵生成装置130の鍵保持部101である。統合用変換鍵は、鍵保持部101に保持される公開鍵によって暗号化された暗号化データを、統合用秘密鍵によって復号可能な統合用再暗号化データに変換するための鍵である。統合用秘密鍵は、統合用秘密鍵を生成するプロキシ鍵生成部133が含まれる鍵生成装装置130で生成された乱数および他の鍵生成装置130で生成された他の乱数に基づき生成されうる秘密鍵である。このために、例えばプロキシ鍵生成部133が、乱数を生成する。プロキシ鍵生成部133は、さらに、他の鍵生成装置130のプロキシ鍵生成部133によって生成された他の乱数に関する情報を取得する。
The proxy
また、プロキシ鍵生成部133は、そのプロキシ鍵生成部133が含まれる鍵生成装置130で生成された乱数を、前述の全体公開鍵により暗号化して乱数暗号化情報を生成する。そして、プロキシ鍵生成部133は、統合用変換鍵および乱数暗号化情報を含む情報を、プロキシ鍵として生成する。
Further, the proxy
また、プロキシ鍵生成部133は、プロキシ装置230によって公開される後述のプロキシ公開鍵を用いて、上述の統合用変換鍵および乱数暗号化情報を含むプロキシ鍵を生成してもよい。具体的には、プロキシ鍵生成部133は、そのプロキシ鍵生成部133が含まれる鍵生成装置130で生成された乱数を、その鍵生成装置130に関連付けられたプロキシ装置230によって公開されるプロキシ公開鍵を用いて暗号化してもよい。また、プロキシ鍵生成部133は、他の鍵生成装置130によって生成された他の乱数を、同一のプロキシ公開鍵を用いて暗号してもよい。そして、プロキシ鍵生成部133は、それらの暗号化された乱数を表す情報と、自装置の秘密鍵とに基づいて、前述の統合用変換鍵がプロキシ公開鍵により暗号化された情報に相当する統合用変換鍵暗号化情報を生成してもよい。この場合、プロキシ鍵生成部133は、統合用変換鍵暗号化情報および乱数暗号化情報を含む情報を、プロキシ鍵として生成する。例えば、プロキシ鍵生成部133は、そのプロキシ鍵生成部133が含まれる鍵生成装置130が生成した乱数を、N個のプロキシ装置230によって公開されるN個のプロキシ公開鍵を用いてそれぞれ暗号化したN個の暗号化情報を生成すればよい。そして、プロキシ鍵生成部133は、生成した各情報を、暗号化に用いたプロキシ公開鍵に関係する他の鍵生成装置130に送信すればよい。これにより、プロキシ鍵生成部133は、N個の乱数が同一のプロキシ公開鍵を用いて暗号化された情報を取得可能となる。
In addition, the proxy
次に、プロキシ装置230の各機能ブロックについて説明する。図11において、プロキシ装置230は、本発明の第1の実施の形態におけるプロキシ装置200に対して、再暗号化部201に替えて再暗号化部231を備え、さらに、プロキシ鍵保持部232を備える点が異なる。ここで、プロキシ鍵保持部232は、記憶装置2004によって構成される。
Next, each functional block of the
プロキシ鍵保持部232は、プロキシ公開鍵およびプロキシ秘密鍵を記憶している。プロキシ公開鍵およびプロキシ秘密鍵は、準同型性を有する公開暗号化方式において用いられる公開鍵および秘密鍵である。このプロキシ公開鍵は、他の装置が取得できるように保持される。また、プロキシ秘密鍵は、他の装置が取得できないよう保持されている。
The proxy
再暗号化部231は、N個の鍵生成装置130によって生成されたN個のプロキシ鍵に含まれるN個の乱数暗号化情報に基づいて、統合用秘密鍵暗号化情報を生成する。ここで、N個の各乱数暗号化情報は、各鍵生成装置130によって生成された乱数が全体公開鍵によって暗号化された情報である。そこで、例えば、再暗号化部231は、N個の各乱数暗号化情報に対して準同型性を利用した演算を施すことにより、各乱数暗号化情報を復号することなく、これらの乱数に基づき生成されうる統合用秘密鍵に復号可能な統合用秘密鍵暗号化情報を得ることができる。
The
また、再暗号化部231は、統合用変換鍵を用いて、暗号化データを、統合用再暗号化データに変換する。その統合用変換鍵は、再暗号化部231が含まれるプロキシ装置230に関連付けられた鍵生成装置130によって生成されたプロキシ鍵に含まれる統合用変換鍵である。また、暗号化データは、その鍵生成装置130により公開される公開鍵によって暗号化された暗号化データである。プロキシ鍵に前述の統合用変換鍵暗号化情報が含まれる場合、再暗号化部231は、プロキシ鍵保持部232に保持されるプロキシ秘密鍵を用いて統合用変換鍵暗号化情報を復号することにより、統合用変換鍵を取得すればよい。そして、再暗号化部231は、この統合用再暗号化データと、前述の統合用秘密鍵暗号化情報とを含む情報を、再暗号化データとして出力する。
Further, the
次に、暗号化統計データ生成装置330の機能ブロックについて説明する。図11において、暗号化統計データ生成装置330は、本発明の第1の実施の形態における暗号化統計データ生成装置300に対して、暗号化統計データ生成部301に替えて暗号化統計データ生成部331を備える点が異なる。
Next, functional blocks of the encrypted statistical
暗号化統計データ生成部331は、プロキシ装置230から出力される再暗号化データに含まれる統合用再暗号化データに対して、準同型性を利用した演算を施す。そして、暗号化統計データ生成部331は、その演算結果である統合用再暗号化データ演算結果と、再暗号化データに含まれる統合用秘密鍵暗号化情報とを含む情報を、暗号化統計データとして生成する。このような暗号化統計データに含まれる統合用秘密鍵暗号化情報は、1つ以上の分散復号用秘密鍵を用いて分散復号されることにより統合用秘密鍵に復号可能である。また、このような暗号化統計データに含まれる統合用再暗号化データ演算結果は、そのような統合用秘密鍵により統計情報に復号可能である。したがって、このような暗号化統計データは、1つ以上の分散復号用秘密鍵を用いて統計情報に復号可能であるといえる。
The encrypted statistical
次に、分散復号装置430の各機能ブロックについて説明する。図11において、分散復号装置430は、本発明の第2の実施の形態における分散復号装置400に対して、分散復号部402に替えて分散復号部432を備える点が異なる。
Next, each functional block of the distributed
分散復号部432は、暗号化統計データ記憶装置900に記憶される暗号化統計データに含まれる統合用秘密鍵暗号化情報に対して、自装置の分散復号用鍵保持部401に保持される分散復号用秘密鍵を用いて部分復号を行うことにより、部分復号結果を生成する。
The distributed
次に、統計情報復号装置530の機能ブロックについて説明する。図11において、統計情報復号装置530は、本発明の第2の実施の形態における統計情報復号装置500に対して、統計情報復号部501に替えて統計情報復号部531を備える点が異なる。
Next, functional blocks of the statistical
統計情報復号部531は、L個の分散復号装置430から出力されるL個の部分復号結果に基づいて、暗号化統計データに含まれる統合用秘密鍵暗号化情報の完全な復号結果として統合用秘密鍵を取得する。そして、統計情報復号部531は、取得した統合用秘密鍵を用いて、暗号化統計データに含まれる統合用再暗号化データ演算結果を復号する。これにより、統計情報復号部531は、暗号化データ記憶装置800に記憶されている暗号化データが暗号化される前のデータに関する統計情報を取得することになる。
Based on the L partial decryption results output from the L distributed
以上のように構成された暗号化統計処理システム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 probabilistic algorithm that outputs a public key (p, g, y) and a secret key (x) with a security parameter k as an input. The key generation is performed as follows.
1:k ビットの素数 p を生成する。 1: A prime number p of k bits is generated.
2:Z_p の生成元 g をランダムに生成する。 2: The generator g of Z_p is randomly generated.
3:Z_p からランダムに x を選び、y=g^x を計算する。 3: Randomly select x 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 Elgamal encryption algorithm is a probabilistic algorithm that outputs a ciphertext C = (c_1, c_2) with a message MεZ_p and a public key (p, g, y) as inputs. The encryption is performed as follows.
1:Z_pからランダムにrを選ぶ。 1: R is selected 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: C = (c_1, c_2) is output.
<復号>エルガマル暗号の復号のアルゴリズムは、暗号文C=(c_1, c_2)および秘密鍵xを入力として、平文Mを出力する決定的アルゴリズムである。その復号は、以下の通り行われる。 <Decryption> The decryption algorithm of the El Gamal cipher is a deterministic 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: P = c_2 / (c_1) ^ {1 / x} is calculated.
2:g^M=Pを満たす M を見つける。 2: Find M that satisfies g ^ M = P.
3:Mを出力する。 3: Output M.
このようなエルガマル暗号は、プロキシ再暗号化機能および加法準同型性を有するために、一般的に広く知られたエルガマル暗号とは異なる。しかし、このようなエルガマル暗号が、通常のエルガマル暗号と同等の安全性を有することを、数学的に証明可能である。以降、このようなエルガマル暗号方式を採用した場合の具体例を中心に、暗号化統計処理システム3および復号システム4の動作について説明する。 Such an El Gamal cipher has a proxy re-encryption function and an additive homomorphism, and thus differs from the generally 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 key public keys spk_i = (p, g, y_i) and secret key ssk_i = (x_i) are already stored in the
ただし、各公開鍵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 numbers g of the prime numbers p and Z_p used to generate each public key spk_i are 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
また、以下の動作の説明において、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
ただし、各プロキシ公開鍵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 one as the 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
また、以下の動作の説明において、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
ただし、各分散公開鍵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 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
また、以下の動作の説明において、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 = 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
まず、全体公開鍵の生成動作について説明する。図12は、全体公開鍵の生成動作を表す図である。ここでは、分散復号装置430_iが、全体公開鍵を生成し、公開するものとして説明を行う。 First, the entire 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 publicizes 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
次に、暗号化統計処理システム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
次に、プロキシ鍵生成部133は、そのプロキシ鍵生成部133が含まれる鍵生成装置130_iの鍵保持部101に保持されている秘密鍵ssk_i=(x_i)を取得する(ステップS202)。
Next, the proxy
次に、プロキシ鍵生成部133は、乱数h_iを生成する(ステップS203)。具体的には、プロキシ鍵生成部133は、Z_pからランダムにh_iを選択する。
Next, the proxy
次に、プロキシ鍵生成部133は、生成した乱数h_iをプロキシ公開鍵ppk_iで暗号化した情報と、他の鍵生成装置130_j(j=1〜N、ただし、j≠i)によって生成された乱数h_jが同一のプロキシ公開鍵ppk_iで暗号化された情報とを取得する(ステップS204)。
Next, the proxy
具体的には、鍵生成装置130_iのプロキシ鍵生成部133は、次のように動作することにより、これらのN個の乱数がプロキシ公開鍵ppk_iで暗号化された情報を取得すればよい。
Specifically, the proxy
・鍵生成装置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
・次に、鍵生成装置130_iのプロキシ鍵生成部133は、生成したENC(ppk_j, h_i) (j=1〜N、ただし、j≠i)を、それぞれ他の鍵生成装置130_jに送信する。
Next, the proxy
・次に、鍵生成装置130_iのプロキシ鍵生成部133は、他の鍵生成装置130_jから、乱数h_jがプロキシ公開鍵ppk_iで暗号化されたENC(ppk_i, h_j)をそれぞれ受信する。
Next, the proxy
このようにして、ステップ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
次に、鍵生成装置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
ここで、前述のように、統合用変換鍵暗号化情報は、統合用変換鍵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
・次に、鍵生成装置130_iのプロキシ鍵生成部133は、C’_{1,i}=C_{1,i}^{1/ssk_i}, C’_{2,i}=C_{2,i}^{1/ssk_i} を計算する。
Next, the proxy
・次に、鍵生成装置130_iのプロキシ鍵生成部133は、(C’_{1,i}, C’_{2,i})を統合用変換鍵暗号化情報ENC(ppk_i,rk-1_i)とする。
Next, the proxy
このようにして、ステップS205において、鍵生成装置130_iのプロキシ鍵生成部133は、統合用変換鍵暗号化情報ENC(ppk_i,rk-1_i)を生成する。
In this way, in step S205, the proxy
次に、鍵生成装置130_iのプロキシ鍵生成部133は、ステップS205で生成した統合用変換鍵暗号化情報ENC(ppk_i,rk-1_i)を、プロキシ鍵の一部として、プロキシ装置230_iに送信する(ステップS206)。
Next, the proxy
次に、鍵生成装置130_iのプロキシ鍵生成部133は、ステップS203で生成した乱数h_iに対して、全体公開鍵gpkを用いてエルガマル暗号の暗号化処理を実行することにより、乱数暗号化情報ENC(gpk, h_i)を計算する(ステップS207)。
Next, the proxy
次に、鍵生成装置130_iのプロキシ鍵生成部133は、ステップS207で生成した乱数暗号化情報ENC(gpk, h_i)を、プロキシ鍵の一部として、プロキシ装置230_1〜プロキシ装置230_Nにそれぞれ送信する(ステップS208)。
Next, the proxy
次に、プロキシ装置230_iの再暗号化部231は、ステップS206で鍵生成装置130_iから送信された統合用変換鍵暗号化情報ENC(ppk_i,rk-1_i)に対して、プロキシ秘密鍵psk_iを用いてエルガマル暗号の復号処理を実行する。このことにより、再暗号化部231は、統合用変換鍵rk-1_iを得る(ステップS209)。
Next, the
次に、プロキシ装置230_iの再暗号化部231は、ステップS208で鍵生成装置130_1〜鍵生成装置130_Nからそれぞれ送信された乱数暗号化情報ENC(gpk,h_1),…,ENC(gpk, h_N)に対して、準同型性を利用した演算を施す。このことにより、再暗号化部231は、統合用秘密鍵暗号化情報を生成する(ステップS210)。
Next, the
具体的には、プロキシ装置230_iの再暗号化部231は、ENC(gpk,h_i)=(c_{1,i}, c_{2,i})として、以下の通り動作する。
Specifically, the
・まず、プロキシ装置230_iの再暗号化部231は、C_1=c_{1,1}(・)…(・)c_{1,N}、C_2=c_{2,1}(・)…(・)c_{2,N}を計算する。
First, the
・次に、プロキシ装置230_iの再暗号化部231は、(C_1, C_2) を、統合用秘密鍵暗号化情報ENC(gpk, H)とする。ここで、Hは、統合用秘密鍵を表す。
Next, the
以上で、暗号化統計処理システム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
次に、プロキシ装置230_iの再暗号化部231は、公開鍵spk_iで暗号化された暗号化データの集合{ENC(spk_i, M_{i,j})}( j = 1 〜 n_i )を、暗号化データ記憶装置800_iから取得する(ステップS302)。
Next, the
次に、プロキシ装置230_iの再暗号化部231は、統合用変換鍵rk-1_iを用いて、暗号化データの集合{ENC(spk_i, M_{i,j})}を、統合用再暗号化データの集合に変換する。
Next, the
具体的には、プロキシ装置230_iの再暗号化部231は、各暗号化データENC(spk_i, M_{i,j})=(c_1, c_2)=({y_i}^r, g^{M_{i,j}}g^{r})に対して、以下の通り再暗号化を実行する。
Specifically, the
・まず、 プロキシ装置230_iの再暗号化部231は、c_1’=c_1^{rk-1_i}を計算する。
First, the
・次に、プロキシ装置230_iの再暗号化部231は、(c_1’, c_2)を、統合用再暗号化データENC(gH , M_{i,j}) とする。ここで、gHは、前述の統合用秘密鍵Hに対応する統合用公開鍵を表す。すなわち、このようにして計算された(c_1’, c_2)は、統合用秘密鍵Hを用いて平文M_{i,j}に復号可能な統合用再暗号化データである。
Next, the
このようにして、ステップS303において、プロキシ装置230_iの再暗号化部231は、統合用再暗号化データの集合{ENC(gH, M_{i,1}),…,ENC(gH,M_{i,n_i})}を生成する。
In this way, in step S303, the
次に、プロキシ装置230_iの再暗号化部231は、ステップS303で生成した統合用再暗号化データの集合と、統合用秘密鍵暗号化情報ENC(gpk,H)とを含む情報を、再暗号化データの集合ENC_i(gpk, M)として、暗号化統計データ生成装置330に送信する(ステップS304)。
Next, the
具体的には、プロキシ装置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
次に、暗号化統計データ生成装置330の暗号化統計データ生成部331は、プロキシ装置230_1〜230_NからN個の再暗号化データの集合ENC_1(gpk, M),…,ENC_N(gpk,M)を受信する(ステップS305)。
Next, the encrypted statistical
次に、暗号化統計データ生成部331は、N個の再暗号化データの集合に含まれる統合用再暗号化データ対して、準同型性を利用した演算を施すことにより、統合用再暗号化データ演算結果を生成する(ステップS306)。
Next, the encrypted statistical
具体的には、暗号化統計データ生成部331は、次のように動作してもよい。ただし、ENC_i(gpk,M)に含まれるENC(gH, M_{i,j})を(c_{1,j}, c_{2,j})と記す。
Specifically, the encrypted statistical
・まず、暗号化統計データ生成部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
・次に、暗号化統計データ生成部331は、さらに、C_1=C_{1,1}(・)…(・)C_{1,N}、C_2=C_{2,1}(・)…(・)C_{2,N}を計算する。
Next, the encrypted statistical
・次に、暗号化統計データ生成部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
次に、暗号化統計データ生成部331は、統合用再暗号化データ演算結果ENC(gH, S)と、統合用秘密鍵暗号化情報ENC(gpk, H)とを含む情報を暗号化統計データとして、暗号化統計データ記憶装置900に記憶させる(ステップS307)。
Next, the encrypted statistical
このようにして生成された暗号化統計データには、統合用秘密鍵Hを用いて平文M_{1,1}〜M_{N,n_N}に関する統計情報に復号可能な統合用再暗号化データ演算結果と、統合用秘密鍵Hが全体公開鍵gpkで暗号化された統合用秘密鍵暗号化情報とが含まれている。すなわち、このような再暗号化データの集合は、全体公開鍵に対応する1つ以上の分散復号用秘密鍵により分散復号可能なデータであるといえる。 For the encrypted statistical data generated in this way, the re-encrypted data operation 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
次に、分散復号装置430_iの分散復号部432は、自装置の分散復号用秘密鍵dsk_iを用いて、統合用秘密鍵暗号化情報ENC(gpk,H)を部分復号し、部分復号結果を生成する。
Next, the distributed
具体的には、分散復号装置430_iの分散復号部432は、C’_{i,1}=C_1^{1/dsk_i}を計算する。そして、分散復号装置430_iの分散復号部432は、(C’_{i,1}, C_2)を部分復号結果 PRESULT_iとする。
Specifically, the distributed
次に、分散復号装置430_iの分散復号部432は、部分復号結果PRESULT_iを、統計情報復号装置530に送信する(ステップS403)。
Next, the distributed
次に、統計情報復号装置530の統計情報復号部531は、分散復号装置430_1〜430_Lから部分復号結果PRESULT_1〜PRESULT_Lを受信する(ステップS404)。
Next, the statistical
次に、統計情報復号部531は、L個の部分復号結果PRESULT_1〜PRESULT_Lに基づいて、復号結果として統合用秘密鍵Hを得る(ステップS405)。
Next, the statistical
具体的には、統計情報復号部531は、PRESULT_i=(C’_{i,1}, C_2) として、以下の通り動作する。
Specifically, the statistical
・まず、統計情報復号部531は、 C’_1=C’_{1,1}(・)…(・)C’_{N,1}を計算する。
First, the statistical
・次に、統計情報復号部531は、M’= C_2/C’_1 を計算する。
Next, the statistical
・次に、統計情報復号部531は、g^H=M’を満たすHを探索する。得られたHが統合用秘密鍵である。
Next, the statistical
次に、統計情報復号部531は、暗号化統計データ記憶装置900から、暗号化統計データに含まれる統合用再暗号化データ演算結果ENC(gH, S)を受信する(ステップS406)。
Next, the statistical
次に、統計情報復号部531は、ステップS405で得られた統合用秘密鍵Hを用いて、統合用再暗号化データ演算結果を復号することにより、元のデータに対する統計情報を得る(ステップS407)。
Next, the statistical
具体的には、統計情報復号部531は、統合用秘密鍵Hを用いて、統合用再暗号化データ演算結果ENC(gH, S)に対して、エルガマル暗号の復号処理を実行する。得られた平文Sを復号結果として出力する。
Specifically, the statistical
以上で、復号システム4は、復号動作を終了する。 Thus, the decoding system 4 ends the decoding operation.
なお、本実施の形態において、暗号化統計データ生成装置330の暗号化統計データ生成部331は、N個の再暗号化データの各集合について部分暗号化統計データを求める。そして、暗号化統計データ生成部331は、求めたN個の部分暗号化統計データに基づいて暗号化統計データを求める。このような部分暗号化統計データを求める処理は、プロキシ装置230の再暗号化部231が行ってもよい。この場合、再暗号化部231は、データ登録装置700によって暗号化データ記憶装置800に新たな暗号化データが登録される度に、再暗号化処理および部分暗号化統計データの生成処理を行っておくようにしてもよい。この場合、例えば、プロキシ装置230は、このような部分暗号化統計データを、暗号化データ記憶装置800に記憶しておく。そして、暗号化統計データ生成装置330の暗号化統計データ生成部331は、これらのN個の部分暗号化統計データから、暗号化統計データを求めるようにしてもよい。あるいは、本実施の形態において、暗号化統計データ生成装置330の暗号化統計データ生成部331は、再暗号化データのN個の集合に含まれる再暗号化データから、部分暗号化統計データを求めることなく、暗号化統計データを求めてもよい。
In the present embodiment, the encrypted statistical
また、本実施の形態において、全体公開鍵の生成処理を、分散復号装置430が行う例について説明したが、鍵生成装置130が全体公開鍵を生成してもよい。あるいは、本実施の形態の暗号化統計処理システムおよび復号システムの内部または外部の任意の装置が、分散復号装置が公開する分散復号用公開鍵に基づいて全体公開鍵を生成し公開してもよい。
In the present embodiment, the example in which the distributed
また、本実施の形態において、統合用秘密鍵暗号化情報の生成処理を、プロキシ装置が行う例について説明したが、統合用秘密鍵暗号化情報の生成処理は、例えば、暗号化統計データ生成装置が行ってもよい。 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.
また、本実施の形態において、エルガマル暗号を適用する例を中心に説明したが、準同型性および再暗号化機能を有するその他の暗号方式も適用可能である。 Further, in the present 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, effects of the third exemplary 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 of 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の実施の形態の復号システムには、暗号化統計データを復号する際に用いる暗号方式として、より多様な暗号方式を適用できると言う効果がある。その暗号化データは、異なる公開鍵を用いて暗号化された暗号化データに対して暗号化したまま統計処理が行われることにより生成されたデータである。 In addition, the decryption system according to the third embodiment of the present invention has an effect that 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 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.
また、上述した各実施の形態は、適宜組み合わせて実施されることが可能である。 Moreover, each embodiment mentioned above can be implemented in combination as appropriate.
また、本発明は、上述した各実施の形態に限定されず、様々な態様で実施されることが可能である。 The present invention is not limited to the above-described embodiments, and can be implemented in various modes.
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。 Although the present invention has been described with reference to the embodiments, the present invention is not limited to the above embodiments. 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.
また、上述した各実施の形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。 A part or all of each of the above-described embodiments can be described as in the following supplementary notes, but is not limited thereto.
(付記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
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
(付記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
(付記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
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
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
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
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 the priority on the basis of Japanese application Japanese Patent Application No. 2012-156041 for which it applied on July 12, 2012, and takes in those the indications of all here.
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
Claims (10)
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
前記再暗号化手段は、前記統合用変換鍵を用いて前記暗号化データを前記統合用再暗号化データに変換するとともに、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
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.
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.
前記分散復号手段は、前記統合用秘密鍵暗号化情報を、前記分散復号用秘密鍵を用いて復号することにより前記部分復号結果を生成し、
前記統計情報復号手段は、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.
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:
準同型性を有する暗号方式の公開鍵を用いて暗号化された暗号化データを、前記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.
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.
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
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012156041 | 2012-07-12 | ||
JP2012156041 | 2012-07-12 | ||
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 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2014010202A1 JPWO2014010202A1 (en) | 2016-06-20 |
JP6194886B2 true JP6194886B2 (en) | 2017-09-13 |
Family
ID=49915686
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014524632A Active 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 |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP6194886B2 (en) |
WO (1) | WO2014010202A1 (en) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6273951B2 (en) * | 2014-03-24 | 2018-02-07 | 富士通株式会社 | ENCRYPTION DEVICE, ENCRYPTION METHOD, INFORMATION PROCESSING DEVICE, AND ENCRYPTION SYSTEM |
JP6490429B2 (en) * | 2015-01-13 | 2019-03-27 | 国立研究開発法人情報通信研究機構 | Server, service method |
CN108476136B (en) | 2016-01-18 | 2021-01-05 | 三菱电机株式会社 | Ciphertext conversion apparatus, computer-readable recording medium, and ciphertext 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 |
WO2020137728A1 (en) * | 2018-12-26 | 2020-07-02 | 国立大学法人筑波大学 | Distributed data integration device, distributed data integration method, and program |
CN111586000B (en) * | 2020-04-28 | 2020-12-18 | 北京物资学院 | Full-proxy homomorphic re-encryption transmission system and operation mechanism thereof |
DE112020007024T5 (en) * | 2020-06-05 | 2023-02-23 | Mitsubishi Electric Corporation | CONFIDENTIAL-INFORMATION-PROCESSING SYSTEM, ENCRYPTION DEVICE, ENCRYPTION METHOD AND ENCRYPTION PROGRAM |
JP6803598B1 (en) * | 2020-08-04 | 2020-12-23 | Eaglys株式会社 | Data sharing systems, data sharing methods, and data sharing programs |
CN113423086B (en) * | 2021-03-18 | 2022-08-05 | 北京邮电大学 | Vehicle matching method and related equipment thereof |
Family Cites Families (3)
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 |
US8862895B2 (en) * | 2010-04-27 | 2014-10-14 | Fuji Xerox Co., Ltd. | Systems and methods for communication, storage, retrieval, and computation of simple statistics and logical operations on encrypted data |
JP2012049679A (en) * | 2010-08-25 | 2012-03-08 | Sony Corp | Terminal apparatus, server, data processing system, data processing method and program |
-
2013
- 2013-07-03 WO PCT/JP2013/004118 patent/WO2014010202A1/en active Application Filing
- 2013-07-03 JP JP2014524632A patent/JP6194886B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
WO2014010202A1 (en) | 2014-01-16 |
JPWO2014010202A1 (en) | 2016-06-20 |
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 | |
US9246683B2 (en) | Re-encryption key generator, re-encryption apparatus, and program | |
Shao et al. | Fine-grained data sharing in cloud computing for mobile devices | |
CN102055760B (en) | Message sending/receiving method and system | |
US20140098960A1 (en) | Ciphertext Processing Method, Apparatus, and System | |
JP6273951B2 (en) | ENCRYPTION DEVICE, ENCRYPTION METHOD, INFORMATION PROCESSING DEVICE, AND ENCRYPTION SYSTEM | |
JP5979141B2 (en) | Encrypted statistical processing system, apparatus, method and program | |
US20170310479A1 (en) | Key Replacement Direction Control System and Key Replacement Direction Control Method | |
JP2018502320A (en) | Public key encryption system | |
US20170366338A1 (en) | Method and system for providing encrypted data | |
JP6556955B2 (en) | Communication terminal, server device, program | |
US20180278417A1 (en) | Apparatus and method for generating key, and apparatus and method for encryption | |
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 | |
WO2018043049A1 (en) | Encryption system, encryption method, and encryption program | |
KR20130024143A (en) | Proxy re-encryption method from lattices and apparatus therefor | |
JP6270683B2 (en) | Encryption system, encryption method, universal re-encryption key generation device, and re-encryption key generation device | |
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 | |
JP2005176144A (en) | Terminal device, communication system and communication method | |
JP6189788B2 (en) | Key generation device, re-encryption device, and program | |
WO2019142824A1 (en) | Communication device, server device, secret communication system, method thereof, and program | |
JP7043203B2 (en) | Cryptographic device, decryption device, encryption system, encryption method and encryption program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20160616 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20170718 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20170731 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6194886 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |