(57)【要約】鍵取得部（４１１）は、復号鍵と公開鍵との複数のペアのうちの変換元のペアの復号鍵ｓｋｉと、変換先のペアの公開鍵ｐｋｊと取得する。変換鍵生成部（４１２）は、鍵取得部（４１１）によって取得された復号鍵ｓｋｉを公開鍵ｐｋｊによって暗号化して、変換元のペアの公開鍵ｐｋｉによって暗号化された暗号文を、変換先のペアの復号鍵ｓｋｊで復号可能な変換後暗号文に変換するための変換鍵ｒｋｉ→ｊを生成する。出力部（４１３）は、変換鍵生成部（４１２）によって生成された変換鍵ｒｋｉ→ｊを出力する。
2019130528.tif 000002
【特許請求の範囲】
【請求項１】
復号鍵と公開鍵との複数のペアのうちの変換元のペアの復号鍵ｓｋｉと、変換先のペアの公開鍵ｐｋｊと取得する鍵取得部と、
前記鍵取得部によって取得された前記復号鍵ｓｋｉを前記公開鍵ｐｋｊによって暗号化して、前記変換元のペアの公開鍵ｐｋｉによって暗号化された暗号文を、前記変換先のペアの復号鍵ｓｋｊで復号可能な変換後暗号文ＲＣに変換するための変換鍵ｒｋｉ→ｊを生成する変換鍵生成部と
を備える変換鍵生成装置。
【請求項２】
前記変換鍵生成部は、複数鍵準同型暗号における暗号化アルゴリズムにより前記復号鍵ｓｋｉを前記公開鍵ｐｋｊによって暗号化して、復号可能な暗号文に変換するための変換鍵ｒｋｉ→ｊを生成する
請求項１に記載の変換鍵生成装置。
【請求項３】
前記鍵取得部は、数１に示す要素ｔｉを含む復号鍵ｓｋｉと、数２に示す要素ｂｊ及び要素Ａを含む公開鍵ｐｋｊとを取得し、
前記変換鍵生成部は、前記復号鍵ｓｋｉを前記公開鍵ｐｋｊによって数３に示すように暗号化して、前記変換鍵ｒｋｉ→ｊを生成する
請求項１又は２に記載の変換鍵生成装置。
【数１】
2019130528.tif 000020
【数２】
2019130528.tif 000021
【数３】
2019130528.tif 000022
【請求項４】
復号鍵と公開鍵との複数のペアのうちの変換元のペアの公開鍵ｐｋｉによって暗号化された暗号文を取得する暗号文取得部と、
変換元のペアの復号鍵ｓｋｉが、前記複数のペアのうちの変換先のペアの公開鍵ｐｋｊによって暗号化された変換鍵ｒｋｉ→ｊを取得する鍵取得部と、
前記暗号文取得部によって取得された暗号文を、前記鍵取得部によって取得された前記変換鍵ｒｋｉ→ｊによって、前記変換先のペアの復号鍵ｓｋｊで復号可能な変換後暗号文ＲＣに変換する暗号文変換部と
を備える暗号文変換装置。
【請求項５】
前記暗号文変換部は、前記変換鍵ｒｋｉ→ｊに含まれる復号鍵ｓｋｉで前記暗号文を準同型演算により復号して、前記暗号文を前記変換後暗号文ＲＣに変換する
請求項４に記載の暗号文変換装置。
【請求項６】
前記暗号文取得部は、１以上の整数ｓに関して、ｉ＝１，．．．，ｓの各整数ｉについての公開鍵ｐｋｉで暗号化された暗号文に対して、準同型演算がされて生成された暗号文ＥＣを取得し、
前記鍵取得部は、ｉ＝１，．．．，ｓの各整数ｉについての変換鍵ｒｋｉ→ｊを取得し、
前記暗号文変換部は、前記暗号文ＥＣを、ｉ＝１，．．．，ｓの各整数ｉについての変換鍵ｒｋｉ→ｊによって、前記変換後暗号文ＲＣに変換する
請求項４に記載の暗号文変換装置。
【請求項７】
前記暗号文取得部は、数４に示す要素ＣＴ及び要素ｉｎｄｅｘを含む暗号文Ｃを取得し、
前記鍵取得部は、数５に示す変換鍵ｒｋｉ→ｊを取得し、
前記暗号文変換部は、前記暗号文Ｃを前記変換鍵ｒｋｉ→ｊによって数６に示す要素ＣＴ＊及び要素ｊを含む前記変換後暗号文ＲＣに変換する
請求項４に記載の暗号文変換装置。
【数４】
2019130528.tif 000023
【数５】
2019130528.tif 000024
【数６】
2019130528.tif 000025
【請求項８】
前記暗号文取得部は、数７に示すｉ＝１，．．．，ｓの各整数ｉについての要素ＣＴｉ及び要素ｉｎｄｅｘを含む暗号文Ｃｉに対して、準同型演算がされて生成された暗号文ＥＣであって、要素ＣＴと要素Ｆと要素Ｄとを含む暗号文ＥＣを取得し、
前記鍵取得部は、数８に示すｉ＝１，．．．，ｓの各整数ｉについての変換鍵ｒｋｉ→ｊを取得し、
前記暗号文変換部は、前記暗号文ＥＣを、ｉ＝１，．．．，ｓの各整数ｉについての変換鍵ｒｋｉ→ｊによって数９に示す要素ＣＴ＊及び要素ｊを含む前記変換後暗号文ＲＣに変換する
請求項６に記載の暗号文変換装置。
【数７】
2019130528.tif 000026
【数８】
2019130528.tif 000027
【数９】
2019130528.tif 000028
【請求項９】
復号鍵と公開鍵との複数のペアのうちの変換元のペアの復号鍵ｓｋｉを、変換先のペアの公開鍵ｐｋｊによって暗号化して、変換鍵ｒｋｉ→ｊを生成する変換鍵生成装置と、
前記複数のペアのうちの変換元のペアの公開鍵ｐｋｉによって暗号化された暗号文を、前記変換鍵生成装置によって生成された変換鍵ｒｋｉ→ｊによって、前記変換先のペアの復号鍵ｓｋｊで復号可能な変換後暗号文ＲＣに変換する暗号文変換装置と
を備える秘匿情報処理システム。
【請求項１０】
鍵取得部が、復号鍵と公開鍵との複数のペアのうちの変換元のペアの復号鍵ｓｋｉと、変換先のペアの公開鍵ｐｋｊと取得し、
変換鍵生成部が、前記復号鍵ｓｋｉを前記公開鍵ｐｋｊによって暗号化して、前記変換元のペアの公開鍵ｐｋｉによって暗号化された暗号文を、前記変換先のペアの復号鍵ｓｋｊで復号可能な変換後暗号文ＲＣに変換するための変換鍵ｒｋｉ→ｊを生成する変換鍵生成方法。
【請求項１１】
復号鍵と公開鍵との複数のペアのうちの変換元のペアの復号鍵ｓｋｉと、変換先のペアの公開鍵ｐｋｊと取得する鍵取得処理と、
前記鍵取得処理によって取得された前記復号鍵ｓｋｉを前記公開鍵ｐｋｊによって暗号化して、前記変換元のペアの公開鍵ｐｋｉによって暗号化された暗号文を、前記変換先のペアの復号鍵ｓｋｊで復号可能な変換後暗号文ＲＣに変換するための変換鍵ｒｋｉ→ｊを生成する変換鍵生成処理と
をコンピュータに実行させる変換鍵生成プログラム。
【請求項１２】
暗号文取得部が、復号鍵と公開鍵との複数のペアのうちの変換元のペアの公開鍵ｐｋｉによって暗号化された暗号文を取得し、
鍵取得部が、変換元のペアの復号鍵ｓｋｉが、前記複数のペアのうちの変換先のペアの公開鍵ｐｋｊによって暗号化された変換鍵ｒｋｉ→ｊを取得し、
暗号文変換部が、前記暗号文を前記変換鍵ｒｋｉ→ｊによって、前記変換先のペアの復号鍵ｓｋｊで復号可能な変換後暗号文ＲＣに変換する暗号文変換方法。
【請求項１３】
復号鍵と公開鍵との複数のペアのうちの変換元のペアの公開鍵ｐｋｉによって暗号化された暗号文を取得する暗号文取得処理と、
変換元のペアの復号鍵ｓｋｉが、前記複数のペアのうちの変換先のペアの公開鍵ｐｋｊによって暗号化された変換鍵ｒｋｉ→ｊを取得する鍵取得処理と、
前記暗号文取得処理によって取得された暗号文を、前記鍵取得処理によって取得された前記変換鍵ｒｋｉ→ｊによって、前記変換先のペアの復号鍵ｓｋｊで復号可能な変換後暗号文ＲＣに変換する暗号文変換処理と
をコンピュータに実行させる暗号文変換プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、準同型暗号における代理人再暗号化技術に関する。
【背景技術】
【０００２】
準同型暗号とは、データを暗号化したまま演算できる暗号技術である。データを暗号文のまま演算する処理は準同型演算と呼ばれ、準同型演算可能な演算の種類や回数は具体的方式によって異なる。準同型暗号を用いることにより、クラウド上のデータベースにデータを暗号化したまま保管し、さらに、保管されている暗号化データに対して、復号することなく統計処理等の分析を施すことが可能となる。これにより秘匿性を確保したままクラウドの利用が可能となる。
準同型暗号には、準同型演算を行うために暗号文が同じ公開鍵で暗号化されていなければならないという性質がある。それゆえ、複数人がデータをクラウドに保管し、さらに保管されたデータに対して準同型演算を行うような場合には、全員が共通の鍵を使用する必要が生じる。また、全員が共通の鍵を使用しているため、誰でもデータを復号できるという課題が生じる。【０００３】
特許文献１には、代理人再暗号化と呼ばれる、データを暗号化している鍵を変換する技術を用い、異なる鍵で暗号化されている暗号文を、特定の１つの鍵で暗号化されている暗号文に変換することが記載されている。これにより、特許文献１では、暗号文を特定の同じ鍵による暗号文に変換した後、準同型演算を行うことが可能としている。また、特許文献１では、代理人再暗号化による変換後の鍵を持つ者のみが、準同型演算結果の暗号文を復号することが可能としている。
つまり、特許文献１に記載された技術では、異なる鍵で暗号化された複数の暗号文に対して、準同型演算を行うことが可能である。これにより、全員が共通の鍵を使用する必要があるという課題が解決されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】国際公開第第２０１４／０１０２０２号
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、特許文献１に記載された技術では、準同型演算を行う前に代理人再暗号化により暗号文を変換することが必須である。言い換えると、特許文献１に記載された技術では、暗号文に対して代理人再暗号化をする前に準同型演算を行うことができない。そのため、準同型演算を行う前に、誰が復号可能な暗号文に変換するかを決定する必要がある。したがって、分析担当者を決定する前に準同型演算により分析を行っておくことはできない。また、ある分析担当者のために準同型演算により分析を行った結果を、他の分析担当者に分析してもらうことはできない。
この発明は、異なる鍵で暗号化された複数の暗号文に対して準同型演算を行った後に、代理人再暗号化により復号者を制御可能な準同型暗号方式を実現可能にすることを目的とする。
【課題を解決するための手段】
【０００６】
この発明に係る変換鍵生成装置は、
復号鍵と公開鍵との複数のペアのうちの変換元のペアの復号鍵ｓｋｉと、変換先のペアの公開鍵ｐｋｊと取得する鍵取得部と、
前記鍵取得部によって取得された前記復号鍵ｓｋｉを前記公開鍵ｐｋｊによって暗号化して、前記変換元のペアの公開鍵ｐｋｉによって暗号化された暗号文を、前記変換先のペアの復号鍵ｓｋｊで復号可能な変換後暗号文に変換するための変換鍵ｒｋｉ→ｊを生成する変換鍵生成部と
を備える。
【発明の効果】
【０００７】
この発明では、変換元のペアの復号鍵ｓｋｉを変換先のペアの公開鍵ｐｋｊで暗号化して、公開鍵ｐｋｉによって暗号化された暗号文を、変換先のペアの復号鍵ｓｋｊで復号可能な変換後暗号文に変換するための変換鍵ｒｋｉ→ｊを生成する。この変換鍵ｒｋｉ→ｊを用いることにより、異なる鍵で暗号化された複数の暗号文に対して準同型演算を行った後の暗号文を復号可能な復号鍵を制御可能にすることが可能になる。
【図面の簡単な説明】
【０００８】
【図１】実施の形態１に係る秘匿情報処理システム１０の構成図。
【図２】実施の形態１に係る共通パラメータ生成装置２０の構成図。
【図３】実施の形態１に係る鍵生成装置３０の構成図。
【図４】実施の形態１に係る変換鍵生成装置４０の構成図。
【図５】実施の形態１に係る暗号化装置５０の構成図。
【図６】実施の形態１に係る準同型演算装置６０の構成図。
【図７】実施の形態１に係る暗号文変換装置７０の構成図。
【図８】実施の形態１に係る復号装置８０の構成図。
【図９】実施の形態１に係る共通パラメータ生成装置２０の動作を示すフローチャート。
【図１０】実施の形態１に係る鍵生成装置３０の動作を示すフローチャート。
【図１１】実施の形態１に係る変換鍵生成装置４０の動作を示すフローチャート。
【図１２】実施の形態１に係る暗号化装置５０の動作を示すフローチャート。
【図１３】実施の形態１に係る準同型演算装置６０の動作を示すフローチャート。
【図１４】実施の形態１に係る暗号文変換装置７０の動作を示すフローチャート。
【図１５】実施の形態１に係る復号装置８０の動作を示すフローチャート。
【図１６】変形例１に係る共通パラメータ生成装置２０の構成図。
【図１７】変形例１に係る鍵生成装置３０の構成図。
【図１８】変形例１に係る変換鍵生成装置４０の構成図。
【図１９】変形例１に係る暗号化装置５０の構成図。
【図２０】変形例１に係る準同型演算装置６０の構成図。
【図２１】変形例１に係る暗号文変換装置７０の構成図。
【図２２】変形例１に係る復号装置８０の構成図。
【発明を実施するための形態】
【０００９】
実施の形態１．
＊＊＊構成の説明＊＊＊
図１を参照して、実施の形態１に係る秘匿情報処理システム１０の構成を説明する。
秘匿情報処理システム１０は、共通パラメータ生成装置２０と、複数の鍵生成装置３０と、変換鍵生成装置４０と、暗号化装置５０と、準同型演算装置６０と、暗号文変換装置７０と、複数の復号装置８０とを備える。
共通パラメータ生成装置２０と、複数の鍵生成装置３０と、変換鍵生成装置４０と、暗号化装置５０と、準同型演算装置６０と、暗号文変換装置７０と、復号装置８０とは、伝送路９０を介して接続される。伝送路９０は、具体例としては、インターネット又はＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）である。
【００１０】
図２を参照して、実施の形態１に係る共通パラメータ生成装置２０の構成を説明する。
共通パラメータ生成装置２０は、プロセッサ２１と、メモリ２２と、ストレージ２３と、通信インタフェース２４とのハードウェアを備える。プロセッサ２１は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
【００１１】
共通パラメータ生成装置２０は、機能構成要素として、取得部２１１と、共通パラメータ生成部２１２と、出力部２１３とを備える。共通パラメータ生成装置２０の各機能構成要素の機能はソフトウェアにより実現される。
ストレージ２３には、共通パラメータ生成装置２０の各機能構成要素の機能を実現するプログラムが記憶されている。このプログラムは、プロセッサ２１によりメモリ２２に読み込まれ、プロセッサ２１によって実行される。これにより、共通パラメータ生成装置２０の各機能構成要素の機能が実現される。
また、ストレージ２３は、パラメータ記憶部２３１の機能を実現する。
【００１２】
図３を参照して、実施の形態１に係る鍵生成装置３０の構成を説明する。
鍵生成装置３０は、プロセッサ３１と、メモリ３２と、ストレージ３３と、通信インタフェース３４とのハードウェアを備える。プロセッサ３１は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
【００１３】
鍵生成装置３０は、機能構成要素として、取得部３１１と、鍵生成部３１２と、出力部３１３とを備える。鍵生成装置３０の各機能構成要素の機能はソフトウェアにより実現される。
ストレージ３３には、鍵生成装置３０の各機能構成要素の機能を実現するプログラムが記憶されている。このプログラムは、プロセッサ３１によりメモリ３２に読み込まれ、プロセッサ３１によって実行される。これにより、鍵生成装置３０の各機能構成要素の機能が実現される。
また、ストレージ３３は、鍵記憶部３３１の機能を実現する。
【００１４】
図４を参照して、実施の形態１に係る変換鍵生成装置４０の構成を説明する。
変換鍵生成装置４０は、プロセッサ４１と、メモリ４２と、ストレージ４３と、通信インタフェース４４とのハードウェアを備える。プロセッサ４１は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
【００１５】
変換鍵生成装置４０は、機能構成要素として、鍵取得部４１１と、変換鍵生成部４１２と、出力部４１３とを備える。変換鍵生成装置４０の各機能構成要素の機能はソフトウェアにより実現される。
ストレージ４３には、変換鍵生成装置４０の各機能構成要素の機能を実現するプログラムが記憶されている。このプログラムは、プロセッサ４１によりメモリ４２に読み込まれ、プロセッサ４１によって実行される。これにより、変換鍵生成装置４０の各機能構成要素の機能が実現される。
また、ストレージ４３は、鍵記憶部４３１の機能を実現する。
【００１６】
図５を参照して、実施の形態１に係る暗号化装置５０の構成を説明する。
暗号化装置５０は、プロセッサ５１と、メモリ５２と、ストレージ５３と、通信インタフェース５４とのハードウェアを備える。プロセッサ５１は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
【００１７】
暗号化装置５０は、機能構成要素として、取得部５１１と、暗号化部５１２と、出力部５１３とを備える。暗号化装置５０の各機能構成要素の機能はソフトウェアにより実現される。
ストレージ５３には、暗号化装置５０の各機能構成要素の機能を実現するプログラムが記憶されている。このプログラムは、プロセッサ５１によりメモリ５２に読み込まれ、プロセッサ５１によって実行される。これにより、暗号化装置５０の各機能構成要素の機能が実現される。
また、ストレージ５３は、鍵記憶部５３１の機能を実現する。
【００１８】
図６を参照して、実施の形態１に係る準同型演算装置６０の構成を説明する。
準同型演算装置６０は、プロセッサ６１と、メモリ６２と、ストレージ６３と、通信インタフェース６４とのハードウェアを備える。プロセッサ６１は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
【００１９】
準同型演算装置６０は、機能構成要素として、取得部６１１と、準同型演算部６１２と、出力部６１３とを備える。準同型演算装置６０の各機能構成要素の機能はソフトウェアにより実現される。
ストレージ６３には、準同型演算装置６０の各機能構成要素の機能を実現するプログラムが記憶されている。このプログラムは、プロセッサ６１によりメモリ６２に読み込まれ、プロセッサ６１によって実行される。これにより、準同型演算装置６０の各機能構成要素の機能が実現される。
また、ストレージ６３は、鍵記憶部６３１と、暗号文記憶部６３２との機能を実現する。
【００２０】
図７を参照して、実施の形態１に係る暗号文変換装置７０の構成を説明する。
暗号文変換装置７０は、プロセッサ７１と、メモリ７２と、ストレージ７３と、通信インタフェース７４とのハードウェアを備える。プロセッサ７１は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
【００２１】
暗号文変換装置７０は、機能構成要素として、取得部７１１と、暗号文変換部７１２と、出力部７１３とを備える。取得部７１１は、暗号文取得部７１４と、鍵取得部７１５とを備える。暗号文変換装置７０の各機能構成要素の機能はソフトウェアにより実現される。
ストレージ７３には、暗号文変換装置７０の各機能構成要素の機能を実現するプログラムが記憶されている。このプログラムは、プロセッサ７１によりメモリ７２に読み込まれ、プロセッサ７１によって実行される。これにより、暗号文変換装置７０の各機能構成要素の機能が実現される。
また、ストレージ７３は、鍵記憶部７３１の機能を実現する。
【００２２】
図８を参照して、実施の形態１に係る復号装置８０の構成を説明する。
復号装置８０は、プロセッサ８１と、メモリ８２と、ストレージ８３と、通信インタフェース８４とのハードウェアを備える。プロセッサ８１は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
【００２３】
復号装置８０は、機能構成要素として、取得部８１１と、復号部８１２と、出力部８１３とを備える。復号装置８０の各機能構成要素の機能はソフトウェアにより実現される。
ストレージ８３には、復号装置８０の各機能構成要素の機能を実現するプログラムが記憶されている。このプログラムは、プロセッサ８１によりメモリ８２に読み込まれ、プロセッサ８１によって実行される。これにより、復号装置８０の各機能構成要素の機能が実現される。
また、ストレージ８３は、鍵記憶部８３１の機能を実現する。
【００２４】
プロセッサ２１，３１，４１，５１，６１，７１，８１は、演算処理を行うＩＣ（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）である。プロセッサ２１，３１，４１，５１，６１，７１，８１は、具体例としては、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、ＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）、ＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）である。
【００２５】
メモリ２２，３２，４２，５２，６２，７２，８２は、データを一時的に記憶する記憶装置である。メモリ２２，３２，４２，５２，６２，７２，８２は、具体例としては、ＳＲＡＭ（Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）である。
【００２６】
ストレージ２３，３３，４３，５３，６３，７３，８３は、データを保管する記憶装置である。ストレージ２３，３３，４３，５３，６３，７３，８３は、具体例としては、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）である。また、ストレージ２３，３３，４３，５３，６３，７３，８３は、ＳＤ（登録商標，Ｓｅｃｕｒｅ  Ｄｉｇｉｔａｌ）メモリカード、ＣＦ（ＣｏｍｐａｃｔＦｌａｓｈ，登録商標）、ＮＡＮＤフラッシュ、フレキシブルディスク、光ディスク、コンパクトディスク、ブルーレイ（登録商標）ディスク、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）といった可搬記憶媒体であってもよい。
【００２７】
通信インタフェース２４，３４，４４，５４，６４，７４，８４は、外部の装置と通信するためのインタフェースである。通信インタフェース２４，３４，４４，５４，６４，７４，８４は、具体例としては、Ｅｔｈｅｒｎｅｔ（登録商標）、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）、ＨＤＭＩ（登録商標，Ｈｉｇｈ−Ｄｅｆｉｎｉｔｉｏｎ  Ｍｕｌｔｉｍｅｄｉａ  Ｉｎｔｅｒｆａｃｅ）のポートである。
【００２８】
図２では、プロセッサ２１は、１つだけ示されている。しかし、共通パラメータ生成装置２０は、プロセッサ２１を代替する複数のプロセッサを備えていてもよい。同様に、鍵生成装置３０は、プロセッサ３１を代替する複数のプロセッサを備えていてもよい。変換鍵生成装置４０は、プロセッサ４１を代替する複数のプロセッサを備えていてもよい。暗号化装置５０は、プロセッサ５１を代替する複数のプロセッサを備えていてもよい。準同型演算装置６０は、プロセッサ６１を代替する複数のプロセッサを備えていてもよい。暗号文変換装置７０は、プロセッサ７１を代替する複数のプロセッサを備えていてもよい。復号装置８０は、プロセッサ８１を代替する複数のプロセッサを備えていてもよい。
これら複数のプロセッサは、各機能構成要素の機能を実現するプログラムの実行を分担する。それぞれのプロセッサは、プロセッサ２１，３１，４１，５１，６１，７１，８１と同じように、演算処理を行うＩＣである。
【００２９】
＊＊＊動作の説明＊＊＊
図９から図１５を参照して、実施の形態１に係る秘匿情報処理システム１０の動作を説明する。
実施の形態１に係る秘匿情報処理システム１０の動作は、実施の形態１に係る秘匿情報処理方法に相当する。また、実施の形態１に係る秘匿情報処理システム１０の動作は、実施の形態１に係る秘匿情報処理プログラムの処理に相当する。
【００３０】
実施の形態１では、秘匿情報処理システム１０は、既存の複数鍵準同型暗号を用いる。既存の複数鍵準同型暗号としては、非特許文献１：Ｃ．Ｐｅｉｋｅｒｔ  ａｎｄ  Ｓ．Ｓｈｉｅｈｉａｎ．“Ｍｕｌｔｉ−Ｋｅｙ  ＦＨＥ  ｆｒｏｍ  ＬＷＥ，  Ｒｅｖｉｓｉｔｅｄ”．Ｉｎ  ＴＣＣ，２０１６．と、非特許文献２：Ｚ．Ｂｒａｋｅｒｓｋｉ  ａｎｄ  Ｒ．Ｐｅｒｌｍａｎ．“Ｌａｔｔｉｃｅ−ｂａｓｅｄ  ｆｕｌｌｙ  ｄｙｎａｍｉｃ  ｍｕｌｔｉ−ｋｅｙ  ＦＨＥ  ｗｉｔｈ  ｓｈｏｒｔ  ｃｉｐｈｅｒｔｅｘｔｓ”．Ｉｎ  ＣＲＹＰＴＯ，２０１６．といった文献に記載された方式を用いることができる。
複数鍵準同型暗号は、Ｓｅｔｕｐアルゴリズムと、ＫＧアルゴリズムと、Ｅｎｃアルゴリズムと、Ｄｅｃアルゴリズムと、Ｅｖａｌアルゴリズムとを備える。Ｓｅｔｕｐアルゴリズムは、共通パラメータを生成するアルゴリズムである。ＫＧアルゴリズムは、復号鍵と公開鍵とのペアを生成するアルゴリズムである。Ｅｎｃアルゴリズムは、データを暗号化して暗号文を生成するアルゴリズムである。Ｄｅｃアルゴリズムは、暗号文を復号するアルゴリズムである。Ｅｖａｌアルゴリズムは、準同型演算を行うアルゴリズムである。
【００３１】
図９を参照して、実施の形態１に係る共通パラメータ生成装置２０の動作を説明する。
実施の形態１に係る共通パラメータ生成装置２０の動作は、実施の形態１に係る共通パラメータ生成方法に相当する。また、実施の形態１に係る共通パラメータ生成装置２０の動作は、実施の形態１に係る共通パラメータ生成プログラムの処理に相当する。
【００３２】
（ステップＳ１１：取得処理）
取得部２１１は、共通パラメータの生成に必要なパラメータの入力を受け付ける。パラメータは、具体例としては、非特許文献１におけるセキュリティパラメータλと、鍵の個数ｋと、ブール回路の深さｄである。取得部２１１は、取得されたパラメータをメモリ２２に書き込む。
【００３３】
（ステップＳ１２：共通パラメータ生成処理）
共通パラメータ生成部２１２は、ステップＳ１１で取得されたパラメータをメモリ２２から読み出す。共通パラメータ生成部２１２は、読み出されたパラメータを入力として、複数鍵準同型暗号におけるＳｅｔｕｐアルゴリズムを実行して、共通パラメータｐｐを生成する。共通パラメータ生成部２１２は、生成された共通パラメータｐｐをメモリ２２に書き込む。
【００３４】
（ステップＳ１３：出力処理）
出力部２１３は、ステップＳ１２で生成された共通パラメータｐｐをメモリ２２から読み出す。出力部２１３は、読み出された共通パラメータｐｐをストレージ２３に書き込む。
また、出力部２１３は、共通パラメータｐｐを、通信インタフェース２４を介して各鍵生成装置３０に送信する。各鍵生成装置３０では、取得部３１１が通信インタフェース３４を介して共通パラメータｐｐを受信し、鍵記憶部３３１に書き込む。
【００３５】
図１０を参照して、実施の形態１に係る鍵生成装置３０の動作を説明する。
実施の形態１に係る鍵生成装置３０の動作は、実施の形態１に係る鍵生成方法に相当する。また、実施の形態１に係る鍵生成装置３０の動作は、実施の形態１に係る鍵生成プログラムの処理に相当する。
【００３６】
（ステップＳ２１：鍵生成処理）
鍵生成部３１２は、鍵記憶部３３１から共通パラメータｐｐを読み出す。鍵生成部３１２は、読み出された共通パラメータｐｐを入力として、複数鍵準同型暗号におけるＫＧアルゴリズムを実行して、復号鍵ｓｋと公開鍵ｐｋとのペアを生成する。鍵生成部３１２は、生成された復号鍵ｓｋと公開鍵ｐｋとのペアをメモリ３２に書き込む。
【００３７】
（ステップＳ２２：出力処理）
出力部３１３は、ステップＳ２１で生成された復号鍵ｓｋと公開鍵ｐｋとのペアをメモリ３２から読み出す。出力部３１３は、読み出された復号鍵ｓｋと公開鍵ｐｋとのペアを鍵記憶部３３１に書き込む。
また、出力部３１３は、公開鍵ｐｋを、通信インタフェース３４を介して、変換鍵生成装置４０と暗号化装置５０と準同型演算装置６０とに送信する。すると、変換鍵生成装置４０では、鍵取得部４１１が通信インタフェース４４を介して公開鍵ｐｋを受信し、鍵記憶部４３１に書き込む。同様に、暗号化装置５０では、取得部５１１が通信インタフェース５４を介して公開鍵ｐｋを受信し、鍵記憶部５３１に書き込む。同様に、準同型演算装置６０では、取得部６１１が通信インタフェース６４を介して公開鍵ｐｋを受信し、鍵記憶部６３１に書き込む。
また、出力部３１３は、復号鍵ｓｋを、通信インタフェース３４を介して、変換鍵生成装置４０と、対応する復号装置８０とに送信する。対応する復号装置８０とは、復号鍵ｓｋの利用者に割り当てられた復号装置８０である。ここでは、鍵生成装置３０と復号装置８０とが１対１に対応付けられており、復号鍵ｓｋは、生成された鍵生成装置３０に対応付られた復号装置８０に送信される。すると、変換鍵生成装置４０では、鍵取得部４１１が通信インタフェース４４を介して復号鍵ｓｋを受信し、鍵記憶部４３１に書き込む。同様に、復号装置８０では、取得部８１１が通信インタフェース８４を介して復号鍵ｓｋを受信し、鍵記憶部８３１に書き込む。
【００３８】
以下の説明では、複数の鍵生成装置３０のうち、ι番目の鍵生成装置３０によって生成された復号鍵ｓｋを復号鍵ｓｋιと呼び、ι番目の鍵生成装置３０によって生成された公開鍵ｐｋを公開鍵ｐｋιと呼ぶ。
【００３９】
図１１を参照して、実施の形態１に係る変換鍵生成装置４０の動作を説明する。
実施の形態１に係る変換鍵生成装置４０の動作は、実施の形態１に係る変換鍵生成方法に相当する。また、実施の形態１に係る変換鍵生成装置４０の動作は、実施の形態１に係る変換鍵生成プログラムの処理に相当する。
【００４０】
ここでは、ｉ番目の鍵生成装置３０によって生成された公開鍵ｐｋｉで暗号化された暗号文を、ｊ番目の鍵生成装置３０によって生成された復号鍵ｓｋｊで復号可能な暗号文に変換するための変換鍵ｒｋｉ→ｊを生成する場合を説明する。
【００４１】
（ステップＳ３１：鍵取得処理）
鍵取得部４１１は、鍵記憶部４３１に記憶された復号鍵と公開鍵との複数のペアのうちの変換元のペアの復号鍵ｓｋｉと、変換先のペアの公開鍵ｐｋｊとを読み出す。鍵取得部４１１は、読み出された復号鍵ｓｋｉと公開鍵ｐｋｊとをメモリ４２に書き込む。
【００４２】
（ステップＳ３２：変換鍵生成処理）
変換鍵生成部４１２は、復号鍵ｓｋｉと公開鍵ｐｋｊとをメモリ４２から読み出す。変換鍵生成部４１２は、読み出された復号鍵ｓｋｉと公開鍵ｐｋｊとを入力として、複数鍵準同型暗号におけるＲＫＧｅｎアルゴリズムを実行して、復号鍵ｓｋｉを公開鍵ｐｋｊによって暗号化して変換鍵ｒｋｉ→ｊを生成する。変換鍵ｒｋｉ→ｊは、変換元のペアの公開鍵ｐｋｉによって暗号化された暗号文を、変換先のペアの復号鍵ｓｋｊで復号可能な変換後暗号文に変換するための鍵である。変換鍵生成部４１２は、生成された変換鍵ｒｋｉ→ｊをメモリ４２に書き込む。
【００４３】
（ステップＳ３３：出力生成処理）
出力部４１３は、ステップＳ３２で生成された変換鍵ｒｋｉ→ｊをメモリ４２から読み出す。出力部４１３は、読み出された変換鍵ｒｋｉ→ｊを通信インタフェース４４を介して暗号文変換装置７０に送信する。すると、暗号文変換装置７０では、取得部７１１が通信インタフェース７４を介して変換鍵ｒｋｉ→ｊを受信し、鍵記憶部７３１に書き込む。
【００４４】
図１２を参照して、実施の形態１に係る暗号化装置５０の動作を説明する。
実施の形態１に係る暗号化装置５０の動作は、実施の形態１に係る暗号化方法に相当する。また、実施の形態１に係る暗号化装置５０の動作は、実施の形態１に係る暗号化プログラムの処理に相当する。
【００４５】
（ステップＳ４１：取得処理）
取得部５１１は、通信インタフェース５４を介して、暗号化対象の平文Ｍを取得する。取得部５１１は、取得された平文Ｍをメモリ５２に書き込む。
【００４６】
（ステップＳ４２：暗号化処理）
暗号化部５１２は、ステップＳ４１で取得された平文Ｍをメモリ５２から読み出す。暗号化部５１２は、鍵記憶部５３１から公開鍵ｐｋを読み出す。暗号化部５１２は、読み出された平文Ｍ及び公開鍵ｐｋを入力として、複数鍵準同型暗号におけるＥｎｃアルゴリズムを実行して、平文Ｍを公開鍵ｐｋによって暗号化して暗号文Ｃを生成する。暗号化部５１２は、生成された暗号文Ｃをメモリ５２に書き込む。
【００４７】
（ステップＳ４３：出力処理）
出力部５１３は、ステップＳ４２で生成された暗号文Ｃをメモリ５２から読み出す。出力部５１３は、読み出された暗号文Ｃを、通信インタフェース５４を介して準同型演算装置６０に送信する。すると、準同型演算装置６０では、取得部６１１が通信インタフェース６４を介して暗号文Ｃを受信し、暗号文記憶部６３２に書き込む。
【００４８】
図１３を参照して、実施の形態１に係る準同型演算装置６０の動作を説明する。
実施の形態１に係る準同型演算装置６０の動作は、実施の形態１に係る準同型演算方法に相当する。また、実施の形態１に係る準同型演算装置６０の動作は、実施の形態１に係る準同型演算プログラムの処理に相当する。
【００４９】
（ステップＳ５１：取得処理）
取得部６１１は、処理対象の暗号文ＣＴを暗号文記憶部６３２から読み出す。また、取得部６１１は、通信インタフェース６４を介して演算内容を示す演算ｆを取得する。演算ｆは、例えば、準同型演算装置６０の利用者によって入力装置を介して入力される。取得部６１１は、読み出された暗号文ＴＣと、取得された演算ｆとをメモリ６２に書き込む。
処理対象の暗号文ＴＣは、１つであっても、複数であってもよい。また、処理対象の暗号文ＴＣは、暗号化装置５０によって生成された暗号文Ｃと、準同型演算装置６０によって準同型演算が行われた暗号文ＥＣとの少なくともいずれかである。
【００５０】
（ステップＳ５２：準同型演算処理）
準同型演算部６１２は、ステップＳ５１で読み出された暗号文ＴＣと、取得された演算ｆとをメモリ６２から読み出す。また、準同型演算部６１２は、暗号文ＴＣの暗号化に用いられた公開鍵ｐｋを鍵記憶部６３１から読み出す。準同型演算部６１２は、読み出された暗号文ＴＣと演算ｆと公開鍵ｐｋとを入力として、複数鍵準同型暗号におけるＥｖａｌアルゴリズムを実行して、暗号文ＴＣに対して演算ｆを施した暗号文ＥＣを生成する。準同型演算部６１２は、生成された暗号文ＥＣをメモリ６２に書き込む。
【００５１】
（ステップＳ５３：出力処理）
出力部６１３は、ステップＳ５２で生成された暗号文ＥＣをメモリ６２から読み出す。出力部６１３は、読み出された暗号文ＥＣを暗号文記憶部６３２に書き込む。
【００５２】
図１４を参照して、実施の形態１に係る暗号文変換装置７０の動作を説明する。
実施の形態１に係る暗号文変換装置７０の動作は、実施の形態１に係る暗号文変換方法に相当する。また、実施の形態１に係る暗号文変換プログラムの処理に相当する。
【００５３】
（ステップＳ６１：取得処理）
取得部７１１は、通信インタフェース７４を介して準同型演算装置６０から処理対象の暗号文ＴＣを取得する。取得部７１１は、具体的には、処理対象の暗号文ＴＣの識別子を準同型演算装置６０に送信し、応答として送信された暗号文ＴＣを取得する。取得部８１１は、取得された暗号文ＴＣをメモリ７２に書き込む。
処理対象の暗号文ＴＣは、暗号化装置５０によって生成された暗号文Ｃと、準同型演算装置６０によって準同型演算が行われた暗号文ＥＣとの少なくともいずれかである。
【００５４】
ここでは、処理対象の暗号文ＴＣは、ｉ＝１，．．．，ｓの各整数ｉについての公開鍵ｐｋｉで暗号化された暗号文に対して準同型演算が行われて生成された暗号文ＥＣであるとする。また、処理対象の暗号文ＴＣを、ｊ番目の鍵生成装置３０によって生成された復号鍵ｓｋｊで復号可能な暗号文に変換するものとする。
【００５５】
（ステップＳ６２：暗号文変換処理）
暗号文変換部７１２は、変換元のペアの復号鍵、つまりｉ＝１，．．．，ｓの各整数ｉについての復号鍵ｓｋｉで処理対象の暗号文ＴＣを準同型演算により復号して、変換後暗号文ＲＣを生成する。
具体的には、暗号文変換部７１２は、変換先のペアの公開鍵ｐｋｊと暗号文ＴＣとを入力として、複数鍵準同型暗号におけるＥｎｃアルゴリズムを実行して、暗号文ＴＣを公開鍵ｐｋｊによって暗号化して暗号文Ｃ＊を生成する。暗号文変換部７１２は、暗号文Ｃ＊と演算ｆＤｅｃと公開鍵ｐｋｊとｉ＝１，．．．，ｓの各整数ｉについての変換鍵ｒｋｉ→ｊとを入力として、複数鍵準同型暗号におけるＥｖａｌアルゴリズムを実行して、暗号文Ｃ＊に対して演算ｆＤｅｃを施した変換後暗号文ＲＣを生成する。
ここで、演算ｆＤｅｃは、複数鍵準同型暗号におけるＤｅｃアルゴリズムを表す演算である。つまり、暗号文Ｃ＊と演算ｆＤｅｃと公開鍵ｐｋｊとｉ＝１，．．．，ｓの各整数ｉについての変換鍵ｒｋｉ→ｊとを入力として、複数鍵準同型暗号におけるＥｖａｌアルゴリズムが実行されると、変換鍵ｒｋｉ→ｊに埋め込まれた復号鍵ｓｋｉで暗号文Ｃ＊が復号される。つまり、準同型演算により復号鍵ｓｋｉで暗号文Ｃ＊が復号される。
【００５６】
（ステップＳ６３：出力処理）
出力部７１３は、ステップＳ６２で生成された変換後暗号文ＲＣをメモリ７２から読み出す。出力部７１３は、読み出された変換後暗号文ＲＣを、通信インタフェース７４を介して準同型演算装置６０に送信する。すると、準同型演算装置６０では、取得部６１１が通信インタフェース６４を介して変換後暗号文ＲＣを受信し、暗号文記憶部６３２に書き込む。
【００５７】
図１５を参照して、実施の形態１に係る復号装置８０の動作を説明する。
実施の形態１に係る復号装置８０の動作は、実施の形態１に係る復号方法に相当する。また、実施の形態１に係る復号装置８０の動作は、実施の形態１に係る復号プログラムの処理に相当する。
【００５８】
（ステップＳ７１：取得処理）
取得部８１１は、通信インタフェース８４を介して準同型演算装置６０から処理対象の暗号文ＴＣを取得する。取得部８１１は、具体的には、処理対象の暗号文ＴＣの識別子を準同型演算装置６０に送信し、応答として送信された暗号文ＴＣを取得する。取得部８１１は、取得された暗号文ＴＣをメモリ８２に書き込む。
【００５９】
（ステップＳ７２：復号処理）
復号部８１２は、ステップＳ７１で取得された暗号文ＴＣをメモリ８２から読み出す。復号部８１２は、読み出された暗号文ＴＣを入力として、複数鍵準同型暗号におけるＤｅｃアルゴリズムを実行して、暗号文ＴＣを復号して平文Ｍ’を生成する。復号部８１２は、生成された平文Ｍ’をメモリ８２に書き込む。
【００６０】
（ステップＳ７３：出力処理）
出力部８１３は、ステップＳ７２で生成された平文Ｍ’をメモリ８２から読み出す。出力部８１３は、読み出された平文Ｍ’を通信インタフェース８４を介して出力する。
【００６１】
＊＊＊実施の形態１の効果＊＊＊
以上のように、実施の形態１に係る秘匿情報処理システム１０は、変換鍵生成装置４０が変換元の復号鍵ｓｋｉを変換先の公開鍵ｐｋｊで暗号化することにより、変換鍵ｒｋｉ→ｊを生成する。これにより、この変換鍵ｒｋｉ→ｊを用いることにより、変換元の公開鍵ｐｋｉで暗号化され、準同型演算を行った後の暗号文を、復号鍵ｓｋｊで復号可能な暗号文に変換することが可能である。
【００６２】
特許文献１に記載された技術では、代理人再暗号化によって変換する先の鍵が決定するまで準同型演算を行うことができず、事前にデータに対して処理を行うことができない。また、準同型演算後のデータを複数人が利用したい場合、準同型演算前のデータを暗号化している鍵を、データ利用者それぞれの鍵へ代理人再暗号化により変換した後に、準同型演算をしなければならない。そのため、それぞれのデータ利用者の鍵による暗号文に対して、それぞれ準同型演算をしなければならず、準同型演算結果を再利用することができない。
これに対して、実施の形態１に係る秘匿情報処理システム１０では、準同型演算後暗号文を暗号文変換装置７０により変換することで、暗号化されている平文は秘匿されたままかつ、平文を変えることなく、準同型演算後暗号文の鍵を変換することができる。これにより、複数の鍵に対して準同型演算後暗号文を変換したい場合でも、準同型演算を再度実行する必要がない。また、準同型演算後暗号文を保管しておくことで、演算途中のデータを安全に再利用することができる。
【００６３】
暗号文の保管及び暗号文に対する演算はクラウド等の記憶容量が大きく、計算能力が高い計算機に処理をさせ、鍵の変換は安全性の高い計算機により処理を行うというように、準同型演算を行う計算機と代理人再暗号化を行う計算機とを別にすることが考えられる。
この場合、特許文献１に記載に記載された技術では、演算に用いる暗号文を全て代理人再暗号化用の計算機に送り、鍵を変換した後に、変換後の暗号文全てをクラウドに再度送る必要がある。そのため、通信しなければならない暗号文の量が多くなる。
これに対して、実施の形態１に係る秘匿情報処理システム１０では、復号したい準同型演算後の暗号文のみ暗号文変換装置７０に送信し、変換後暗号文を生成できる。そのため、準同型演算装置６０と暗号文変換装置７０とが異なるコンピュータ内にあっても、通信しなければならない暗号文は少なくて済む。
【００６４】
＊＊＊他の構成＊＊＊
＜変形例１＞
実施の形態１では、各機能構成要素がソフトウェアで実現された。しかし、変形例１として、各機能構成要素はハードウェアで実現されてもよい。この変形例１について、実施の形態１と異なる点を説明する。
【００６５】
図１６を参照して、変形例１に係る共通パラメータ生成装置２０の構成を説明する。
機能がハードウェアで実現される場合、共通パラメータ生成装置２０は、プロセッサ２１とメモリ２２とストレージ２３とに代えて、電子回路２５を備える。電子回路２５は、共通パラメータ生成装置２０の機能構成要素と、メモリ２２とストレージ２３との機能とを実現する専用の回路である。
【００６６】
図１７を参照して、変形例１に係る鍵生成装置３０の構成を説明する。
機能がハードウェアで実現される場合、鍵生成装置３０は、プロセッサ３１とメモリ３２とストレージ３３とに代えて、電子回路３５を備える。電子回路３５は、鍵生成装置３０の機能構成要素と、メモリ３２とストレージ３３との機能とを実現する専用の回路である。
【００６７】
図１８を参照して、変形例１に係る変換鍵生成装置４０の構成を説明する。
機能がハードウェアで実現される場合、変換鍵生成装置４０は、プロセッサ４１とメモリ４２とストレージ４３とに代えて、電子回路４５を備える。電子回路４５は、変換鍵生成装置４０の機能構成要素と、メモリ４２とストレージ４３との機能とを実現する専用の回路である。
【００６８】
図１９を参照して、変形例１に係る暗号化装置５０の構成を説明する。
機能がハードウェアで実現される場合、暗号化装置５０は、プロセッサ５１とメモリ５２とストレージ５３とに代えて、電子回路５５を備える。電子回路５５は、暗号化装置５０の機能構成要素と、メモリ５２とストレージ５３との機能とを実現する専用の回路である。
【００６９】
図２０を参照して、変形例１に係る準同型演算装置６０の構成を説明する。
機能がハードウェアで実現される場合、準同型演算装置６０は、プロセッサ６１とメモリ６２とストレージ６３とに代えて、電子回路６５を備える。電子回路６５は、準同型演算装置６０の機能構成要素と、メモリ６２とストレージ６３との機能とを実現する専用の回路である。
【００７０】
図２１を参照して、変形例１に係る暗号文変換装置７０の構成を説明する。
機能がハードウェアで実現される場合、暗号文変換装置７０は、プロセッサ７１とメモリ７２とストレージ７３とに代えて、電子回路７５を備える。電子回路７５は、暗号文変換装置７０の機能構成要素と、メモリ７２とストレージ７３との機能とを実現する専用の回路である。
【００７１】
図２２を参照して、変形例１に係る復号装置８０の構成を説明する。
機能がハードウェアで実現される場合、復号装置８０は、プロセッサ８１とメモリ８２とストレージ８３とに代えて、電子回路８５を備える。電子回路８５は、復号装置８０の機能構成要素と、メモリ８２とストレージ８３との機能とを実現する専用の回路である。
【００７２】
電子回路２５，３５，４５，５５，６５，７５，８５は、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ロジックＩＣ、ＧＡ（Ｇａｔｅ  Ａｒｒａｙ）、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）、ＦＰＧＡ（Ｆｉｅｌｄ−Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）が想定される。
共通パラメータ生成装置２０の各機能構成要素の機能を１つの電子回路２５で実現してもよいし、各機能構成要素の機能を複数の電子回路２５に分散させて実現してもよい。同様に、鍵生成装置３０と変換鍵生成装置４０と暗号化装置５０と準同型演算装置６０と暗号文変換装置７０と復号装置８０とのそれぞれについて、各機能構成要素の機能を１つの電子回路３５，４５，５５，６５，７５，８５で実現してもよいし、各機能構成要素の機能を複数の電子回路３５，４５，５５，６５，７５，８５に分散させて実現してもよい。
【００７３】
＜変形例２＞
変形例２として、一部の機能がハードウェアで実現され、他の機能がソフトウェアで実現されてもよい。つまり、各機能構成要素のうち、一部の機能がハードウェアで実現され、他の機能がソフトウェアで実現されてもよい。
【００７４】
プロセッサ２１，３１，４１，５１，６１，７１，８１とメモリ２２，３２，４２，５２，６２，７２，８２とストレージ２３，３３，４３，５３，６３，７３，８３と電子回路２５，３５，４５，５５，６５，７５，８５とを処理回路という。つまり、各機能構成要素の機能は、処理回路により実現される。
【００７５】
実施の形態２．
実施の形態２では、非特許文献１に記載された複数鍵準同型暗号方式に基づく具体的な方式を説明する。実施の形態２では、非特許文献１に記載されたＬａｒｇｅ−Ｃｉｐｈｅｒｔｘｔ  Ｃｏｎｓｔｒｕｃｔｉｏｎに基づく方式を説明する。実施の形態２では、実施の形態１と異なる部分を説明し、同一の部分については説明を省略する。
【００７６】
＊＊＊記法及び定義＊＊＊
Ａが分布であるときに、ｙ←Ａは、ｙをＡからその分布に従ってランダムに選ぶことを示す。Ａが集合であるときに、ｙ←Ａは、ｙをＡから一様に選ぶことを示す。Ａがアルゴリズムであるときに、ｙ←Ａ（ｘ）は、入力ｘに対して出力ｙを生成することを示す。
ｎ，ｑ，χをあるＬＷＥ（Ｌｅａｒｎｉｎｇ  Ｗｉｔｈ  Ｅｒｒｏｒｓ）パラメータとする。ｍ＝Ｏ（ｎｌｏｇｑ）とする。Ｌは、ｌｏｇｑ以上の最小の整数とする。ｇ：＝（１，２，．．．，２Ｌ−１）とする。任意のｘ∈Ｚｑに対して、ｙ：＝ｇ−１［ｘ］∈｛０，１｝Ｌを＜ｙ，ｇ＞＝ｘ∈Ｚｑを満たすベクトルとする。任意の自然数ｎ，ｍに対して、Ｉｎをｎ×ｎの単位行列、０ｎ×ｍを要素が全て０のｎ×ｍの行列、１ｎ×ｍを要素が全て１のｎ×ｍの行列とする。任意のｉ∈［ｎ］に対して、ｅｉ∈｛０，１｝ｎをｎ要素目が１でその他が０の標準基底ベクトルとする。［ａ｜｜ｂ］は、ベクトルまたは行列ａ，ｂの連結を示す。
【００７７】
＊＊＊動作の説明＊＊＊
図９を参照して、実施の形態２に係る共通パラメータ生成装置２０の動作を説明する。
ステップＳ１１とステップＳ１３との処理は、実施の形態１と同じである。
【００７８】
（ステップＳ１２：共通パラメータ生成処理）
共通パラメータ生成部２１２は、数１１に示すように、複数鍵準同型暗号におけるＳｅｔｕｐアルゴリズムを実行して、共通パラメータｐｐを生成する。
【数１１】
2019130528.tif 000003
【００７９】
図１０を参照して、実施の形態２に係る鍵生成装置３０の動作を説明する。
ステップＳ２２の処理は、実施の形態１と同じである。
【００８０】
（ステップＳ２１：鍵生成処理）
鍵生成部３１２は、数１２に示すように、複数鍵準同型暗号におけるＫＧアルゴリズムを実行して、復号鍵ｓｋと公開鍵ｐｋとのペアを生成する。
【数１２】
2019130528.tif 000004
【００８１】
図１１を参照して、実施の形態２に係る変換鍵生成装置４０の動作を説明する。
ステップＳ３１とステップＳ３３との処理は、実施の形態１と同じである。
【００８２】
（ステップＳ３２：変換鍵生成処理）
変換鍵生成部４１２は、復号鍵ｓｋｉと公開鍵ｐｋｊとを入力として、数１３に示すように、複数鍵準同型暗号におけるＲＫＧｅｎアルゴリズムを実行して、復号鍵ｓｋｉを公開鍵ｐｋｊによって暗号化して変換鍵ｒｋｉ→ｊを生成する。
【数１３】
2019130528.tif 000005
【００８３】
図１２を参照して、実施の形態２に係る暗号化装置５０の動作を説明する。
ステップＳ４１とステップＳ４３との処理は、実施の形態１と同じである。
【００８４】
（ステップＳ４２：暗号化処理）
ここでは、ｉ番目の鍵生成装置３０によって生成された公開鍵ｐｋｉで平文Ｍを暗号化するとする。
暗号化部５１２は、平文Ｍ及び公開鍵ｐｋｉを入力として、数１４に示すように、複数鍵準同型暗号におけるＥｎｃアルゴリズムを実行して、平文Ｍを公開鍵ｐｋによって暗号化して暗号文Ｃを生成する。
【数１４】
2019130528.tif 000006
【００８５】
図１３を参照して、実施の形態２に係る準同型演算装置６０の動作を説明する。
ステップＳ５１とステップＳ５３との処理は、実施の形態１と同じである。
【００８６】
（ステップＳ５２：準同型演算処理）
準同型演算部６１２は、ステップＳ５１で入力された各暗号文ＴＣを対象として、対象の暗号文ＴＣ及び公開鍵ｐｋｉを入力として、数１５に示すように、複数鍵準同型暗号におけるＥｘｔｅｎｄアルゴリズムを実行して、暗号文Ｃ’を計算する。
【数１５】
2019130528.tif 000007
数１５において、ｓはｉｎｄｅｘの要素数である。
【００８７】
準同型演算部６１２は、複数鍵準同型暗号におけるＥｖａｌアルゴリズムを実行して、暗号文ＴＣに対して演算ｆを施した暗号文ＥＣを生成する。
例えば、準同型演算部６１２は、数１６に示すように、２つの暗号文ＴＣであるＣ１及びＣ２の加算を行う。
【数１６】
2019130528.tif 000008
また、例えば、準同型演算部６１２は、数１７に示すように、２つの暗号文ＴＣであるＣ１及びＣ２の乗算を行う。
【数１７】
2019130528.tif 000009
【００８８】
図１４を参照して、実施の形態２に係る暗号文変換装置７０の動作を説明する。
ステップＳ６１とステップＳ６３との処理は、実施の形態１と同じである。
【００８９】
（ステップＳ６２：暗号文変換処理）
ここでは、ｉ＝１，．．．，ｓの各整数ｉについての公開鍵ｐｋｉで暗号化された暗号文を入力として準同型演算が行われた暗号文ＥＣを、ｊ番目の鍵生成装置３０によって生成された復号鍵ｓｋｊで復号可能な暗号文に変換するとする。つまり、ｉｎｄｅｘ＝［１｜｜，．．．，｜｜ｓ］である。
暗号文変換部７１２は、ｉ＝１，．．．，ｓの各整数ｉについての変換鍵ｒｋｉ→ｊと、準同型演算が行われた暗号文ＥＣである暗号文ＴＣとを入力として、数１８に示すように、ＲｅＥｎｃアルゴリズムを実行して、変換後暗号文ＲＣを生成する。
【数１８】
2019130528.tif 000010
【００９０】
図１５を参照して、実施の形態２に係る復号装置８０の動作を説明する。
ステップＳ７１とステップＳ７３との処理は、実施の形態１と同じである。
【００９１】
（ステップＳ７２：復号処理）
復号部８１２は、暗号文ＴＣを入力として、数１９に示すように、複数鍵準同型暗号におけるＤｅｃアルゴリズムを実行して、暗号文ＴＣを復号して平文Ｍ’を生成する。
【数１９】
2019130528.tif 000011
数１９において、ｃｔは、要素ＣＴの右から２列目の列ベクトルである。“ｔ・ｃｔ／２Ｌ−２”は、ｔ・ｃｔ／２Ｌ−２に最も近い整数という意味である。つまり、ｔ・ｃｔ／２Ｌ−２に最も近い整数が平文Ｍ’である。
【００９２】
＊＊＊実施の形態２の効果＊＊＊
実施の形態２に係る秘匿情報処理システム１０は、具体的な複数鍵準同型暗号方式を用いて、準同型演算を行った後の暗号文を、復号鍵ｓｋｊで復号可能な暗号文に変換することが可能な方式を実現できる。
なお、実施の形態１では、暗号文変換装置７０は準同型演算アルゴリズムにより暗号文を変換していた。これに対して、実施の形態２では、暗号文変換装置７０は準同型演算アルゴリズムを用いることなく暗号文を変換する。そのため、計算量を少なくすることが可能である。
【００９３】
実施の形態３．
実施の形態３では、実施の形態２と同様に、非特許文献１に記載された複数鍵準同型暗号方式に基づく具体的な方式を説明する。実施の形態３では、非特許文献１に記載されたＳｍａｌｌｅｒ−Ｃｉｐｈｅｒｔｘｔ  Ｃｏｎｓｔｒｕｃｔｉｏｎに基づく方式を説明する。実施の形態３では、実施の形態２と異なる部分を説明し、同一の部分については説明を省略する。
【００９４】
＊＊＊動作の説明＊＊＊
図１０を参照して、実施の形態３に係る鍵生成装置３０の動作を説明する。
ステップＳ２２の処理は、実施の形態２と同じである。
【００９５】
（ステップＳ２１：鍵生成処理）
鍵生成部３１２は、数２０に示すように、複数鍵準同型暗号におけるＫＧアルゴリズムを実行して、復号鍵ｓｋと公開鍵ｐｋとのペアを生成する。
【数２０】
2019130528.tif 000012
【００９６】
図１１を参照して、実施の形態３に係る変換鍵生成装置４０の動作を説明する。
ステップＳ３１とステップＳ３３との処理は、実施の形態２と同じである。
【００９７】
（ステップＳ３２：変換鍵生成処理）
変換鍵生成部４１２は、復号鍵ｓｋｉと公開鍵ｐｋｊとを入力として、数２１に示すように、複数鍵準同型暗号におけるＲＫＧｅｎアルゴリズムを実行して、復号鍵ｓｋｉを公開鍵ｐｋｊによって暗号化して変換鍵ｒｋｉ→ｊを生成する。
【数２１】
2019130528.tif 000013
【００９８】
図１２を参照して、実施の形態３に係る暗号化装置５０の動作を説明する。
ステップＳ４１とステップＳ４３との処理は、実施の形態２と同じである。
【００９９】
（ステップＳ４２：暗号化処理）
ここでは、ｉ番目の鍵生成装置３０によって生成された公開鍵ｐｋｉで平文Ｍを暗号化するとする。
暗号化部５１２は、平文Ｍ及び公開鍵ｐｋｉを入力として、数２２に示すように、複数鍵準同型暗号におけるＥｎｃアルゴリズムを実行して、平文Ｍを公開鍵ｐｋによって暗号化して暗号文Ｃを生成する。
【数２２】
2019130528.tif 000014
【０１００】
図１３を参照して、実施の形態３に係る準同型演算装置６０の動作を説明する。
ステップＳ５１とステップＳ５３との処理は、実施の形態２と同じである。
【０１０１】
（ステップＳ５２：準同型演算処理）
準同型演算部６１２は、ステップＳ５１で入力された各暗号文ＴＣを対象として、対象の暗号文ＴＣ及び公開鍵ｐｋｉを入力として、数２３に示すように、複数鍵準同型暗号におけるＥｘｔｅｎｄアルゴリズムを実行して、暗号文Ｃ’を計算する。
【数２３】
2019130528.tif 000015
数２３において、ｓはｉｎｄｅｘの要素数である。
【０１０２】
準同型演算部６１２は、複数鍵準同型暗号におけるＥｖａｌアルゴリズムを実行して、暗号文ＴＣに対して演算ｆを施した暗号文ＥＣを生成する。
例えば、準同型演算部６１２は、数２４に示すように、２つの暗号文ＴＣであるＣ１及びＣ２の加算を行う。
【数２４】
2019130528.tif 000016
また、例えば、準同型演算部６１２は、数２５に示すように、２つの暗号文ＴＣであるＣ１及びＣ２の乗算を行う。
【数２５】
2019130528.tif 000017
【０１０３】
図１４を参照して、実施の形態３に係る暗号文変換装置７０の動作を説明する。
ステップＳ６１とステップＳ６３との処理は、実施の形態２と同じである。
【０１０４】
（ステップＳ６２：暗号文変換処理）
ここでは、ｉ＝１，．．．，ｓの各整数ｉについての公開鍵ｐｋｉで暗号化された暗号文を入力として準同型演算が行われた暗号文ＥＣを、ｊ番目の鍵生成装置３０によって生成された復号鍵ｓｋｊで復号可能な暗号文に変換するとする。
暗号文変換部７１２は、ｉ＝１，．．．，ｓの各整数ｉについての変換鍵ｒｋｉ→ｊと、準同型演算が行われた暗号文ＥＣである暗号文ＴＣとを入力として、数２６に示すように、ＲｅＥｎｃアルゴリズムを実行して、変換後暗号文ＲＣを生成する。
【数２６】
2019130528.tif 000018
【０１０５】
図１５を参照して、実施の形態３に係る復号装置８０の動作を説明する。
ステップＳ７１とステップＳ７３との処理は、実施の形態２と同じである。
【０１０６】
（ステップＳ７２：復号処理）
復号部８１２は、暗号文ＴＣを入力として、数２７に示すように、複数鍵準同型暗号におけるＤｅｃアルゴリズムを実行して、暗号文ＴＣを復号して平文Ｍ’を生成する。
【数２７】
2019130528.tif 000019
数２７において、ｃｔは、要素ＣＴの右から２列目の列ベクトルである。“ｔ・ｃｔ／２Ｌ−２”は、ｔ・ｃｔ／２Ｌ−２に最も近い整数という意味である。つまり、ｔ・ｃｔ／２Ｌ−２に最も近い整数が平文Ｍ’である。
【０１０７】
＊＊＊実施の形態３の効果＊＊＊
以上のように、実施の形態３に係る秘匿情報処理システム１０は、具体的な複数鍵準同型暗号方式を用いて、準同型演算を行った後の暗号文を、復号鍵ｓｋｊで復号可能な暗号文に変換することが可能な方式を実現できる。
実施の形態３に係る秘匿情報処理システム１０によって実現される方式は、実施の形態３に係る秘匿情報処理システム１０によって実現される方式に比べ、公開鍵ｐｋの要素数は多くなるものの、暗号文Ｃの要素数は少なくなる。
【符号の説明】
【０１０８】
１０  秘匿情報処理システム、２０  共通パラメータ生成装置、２１  プロセッサ、２２  メモリ、２３  ストレージ、２４  通信インタフェース、２５  電子回路、２１１  取得部、２１２  共通パラメータ生成部、２１３  出力部、２３１  パラメータ記憶部、３０  鍵生成装置、３１  プロセッサ、３２  メモリ、３３  ストレージ、３４  通信インタフェース、３５  電子回路、３１１  取得部、３１２  鍵生成部、３１３  出力部、３３１  鍵記憶部、４０  変換鍵生成装置、４１  プロセッサ、４２  メモリ、４３  ストレージ、４４  通信インタフェース、４５  電子回路、４１１  鍵取得部、４１２  変換鍵生成部、４１３  出力部、４３１  鍵記憶部、５０  暗号化装置、５１  プロセッサ、５２  メモリ、５３  ストレージ、５４  通信インタフェース、５５  電子回路、５１１  取得部、５１２  暗号化部、５１３  出力部、５３１  鍵記憶部、６０  準同型演算装置、６１  プロセッサ、６２  メモリ、６３  ストレージ、６４  通信インタフェース、６５  電子回路、６１１  取得部、６１２  準同型演算部、６１３  出力部、６３１  鍵記憶部、６３２  暗号文記憶部、７０  暗号文変換装置、７１  プロセッサ、７２  メモリ、７３  ストレージ、７４  通信インタフェース、７５  電子回路、７１１  取得部、７１２  暗号文変換部、７１３  出力部、７３１  鍵記憶部、８０  復号装置、８１  プロセッサ、８２  メモリ、８３  ストレージ、８４  通信インタフェース、８５  電子回路、８１１  取得部、８１２  復号部、８１３  出力部、８３１  鍵記憶部、９０  伝送路。
【図１】
2019130528.tif 000029
【図２】
2019130528.tif 000030
【図３】
2019130528.tif 000031
【図４】
2019130528.tif 000032
【図５】
2019130528.tif 000033
【図６】
2019130528.tif 000034
【図７】
2019130528.tif 000035
【図８】
2019130528.tif 000036
【図９】
2019130528.tif 000037
【図１０】
2019130528.tif 000038
【図１１】
2019130528.tif 000039
【図１２】
2019130528.tif 000040
【図１３】
2019130528.tif 000041
【図１４】
2019130528.tif 000042
【図１５】
2019130528.tif 000043
【図１６】
2019130528.tif 000044
【図１７】
2019130528.tif 000045
【図１８】
2019130528.tif 000046
【図１９】
2019130528.tif 000047
【図２０】
2019130528.tif 000048
【図２１】
2019130528.tif 000049
【図２２】
2019130528.tif 000050
【手続補正書】
【提出日】令和1年12月19日(2019.12.19)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
復号鍵と公開鍵との複数のペアのうちの変換元のペアの復号鍵ｓｋｉと、変換先のペアの公開鍵ｐｋｊと取得する鍵取得部と、
複数鍵準同型暗号における暗号化アルゴリズムを用いて、前記鍵取得部によって取得された前記復号鍵ｓｋｉを前記公開鍵ｐｋｊによって暗号化して、前記変換元のペアの公開鍵ｐｋｉによって暗号化された暗号文を、前記変換先のペアの復号鍵ｓｋｊで復号可能な変換後暗号文ＲＣに変換するための変換鍵ｒｋｉ→ｊを生成する変換鍵生成部と
を備える変換鍵生成装置。
【請求項２】
前記鍵取得部は、数１０１に示す要素ｔｉを含む復号鍵ｓｋｉと、数１０２に示す要素ｂｊ及び要素Ａを含む公開鍵ｐｋｊとを取得し、
前記変換鍵生成部は、前記復号鍵ｓｋｉを前記公開鍵ｐｋｊによって数１０３に示すように暗号化して、前記変換鍵ｒｋｉ→ｊを生成する
請求項１に記載の変換鍵生成装置。
【数１０１】
2019130528.tif 000051
【数１０２】
2019130528.tif 000052
【数１０３】
2019130528.tif 000053
【請求項３】
復号鍵と公開鍵との複数のペアのうちの変換元のペアの公開鍵ｐｋｉによって暗号化された暗号文Ｃであって、数１０４に示す要素ＣＴ及び要素ｉｎｄｅｘを含む暗号文Ｃを取得する暗号文取得部と、
変換元のペアの復号鍵ｓｋｉが、前記複数のペアのうちの変換先のペアの公開鍵ｐｋｊによって暗号化された数１０５に示す変換鍵ｒｋｉ→ｊを取得する鍵取得部と、
前記暗号文取得部によって取得された暗号文Ｃを、前記鍵取得部によって取得された前記変換鍵ｒｋｉ→ｊによって、前記変換先のペアの復号鍵ｓｋｊで復号可能な変換後暗号文ＲＣであって、数１０６に示す要素ＣＴ＊及び要素ｊを含む変換後暗号文ＲＣに変換する暗号文変換部と
を備える暗号文変換装置。
【数１０４】
2019130528.tif 000054
【数１０５】
2019130528.tif 000055
【数１０６】
2019130528.tif 000056
【請求項４】
１以上の整数ｓに関して、数１０７に示すｉ＝１，．．．，ｓの各整数ｉについての要素ＣＴｉ及び要素ｉｎｄｅｘを含む暗号文Ｃｉであって、復号鍵と公開鍵との複数のペアのうちの変換元のペアの公開鍵ｐｋｉによって暗号化された暗号文Ｃｉに対して、準同型演算がされて生成された暗号文ＥＣであって、要素ＣＴと要素Ｆと要素Ｄとを含む暗号文ＥＣを取得する暗号文取得部と、
数１０８に示すｉ＝１，．．．，ｓの各整数ｉについての変換鍵ｒｋｉ→ｊであって、変換元のペアの復号鍵ｓｋｉが、前記複数のペアのうちの変換先のペアの公開鍵ｐｋｊによって暗号化された変換鍵ｒｋｉ→ｊを取得する鍵取得部と、
前記暗号文取得部によって取得された暗号文ＥＣを、前記鍵取得部によって取得されたｉ＝１，．．．，ｓの各整数ｉについての前記変換鍵ｒｋｉ→ｊによって、数１０９に示す要素ＣＴ＊及び要素ｊを含む前記変換先のペアの復号鍵ｓｋｊで復号可能な変換後暗号文ＲＣに変換する暗号文変換部と
を備える暗号文変換装置。
【数１０７】
2019130528.tif 000057
【数１０８】
2019130528.tif 000058
【数１０９】
2019130528.tif 000059
【請求項５】
前記暗号文変換部は、前記変換鍵ｒｋｉ→ｊに含まれる復号鍵ｓｋｉで前記暗号文を準同型演算により復号して、前記暗号文を前記変換後暗号文ＲＣに変換する
請求項３又は４に記載の暗号文変換装置。
【請求項６】
復号鍵と公開鍵との複数のペアのうちの変換元のペアの復号鍵ｓｋｉを、複数鍵準同型暗号における暗号化アルゴリズムを用いて、変換先のペアの公開鍵ｐｋｊによって暗号化して、変換鍵ｒｋｉ→ｊを生成する変換鍵生成装置と、
前記複数のペアのうちの変換元のペアの公開鍵ｐｋｉによって暗号化された暗号文を、前記変換鍵生成装置によって生成された変換鍵ｒｋｉ→ｊによって、前記変換先のペアの復号鍵ｓｋｊで復号可能な変換後暗号文ＲＣに変換する暗号文変換装置と
を備える秘匿情報処理システム。
【請求項７】
鍵取得部が、復号鍵と公開鍵との複数のペアのうちの変換元のペアの復号鍵ｓｋｉと、変換先のペアの公開鍵ｐｋｊと取得し、
変換鍵生成部が、複数鍵準同型暗号における暗号化アルゴリズムを用いて、前記復号鍵ｓｋｉを前記公開鍵ｐｋｊによって暗号化して、前記変換元のペアの公開鍵ｐｋｉによって暗号化された暗号文を、前記変換先のペアの復号鍵ｓｋｊで復号可能な変換後暗号文ＲＣに変換するための変換鍵ｒｋｉ→ｊを生成する変換鍵生成方法。
【請求項８】
復号鍵と公開鍵との複数のペアのうちの変換元のペアの復号鍵ｓｋｉと、変換先のペアの公開鍵ｐｋｊと取得する鍵取得処理と、
複数鍵準同型暗号における暗号化アルゴリズムを用いて、前記鍵取得処理によって取得された前記復号鍵ｓｋｉを前記公開鍵ｐｋｊによって暗号化して、前記変換元のペアの公開鍵ｐｋｉによって暗号化された暗号文を、前記変換先のペアの復号鍵ｓｋｊで復号可能な変換後暗号文ＲＣに変換するための変換鍵ｒｋｉ→ｊを生成する変換鍵生成処理と
をコンピュータに実行させる変換鍵生成プログラム。
【請求項９】
暗号文取得部が、復号鍵と公開鍵との複数のペアのうちの変換元のペアの公開鍵ｐｋｉによって暗号化された暗号文Ｃであって、数１１０に示す要素ＣＴ及び要素ｉｎｄｅｘを含む暗号文Ｃを取得し、
鍵取得部が、変換元のペアの復号鍵ｓｋｉが、前記複数のペアのうちの変換先のペアの公開鍵ｐｋｊによって暗号化された数１１１に示す変換鍵ｒｋｉ→ｊを取得し、
暗号文変換部が、前記暗号文を前記変換鍵ｒｋｉ→ｊによって、前記変換先のペアの復号鍵ｓｋｊで復号可能な変換後暗号文ＲＣであって、数１１２に示す要素ＣＴ＊及び要素ｊを含む変換後暗号文ＲＣに変換する暗号文変換方法。
【数１１０】
2019130528.tif 000060
【数１１１】
2019130528.tif 000061
【数１１２】
2019130528.tif 000062
【請求項１０】
暗号文取得部が、１以上の整数ｓに関して、数１１３に示すｉ＝１，．．．，ｓの各整数ｉについての要素ＣＴｉ及び要素ｉｎｄｅｘを含む暗号文Ｃｉであって、復号鍵と公開鍵との複数のペアのうちの変換元のペアの公開鍵ｐｋｉによって暗号化された暗号文Ｃｉに対して、準同型演算がされて生成された暗号文ＥＣであって、要素ＣＴと要素Ｆと要素Ｄとを含む暗号文ＥＣを取得し、
鍵取得部が、数１１４に示すｉ＝１，．．．，ｓの各整数ｉについての変換鍵ｒｋｉ→ｊであって、変換元のペアの復号鍵ｓｋｉが、前記複数のペアのうちの変換先のペアの公開鍵ｐｋｊによって暗号化された変換鍵ｒｋｉ→ｊを取得し、
暗号文変換部が、前記暗号文ＥＣをｉ＝１，．．．，ｓの各整数ｉについての前記変換鍵ｒｋｉ→ｊによって、数１１５に示す要素ＣＴ＊及び要素ｊを含む前記変換先のペアの復号鍵ｓｋｊで復号可能な変換後暗号文ＲＣに変換する暗号文変換方法。
【数１１３】
2019130528.tif 000063
【数１１４】
2019130528.tif 000064
【数１１５】
2019130528.tif 000065
【請求項１１】
復号鍵と公開鍵との複数のペアのうちの変換元のペアの公開鍵ｐｋｉによって暗号化された暗号文Ｃであって、数１１６に示す要素ＣＴ及び要素ｉｎｄｅｘを含む暗号文Ｃを取得する暗号文取得処理と、
変換元のペアの復号鍵ｓｋｉが、前記複数のペアのうちの変換先のペアの公開鍵ｐｋｊによって暗号化された数１１７に示す変換鍵ｒｋｉ→ｊを取得する鍵取得処理と、
前記暗号文取得処理によって取得された暗号文を、前記鍵取得処理によって取得された前記変換鍵ｒｋｉ→ｊによって、前記変換先のペアの復号鍵ｓｋｊで復号可能な変換後暗号文ＲＣであって、数１１８に示す要素ＣＴ＊及び要素ｊを含む変換後暗号文ＲＣに変換する暗号文変換処理と
をコンピュータに実行させる暗号文変換プログラム。
【数１１６】
2019130528.tif 000066
【数１１７】
2019130528.tif 000067
【数１１８】
2019130528.tif 000068
【請求項１２】
１以上の整数ｓに関して、数１１９に示すｉ＝１，．．．，ｓの各整数ｉについての要素ＣＴｉ及び要素ｉｎｄｅｘを含む暗号文Ｃｉであって、復号鍵と公開鍵との複数のペアのうちの変換元のペアの公開鍵ｐｋｉによって暗号化された暗号文Ｃｉに対して、準同型演算がされて生成された暗号文ＥＣであって、要素ＣＴと要素Ｆと要素Ｄとを含む暗号文ＥＣを取得する暗号文取得処理と、
数１２０に示すｉ＝１，．．．，ｓの各整数ｉについての変換鍵ｒｋｉ→ｊであって、変換元のペアの復号鍵ｓｋｉが、前記複数のペアのうちの変換先のペアの公開鍵ｐｋｊによって暗号化された変換鍵ｒｋｉ→ｊを取得する鍵取得処理と、
前記暗号文取得処理によって取得された暗号文ＥＣを、前記鍵取得処理によって取得されたｉ＝１，．．．，ｓの各整数ｉについての前記変換鍵ｒｋｉ→ｊによって、数１２１に示す要素ＣＴ＊及び要素ｊを含む前記変換先のペアの復号鍵ｓｋｊで復号可能な変換後暗号文ＲＣに変換する暗号文変換処理と
をコンピュータに実行させる暗号文変換プログラム。
【数１１９】
2019130528.tif 000069
【数１２０】
2019130528.tif 000070
【数１２１】
2019130528.tif 000071
【国際調査報告】
2019130528.tif 000072
2019130528.tif 000073
2019130528.tif 000074
2019130528.tif 000075