JP6732141B2 - 変換鍵生成装置、暗号文変換装置、秘匿情報処理システム、変換鍵生成方法、変換鍵生成プログラム、暗号文変換方法及び暗号文変換プログラム - Google Patents

変換鍵生成装置、暗号文変換装置、秘匿情報処理システム、変換鍵生成方法、変換鍵生成プログラム、暗号文変換方法及び暗号文変換プログラム Download PDF

Info

Publication number
JP6732141B2
JP6732141B2 JP2019561514A JP2019561514A JP6732141B2 JP 6732141 B2 JP6732141 B2 JP 6732141B2 JP 2019561514 A JP2019561514 A JP 2019561514A JP 2019561514 A JP2019561514 A JP 2019561514A JP 6732141 B2 JP6732141 B2 JP 6732141B2
Authority
JP
Japan
Prior art keywords
key
conversion
ciphertext
decryption
public key
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2019561514A
Other languages
English (en)
Other versions
JPWO2019130528A1 (ja
Inventor
聖 安田
聖 安田
義博 小関
義博 小関
豊 川合
豊 川合
良 廣政
良 廣政
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Publication of JPWO2019130528A1 publication Critical patent/JPWO2019130528A1/ja
Application granted granted Critical
Publication of JP6732141B2 publication Critical patent/JP6732141B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3093Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving Lattices or polynomial equations, e.g. NTRU scheme
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/008Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/088Usage controlling of secret information, e.g. techniques for restricting cryptographic keys to pre-authorized uses, different access levels, validity of crypto-period, different key- or password length, or different strong and weak cryptographic algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/76Proxy, i.e. using intermediary entity to perform cryptographic operations

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Mathematical Analysis (AREA)
  • Algebra (AREA)
  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

この発明は、準同型暗号における代理人再暗号化技術に関する。
準同型暗号とは、データを暗号化したまま演算できる暗号技術である。データを暗号文のまま演算する処理は準同型演算と呼ばれ、準同型演算可能な演算の種類や回数は具体的方式によって異なる。準同型暗号を用いることにより、クラウド上のデータベースにデータを暗号化したまま保管し、さらに、保管されている暗号化データに対して、復号することなく統計処理等の分析を施すことが可能となる。これにより秘匿性を確保したままクラウドの利用が可能となる。
準同型暗号には、準同型演算を行うために暗号文が同じ公開鍵で暗号化されていなければならないという性質がある。それゆえ、複数人がデータをクラウドに保管し、さらに保管されたデータに対して準同型演算を行うような場合には、全員が共通の鍵を使用する必要が生じる。また、全員が共通の鍵を使用しているため、誰でもデータを復号できるという課題が生じる。
特許文献1には、代理人再暗号化と呼ばれる、データを暗号化している鍵を変換する技術を用い、異なる鍵で暗号化されている暗号文を、特定の1つの鍵で暗号化されている暗号文に変換することが記載されている。これにより、特許文献1では、暗号文を特定の同じ鍵による暗号文に変換した後、準同型演算を行うことが可能としている。また、特許文献1では、代理人再暗号化による変換後の鍵を持つ者のみが、準同型演算結果の暗号文を復号することが可能としている。
つまり、特許文献1に記載された技術では、異なる鍵で暗号化された複数の暗号文に対して、準同型演算を行うことが可能である。これにより、全員が共通の鍵を使用する必要があるという課題が解決されている。
国際公開第第2014/010202号
しかし、特許文献1に記載された技術では、準同型演算を行う前に代理人再暗号化により暗号文を変換することが必須である。言い換えると、特許文献1に記載された技術では、暗号文に対して代理人再暗号化をする前に準同型演算を行うことができない。そのため、準同型演算を行う前に、誰が復号可能な暗号文に変換するかを決定する必要がある。したがって、分析担当者を決定する前に準同型演算により分析を行っておくことはできない。また、ある分析担当者のために準同型演算により分析を行った結果を、他の分析担当者に分析してもらうことはできない。
この発明は、異なる鍵で暗号化された複数の暗号文に対して準同型演算を行った後に、代理人再暗号化により復号者を制御可能な準同型暗号方式を実現可能にすることを目的とする。
この発明に係る変換鍵生成装置は、
復号鍵と公開鍵との複数のペアのうちの変換元のペアの復号鍵skと、変換先のペアの公開鍵pkと取得する鍵取得部と、
前記鍵取得部によって取得された前記復号鍵skを前記公開鍵pkによって暗号化して、前記変換元のペアの公開鍵pkによって暗号化された暗号文を、前記変換先のペアの復号鍵skで復号可能な変換後暗号文に変換するための変換鍵rki→jを生成する変換鍵生成部と
を備える。
この発明では、変換元のペアの復号鍵skを変換先のペアの公開鍵pkで暗号化して、公開鍵pkによって暗号化された暗号文を、変換先のペアの復号鍵skで復号可能な変換後暗号文に変換するための変換鍵rki→jを生成する。この変換鍵rki→jを用いることにより、異なる鍵で暗号化された複数の暗号文に対して準同型演算を行った後の暗号文を復号可能な復号鍵を制御可能にすることが可能になる。
実施の形態1に係る秘匿情報処理システム10の構成図。 実施の形態1に係る共通パラメータ生成装置20の構成図。 実施の形態1に係る鍵生成装置30の構成図。 実施の形態1に係る変換鍵生成装置40の構成図。 実施の形態1に係る暗号化装置50の構成図。 実施の形態1に係る準同型演算装置60の構成図。 実施の形態1に係る暗号文変換装置70の構成図。 実施の形態1に係る復号装置80の構成図。 実施の形態1に係る共通パラメータ生成装置20の動作を示すフローチャート。 実施の形態1に係る鍵生成装置30の動作を示すフローチャート。 実施の形態1に係る変換鍵生成装置40の動作を示すフローチャート。 実施の形態1に係る暗号化装置50の動作を示すフローチャート。 実施の形態1に係る準同型演算装置60の動作を示すフローチャート。 実施の形態1に係る暗号文変換装置70の動作を示すフローチャート。 実施の形態1に係る復号装置80の動作を示すフローチャート。 変形例1に係る共通パラメータ生成装置20の構成図。 変形例1に係る鍵生成装置30の構成図。 変形例1に係る変換鍵生成装置40の構成図。 変形例1に係る暗号化装置50の構成図。 変形例1に係る準同型演算装置60の構成図。 変形例1に係る暗号文変換装置70の構成図。 変形例1に係る復号装置80の構成図。
実施の形態1.
***構成の説明***
図1を参照して、実施の形態1に係る秘匿情報処理システム10の構成を説明する。
秘匿情報処理システム10は、共通パラメータ生成装置20と、複数の鍵生成装置30と、変換鍵生成装置40と、暗号化装置50と、準同型演算装置60と、暗号文変換装置70と、複数の復号装置80とを備える。
共通パラメータ生成装置20と、複数の鍵生成装置30と、変換鍵生成装置40と、暗号化装置50と、準同型演算装置60と、暗号文変換装置70と、復号装置80とは、伝送路90を介して接続される。伝送路90は、具体例としては、インターネット又はLAN(Local Area Network)である。
図2を参照して、実施の形態1に係る共通パラメータ生成装置20の構成を説明する。
共通パラメータ生成装置20は、プロセッサ21と、メモリ22と、ストレージ23と、通信インタフェース24とのハードウェアを備える。プロセッサ21は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
共通パラメータ生成装置20は、機能構成要素として、取得部211と、共通パラメータ生成部212と、出力部213とを備える。共通パラメータ生成装置20の各機能構成要素の機能はソフトウェアにより実現される。
ストレージ23には、共通パラメータ生成装置20の各機能構成要素の機能を実現するプログラムが記憶されている。このプログラムは、プロセッサ21によりメモリ22に読み込まれ、プロセッサ21によって実行される。これにより、共通パラメータ生成装置20の各機能構成要素の機能が実現される。
また、ストレージ23は、パラメータ記憶部231の機能を実現する。
図3を参照して、実施の形態1に係る鍵生成装置30の構成を説明する。
鍵生成装置30は、プロセッサ31と、メモリ32と、ストレージ33と、通信インタフェース34とのハードウェアを備える。プロセッサ31は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
鍵生成装置30は、機能構成要素として、取得部311と、鍵生成部312と、出力部313とを備える。鍵生成装置30の各機能構成要素の機能はソフトウェアにより実現される。
ストレージ33には、鍵生成装置30の各機能構成要素の機能を実現するプログラムが記憶されている。このプログラムは、プロセッサ31によりメモリ32に読み込まれ、プロセッサ31によって実行される。これにより、鍵生成装置30の各機能構成要素の機能が実現される。
また、ストレージ33は、鍵記憶部331の機能を実現する。
図4を参照して、実施の形態1に係る変換鍵生成装置40の構成を説明する。
変換鍵生成装置40は、プロセッサ41と、メモリ42と、ストレージ43と、通信インタフェース44とのハードウェアを備える。プロセッサ41は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
変換鍵生成装置40は、機能構成要素として、鍵取得部411と、変換鍵生成部412と、出力部413とを備える。変換鍵生成装置40の各機能構成要素の機能はソフトウェアにより実現される。
ストレージ43には、変換鍵生成装置40の各機能構成要素の機能を実現するプログラムが記憶されている。このプログラムは、プロセッサ41によりメモリ42に読み込まれ、プロセッサ41によって実行される。これにより、変換鍵生成装置40の各機能構成要素の機能が実現される。
また、ストレージ43は、鍵記憶部431の機能を実現する。
図5を参照して、実施の形態1に係る暗号化装置50の構成を説明する。
暗号化装置50は、プロセッサ51と、メモリ52と、ストレージ53と、通信インタフェース54とのハードウェアを備える。プロセッサ51は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
暗号化装置50は、機能構成要素として、取得部511と、暗号化部512と、出力部513とを備える。暗号化装置50の各機能構成要素の機能はソフトウェアにより実現される。
ストレージ53には、暗号化装置50の各機能構成要素の機能を実現するプログラムが記憶されている。このプログラムは、プロセッサ51によりメモリ52に読み込まれ、プロセッサ51によって実行される。これにより、暗号化装置50の各機能構成要素の機能が実現される。
また、ストレージ53は、鍵記憶部531の機能を実現する。
図6を参照して、実施の形態1に係る準同型演算装置60の構成を説明する。
準同型演算装置60は、プロセッサ61と、メモリ62と、ストレージ63と、通信インタフェース64とのハードウェアを備える。プロセッサ61は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
準同型演算装置60は、機能構成要素として、取得部611と、準同型演算部612と、出力部613とを備える。準同型演算装置60の各機能構成要素の機能はソフトウェアにより実現される。
ストレージ63には、準同型演算装置60の各機能構成要素の機能を実現するプログラムが記憶されている。このプログラムは、プロセッサ61によりメモリ62に読み込まれ、プロセッサ61によって実行される。これにより、準同型演算装置60の各機能構成要素の機能が実現される。
また、ストレージ63は、鍵記憶部631と、暗号文記憶部632との機能を実現する。
図7を参照して、実施の形態1に係る暗号文変換装置70の構成を説明する。
暗号文変換装置70は、プロセッサ71と、メモリ72と、ストレージ73と、通信インタフェース74とのハードウェアを備える。プロセッサ71は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
暗号文変換装置70は、機能構成要素として、取得部711と、暗号文変換部712と、出力部713とを備える。取得部711は、暗号文取得部714と、鍵取得部715とを備える。暗号文変換装置70の各機能構成要素の機能はソフトウェアにより実現される。
ストレージ73には、暗号文変換装置70の各機能構成要素の機能を実現するプログラムが記憶されている。このプログラムは、プロセッサ71によりメモリ72に読み込まれ、プロセッサ71によって実行される。これにより、暗号文変換装置70の各機能構成要素の機能が実現される。
また、ストレージ73は、鍵記憶部731の機能を実現する。
図8を参照して、実施の形態1に係る復号装置80の構成を説明する。
復号装置80は、プロセッサ81と、メモリ82と、ストレージ83と、通信インタフェース84とのハードウェアを備える。プロセッサ81は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
復号装置80は、機能構成要素として、取得部811と、復号部812と、出力部813とを備える。復号装置80の各機能構成要素の機能はソフトウェアにより実現される。
ストレージ83には、復号装置80の各機能構成要素の機能を実現するプログラムが記憶されている。このプログラムは、プロセッサ81によりメモリ82に読み込まれ、プロセッサ81によって実行される。これにより、復号装置80の各機能構成要素の機能が実現される。
また、ストレージ83は、鍵記憶部831の機能を実現する。
プロセッサ21,31,41,51,61,71,81は、演算処理を行うIC(Integrated Circuit)である。プロセッサ21,31,41,51,61,71,81は、具体例としては、CPU(Central Processing Unit)、DSP(Digital Signal Processor)、GPU(Graphics Processing Unit)である。
メモリ22,32,42,52,62,72,82は、データを一時的に記憶する記憶装置である。メモリ22,32,42,52,62,72,82は、具体例としては、SRAM(Static Random Access Memory)、DRAM(Dynamic Random Access Memory)である。
ストレージ23,33,43,53,63,73,83は、データを保管する記憶装置である。ストレージ23,33,43,53,63,73,83は、具体例としては、HDD(Hard Disk Drive)である。また、ストレージ23,33,43,53,63,73,83は、SD(登録商標,Secure Digital)メモリカード、CF(CompactFlash,登録商標)、NANDフラッシュ、フレキシブルディスク、光ディスク、コンパクトディスク、ブルーレイ(登録商標)ディスク、DVD(Digital Versatile Disk)といった可搬記憶媒体であってもよい。
通信インタフェース24,34,44,54,64,74,84は、外部の装置と通信するためのインタフェースである。通信インタフェース24,34,44,54,64,74,84は、具体例としては、Ethernet(登録商標)、USB(Universal Serial Bus)、HDMI(登録商標,High−Definition Multimedia Interface)のポートである。
図2では、プロセッサ21は、1つだけ示されている。しかし、共通パラメータ生成装置20は、プロセッサ21を代替する複数のプロセッサを備えていてもよい。同様に、鍵生成装置30は、プロセッサ31を代替する複数のプロセッサを備えていてもよい。変換鍵生成装置40は、プロセッサ41を代替する複数のプロセッサを備えていてもよい。暗号化装置50は、プロセッサ51を代替する複数のプロセッサを備えていてもよい。準同型演算装置60は、プロセッサ61を代替する複数のプロセッサを備えていてもよい。暗号文変換装置70は、プロセッサ71を代替する複数のプロセッサを備えていてもよい。復号装置80は、プロセッサ81を代替する複数のプロセッサを備えていてもよい。
これら複数のプロセッサは、各機能構成要素の機能を実現するプログラムの実行を分担する。それぞれのプロセッサは、プロセッサ21,31,41,51,61,71,81と同じように、演算処理を行うICである。
***動作の説明***
図9から図15を参照して、実施の形態1に係る秘匿情報処理システム10の動作を説明する。
実施の形態1に係る秘匿情報処理システム10の動作は、実施の形態1に係る秘匿情報処理方法に相当する。また、実施の形態1に係る秘匿情報処理システム10の動作は、実施の形態1に係る秘匿情報処理プログラムの処理に相当する。
実施の形態1では、秘匿情報処理システム10は、既存の複数鍵準同型暗号を用いる。既存の複数鍵準同型暗号としては、非特許文献1:C.Peikert and S.Shiehian.“Multi−Key FHE from LWE, Revisited”.In TCC,2016.と、非特許文献2:Z.Brakerski and R.Perlman.“Lattice−based fully dynamic multi−key FHE with short ciphertexts”.In CRYPTO,2016.といった文献に記載された方式を用いることができる。
複数鍵準同型暗号は、Setupアルゴリズムと、KGアルゴリズムと、Encアルゴリズムと、Decアルゴリズムと、Evalアルゴリズムとを備える。Setupアルゴリズムは、共通パラメータを生成するアルゴリズムである。KGアルゴリズムは、復号鍵と公開鍵とのペアを生成するアルゴリズムである。Encアルゴリズムは、データを暗号化して暗号文を生成するアルゴリズムである。Decアルゴリズムは、暗号文を復号するアルゴリズムである。Evalアルゴリズムは、準同型演算を行うアルゴリズムである。
図9を参照して、実施の形態1に係る共通パラメータ生成装置20の動作を説明する。
実施の形態1に係る共通パラメータ生成装置20の動作は、実施の形態1に係る共通パラメータ生成方法に相当する。また、実施の形態1に係る共通パラメータ生成装置20の動作は、実施の形態1に係る共通パラメータ生成プログラムの処理に相当する。
(ステップS11:取得処理)
取得部211は、共通パラメータの生成に必要なパラメータの入力を受け付ける。パラメータは、具体例としては、非特許文献1におけるセキュリティパラメータλと、鍵の個数kと、ブール回路の深さdである。取得部211は、取得されたパラメータをメモリ22に書き込む。
(ステップS12:共通パラメータ生成処理)
共通パラメータ生成部212は、ステップS11で取得されたパラメータをメモリ22から読み出す。共通パラメータ生成部212は、読み出されたパラメータを入力として、複数鍵準同型暗号におけるSetupアルゴリズムを実行して、共通パラメータppを生成する。共通パラメータ生成部212は、生成された共通パラメータppをメモリ22に書き込む。
(ステップS13:出力処理)
出力部213は、ステップS12で生成された共通パラメータppをメモリ22から読み出す。出力部213は、読み出された共通パラメータppをストレージ23に書き込む。
また、出力部213は、共通パラメータppを、通信インタフェース24を介して各鍵生成装置30に送信する。各鍵生成装置30では、取得部311が通信インタフェース34を介して共通パラメータppを受信し、鍵記憶部331に書き込む。
図10を参照して、実施の形態1に係る鍵生成装置30の動作を説明する。
実施の形態1に係る鍵生成装置30の動作は、実施の形態1に係る鍵生成方法に相当する。また、実施の形態1に係る鍵生成装置30の動作は、実施の形態1に係る鍵生成プログラムの処理に相当する。
(ステップS21:鍵生成処理)
鍵生成部312は、鍵記憶部331から共通パラメータppを読み出す。鍵生成部312は、読み出された共通パラメータppを入力として、複数鍵準同型暗号におけるKGアルゴリズムを実行して、復号鍵skと公開鍵pkとのペアを生成する。鍵生成部312は、生成された復号鍵skと公開鍵pkとのペアをメモリ32に書き込む。
(ステップS22:出力処理)
出力部313は、ステップS21で生成された復号鍵skと公開鍵pkとのペアをメモリ32から読み出す。出力部313は、読み出された復号鍵skと公開鍵pkとのペアを鍵記憶部331に書き込む。
また、出力部313は、公開鍵pkを、通信インタフェース34を介して、変換鍵生成装置40と暗号化装置50と準同型演算装置60とに送信する。すると、変換鍵生成装置40では、鍵取得部411が通信インタフェース44を介して公開鍵pkを受信し、鍵記憶部431に書き込む。同様に、暗号化装置50では、取得部511が通信インタフェース54を介して公開鍵pkを受信し、鍵記憶部531に書き込む。同様に、準同型演算装置60では、取得部611が通信インタフェース64を介して公開鍵pkを受信し、鍵記憶部631に書き込む。
また、出力部313は、復号鍵skを、通信インタフェース34を介して、変換鍵生成装置40と、対応する復号装置80とに送信する。対応する復号装置80とは、復号鍵skの利用者に割り当てられた復号装置80である。ここでは、鍵生成装置30と復号装置80とが1対1に対応付けられており、復号鍵skは、生成された鍵生成装置30に対応付られた復号装置80に送信される。すると、変換鍵生成装置40では、鍵取得部411が通信インタフェース44を介して復号鍵skを受信し、鍵記憶部431に書き込む。同様に、復号装置80では、取得部811が通信インタフェース84を介して復号鍵skを受信し、鍵記憶部831に書き込む。
以下の説明では、複数の鍵生成装置30のうち、ι番目の鍵生成装置30によって生成された復号鍵skを復号鍵skιと呼び、ι番目の鍵生成装置30によって生成された公開鍵pkを公開鍵pkιと呼ぶ。
図11を参照して、実施の形態1に係る変換鍵生成装置40の動作を説明する。
実施の形態1に係る変換鍵生成装置40の動作は、実施の形態1に係る変換鍵生成方法に相当する。また、実施の形態1に係る変換鍵生成装置40の動作は、実施の形態1に係る変換鍵生成プログラムの処理に相当する。
ここでは、i番目の鍵生成装置30によって生成された公開鍵pkで暗号化された暗号文を、j番目の鍵生成装置30によって生成された復号鍵skで復号可能な暗号文に変換するための変換鍵rki→jを生成する場合を説明する。
(ステップS31:鍵取得処理)
鍵取得部411は、鍵記憶部431に記憶された復号鍵と公開鍵との複数のペアのうちの変換元のペアの復号鍵skと、変換先のペアの公開鍵pkとを読み出す。鍵取得部411は、読み出された復号鍵skと公開鍵pkとをメモリ42に書き込む。
(ステップS32:変換鍵生成処理)
変換鍵生成部412は、復号鍵skと公開鍵pkとをメモリ42から読み出す。変換鍵生成部412は、読み出された復号鍵skと公開鍵pkとを入力として、複数鍵準同型暗号におけるRKGenアルゴリズムを実行して、復号鍵skを公開鍵pkによって暗号化して変換鍵rki→jを生成する。変換鍵rki→jは、変換元のペアの公開鍵pkによって暗号化された暗号文を、変換先のペアの復号鍵skで復号可能な変換後暗号文に変換するための鍵である。変換鍵生成部412は、生成された変換鍵rki→jをメモリ42に書き込む。
(ステップS33:出力生成処理)
出力部413は、ステップS32で生成された変換鍵rki→jをメモリ42から読み出す。出力部413は、読み出された変換鍵rki→jを通信インタフェース44を介して暗号文変換装置70に送信する。すると、暗号文変換装置70では、取得部711が通信インタフェース74を介して変換鍵rki→jを受信し、鍵記憶部731に書き込む。
図12を参照して、実施の形態1に係る暗号化装置50の動作を説明する。
実施の形態1に係る暗号化装置50の動作は、実施の形態1に係る暗号化方法に相当する。また、実施の形態1に係る暗号化装置50の動作は、実施の形態1に係る暗号化プログラムの処理に相当する。
(ステップS41:取得処理)
取得部511は、通信インタフェース54を介して、暗号化対象の平文Mを取得する。取得部511は、取得された平文Mをメモリ52に書き込む。
(ステップS42:暗号化処理)
暗号化部512は、ステップS41で取得された平文Mをメモリ52から読み出す。暗号化部512は、鍵記憶部531から公開鍵pkを読み出す。暗号化部512は、読み出された平文M及び公開鍵pkを入力として、複数鍵準同型暗号におけるEncアルゴリズムを実行して、平文Mを公開鍵pkによって暗号化して暗号文Cを生成する。暗号化部512は、生成された暗号文Cをメモリ52に書き込む。
(ステップS43:出力処理)
出力部513は、ステップS42で生成された暗号文Cをメモリ52から読み出す。出力部513は、読み出された暗号文Cを、通信インタフェース54を介して準同型演算装置60に送信する。すると、準同型演算装置60では、取得部611が通信インタフェース64を介して暗号文Cを受信し、暗号文記憶部632に書き込む。
図13を参照して、実施の形態1に係る準同型演算装置60の動作を説明する。
実施の形態1に係る準同型演算装置60の動作は、実施の形態1に係る準同型演算方法に相当する。また、実施の形態1に係る準同型演算装置60の動作は、実施の形態1に係る準同型演算プログラムの処理に相当する。
(ステップS51:取得処理)
取得部611は、処理対象の暗号文CTを暗号文記憶部632から読み出す。また、取得部611は、通信インタフェース64を介して演算内容を示す演算fを取得する。演算fは、例えば、準同型演算装置60の利用者によって入力装置を介して入力される。取得部611は、読み出された暗号文TCと、取得された演算fとをメモリ62に書き込む。
処理対象の暗号文TCは、1つであっても、複数であってもよい。また、処理対象の暗号文TCは、暗号化装置50によって生成された暗号文Cと、準同型演算装置60によって準同型演算が行われた暗号文ECとの少なくともいずれかである。
(ステップS52:準同型演算処理)
準同型演算部612は、ステップS51で読み出された暗号文TCと、取得された演算fとをメモリ62から読み出す。また、準同型演算部612は、暗号文TCの暗号化に用いられた公開鍵pkを鍵記憶部631から読み出す。準同型演算部612は、読み出された暗号文TCと演算fと公開鍵pkとを入力として、複数鍵準同型暗号におけるEvalアルゴリズムを実行して、暗号文TCに対して演算fを施した暗号文ECを生成する。準同型演算部612は、生成された暗号文ECをメモリ62に書き込む。
(ステップS53:出力処理)
出力部613は、ステップS52で生成された暗号文ECをメモリ62から読み出す。出力部613は、読み出された暗号文ECを暗号文記憶部632に書き込む。
図14を参照して、実施の形態1に係る暗号文変換装置70の動作を説明する。
実施の形態1に係る暗号文変換装置70の動作は、実施の形態1に係る暗号文変換方法に相当する。また、実施の形態1に係る暗号文変換プログラムの処理に相当する。
(ステップS61:取得処理)
取得部711は、通信インタフェース74を介して準同型演算装置60から処理対象の暗号文TCを取得する。取得部711は、具体的には、処理対象の暗号文TCの識別子を準同型演算装置60に送信し、応答として送信された暗号文TCを取得する。取得部811は、取得された暗号文TCをメモリ72に書き込む。
処理対象の暗号文TCは、暗号化装置50によって生成された暗号文Cと、準同型演算装置60によって準同型演算が行われた暗号文ECとの少なくともいずれかである。
ここでは、処理対象の暗号文TCは、i=1,...,sの各整数iについての公開鍵pkで暗号化された暗号文に対して準同型演算が行われて生成された暗号文ECであるとする。また、処理対象の暗号文TCを、j番目の鍵生成装置30によって生成された復号鍵skで復号可能な暗号文に変換するものとする。
(ステップS62:暗号文変換処理)
暗号文変換部712は、変換元のペアの復号鍵、つまりi=1,...,sの各整数iについての復号鍵skで処理対象の暗号文TCを準同型演算により復号して、変換後暗号文RCを生成する。
具体的には、暗号文変換部712は、変換先のペアの公開鍵pkと暗号文TCとを入力として、複数鍵準同型暗号におけるEncアルゴリズムを実行して、暗号文TCを公開鍵pkによって暗号化して暗号文Cを生成する。暗号文変換部712は、暗号文Cと演算fDecと公開鍵pkとi=1,...,sの各整数iについての変換鍵rki→jとを入力として、複数鍵準同型暗号におけるEvalアルゴリズムを実行して、暗号文Cに対して演算fDecを施した変換後暗号文RCを生成する。
ここで、演算fDecは、複数鍵準同型暗号におけるDecアルゴリズムを表す演算である。つまり、暗号文Cと演算fDecと公開鍵pkとi=1,...,sの各整数iについての変換鍵rki→jとを入力として、複数鍵準同型暗号におけるEvalアルゴリズムが実行されると、変換鍵rki→jに埋め込まれた復号鍵skで暗号文Cが復号される。つまり、準同型演算により復号鍵skで暗号文Cが復号される。
(ステップS63:出力処理)
出力部713は、ステップS62で生成された変換後暗号文RCをメモリ72から読み出す。出力部713は、読み出された変換後暗号文RCを、通信インタフェース74を介して準同型演算装置60に送信する。すると、準同型演算装置60では、取得部611が通信インタフェース64を介して変換後暗号文RCを受信し、暗号文記憶部632に書き込む。
図15を参照して、実施の形態1に係る復号装置80の動作を説明する。
実施の形態1に係る復号装置80の動作は、実施の形態1に係る復号方法に相当する。また、実施の形態1に係る復号装置80の動作は、実施の形態1に係る復号プログラムの処理に相当する。
(ステップS71:取得処理)
取得部811は、通信インタフェース84を介して準同型演算装置60から処理対象の暗号文TCを取得する。取得部811は、具体的には、処理対象の暗号文TCの識別子を準同型演算装置60に送信し、応答として送信された暗号文TCを取得する。取得部811は、取得された暗号文TCをメモリ82に書き込む。
(ステップS72:復号処理)
復号部812は、ステップS71で取得された暗号文TCをメモリ82から読み出す。復号部812は、読み出された暗号文TCを入力として、複数鍵準同型暗号におけるDecアルゴリズムを実行して、暗号文TCを復号して平文M’を生成する。復号部812は、生成された平文M’をメモリ82に書き込む。
(ステップS73:出力処理)
出力部813は、ステップS72で生成された平文M’をメモリ82から読み出す。出力部813は、読み出された平文M’を通信インタフェース84を介して出力する。
***実施の形態1の効果***
以上のように、実施の形態1に係る秘匿情報処理システム10は、変換鍵生成装置40が変換元の復号鍵skを変換先の公開鍵pkで暗号化することにより、変換鍵rki→jを生成する。これにより、この変換鍵rki→jを用いることにより、変換元の公開鍵pkで暗号化され、準同型演算を行った後の暗号文を、復号鍵skで復号可能な暗号文に変換することが可能である。
特許文献1に記載された技術では、代理人再暗号化によって変換する先の鍵が決定するまで準同型演算を行うことができず、事前にデータに対して処理を行うことができない。また、準同型演算後のデータを複数人が利用したい場合、準同型演算前のデータを暗号化している鍵を、データ利用者それぞれの鍵へ代理人再暗号化により変換した後に、準同型演算をしなければならない。そのため、それぞれのデータ利用者の鍵による暗号文に対して、それぞれ準同型演算をしなければならず、準同型演算結果を再利用することができない。
これに対して、実施の形態1に係る秘匿情報処理システム10では、準同型演算後暗号文を暗号文変換装置70により変換することで、暗号化されている平文は秘匿されたままかつ、平文を変えることなく、準同型演算後暗号文の鍵を変換することができる。これにより、複数の鍵に対して準同型演算後暗号文を変換したい場合でも、準同型演算を再度実行する必要がない。また、準同型演算後暗号文を保管しておくことで、演算途中のデータを安全に再利用することができる。
暗号文の保管及び暗号文に対する演算はクラウド等の記憶容量が大きく、計算能力が高い計算機に処理をさせ、鍵の変換は安全性の高い計算機により処理を行うというように、準同型演算を行う計算機と代理人再暗号化を行う計算機とを別にすることが考えられる。
この場合、特許文献1に記載に記載された技術では、演算に用いる暗号文を全て代理人再暗号化用の計算機に送り、鍵を変換した後に、変換後の暗号文全てをクラウドに再度送る必要がある。そのため、通信しなければならない暗号文の量が多くなる。
これに対して、実施の形態1に係る秘匿情報処理システム10では、復号したい準同型演算後の暗号文のみ暗号文変換装置70に送信し、変換後暗号文を生成できる。そのため、準同型演算装置60と暗号文変換装置70とが異なるコンピュータ内にあっても、通信しなければならない暗号文は少なくて済む。
***他の構成***
<変形例1>
実施の形態1では、各機能構成要素がソフトウェアで実現された。しかし、変形例1として、各機能構成要素はハードウェアで実現されてもよい。この変形例1について、実施の形態1と異なる点を説明する。
図16を参照して、変形例1に係る共通パラメータ生成装置20の構成を説明する。
機能がハードウェアで実現される場合、共通パラメータ生成装置20は、プロセッサ21とメモリ22とストレージ23とに代えて、電子回路25を備える。電子回路25は、共通パラメータ生成装置20の機能構成要素と、メモリ22とストレージ23との機能とを実現する専用の回路である。
図17を参照して、変形例1に係る鍵生成装置30の構成を説明する。
機能がハードウェアで実現される場合、鍵生成装置30は、プロセッサ31とメモリ32とストレージ33とに代えて、電子回路35を備える。電子回路35は、鍵生成装置30の機能構成要素と、メモリ32とストレージ33との機能とを実現する専用の回路である。
図18を参照して、変形例1に係る変換鍵生成装置40の構成を説明する。
機能がハードウェアで実現される場合、変換鍵生成装置40は、プロセッサ41とメモリ42とストレージ43とに代えて、電子回路45を備える。電子回路45は、変換鍵生成装置40の機能構成要素と、メモリ42とストレージ43との機能とを実現する専用の回路である。
図19を参照して、変形例1に係る暗号化装置50の構成を説明する。
機能がハードウェアで実現される場合、暗号化装置50は、プロセッサ51とメモリ52とストレージ53とに代えて、電子回路55を備える。電子回路55は、暗号化装置50の機能構成要素と、メモリ52とストレージ53との機能とを実現する専用の回路である。
図20を参照して、変形例1に係る準同型演算装置60の構成を説明する。
機能がハードウェアで実現される場合、準同型演算装置60は、プロセッサ61とメモリ62とストレージ63とに代えて、電子回路65を備える。電子回路65は、準同型演算装置60の機能構成要素と、メモリ62とストレージ63との機能とを実現する専用の回路である。
図21を参照して、変形例1に係る暗号文変換装置70の構成を説明する。
機能がハードウェアで実現される場合、暗号文変換装置70は、プロセッサ71とメモリ72とストレージ73とに代えて、電子回路75を備える。電子回路75は、暗号文変換装置70の機能構成要素と、メモリ72とストレージ73との機能とを実現する専用の回路である。
図22を参照して、変形例1に係る復号装置80の構成を説明する。
機能がハードウェアで実現される場合、復号装置80は、プロセッサ81とメモリ82とストレージ83とに代えて、電子回路85を備える。電子回路85は、復号装置80の機能構成要素と、メモリ82とストレージ83との機能とを実現する専用の回路である。
電子回路25,35,45,55,65,75,85は、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ロジックIC、GA(Gate Array)、ASIC(Application Specific Integrated Circuit)、FPGA(Field−Programmable Gate Array)が想定される。
共通パラメータ生成装置20の各機能構成要素の機能を1つの電子回路25で実現してもよいし、各機能構成要素の機能を複数の電子回路25に分散させて実現してもよい。同様に、鍵生成装置30と変換鍵生成装置40と暗号化装置50と準同型演算装置60と暗号文変換装置70と復号装置80とのそれぞれについて、各機能構成要素の機能を1つの電子回路35,45,55,65,75,85で実現してもよいし、各機能構成要素の機能を複数の電子回路35,45,55,65,75,85に分散させて実現してもよい。
<変形例2>
変形例2として、一部の機能がハードウェアで実現され、他の機能がソフトウェアで実現されてもよい。つまり、各機能構成要素のうち、一部の機能がハードウェアで実現され、他の機能がソフトウェアで実現されてもよい。
プロセッサ21,31,41,51,61,71,81とメモリ22,32,42,52,62,72,82とストレージ23,33,43,53,63,73,83と電子回路25,35,45,55,65,75,85とを処理回路という。つまり、各機能構成要素の機能は、処理回路により実現される。
実施の形態2.
実施の形態2では、非特許文献1に記載された複数鍵準同型暗号方式に基づく具体的な方式を説明する。実施の形態2では、非特許文献1に記載されたLarge−Ciphertxt Constructionに基づく方式を説明する。実施の形態2では、実施の形態1と異なる部分を説明し、同一の部分については説明を省略する。
***記法及び定義***
Aが分布であるときに、y←Aは、yをAからその分布に従ってランダムに選ぶことを示す。Aが集合であるときに、y←Aは、yをAから一様に選ぶことを示す。Aがアルゴリズムであるときに、y←A(x)は、入力xに対して出力yを生成することを示す。
n,q,χをあるLWE(Learning With Errors)パラメータとする。m=O(nlogq)とする。Lは、logq以上の最小の整数とする。g:=(1,2,...,2L−1)とする。任意のx∈Zに対して、y:=g−1[x]∈{0,1}を<y,g>=x∈Zを満たすベクトルとする。任意の自然数n,mに対して、Iをn×nの単位行列、0n×mを要素が全て0のn×mの行列、1n×mを要素が全て1のn×mの行列とする。任意のi∈[n]に対して、e∈{0,1}をn要素目が1でその他が0の標準基底ベクトルとする。[a||b]は、ベクトルまたは行列a,bの連結を示す。
***動作の説明***
図9を参照して、実施の形態2に係る共通パラメータ生成装置20の動作を説明する。
ステップS11とステップS13との処理は、実施の形態1と同じである。
(ステップS12:共通パラメータ生成処理)
共通パラメータ生成部212は、数11に示すように、複数鍵準同型暗号におけるSetupアルゴリズムを実行して、共通パラメータppを生成する。
Figure 0006732141
図10を参照して、実施の形態2に係る鍵生成装置30の動作を説明する。
ステップS22の処理は、実施の形態1と同じである。
(ステップS21:鍵生成処理)
鍵生成部312は、数12に示すように、複数鍵準同型暗号におけるKGアルゴリズムを実行して、復号鍵skと公開鍵pkとのペアを生成する。
Figure 0006732141
図11を参照して、実施の形態2に係る変換鍵生成装置40の動作を説明する。
ステップS31とステップS33との処理は、実施の形態1と同じである。
(ステップS32:変換鍵生成処理)
変換鍵生成部412は、復号鍵skと公開鍵pkとを入力として、数13に示すように、複数鍵準同型暗号におけるRKGenアルゴリズムを実行して、復号鍵skを公開鍵pkによって暗号化して変換鍵rki→jを生成する。
Figure 0006732141
図12を参照して、実施の形態2に係る暗号化装置50の動作を説明する。
ステップS41とステップS43との処理は、実施の形態1と同じである。
(ステップS42:暗号化処理)
ここでは、i番目の鍵生成装置30によって生成された公開鍵pkで平文Mを暗号化するとする。
暗号化部512は、平文M及び公開鍵pkを入力として、数14に示すように、複数鍵準同型暗号におけるEncアルゴリズムを実行して、平文Mを公開鍵pkによって暗号化して暗号文Cを生成する。
Figure 0006732141
図13を参照して、実施の形態2に係る準同型演算装置60の動作を説明する。
ステップS51とステップS53との処理は、実施の形態1と同じである。
(ステップS52:準同型演算処理)
準同型演算部612は、ステップS51で入力された各暗号文TCを対象として、対象の暗号文TC及び公開鍵pkを入力として、数15に示すように、複数鍵準同型暗号におけるExtendアルゴリズムを実行して、暗号文C’を計算する。
Figure 0006732141
数15において、sはindexの要素数である。
準同型演算部612は、複数鍵準同型暗号におけるEvalアルゴリズムを実行して、暗号文TCに対して演算fを施した暗号文ECを生成する。
例えば、準同型演算部612は、数16に示すように、2つの暗号文TCであるC及びCの加算を行う。
Figure 0006732141
また、例えば、準同型演算部612は、数17に示すように、2つの暗号文TCであるC及びCの乗算を行う。
Figure 0006732141
図14を参照して、実施の形態2に係る暗号文変換装置70の動作を説明する。
ステップS61とステップS63との処理は、実施の形態1と同じである。
(ステップS62:暗号文変換処理)
ここでは、i=1,...,sの各整数iについての公開鍵pkで暗号化された暗号文を入力として準同型演算が行われた暗号文ECを、j番目の鍵生成装置30によって生成された復号鍵skで復号可能な暗号文に変換するとする。つまり、index=[1||,...,||s]である。
暗号文変換部712は、i=1,...,sの各整数iについての変換鍵rki→jと、準同型演算が行われた暗号文ECである暗号文TCとを入力として、数18に示すように、ReEncアルゴリズムを実行して、変換後暗号文RCを生成する。
Figure 0006732141
図15を参照して、実施の形態2に係る復号装置80の動作を説明する。
ステップS71とステップS73との処理は、実施の形態1と同じである。
(ステップS72:復号処理)
復号部812は、暗号文TCを入力として、数19に示すように、複数鍵準同型暗号におけるDecアルゴリズムを実行して、暗号文TCを復号して平文M’を生成する。
Figure 0006732141
数19において、ctは、要素CTの右から2列目の列ベクトルである。“t・ct/2L−2”は、t・ct/2L−2に最も近い整数という意味である。つまり、t・ct/2L−2に最も近い整数が平文M’である。
***実施の形態2の効果***
実施の形態2に係る秘匿情報処理システム10は、具体的な複数鍵準同型暗号方式を用いて、準同型演算を行った後の暗号文を、復号鍵skで復号可能な暗号文に変換することが可能な方式を実現できる。
なお、実施の形態1では、暗号文変換装置70は準同型演算アルゴリズムにより暗号文を変換していた。これに対して、実施の形態2では、暗号文変換装置70は準同型演算アルゴリズムを用いることなく暗号文を変換する。そのため、計算量を少なくすることが可能である。
実施の形態3.
実施の形態3では、実施の形態2と同様に、非特許文献1に記載された複数鍵準同型暗号方式に基づく具体的な方式を説明する。実施の形態3では、非特許文献1に記載されたSmaller−Ciphertxt Constructionに基づく方式を説明する。実施の形態3では、実施の形態2と異なる部分を説明し、同一の部分については説明を省略する。
***動作の説明***
図10を参照して、実施の形態3に係る鍵生成装置30の動作を説明する。
ステップS22の処理は、実施の形態2と同じである。
(ステップS21:鍵生成処理)
鍵生成部312は、数20に示すように、複数鍵準同型暗号におけるKGアルゴリズムを実行して、復号鍵skと公開鍵pkとのペアを生成する。
Figure 0006732141
図11を参照して、実施の形態3に係る変換鍵生成装置40の動作を説明する。
ステップS31とステップS33との処理は、実施の形態2と同じである。
(ステップS32:変換鍵生成処理)
変換鍵生成部412は、復号鍵skと公開鍵pkとを入力として、数21に示すように、複数鍵準同型暗号におけるRKGenアルゴリズムを実行して、復号鍵skを公開鍵pkによって暗号化して変換鍵rki→jを生成する。
Figure 0006732141
図12を参照して、実施の形態3に係る暗号化装置50の動作を説明する。
ステップS41とステップS43との処理は、実施の形態2と同じである。
(ステップS42:暗号化処理)
ここでは、i番目の鍵生成装置30によって生成された公開鍵pkで平文Mを暗号化するとする。
暗号化部512は、平文M及び公開鍵pkを入力として、数22に示すように、複数鍵準同型暗号におけるEncアルゴリズムを実行して、平文Mを公開鍵pkによって暗号化して暗号文Cを生成する。
Figure 0006732141
図13を参照して、実施の形態3に係る準同型演算装置60の動作を説明する。
ステップS51とステップS53との処理は、実施の形態2と同じである。
(ステップS52:準同型演算処理)
準同型演算部612は、ステップS51で入力された各暗号文TCを対象として、対象の暗号文TC及び公開鍵pkを入力として、数23に示すように、複数鍵準同型暗号におけるExtendアルゴリズムを実行して、暗号文C’を計算する。
Figure 0006732141
数23において、sはindexの要素数である。
準同型演算部612は、複数鍵準同型暗号におけるEvalアルゴリズムを実行して、暗号文TCに対して演算fを施した暗号文ECを生成する。
例えば、準同型演算部612は、数24に示すように、2つの暗号文TCであるC及びCの加算を行う。
Figure 0006732141
また、例えば、準同型演算部612は、数25に示すように、2つの暗号文TCであるC及びCの乗算を行う。
Figure 0006732141
図14を参照して、実施の形態3に係る暗号文変換装置70の動作を説明する。
ステップS61とステップS63との処理は、実施の形態2と同じである。
(ステップS62:暗号文変換処理)
ここでは、i=1,...,sの各整数iについての公開鍵pkで暗号化された暗号文を入力として準同型演算が行われた暗号文ECを、j番目の鍵生成装置30によって生成された復号鍵skで復号可能な暗号文に変換するとする。
暗号文変換部712は、i=1,...,sの各整数iについての変換鍵rki→jと、準同型演算が行われた暗号文ECである暗号文TCとを入力として、数26に示すように、ReEncアルゴリズムを実行して、変換後暗号文RCを生成する。
Figure 0006732141
図15を参照して、実施の形態3に係る復号装置80の動作を説明する。
ステップS71とステップS73との処理は、実施の形態2と同じである。
(ステップS72:復号処理)
復号部812は、暗号文TCを入力として、数27に示すように、複数鍵準同型暗号におけるDecアルゴリズムを実行して、暗号文TCを復号して平文M’を生成する。
Figure 0006732141
数27において、ctは、要素CTの右から2列目の列ベクトルである。“t・ct/2L−2”は、t・ct/2L−2に最も近い整数という意味である。つまり、t・ct/2L−2に最も近い整数が平文M’である。
***実施の形態3の効果***
以上のように、実施の形態3に係る秘匿情報処理システム10は、具体的な複数鍵準同型暗号方式を用いて、準同型演算を行った後の暗号文を、復号鍵skで復号可能な暗号文に変換することが可能な方式を実現できる。
実施の形態3に係る秘匿情報処理システム10によって実現される方式は、実施の形態3に係る秘匿情報処理システム10によって実現される方式に比べ、公開鍵pkの要素数は多くなるものの、暗号文Cの要素数は少なくなる。
10 秘匿情報処理システム、20 共通パラメータ生成装置、21 プロセッサ、22 メモリ、23 ストレージ、24 通信インタフェース、25 電子回路、211 取得部、212 共通パラメータ生成部、213 出力部、231 パラメータ記憶部、30 鍵生成装置、31 プロセッサ、32 メモリ、33 ストレージ、34 通信インタフェース、35 電子回路、311 取得部、312 鍵生成部、313 出力部、331 鍵記憶部、40 変換鍵生成装置、41 プロセッサ、42 メモリ、43 ストレージ、44 通信インタフェース、45 電子回路、411 鍵取得部、412 変換鍵生成部、413 出力部、431 鍵記憶部、50 暗号化装置、51 プロセッサ、52 メモリ、53 ストレージ、54 通信インタフェース、55 電子回路、511 取得部、512 暗号化部、513 出力部、531 鍵記憶部、60 準同型演算装置、61 プロセッサ、62 メモリ、63 ストレージ、64 通信インタフェース、65 電子回路、611 取得部、612 準同型演算部、613 出力部、631 鍵記憶部、632 暗号文記憶部、70 暗号文変換装置、71 プロセッサ、72 メモリ、73 ストレージ、74 通信インタフェース、75 電子回路、711 取得部、712 暗号文変換部、713 出力部、731 鍵記憶部、80 復号装置、81 プロセッサ、82 メモリ、83 ストレージ、84 通信インタフェース、85 電子回路、811 取得部、812 復号部、813 出力部、831 鍵記憶部、90 伝送路。

Claims (12)

  1. 復号鍵と公開鍵との複数のペアのうちの変換元のペアの復号鍵skと、変換先のペアの公開鍵pkと取得する鍵取得部と、
    複数鍵準同型暗号における暗号化アルゴリズムを用いて、前記鍵取得部によって取得された前記復号鍵skを前記公開鍵pkによって暗号化して、前記変換元のペアの公開鍵pkによって暗号化された暗号文を、前記変換先のペアの復号鍵skで復号可能な変換後暗号文RCに変換するための変換鍵rki→jを生成する変換鍵生成部と
    を備える変換鍵生成装置。
  2. 前記鍵取得部は、数101に示す要素tを含む復号鍵skと、数102に示す要素b及び要素Aを含む公開鍵pkとを取得し、
    前記変換鍵生成部は、前記復号鍵skを前記公開鍵pkによって数103に示すように暗号化して、前記変換鍵rki→jを生成する
    請求項1に記載の変換鍵生成装置。
    Figure 0006732141
    Figure 0006732141
    Figure 0006732141
  3. 復号鍵と公開鍵との複数のペアのうちの変換元のペアの公開鍵pkによって暗号化された暗号文Cであって、数104に示す要素CT及び要素indexを含む暗号文Cを取得する暗号文取得部と、
    変換元のペアの復号鍵skが、前記複数のペアのうちの変換先のペアの公開鍵pkによって暗号化された数105に示す変換鍵rki→jを取得する鍵取得部と、
    前記暗号文取得部によって取得された暗号文Cを、前記鍵取得部によって取得された前記変換鍵rki→jによって、前記変換先のペアの復号鍵skで復号可能な変換後暗号文RCであって、数106に示す要素CT及び要素jを含む変換後暗号文RCに変換する暗号文変換部と
    を備える暗号文変換装置。
    Figure 0006732141
    Figure 0006732141
    Figure 0006732141
  4. 1以上の整数sに関して、数107に示すi=1,...,sの各整数iについての要素CT及び要素indexを含む暗号文Cであって、復号鍵と公開鍵との複数のペアのうちの変換元のペアの公開鍵pkによって暗号化された暗号文Cに対して、準同型演算がされて生成された暗号文ECであって、要素CTと要素Fと要素Dとを含む暗号文ECを取得する暗号文取得部と、
    数108に示すi=1,...,sの各整数iについての変換鍵rki→jであって、変換元のペアの復号鍵skが、前記複数のペアのうちの変換先のペアの公開鍵pkによって暗号化された変換鍵rki→jを取得する鍵取得部と、
    前記暗号文取得部によって取得された暗号文ECを、前記鍵取得部によって取得されたi=1,...,sの各整数iについての前記変換鍵rki→jによって、数109に示す要素CT及び要素jを含む前記変換先のペアの復号鍵skで復号可能な変換後暗号文RCに変換する暗号文変換部と
    を備える暗号文変換装置。
    Figure 0006732141
    Figure 0006732141
    Figure 0006732141
  5. 前記暗号文変換部は、前記変換鍵rki→jに含まれる復号鍵skで前記暗号文を準同型演算により復号して、前記暗号文を前記変換後暗号文RCに変換する
    請求項3又は4に記載の暗号文変換装置。
  6. 復号鍵と公開鍵との複数のペアのうちの変換元のペアの復号鍵skを、複数鍵準同型暗号における暗号化アルゴリズムを用いて、変換先のペアの公開鍵pkによって暗号化して、変換鍵rki→jを生成する変換鍵生成装置と、
    前記複数のペアのうちの変換元のペアの公開鍵pkによって暗号化された暗号文を、前記変換鍵生成装置によって生成された変換鍵rki→jによって、前記変換先のペアの復号鍵skで復号可能な変換後暗号文RCに変換する暗号文変換装置と
    を備える秘匿情報処理システム。
  7. 鍵取得部が、復号鍵と公開鍵との複数のペアのうちの変換元のペアの復号鍵skと、変換先のペアの公開鍵pkと取得し、
    変換鍵生成部が、複数鍵準同型暗号における暗号化アルゴリズムを用いて、前記復号鍵skを前記公開鍵pkによって暗号化して、前記変換元のペアの公開鍵pkによって暗号化された暗号文を、前記変換先のペアの復号鍵skで復号可能な変換後暗号文RCに変換するための変換鍵rki→jを生成する変換鍵生成方法。
  8. 鍵取得部が、復号鍵と公開鍵との複数のペアのうちの変換元のペアの復号鍵skと、変換先のペアの公開鍵pkと取得する鍵取得処理と、
    変換鍵生成部が、複数鍵準同型暗号における暗号化アルゴリズムを用いて、前記鍵取得処理によって取得された前記復号鍵skを前記公開鍵pkによって暗号化して、前記変換元のペアの公開鍵pkによって暗号化された暗号文を、前記変換先のペアの復号鍵skで復号可能な変換後暗号文RCに変換するための変換鍵rki→jを生成する変換鍵生成処理と
    行う変換鍵生成装置としてコンピュータを機能させる変換鍵生成プログラム。
  9. 暗号文取得部が、復号鍵と公開鍵との複数のペアのうちの変換元のペアの公開鍵pkによって暗号化された暗号文Cであって、数110に示す要素CT及び要素indexを含む暗号文Cを取得し、
    鍵取得部が、変換元のペアの復号鍵skが、前記複数のペアのうちの変換先のペアの公開鍵pkによって暗号化された数111に示す変換鍵rki→jを取得し、
    暗号文変換部が、前記暗号文を前記変換鍵rki→jによって、前記変換先のペアの復号鍵skで復号可能な変換後暗号文RCであって、数112に示す要素CT及び要素jを含む変換後暗号文RCに変換する暗号文変換方法。
    Figure 0006732141
    Figure 0006732141
    Figure 0006732141
  10. 暗号文取得部が、1以上の整数sに関して、数113に示すi=1,...,sの各整数iについての要素CT及び要素indexを含む暗号文Cであって、復号鍵と公開鍵との複数のペアのうちの変換元のペアの公開鍵pkによって暗号化された暗号文Cに対して、準同型演算がされて生成された暗号文ECであって、要素CTと要素Fと要素Dとを含む暗号文ECを取得し、
    鍵取得部が、数114に示すi=1,...,sの各整数iについての変換鍵rki→jであって、変換元のペアの復号鍵skが、前記複数のペアのうちの変換先のペアの公開鍵pkによって暗号化された変換鍵rki→jを取得し、
    暗号文変換部が、前記暗号文ECをi=1,...,sの各整数iについての前記変換鍵rki→jによって、数115に示す要素CT及び要素jを含む前記変換先のペアの復号鍵skで復号可能な変換後暗号文RCに変換する暗号文変換方法。
    Figure 0006732141
    Figure 0006732141
    Figure 0006732141
  11. 暗号文取得部が、復号鍵と公開鍵との複数のペアのうちの変換元のペアの公開鍵pkによって暗号化された暗号文Cであって、数116に示す要素CT及び要素indexを含む暗号文Cを取得する暗号文取得処理と、
    鍵取得部が、変換元のペアの復号鍵skが、前記複数のペアのうちの変換先のペアの公開鍵pkによって暗号化された数117に示す変換鍵rki→jを取得する鍵取得処理と、
    暗号文変換部が、前記暗号文取得処理によって取得された暗号文を、前記鍵取得処理によって取得された前記変換鍵rki→jによって、前記変換先のペアの復号鍵skで復号可能な変換後暗号文RCであって、数118に示す要素CT及び要素jを含む変換後暗号文RCに変換する暗号文変換処理と
    行う暗号文変換装置としてコンピュータを機能させる暗号文変換プログラム。
    Figure 0006732141
    Figure 0006732141
    Figure 0006732141
  12. 暗号文取得部が、1以上の整数sに関して、数119に示すi=1,...,sの各整数iについての要素CT及び要素indexを含む暗号文Cであって、復号鍵と公開鍵との複数のペアのうちの変換元のペアの公開鍵pkによって暗号化された暗号文Cに対して、準同型演算がされて生成された暗号文ECであって、要素CTと要素Fと要素Dとを含む暗号文ECを取得する暗号文取得処理と、
    鍵取得部が、数120に示すi=1,...,sの各整数iについての変換鍵rki→jであって、変換元のペアの復号鍵skが、前記複数のペアのうちの変換先のペアの公開鍵pkによって暗号化された変換鍵rki→jを取得する鍵取得処理と、
    暗号文変換部が、前記暗号文取得処理によって取得された暗号文ECを、前記鍵取得処理によって取得されたi=1,...,sの各整数iについての前記変換鍵rki→jによって、数121に示す要素CT及び要素jを含む前記変換先のペアの復号鍵skで復号可能な変換後暗号文RCに変換する暗号文変換処理と
    行う暗号文変換装置としてコンピュータを機能させる暗号文変換プログラム。
    Figure 0006732141
    Figure 0006732141
    Figure 0006732141
JP2019561514A 2017-12-28 2017-12-28 変換鍵生成装置、暗号文変換装置、秘匿情報処理システム、変換鍵生成方法、変換鍵生成プログラム、暗号文変換方法及び暗号文変換プログラム Active JP6732141B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2017/047148 WO2019130528A1 (ja) 2017-12-28 2017-12-28 変換鍵生成装置、暗号文変換装置、秘匿情報処理システム、変換鍵生成方法、変換鍵生成プログラム、暗号文変換方法及び暗号文変換プログラム

Publications (2)

Publication Number Publication Date
JPWO2019130528A1 JPWO2019130528A1 (ja) 2020-04-02
JP6732141B2 true JP6732141B2 (ja) 2020-07-29

Family

ID=67066848

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019561514A Active JP6732141B2 (ja) 2017-12-28 2017-12-28 変換鍵生成装置、暗号文変換装置、秘匿情報処理システム、変換鍵生成方法、変換鍵生成プログラム、暗号文変換方法及び暗号文変換プログラム

Country Status (4)

Country Link
US (1) US11374742B2 (ja)
JP (1) JP6732141B2 (ja)
CN (1) CN111512592A (ja)
WO (1) WO2019130528A1 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7119605B2 (ja) * 2018-06-08 2022-08-17 日本電信電話株式会社 暗号文変換システム、暗号文変換方法、及びプログラム
FR3087066B1 (fr) * 2018-10-05 2022-01-14 Commissariat Energie Atomique Methode de transchiffrement a faible latence de calcul
US11849019B2 (en) * 2019-02-25 2023-12-19 Nec Corporation Encryption system, key generation apparatus, key generation method, key generation program, and homomorphic operation apparatus
WO2021144842A1 (ja) * 2020-01-14 2021-07-22 三菱電機株式会社 秘匿情報処理システム、準同型演算装置、復号装置、秘匿情報処理方法、および、秘匿情報処理プログラム
DE112020007024T5 (de) * 2020-06-05 2023-02-23 Mitsubishi Electric Corporation Vertrauliche-information-verarbeitungssystem, verschlüsselungsvorrichtung, verschlüsselungsverfahren und verschlüsselungsprogramm
CN112152777B (zh) * 2020-08-18 2022-04-22 西安交通大学 一种面向同态密码运算的密钥转换方法、系统、设备及可读存储介质
CN112685760A (zh) * 2021-01-08 2021-04-20 浙江泰科数联信息技术有限公司 一种区块链上可授权的金融数据隐私处理与共享的方法
JP6962629B1 (ja) * 2021-03-23 2021-11-05 Eaglys株式会社 データ共有システム、データ共有方法、およびデータ共有プログラム
CN114221749B (zh) * 2021-12-13 2022-08-30 成都天府通金融服务股份有限公司 基于多类型服务器的密钥统一管理方法及系统、电子设备
WO2023158193A1 (ko) * 2022-02-16 2023-08-24 삼성전자 주식회사 동형 암호를 기반으로 하는 데이터 처리 방법 및 장치

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5047638B2 (ja) * 2006-12-14 2012-10-10 株式会社エヌ・ティ・ティ・データ 暗号文復号権委譲システム
JP5135070B2 (ja) * 2008-06-12 2013-01-30 株式会社エヌ・ティ・ティ・データ 暗号文復号権限委譲システム
JP2012150399A (ja) * 2011-01-21 2012-08-09 Nippon Telegr & Teleph Corp <Ntt> プロキシ再暗号化システム、委譲情報生成装置、被委譲情報生成装置、変換鍵生成装置、暗号文変換装置、プロキシ再暗号化方法、及びそれらのプログラム
JP5668549B2 (ja) 2011-03-16 2015-02-12 富士通株式会社 秘匿分析処理方法、プログラム及び装置
US9548861B2 (en) 2011-06-10 2017-01-17 Nec Corporation Encrypted statistical processing system, device, method, and program
JP5389212B2 (ja) * 2012-03-28 2014-01-15 株式会社東芝 再暗号文検証プログラム、再暗号化装置及び再暗号化システム
JP5730804B2 (ja) * 2012-04-03 2015-06-10 日本電信電話株式会社 暗号化装置、再暗号化鍵難読化装置、再暗号化装置、復号装置、および再暗号化システム
JP6194886B2 (ja) * 2012-07-12 2017-09-13 日本電気株式会社 暗号化統計処理システム、復号システム、鍵生成装置、プロキシ装置、暗号化統計データ生成装置、暗号化統計処理方法、および、暗号化統計処理プログラム
JP5932040B2 (ja) 2012-08-08 2016-06-08 株式会社東芝 再暗号化鍵生成装置及びプログラム
JP5905128B2 (ja) * 2013-01-16 2016-04-20 三菱電機株式会社 暗号システム、再暗号化装置及び暗号方法
JP6178142B2 (ja) * 2013-07-12 2017-08-09 株式会社東芝 生成装置、方法およびプログラム
CN103425908A (zh) * 2013-09-12 2013-12-04 北京邮电大学 Drm互操作系统中内容转换流程和次数控制机制设计
CN105637802B (zh) * 2013-10-16 2019-09-06 日本电信电话株式会社 密钥装置、密钥云系统、解密方法、以及程序
JP6313074B2 (ja) 2014-03-07 2018-04-18 株式会社東芝 データ管理装置、システム、データ共有装置及びプログラム
CA2949020C (en) * 2014-06-23 2018-09-04 Porticor Ltd. Methods and devices for key management in an as-a-service context
WO2016112954A1 (en) * 2015-01-12 2016-07-21 Nec Europe Ltd. Method and system for providing encrypted data
WO2016173646A1 (en) * 2015-04-29 2016-11-03 Nec Europe Ltd. Method and system for providing homomorphically encrypted data on a client
JP2016224400A (ja) * 2015-05-29 2016-12-28 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 類似情報検索方法、端末装置及び類似情報検索システム
US10277563B2 (en) * 2016-06-17 2019-04-30 Palo Alto Research Center Incorporated Computer-implemented system and method for protecting sensitive data via data re-encryption
CN106790069B (zh) * 2016-12-21 2020-03-31 电子科技大学 基于向量同态加密的隐私保护k-nn分类方法
CN107196926B (zh) * 2017-04-29 2020-04-14 河南师范大学 一种云外包隐私集合比较方法与装置
US11849019B2 (en) * 2019-02-25 2023-12-19 Nec Corporation Encryption system, key generation apparatus, key generation method, key generation program, and homomorphic operation apparatus

Also Published As

Publication number Publication date
CN111512592A (zh) 2020-08-07
WO2019130528A1 (ja) 2019-07-04
US11374742B2 (en) 2022-06-28
US20200344049A1 (en) 2020-10-29
JPWO2019130528A1 (ja) 2020-04-02

Similar Documents

Publication Publication Date Title
JP6732141B2 (ja) 変換鍵生成装置、暗号文変換装置、秘匿情報処理システム、変換鍵生成方法、変換鍵生成プログラム、暗号文変換方法及び暗号文変換プログラム
US11522671B2 (en) Homomorphic inference device, homomorphic inference method, computer readable medium, and privacy-preserving information processing system
US10177906B2 (en) Method and apparatus for encrypting data
KR101600016B1 (ko) 동형 암호화 알고리즘을 이용한 암호화 방법 및 이를 수행하는 컴퓨팅 장치
JP6575532B2 (ja) 暗号化装置、復号装置、暗号処理システム、暗号化方法、復号方法、暗号化プログラム、及び復号プログラム
CN110169010B (zh) 同态运算装置、加密系统和计算机能读取的存储介质
JP6305638B2 (ja) 暗号システム及び鍵生成装置
KR20200047002A (ko) 동형 암호를 이용한 암호문 비교 방법 및 이를 수행하기 위한 장치
Ravula et al. Multi-level collaborative framework decryption-based computing systems
US10965454B2 (en) Apparatus and method for public key encryption
WO2018131129A1 (ja) 暗号化タグ生成装置、検索クエリ生成装置及び秘匿検索システム
JP7117964B2 (ja) 復号装置、暗号システム、復号方法及び復号プログラム
JP7325689B2 (ja) 暗号文変換システム、変換鍵生成方法、及び、変換鍵生成プログラム
JP7126635B2 (ja) 再暗号化装置、暗号システム、再暗号化方法及び再暗号化プログラム
JP6452910B1 (ja) 秘匿分析装置、秘匿分析システム、秘匿分析方法及び秘匿分析プログラム
JP6949276B2 (ja) 再暗号化装置、再暗号化方法、再暗号化プログラム及び暗号システム
US11811741B2 (en) Information processing system and information processing method
JP6296589B2 (ja) 暗号処理システム
WO2020075224A1 (ja) 秘匿分析装置、秘匿分析システム、秘匿分析方法及び秘匿分析プログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191219

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20191219

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20191219

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20200305

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200407

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200508

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200707

R150 Certificate of patent or registration of utility model

Ref document number: 6732141

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250