(57)【要約】  復号装置１３は、準同型性演算によって復号可能な第１暗号文を復号するための復号鍵を保持する復号能力提供装置との間で自己訂正処理を行い、第１暗号文の復号値を得、第１暗号文の復号値に対応する又は由来する値と付加値とを用いた非準同型性演算を行い、平文を出力する。
2015008607.tif 000002
【特許請求の範囲】
【請求項１】
準同型性演算によって復号可能な第１暗号文を復号するための復号鍵を保持する復号能力提供装置との間で自己訂正処理を行い、前記第１暗号文の復号値を得る自己訂正処理部と、
前記第１暗号文の復号値に対応する又は由来する値と、付加値と、を用いた非準同型性演算を行い、平文を出力する非準同型性処理部と、
を有する復号装置。
【請求項２】
請求項１の復号装置であって、
前記平文は、前記第１暗号文を含む情報に対応する又は由来する第２暗号文の復号値であり、
前記第１暗号文は、前記第１暗号文の復号値についてＯＷ−ＣＰＡ安全であり、
前記第２暗号文は、前記平文についてＩＮＤ−ＣＣＡ安全である、復号装置。
【請求項３】
請求項１または２の復号装置であって、
前記第１暗号文は、ランダム値に対応する又は由来する値、を暗号化して得られる値を含み、
前記付加値は、前記平文と前記ランダム値とを含む情報に対応するまたは由来する値を含む、復号装置。
【請求項４】
請求項１または２の復号装置であって、
前記第１暗号文は、前記平文を含む情報に対応する又は由来する値、を暗号化して得られる値を含み、
前記付加値は、前記第１暗号文とランダム値とを含む情報に対応する又は由来する値を含む、復号装置。
【請求項５】
請求項１または２の復号装置であって、
前記第１暗号文は、前記平文とランダム値を含む情報とに対応する又は由来する値、を暗号化して得られる値であり、
前記付加値は、前記ランダム値を含む情報に対応する又は由来する値である、復号装置。
【請求項６】
準同型性演算によって復号可能な第１暗号文を復号するための復号鍵を保持する記憶部と、
前記第１暗号文の復号値に対応する又は由来する値と、付加値と、を用いた非準同型性演算を行って平文を出力する復号装置から前記第１暗号文に対応する又は由来する情報を得、前記復号鍵を用い、前記復号装置に前記復号鍵の情報を与えることなく、前記復号装置が自己訂正処理によって前記第１暗号文の復号値を得るための情報を、前記復号装置に対して出力する復号能力提供部と、
を有する復号能力提供装置。
【請求項７】
請求項６の復号能力提供装置であって、
前記平文は、前記第１暗号文を含む情報に対応する又は由来する第２暗号文、の復号値であり、
前記第１暗号文は、前記第１暗号文の復号値についてＯＷ−ＣＰＡ安全であり、
前記第２暗号文は、前記平文についてＩＮＤ−ＣＣＡ安全である、復号能力提供装置。
【請求項８】
請求項６または７の復号能力提供装置であって、
前記第１暗号文は、ランダム値に対応する又は由来する値、を暗号化して得られる値を含み、
前記付加値は、前記平文と前記ランダム値とを含む情報に対応する又は由来する値を含む、復号能力提供装置。
【請求項９】
請求項６または７の復号能力提供装置であって、
前記第１暗号文は、前記平文を含む情報に対応する又は由来する値を暗号化して得られる値を含み、
前記付加値は、前記第１暗号文とランダム値とを含む情報に対応する又は由来する値を含む、復号能力提供装置。
【請求項１０】
請求項６または７の復号能力提供装置であって、
前記第１暗号文は、前記平文とランダム値を含む情報とに対応する又は由来する値、を暗号化して得られる値を含み、
前記付加値は、前記ランダム値を含む情報に対応する又は由来する値を含む、復号能力提供装置。
【請求項１１】
自己訂正処理部が、準同型性演算によって復号可能な第１暗号文を復号するための復号鍵を保持する復号能力提供装置との間で自己訂正処理を行い、前記第１暗号文の復号値を得るステップと、
非準同型性処理部が、前記第１暗号文の復号値に対応する又は由来する値と、付加値と、を用いた非準同型性演算を行い、平文を出力するステップと、
を有する復号方法。
【請求項１２】
復号能力提供部が、準同型性演算によって復号可能な第１暗号文の復号値に対応する又は由来する値と、付加値と、を用いた非準同型性演算を行って平文を出力する復号装置から前記第１暗号文に対応する情報を得るステップと、
前記復号能力提供部が、前記第１暗号文を復号するための復号鍵を用い、前記復号装置に前記復号鍵の情報を与えることなく、前記復号装置が自己訂正処理によって前記第１暗号文の復号値を得るための情報を、前記復号装置に対して出力するステップと、
を有する復号能力提供方法。
【請求項１３】
請求項１または２の復号装置としてコンピュータを機能させるためのプログラム。
【請求項１４】
請求項６または７の復号能力提供装置としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、クラウド鍵管理型の復号技術に関する。
【背景技術】
【０００２】
公開鍵暗号方式や共通鍵暗号方式などの暗号方式で暗号化された暗号文を復号するためには、特定の復号鍵が必要である。復号鍵を保持していない復号装置が暗号文の復号結果を得るための従来方法の一つは、復号鍵を保持している外部装置が復号装置に復号鍵を提供し、復号装置がその復号鍵を用いて暗号文の復号を行う方法である。復号装置が暗号文の復号結果を得るための他の従来方法は、復号装置が暗号文を外部装置に提供し、外部装置が暗号文を復号してその復号結果を復号装置に提供する方法である。【０００３】
しかしながら、前者の方法では、復号鍵そのものが復号装置に提供されるため、安全性の問題がある。一方、後者の方法では、復号装置が復号結果の正しさを検証できない。【０００４】
このような問題を解決する技術として、自己訂正（Self-Correcting）技術を用いたクラウド鍵管理型の復号技術がある（例えば、特許文献１〜３等参照）。自己訂正技術とは、必ずしも正しい計算結果を出力するとは限らない計算機やシステムを用いて常に正しい計算を行う（正しい計算結果を出力する計算機を用いた場合に正しい計算結果を出力し、必ずしも正しい結果を出力するとは限らない計算機を用いた場合に、正しい計算結果を得るか、または計算できない旨の結果を得る）技術である。自己訂正技術を用いたクラウド鍵管理型の復号技術では、復号鍵を保持する復号能力提供装置が復号鍵を復号装置に与えることなく、復号装置が暗号文を復号するための情報のみを復号装置に与える。復号装置は、この情報を用いて常に正しい復号演算を行うことができる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】国際公開ＷＯ／２０１２／０５７１３４号公報
【特許文献２】国際公開ＷＯ／２０１１／０８６９９２号公報
【特許文献３】国際公開ＷＯ／２０１２／１２１１５２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、準同型性演算と非準同型性演算とを含む復号処理の場合、自己訂正技術を用いたクラウド鍵管理型の復号を行うことができない。
【課題を解決するための手段】
【０００７】
復号装置は、準同型性演算によって復号可能な第１暗号文を復号するための復号鍵を保持する復号能力提供装置との間で自己訂正処理を行い、第１暗号文の復号値を得、第１暗号文の復号値に対応する又は由来する値と、付加値と、を用いた非準同型性演算を行い、平文を出力する。
【発明の効果】
【０００８】
本発明では、準同型性演算によって復号可能な第１暗号文の復号処理のみに自己訂正処理を用いるため、復号処理が準同型性演算と非準同型性演算とを含む場合であっても、自己訂正技術を用いたクラウド鍵管理型の復号を行うことができる。
【図面の簡単な説明】
【０００９】
【図１】図１は、実施形態のセキュリティシステムのブロック図である。
【図２】図２は、第１実施形態の暗号化装置のブロック図である。
【図３】図３Ａは、第１実施形態の復号装置および復号能力提供装置のブロック図である。図３Ｂは、第１実施形態の自己訂正処理部および復号能力提供部１４２の詳細を例示するブロック図である。
【図４】図４は、第１実施形態の復号処理を説明するための図である。
【図５】図５は、第２実施形態の暗号化装置のブロック図である。
【図６】図６は、第２実施形態の復号装置および復号能力提供装置のブロック図である。
【図７】図７は、第２実施形態の復号処理を説明するための図である。
【図８】図８は、第３実施形態の暗号化装置のブロック図である。
【図９】図９は、第３実施形態の復号装置および復号能力提供装置のブロック図である。
【図１０】図１０は、第３実施形態の復号処理を説明するための図である。
【発明を実施するための形態】
【００１０】
以下、本発明の実施形態を説明する。
［原理］
各実施形態では、復号装置が、準同型性演算によって復号可能な第１暗号文を復号するための復号鍵を保持する復号能力提供装置との間で自己訂正処理を行い、第１暗号文の復号値を得、第１暗号文の復号値に対応する又は由来する値と、付加値と、を用いた非準同型性演算を行い、平文を出力する。平文は、第１暗号文を含む情報に対応する第２暗号文の復号値である。「Ａに由来（derive）する値Ｂ」とは、（１）ＡもしくはＡの一部の情報、または、（２）ＡもしくはＡの一部の情報の関数値、または、（３）ＡもしくはＡの一部の情報およびその他の情報を含む情報の関数値を意味する。「Ａに由来する値Ｂ」の例は「Ａに対応するＢ」である。「Ａに由来する値Ｂ」の他の例は「Ａに基づくＢ」である。また「Ａを含むＢ」とは、（１）ＢがＡであること、または、（２）ＢがＡを要素に含むこと、または、（３）Ｂの一部分がＡである（例えば、Ｂの一部のビットがＡを表している）ことを意味する。
【００１１】
＜第２暗号文の例１＞
第２暗号文は、例えば、準同型性演算によって復号可能な第１暗号文と復号時に非準同型性演算の被演算子となる付加値とに対応する暗号文（例えば、第１暗号文と付加値とを含む暗号文）である。このような第２暗号文の復号を行う復号装置は、第１暗号文を復号するための復号鍵を保持する復号能力提供装置との間で自己訂正処理を行い、第１暗号文の復号値を得る。第１暗号文は準同型性演算によって復号可能であり、このような第１暗号文の復号は、自己訂正技術を用いた公知のクラウド鍵管理型の復号方式によって実行できる（例えば、特許文献１〜３等参照）。さらに復号装置は、この第１暗号文の復号値と付加値とを用いた非準同型性演算を行い、第２暗号文の復号値を出力する。このように、準同型性演算によって復号可能な第１暗号文の復号処理のみに自己訂正処理を用いるため、第２暗号文がその復号時に非準同型性演算の被演算子となる付加値を含んでいたとしても、自己訂正技術を用いたクラウド鍵管理型の復号を行うことができる。
【００１２】
第１暗号文の例は、ランダム値に由来する値を暗号化して得られる値を含み（例えば、ランダム値に対応する値を暗号化して得られる値であり）、この場合の付加値の例は、平文とランダム値とを含む情報に対応する値を含む値（例えば、平文とランダム値とに対応する値）である。この第１暗号文の例において、好ましくは、第１暗号文の復号値のみから第２暗号文の復号値を得ることが困難（例えば不可能）である。「復号値を得ることが困難」とは、例えば、多項式時間内に復号値を得ることができないことを意味する。「多項式時間」とは、例えば、復号鍵のサイズ（長さ）の多項式で表現可能な時間（計算時間）を意味する。言い換えると、「多項式時間」とは、例えば、復号鍵の長さ（例えばビット長）をχとした場合のχについての任意の多項式で表現可能な時間（計算時間）を意味する。第１暗号文の他の例は、平文を含む情報に由来する値を暗号化して得られる値を含む値（例えば、平文に対応する値を暗号化して得られる値）であり、この場合の付加値は、第１暗号文とランダム値とを含む情報に由来する値を含む値（例えば、第１暗号文とランダム値とに対応する値）である。値θ（例えば、ランダム値や平文等）に対応する値の例は、値θを表す情報またはその写像、値θを表す情報の一部を表す情報またはその写像、値θを表す情報を含む情報またはその写像、値θを表す情報の一部を表す情報を含む情報またはその写像、値θを得るための写像の逆像の他の写像、値θを得るための写像の逆像を表す情報を含む情報の他の写像である。
【００１３】
ここで、第１暗号文がランダム値に由来する値を暗号化して得られる値を含み（例えば、ランダム値に対応する値を暗号化して得られる値であり）、付加値が平文とランダム値とを含む情報に対応する値を含む値（例えば、平文とランダム値とに対応する値であり）、第１暗号文の復号値のみから第２暗号文の復号値を得ることが困難である場合（例えば、それが不可能な場合）、第１暗号文の情報が復号能力提供装置に与えられても、付加値の情報が復号能力提供装置に与えられない限り、第２暗号文の復号値の情報は復号能力提供装置に漏洩しない。よって、このような場合には、復号装置が第１暗号文の情報をかく乱することなく復号能力提供装置に与え（例えば、復号装置が第１暗号文を表す情報を復号能力提供装置に与え）、かつ、復号鍵の情報を復号能力提供装置から得ることなく、第１暗号文の復号値を得るための情報を復号能力提供装置から得てもよい。これにより、復号装置が第１暗号文の情報をかく乱するための演算量を削減できる。ただし、これは一例であって、このような場合に、復号装置が第１暗号文をかく乱した情報を復号能力提供装置に与え、復号値を得るための情報を復号能力提供装置から得てもよい。
【００１４】
一方、第１暗号文の復号値から第２暗号文の復号値の情報が得られる場合には、復号装置が、第１暗号文をかく乱した情報を復号能力提供装置に与え、かつ、復号鍵の情報を復号能力提供装置から得ることなく、第１暗号文の復号値を得るための情報を復号能力提供装置から得る構成であることが望ましい。
【００１５】
第１暗号文の具体例は、準同型性を持つＯＷ−ＣＰＡ安全な暗号方式の暗号文（第１暗号文の復号値についてＯＷ−ＣＰＡ安全な暗号文）であり、第１暗号文と付加値とに対応する第２暗号文の具体例は、準同型性を持たないＩＮＤ−ＣＣＡ安全な暗号方式の暗号文（平文についてＩＮＤ−ＣＣＡ安全な暗号文）である。以下に、ＯＷ−ＣＰＡ安全な暗号方式と、これに基づくＩＮＤ−ＣＣＡ安全な暗号方式を例示する。
【００１６】
＜方式例１＞
方式例１は、公開鍵暗号方式に基づく方式である。
《ＯＷ−ＣＰＡ安全な暗号方式１−１》
鍵生成アルゴリズム：ＫｅｙＧｅｎ（１λ）→（ｐｋ，ｓｋ）
暗号化アルゴリズム：Ｅｎｃ（ｐｋ，Ｍ１）→Ｃ０
復号アルゴリズム：Ｄｅｃ（ｓｋ，Ｃ０）→Ｍ１’
ただし、λは１以上の整数であるセキュリティパラメータを表し、１λはλ個の１からなる列を表し、ｐｋは公開鍵暗号方式の公開鍵（暗号化鍵）を表し、ｓｋはそれに対応する秘密鍵（復号鍵）を表す。ＫｅｙＧｅｎ（１λ）→（ｐｋ，ｓｋ）は、１λを用いて（ｐｋ，ｓｋ）を得る演算を表し、Ｅｎｃ（ｐｋ，Ｍ１）→Ｃ０はｐｋを用いて公開鍵暗号方式に則ってＭ１を暗号化してＣ０を得る準同型性の演算を表し、Ｄｅｃ（ｓｋ，Ｃ０）→Ｍ１’は、ｓｋを用いて公開鍵暗号方式に則ってＣ０を復号してＭ１’を得る準同型性の演算を表す。ＯＷ−ＣＰＡ安全な暗号方式１−１の例は、ＲＳＡ暗号、ＥｌＧａｍａｌ暗号、ｍｏｄｉｆｉｅｄ−ＥｌＧａｍａｌ暗号、Ｐａｉｌｌｉｅｒ暗号などである。
【００１７】
《ＯＷ−ＣＰＡ安全な暗号方式１−１に基づくＩＮＤ−ＣＣＡ安全な暗号方式１−２》
鍵生成アルゴリズム：ＫｅｙＧｅｎ（１λ）→（ｐｋ，ｓｋ）
暗号化アルゴリズム：Ｅｎｃ＿ＦＯ（ｐｋ）→Ｃ＝（Ｃ１，Ｃ２）＝（Ｅｎｃ（ｐｋ，α），ＦＯ（Ｑ，ｒ））
復号アルゴリズム：Ｄｅｃ＿ＦＯ（ｓｋ，Ｃ）→ｋ
ただし、ｒはランダム値を表し、αおよびｋはｒに由来する値（例えば、ｒに対応する値）を表す。Ｅｎｃ＿ＦＯ（ｐｋ）→Ｃはｐｋを用いてランダム値ｒに対応する暗号文Ｃを得る演算を表し、Ｅｎｃ（ｐｋ，α）→Ｃ１は、ｐｋを用いてαを暗号化して暗号文Ｃ１を得る準同型性の演算を表す。ＦＯ（Ｑ，ｒ）→Ｃ２は、Ｑとｒとを含む情報に由来する値Ｃ２を得る非準同型性の演算を表す。ただし、Ｑはαに由来する値である。αおよびｋはｒに由来する値であるため、Ｑは平文ｋに対応する値である。Ｄｅｃ＿ＦＯ（ｓｋ，Ｃ）→ｋはｓｋを用いてＣを復号してｋを得る非準同型性の演算を表す。このＤｅｃ＿ＦＯ（ｓｋ，Ｃ）は、秘密鍵ｓｋを用いて暗号文Ｃ１を復号して復元値Ｑを得る準同型性の演算Ｄｅｃ（ｓｋ，Ｃ１）→Ｑ、および、ＦＯの逆演算である非準同型性の演算ＦＯ−１（Ｑ，Ｃ２）→ｒを含む。方式例１の場合、第１暗号文はＣ１であり、付加値はＣ２であり、第２暗号文はＣ＝（Ｃ１，Ｃ２）である。平文はｋであり、例えば共通鍵である。ただし、平文ｋがメッセージであってもよい。方式例１の具体例は、ＰＳＥＣ−ＫＥＭ方式である（参考文献１，２等参照）。
参考文献１：ＰＳＥＣ−ＫＥＭ仕様書、日本電信電話株式会社、ＮＴＴ情報プラットフォーム研究所、平成２０年４月１４日
参考文献２：INTERNATIONAL STANDARD ISO/IEC 18033-2“Information technology - Security techniques - Encryption algorithms -Part 2:Asymmetric ciphers”
【００１８】
＜方式例２＞
方式例２は、ＩＤベース暗号方式に基づく例である。
《ＯＷ−ＣＰＡ安全な暗号方式２−１》
設定アルゴリズム：Ｓｅｔｕｐ（１λ）→（ＰＫ，ｍｓｋ）
鍵生成アルゴリズム：ＫｅｙＧｅｎ（ＰＫ，ｉｄ，ｍｓｋ）→ｓｋｉｄ
暗号化アルゴリズム：Ｅｎｃ（ＰＫ，ｉｄ，Ｍ）→ｃ０
復号アルゴリズム：Ｄｅｃ（ＰＫ，ｓｋｉｄ，ｃ０）→Ｍ’
カプセル化アルゴリズム：
ＳｅｔｕｐＥＣ（１λ）→ｐｕｂ
Ｓ（１λ，ｐｕｂ）→（ｒ，ｃｏｍ，ｄｅｃ）
Ｒ（ｐｕｂ，ｃｏｍ，ｄｅｃ）→ｒ’  ｏｒ  ｛⊥｝
ただし、ＰＫはＩＤベース暗号方式の公開鍵（公開パラメータ）を表し、ｍｓｋはそのマスター秘密鍵を表し、ｉｄは識別子を表し、ｓｋｉｄは識別子ｉｄに対応する秘密鍵を表す。ｐｕｂはカプセル化の公開パラメータを表し、ｒ，ｃｏｍ，ｄｅｃはそれぞれランダム値を表し、｛⊥｝はエラーを表す。Ｓｅｔｕｐ（１λ）→（ＰＫ，ｍｓｋ）は、１λを用いて（ＰＫ，ｍｓｋ）を得る演算を表し、ＫｅｙＧｅｎ（ＰＫ，ｉｄ，ｍｓｋ）→ｓｋｉｄは、ＰＫ，ｉｄ，ｍｓｋを用いてｓｋｉｄを得る演算を表し、Ｅｎｃ（ＰＫ，ｉｄ，Ｍ）→ｃ０は、ＰＫ，ｉｄを用いてＩＤベース暗号方式に則ってＭを暗号化してｃ０を得る準同型性の演算を表し、Ｄｅｃ（ＰＫ，ｓｋｉｄ，ｃ０）→Ｍ’は、ＰＫ，ｓｋｉｄを用いてＩＤベース暗号方式に則ってｃ０を復号してＭ’を得る準同型性の演算を表す。ＳｅｔｕｐＥＣ（１λ）→ｐｕｂは、１λを用いてｐｕｂを得る演算を表し、Ｓ（１λ，ｐｕｂ）→（ｒ，ｃｏｍ，ｄｅｃ）は、（１λ，ｐｕｂ）を用いて（ｒ，ｃｏｍ，ｄｅｃ）を得る演算を表し、Ｒ（ｐｕｂ，ｃｏｍ，ｄｅｃ）→ｒ’ｏｒ｛⊥｝は、（ｐｕｂ，ｃｏｍ，ｄｅｃ）を用いてｒ’または｛⊥｝を得る演算を表す。ＩＤベース暗号方式の一例については、例えば、参考文献３に開示されている。
参考文献３：D. Boneh and M. Franklin, “Identity-Based Encryption from the Weil Pairing,” Adv. in Cryptology | Crypto 2001, LNCS vol. 2139, Springer-Verlag, pp. 213-229, 2001. Full version in SIAM J. Computing 32(3): 586-615, 2003.
【００１９】
《ＯＷ−ＣＰＡ安全な暗号方式２−１に基づくＩＮＤ−ＣＣＡ安全な暗号方式２−２》
設定アルゴリズム：
Ｓｅｔｕｐ（１λ）→（ＰＫ，ｍｓｋ）
ＳｅｔｕｐＥＣ（１λ）→ｐｕｂ
暗号化アルゴリズム：
Ｓ（１λ，ｐｕｂ）→（ｒ，ｃｏｍ，ｄｅｃ）
Ｅｎｃ（ＰＫ，ｃｏｍ，Ｍ｜ｄｅｃ）→ｃ０
ＭＡＣ（ｒ，ｃ０）→ｔａｇ
Ｃ＝（ｃｏｍ，ｃ０，ｔａｇ）
復号アルゴリズム：
ＫｅｙＧｅｎ（ＰＫ，ｃｏｍ，ｍｓｋ）→ｓｋｃｏｍ
Ｄｅｃ（ＰＫ，ｓｋｃｏｍ，ｃ０）→Ｍ’｜ｄｅｃ’
Ｒ（ｐｕｂ，ｃｏｍ，ｄｅｃ’）→ｒ’
ｒ’≠｛⊥｝であればＶｅｆｙ（ｒ’，ｃ０，ｔａｇ）
Ｖｅｆｙ（ｒ’，ｃ０，ｔａｇ）≠｛⊥｝であればＭ’出力。
ただし、Ｍ｜ｄｅｃはＭを表す情報とｄｅｃを表す情報との連結値を表し、ＭＡＣ（ｒ，ｃ０）→ｔａｇは、（ｒ，ｃ０）に対するメッセージ認証子ｔａｇを得る演算を表し、Ｖｅｆｙ（ｒ’，ｃ０，ｔａｇ）は、（ｒ’，ｃ０）に対するメッセージ認証子ｔａｇの検証結果を表す。
【００２０】
方式例２の場合、第１暗号文は平文Ｍに由来する値（平文Ｍに対応する値）Ｍ｜ｄｅｃを暗号化して得られる値ｃ０であり、付加値は第１暗号文ｃ０とランダム値ｒとを含む情報に由来する（第１暗号文ｃ０とランダム値ｒとに対応する）メッセージ認証子ｔａｇである。第２暗号文はＣ＝（ｃｏｍ，ｃ０，ｔａｇ）である。方式例２の具体例は、ＩＤベース暗号方式をＢＫ変換した方式である（参考文献４）。参考文献４の方式の場合、平文Ｍはメッセージである。
参考文献４：Dan Boneh1, Jonathan Katz, “Improved Efficiency for CCA-Secure Cryptosystems Built Using Identity-Based Encryption,” In proceedings of RSA-CT '05, LNCS 3376, pp. 87-103, 2005.
【００２１】
＜第２暗号文の例２＞
第２暗号文が、準同型性演算によって復号可能な第１暗号文を含み（例えば、第２暗号文は第１暗号文であるが、第１暗号文の復号処理のみでは平文が復号されない）、第１暗号文の復号値に由来する値と当該第１暗号文の復号値に由来する付加値とを用いた非準同型性演算によって平文が復元可能なものであってもよい。このような第２暗号文の復号を行う復号装置は、第１暗号文を復号するための復号鍵を保持する復号能力提供装置との間で自己訂正処理を行い、第１暗号文の復号値を得る。第１暗号文は準同型性演算によって復号可能であり、このような第１暗号文の復号は、自己訂正技術を用いた公知のクラウド鍵管理型の復号方式によって実行できる（例えば、特許文献１〜３等参照）。さらに復号装置は、この第１暗号文の復号値に由来する値と当該第１暗号文の復号値に由来する付加値とを用いた非準同型性演算を行い、平文を得て出力する。このように、準同型性演算によって復号可能な第１暗号文の復号処理のみに自己訂正処理を用いるため、平文の復元時に非準同型性演算の被演算子となる付加値を含んでいたとしても、自己訂正技術を用いたクラウド鍵管理型の復号を行うことができる。
【００２２】
第２暗号文の例２の場合も、第１暗号文は、準同型性を持つＯＷ−ＣＰＡ安全な暗号方式の暗号文（第１暗号文の復号値についてＯＷ−ＣＰＡ安全な暗号文）である。第２暗号文は、平文についてＩＮＤ−ＣＣＡ安全な暗号文である。以下に、第２暗号文の例２でのＩＮＤ−ＣＣＡ安全な暗号方式を例示する（参考文献５参照）。この例も前述のＯＷ−ＣＰＡ安全な暗号方式１−１に基づくものである。
参考文献５：RSAES-OAEP Encryption Scheme:Algorithm specification and supporting documentation, RSA Laboratories, RSA Security Inc.
【００２３】
《ＯＷ−ＣＰＡ安全な暗号方式１−１に基づくＩＮＤ−ＣＣＡ安全な暗号方式３−１》
鍵生成アルゴリズム：ＫｅｙＧｅｎ（１λ）→（ｐｋ，ｓｋ）
暗号化アルゴリズム：Ｅｎｃ（ｐｋ，Ｅｎｃｏｄｅ（Ｍ３，Ｐ））→Ｃ３１
復号アルゴリズム： Ｄｅｃｏｄｅ（Ｄｅｃ（ｓｋ，Ｃ３１），Ｐ）→Ｍ３’
ただし、Ｍ３は平文であり、Ｐはエンコーディングパラメータである。Ｐが空（Empty）であってもよい。Ｅｎｃ（ｐｋ，Ｅｎｃｏｄｅ（Ｍ３，Ｐ））→Ｃ３１はｐｋを用いてＥｎｃｏｄｅ（Ｍ３，Ｐ）を暗号化して暗号文Ｃ３１を得る準同型性の演算を表す。Ｅｎｃｏｄｅ（Ｍ３，Ｐ）は、Ｍ３およびＰを入力とし、ランダム値であるｓｅｅｄを内部生成し、Ｍ３，Ｐ，ｓｅｅｄを含む情報に由来する値ＭＳ＝Ｅｎｃｏｄｅ（Ｍ３，Ｐ）を得る非準同型性の演算を表す。非準同型性の演算Ｅｎｃｏｄｅの具体例は、参考文献５のＥＭＥ−ＯＡＥＰ−Ｅｎｃｏｄｅを含む演算である。Ｄｅｃｏｄｅ（Ｄｅｃ（ｓｋ，Ｃ３１），Ｐ）→Ｍ３’は、ｓｋを用いた準同型性の演算ＤｅｃによってＣ３１の復号値ＭＳ’＝Ｄｅｃ（ｓｋ，Ｃ３１）を得、Ｃ３１の復号値ＭＳ’とＭＳ’に由来する付加値ｓｅｅｄ’とＰを用いた非準同型性の演算Ｄｅｃｏｄｅ（ＭＳ’，Ｐ）によって平文Ｍ３’を得る演算を表す。付加値ｓｅｅｄ’はランダム値ｓｅｅｄに一致する。非準同型性の演算Ｄｅｃｏｄｅの具体例は、参考文献５のＥＭＥ−ＯＡＥＰ−Ｄｅｃｏｄｅを含む演算である。第１暗号文Ｃ３１は、平文Ｍ３とランダム値であるｓｅｅｄを含む情報とに由来する値ＭＳを暗号化して得られる値である。付加値ｓｅｅｄ’は、ランダム値ｓｅｅｄを含む情報に由来する値である。この例の第２暗号文は第１暗号文Ｃ３１である。
【００２４】
以下、図面を参照して各実施形態を説明する。
［第１実施形態］
第１実施形態を説明する。第１実施形態は、参考文献１に記載されたＰＳＥＣ−ＫＥＭ方式の第２暗号文Ｃ１０を復号する例である。本形態では、第１暗号文がランダム値ｒに由来する値（ｒに対応する値）αを暗号化して得られる値Ｃ１１であり、付加値が平文（共通鍵）ｋ（ランダム値ｒと値αとに対応する値）とランダム値ｒとを含む情報に対応する値Ｃ１２である。言い換えると、付加値Ｃ１２はαおよびｒを含む情報に由来する情報である。第１暗号文Ｃ１１の復号値Ｑのみからランダム値ｒを得ることは困難であり、第２暗号文Ｃ１０の復号値がランダム値ｒから得られる共通鍵ｋである。つまり、第１暗号文Ｃ１１の復号値Ｑのみから、第２暗号文Ｃ１０の復号値である共通鍵ｋを得ることは困難である。
【００２５】
＜構成＞
図１に例示するように、第１実施形態のセキュリティシステム１は、鍵生成装置１１、暗号化装置１２、復号装置１３、および復号能力提供装置１４を有し、これらはネットワークを通じて情報のやり取りが可能なように構成されている。なお、説明の簡略化のため、図１では、鍵生成装置１１、暗号化装置１２、復号装置１３、および復号能力提供装置１４を１個ずつ図示しているが、これらの少なくとも一部の装置が複数個存在していてもよい。
【００２６】
図２に例示するように、本形態の暗号化装置１２は、記憶部１２１、ランダム値生成部１２２、対応値生成部１２３、準同型性暗号化部１２４、非準同型性処理部１２５、合成部１２６、暗号化部１２７、および出力部１２８を有する。図３に例示するように、本形態の復号装置１３は、入力部１３１、記憶部１３２、分解部１３３、自己訂正処理部１３４、非準同型性処理部１３５、および復号部１３６を有する。図３に例示するように、本形態の復号能力提供装置１４は、記憶部１４１、および復号能力提供部１４２を有する。鍵生成装置１１、暗号化装置１２、復号装置１３、および復号能力提供装置１４は、それぞれ、例えば、ＣＰＵ（central processing unit）等のプロセッサ（ハードウェア・プロセッサ）やＲＡＭ（random-access memory）・ＲＯＭ（read-only memory）等のメモリ等を備える汎用または専用のコンピュータが所定のプログラムを実行することで構成される装置である。コンピュータは１個のプロセッサやメモリを備えていてもよいし、複数個のプロセッサやメモリを備えていてもよい。このプログラムはコンピュータにインストールされてもよいし、予めＲＯＭ等に記録されていてもよい。また、ＣＰＵのようにプログラムが読み込まれることで機能構成を実現する電子回路（circuitry）ではなく、単独で処理機能を実現する電子回路を用いて一部またはすべての処理部が構成されてもよい。また、１個の装置を構成する電子回路が複数のＣＰＵを含んでいてもよい。各処理部から出力された情報は、図示していない一時メモリに格納され、必要に応じて読み出されて各処理部の処理に用いられる。
【００２７】
＜処理＞
鍵生成装置１１が、鍵生成アルゴリズムＫｅｙＧｅｎ（１λ）を実行し、公開鍵ｐｋと秘密鍵ｓｋとを得る。公開鍵ｐｋは暗号化装置１２（図２）の記憶部１２１に格納される。さらに公開鍵ｐｋはその他の装置にも設定される。秘密鍵ｓｋは復号能力提供装置１４（図３）の記憶部１４１に安全に格納される。
【００２８】
その後、図４に例示するように、暗号化装置１２のランダム値生成部１２２がランダム値ｒを生成して出力する（ステップＳ１０１）。対応値生成部１２３は、ランダム値ｒを入力とし、ランダム値ｒに由来する値（ｒに対応する値）α，ｋを生成して出力する（ステップＳ１０２）。例えば、Ｈがランダム値ｒを表す情報を含む情報のハッシュ値を表すビット列であり、Ｈ＝ｔ｜ｋであり、αはｔの関数値である。ｋは共通鍵である。ただし、Ａ｜Ｂはビット列ＡとＢとの連結（concatenation）を表す。Ｈのどの位置をｔおよびｋとするかは事前に定められている。
【００２９】
準同型性暗号化部１２４は、値αと公開鍵ｐｋを入力とし、第１暗号文Ｃ１１＝Ｅｎｃ（ｐｋ，α）を得て出力する（ステップＳ１０３）。第１暗号文Ｃ１１は、準同型性演算によって復号可能な暗号文である。例えば、楕円曲線Ｅ上の点ＰＥに対してｐｋ＝ｓｋ・ＰＥ∈Ｅを満たし、α∈Ｅであり、Ｃ１１＝Ｅｎｃ（ｐｋ，α）＝α・ＰＥ∈Ｅである。
【００３０】
非準同型性処理部１２５は、ランダム値ｒ、第１暗号文Ｃ１１、および値αを入力とし、付加値Ｃ１２＝ＦＯ（α，ｒ）を得て出力する（ステップＳ１０４）。付加値Ｃ１２は、復号時に非準同型性演算の被演算子となる値である。例えば、Ｃ１２＝ＦＯ（α，ｒ）は、Ｃ１１を表す情報およびＱ＝α・ｐｋ＝α・ｓｋ・ＰＥ∈Ｅを表す情報を含む情報のハッシュ値を表すビット列と、ランダム値ｒを表すビット列との排他的論理和である。なお、値αおよび平文ｋはランダム値ｒに対応する。よって付加値Ｃ１２＝ＦＯ（α，ｒ）は平文ｋとランダム値ｒとに対応する。
【００３１】
合成部１２６は、第１暗号文Ｃ１１と付加値Ｃ１２とを入力とし、これらに対応する第２暗号文Ｃ１０を得て出力する（ステップＳ１０５）。例えば、Ｃ１０は、Ｃ１１を表す情報とＣ１２を表す情報とを含む情報であり、例えば、Ｃ１１を表す情報（例えば、ビット列）とＣ１２を表す情報（例えば、ビット列）との連結値である。
【００３２】
暗号化部１２７は、入力メッセージｍと共通鍵ｋとを入力とし、共通鍵暗号方式に則って共通鍵ｋで入力メッセージｍを暗号化し、共通鍵暗号文Ｃ１３を出力する（ステップＳ１０６）。共通鍵暗号方式の例は、ＡＥＳやＣａｍｅｒｉａ（登録商標）である。
【００３３】
出力部１２８は、第２暗号文Ｃ１０と共通鍵暗号文Ｃ１３とを入力とし、これらを含む暗号文Ｃ１＝（Ｃ１０，Ｃ１３）を出力する（ステップＳ１０７）。暗号文Ｃ１はネットワークを通じて復号装置１３に送られる。
【００３４】
暗号文Ｃ１は復号装置１３（図３）の入力部１３１に入力され、記憶部１３２に格納される（ステップＳ１０８）。分解部１３３は、暗号文Ｃ１＝（Ｃ１０，Ｃ１３）に含まれる第２暗号文Ｃ１０を入力とし、第２暗号文Ｃ１０から第１暗号文Ｃ１１と付加値Ｃ１２とを得て、第１暗号文Ｃ１１と付加値Ｃ１２とを出力する（ステップＳ１０９）。
【００３５】
自己訂正処理部１３４は、第１暗号文Ｃ１１を入力とし、第１暗号文Ｃ１１を復号するための秘密鍵（復号鍵）ｓｋを記憶部１４１に保持する復号能力提供装置１４の復号能力提供部１４２との間で自己訂正処理（自己訂正技術を用いたクラウド鍵管理型の復号処理）を行い、第１暗号文Ｃ１１の復号値Ｑ＝Ｄｅｃ（ｓｋ，Ｃ１１）を得て出力する（ステップＳ１１０，Ｓ１１１）。前述のように、第１暗号文Ｃ１１は準同型性演算によって復号可能である。例えば、楕円曲線Ｅ上の点ｓｋおよびＣ１１に対するＱ＝ｓｋ・Ｃ１１∈Ｅ（ただし、Ｃ１１＝α・ＰＥ∈Ｅ）である。
【００３６】
≪自己訂正技術を用いたクラウド鍵管理型の復号処理≫
自己訂正技術を用いたクラウド鍵管理型の復号処理は、特許文献１〜３等に記載された公知技術である。以下にその概要を示す。
【００３７】
自己訂正処理部１３４は、第１暗号文Ｃ１１に対応する情報を復号能力提供装置１４の復号能力提供部１４２に与え、かつ、秘密鍵（復号鍵）ｓｋの情報を復号能力提供装置１４から得ることなく、自己訂正処理部１３４で第１暗号文Ｃ１１の復号値Ｑを得るための情報を復号能力提供装置１４から得る。言い換えると、復号能力提供装置１４の復号能力提供部１４２は、第１暗号文Ｃ１１に対応する情報を自己訂正処理部１３４から得、秘密鍵（復号鍵）ｓｋの情報を復号装置１３に与えることなく、自己訂正処理部１３４が自己訂正処理によって第１暗号文Ｃ１１の復号値Ｑを得るための情報を自己訂正処理部１３４に対して出力する。自己訂正処理部１３４は、復号能力提供部１４２から与えられた情報を用いて復号値Ｑを得る。ここで、復号能力提供装置１４への復号値Ｑの漏洩を避けるためには、復号能力提供部１４２に与えられる「第１暗号文Ｃ１１に対応する情報」が第１暗号文Ｃ１１をかく乱した情報でなければならない。しかしながら、本形態では、復号値Ｑのみから第２暗号文Ｃ１０の復号値である共通鍵ｋを得ることが困難である。そのため、たとえ復号値Ｑが復号能力提供装置１４へ漏洩したとしても、共通鍵ｋの情報は復号能力提供装置１４に漏洩しない。このような場合、自己訂正処理部１３４は、第１暗号文Ｃ１１の情報をかく乱することなく復号能力提供部１４２に与え（かく乱されていない第１暗号文Ｃ１１の情報を復号能力提供部１４２に与え）、自己訂正処理部１３４で復号値Ｑを得るための情報を復号能力提供部１４２から得てもよい。
【００３８】
自己訂正技術を用いたクラウド鍵管理型の復号処理の具体例：
以下に自己訂正技術を用いたクラウド鍵管理型の復号処理を例示する。以下の例では、Ｇ，Ｈが群（例えば、巡回群などの有限可換群）、ｆ（ｘ）が群Ｈの元である第１暗号文ｘ＝Ｃ１１を秘密鍵ｓｋで復号して群Ｇの元を得るための準同型性復号関数、Ｘ１，Ｘ２が群Ｇに値を持つ確率変数、ｘ１が確率変数Ｘ１の実現値、ｘ２が確率変数Ｘ２の実現値、ａ，ｂが互いに素である自然数である。ただし、以下の例は本発明を限定するものではなく、その他の自己訂正技術が用いられてもよい。
【００３９】
ステップ１１０ａ：自己訂正処理部１３４の処理部１３４ａは、第１暗号文ｘ＝Ｃ１１に対応する、群Ｈの元である第一入力情報τ１及び第二入力情報τ２を出力する。例えば、群Ｈが巡回群、巡回群Ｈの生成元がμｈ、ｒ１，ｒ２が０以上のランダムな自然数、τ１＝μｈｒ１ｘｂ、τ２＝μｈｒ２ｘａである。ａ，ｂの一方が１などの定数であってもよい。なお、自己訂正処理部１３４の処理部１３４ａが、第１暗号文Ｃ１１の情報をかく乱することなく復号能力提供部１４２に与える場合、自然数ｒ１，ｒ２は１以上の定数であり、例えばτ１＝μｈｘｂ、τ２＝μｈｘａである。自然数ｒ１，ｒ２が定数の場合、自然数ｒ１，ｒ２をランダムに生成する処理は不要である。第一入力情報τ１及び第二入力情報τ２は復号能力提供部１４２に送られる。
【００４０】
ステップ１１１ａ：復号能力提供部１４２の処理部１４２ａは、送られた第一入力情報τ１および記憶部１４１に格納された秘密鍵ｓｋを用い、或る確率より大きな確率でｆ（τ１）を正しく計算し、得られた計算結果を第一出力情報ｚ１とする。すなわち、ｚ１＝ｆ（τ１）である場合もあれば、ｚ１≠ｆ（τ１）である場合もある。言い換えると、復号能力提供部１４２は、ｆ（τ１）を計算可能であるが、意図的又は意図的ではない誤差を含んだ計算結果を出力する可能性がある。「或る確率」は１００％未満であり０％以上の確率である。「或る確率」の例は無視することができない確率であり、「無視することができない確率」の例は、セキュリティパラメータｋについての広義単調増加関数である多項式を多項式ψ（ｋ）とした場合の１／ψ（ｋ）以上の確率である。第一出力情報ｚ１は自己訂正処理部１３４に送られる。
ステップ１１１ｂ：復号能力提供部１４２の処理部１４２ｂは、送られた第二入力情報τ２および記憶部１４１に格納された秘密鍵ｓｋを用い、或る確率より大きな確率でｆ（τ２）を正しく計算し、得られた計算結果を第二出力情報ｚ２とする。すなわち、ｚ２＝ｆ（τ２）である場合もあれば、ｚ２≠ｆ（τ２）である場合もある。言い換えると、復号能力提供部１４２は、ｆ（τ２）を計算可能であるが、意図的又は意図的ではない誤差を含んだ計算結果を出力する可能性がある。第二出力情報ｚ２は自己訂正処理部１３４に送られる。
【００４１】
ステップ１１０ｂ：自己訂正処理部１３４の処理部１３４ｂは、送られた第一出力情報ｚ１から計算結果ｕ＝ｆ（ｘ）ｂｘ１を生成する。例えば、ν＝ｆ（μｈ）であり、ｕ＝ｚ１ν−ｒ１である。ｂおよびｒ１は処理部１３４ａで用いられたものと同じである。計算結果ｕは記憶部１３４ｅに格納される。
ステップ１１０ｃ：自己訂正処理部１３４の処理部１３４ｃは、送られた第二出力情報ｚ２から計算結果ｖ＝ｆ（ｘ）ａｘ２を生成する。例えば、ｖ＝ｚ２ν−ｒ２である。ａおよびｒ２は処理部１３４ａで用いられたものと同じである。計算結果ｖは記憶部１３４ｅに格納される。
ステップ１１０ｄ：自己訂正処理部１３４の処理部１３４ｄは、記憶部１３４ｅに格納されている何れかのｕ及びｖの組がｕａ＝ｖｂを満たすかを判定し、満たした場合に、ｕａ＝ｖｂを満たすｕ及びｖの組およびａ’ａ＋ｂ’ｂ＝１を満たす整数ａ’，ｂ’についてのｕｂ’ｖａ’を復号値Ｑとして出力する。
【００４２】
ステップ１１０ａ〜１１０ｄ，１１１ａ，１１１ｂの処理を所定回数繰り返しても計算結果ｕ及びｖがｕａ＝ｖｂを満たさなかった場合、自己訂正処理部１３４は、復号が不可能である旨のエラー情報を出力する。なお、記憶部１３４ｅに１個以上のｖが格納されている場合には、ステップ１１０ｂとステップ１１０ｃとの間でもステップ１１０ｄの処理が行われてもよい。（≪自己訂正技術を用いたクラウド鍵管理型の復号処理≫の説明終わり）。
【００４３】
非準同型性処理部１３５は、復号値Ｑと付加値Ｃ１２とを入力とし、復号値Ｑと付加値Ｃ１２とを用いた非準同型性演算ＦＯ−１（Ｑ，Ｃ１２）を行ってｒを得、それから第２暗号文Ｃ１０の復号値（平文）ｋを得て出力する（ステップＳ１１２）。例えば、非準同型性処理部１３５は、復号値Ｑと付加値Ｃ１２とを用いてランダム値ｒ＝ＦＯ−１（Ｑ，Ｃ１２）を得、ランダム値ｒに対応する共通鍵ｋを出力する。例えば、まず非準同型性処理部１３５は、Ｃ１１を表す情報および復号値Ｑを表す情報を含む情報のハッシュ値を表すビット列と、付加値Ｃ１２を表すビット列との排他的論理和を、ランダム値ｒを表すビット列として得る。次に、非準同型性処理部１３５は、ランダム値ｒを表す情報を含む情報のハッシュ値を表すビット列ｈを得、ｈ＝ｔ｜ｋを満たす共通鍵ｋを得る。さらに、非準同型性処理部１３５は、ｔの関数値αを用いてＣ１１＝α・ＰＥ∈Ｅを満たすか確認し、これを満たせば共通鍵ｋを出力し、満たさなければエラーを出力する。
【００４４】
復号部１３６は、共通鍵暗号文Ｃ１３と共通鍵ｋとを入力とし、共通鍵暗号方式に則って共通鍵ｋで共通鍵暗号文Ｃ１３を復号し、復号値ｍ’を得て出力する（ステップＳ１１３）。
【００４５】
［第２実施形態］
第２実施形態を説明する。第２実施形態は、参考文献４に記載されたＩＤベース暗号方式をＢＫ変換した方式の第２暗号文を復号する例である。本形態では、第１暗号文が平文ｍに対応する値ｍ｜ｄｅｃを暗号化して得られる値Ｃ２１であり、付加値が第１暗号文Ｃ２１とランダム値ｒとに対応するメッセージ認証子ｔａｇである。
【００４６】
＜構成＞
図１に例示するように、第２実施形態のセキュリティシステム２は、鍵生成装置２１、暗号化装置２２、復号装置２３、および復号能力提供装置２４を有し、これらはネットワークを通じて情報のやり取りが可能なように構成されている。なお、説明の簡略化のため、図１では、鍵生成装置２１、暗号化装置２２、復号装置２３、および復号能力提供装置２４を１個ずつ図示しているが、これらの少なくとも一部の装置が複数個存在していてもよい。
【００４７】
図５に例示するように、本形態の暗号化装置２２は、記憶部２２１、ランダム値生成部２２２、準同型性暗号化部２２４、非準同型性処理部２２５、および出力部２２８を有する。図６に例示するように、本形態の復号装置２３は、入力部２３１、記憶部２３２、自己訂正処理部２３４、非準同型性処理部２３５、および出力部２３６を有する。図６に例示するように、本形態の復号能力提供装置２４は、記憶部２４１、復号能力提供部２４２、および秘密鍵取得部２４３を有する。図６に例示するように、本形態の鍵生成装置２１は、記憶部２１１、秘密鍵生成部２１２、および設定部２１３を有する。鍵生成装置２１、暗号化装置２２、復号装置２３、および復号能力提供装置２４は、それぞれ、例えば、前述のコンピュータに所定のプログラムが読み込まれることで構成された装置である。各処理部から出力された情報は、図示していない一時メモリに格納され、必要に応じて読み出されて各処理部の処理に用いられる。
【００４８】
＜処理＞
鍵生成装置２１の設定部２１３が、設定アルゴリズムＳｅｔｕｐ（１λ）およびＳｅｔｕｐＥＣ（１λ）を実行し、公開鍵（ＰＫ，ｐｕｂ）とマスター秘密鍵ｍｓｋとを得る。公開鍵（ＰＫ，ｐｕｂ）は、暗号化装置２２（図５）の記憶部２２１に格納される。さらに公開鍵（ＰＫ，ｐｕｂ）は、その他の装置にも設定される。マスター秘密鍵ｍｓｋは、鍵生成装置２１の記憶部２１１に安全に格納される。
【００４９】
図７に例示するように、暗号化装置２２のランダム値生成部２２２が、Ｓ（１λ，ｐｕｂ）→（ｒ，ｃｏｍ，ｄｅｃ）によってランダム値（ｒ，ｃｏｍ，ｄｅｃ）を生成して出力する（ステップＳ２０１）。ｃｏｍは識別子として機能する。
【００５０】
準同型性暗号化部２２４は、公開鍵ＰＫとランダム値ｄｅｃと識別子ｃｏｍと平文ｍとを入力とし、Ｅｎｃ（ＰＫ，ｃｏｍ，ｍ｜ｄｅｃ）→Ｃ２１によって、平文ｍに対応する値ｍ｜ｄｅｃを暗号化して第１暗号文Ｃ２１を得て出力する（ステップＳ２０３）。第１暗号文Ｃ２１は、準同型性演算によって復号可能な暗号文である。
【００５１】
非準同型性処理部２２５は、ランダム値ｒと第１暗号文Ｃ２１とを入力とし、ＭＡＣ（ｒ，Ｃ２１）→ｔａｇによって、ランダム値ｒと第１暗号文Ｃ２１とに対するメッセージ認証子ｔａｇを付加値として得て出力する（ステップＳ２０４）。付加値ｔａｇは、復号時に非準同型性演算の被演算子となる値である。
【００５２】
出力部２２８は、識別子ｃｏｍと第１暗号文Ｃ２１と付加値ｔａｇとを入力とし、これらに対応する第２暗号文Ｃ２＝（ｃｏｍ，Ｃ２１，ｔａｇ）を出力する（ステップＳ２０７）。例えば、第２暗号文Ｃ２は、識別子ｃｏｍを表す情報と第１暗号文Ｃ２１を表す情報と付加値ｔａｇを表す情報とを含む情報であり、例えば、識別子ｃｏｍを表す情報（例えば、ビット列）と第１暗号文Ｃ２１を表す情報（例えば、ビット列）と付加値ｔａｇを表す情報（例えば、ビット列）との連結値である。第２暗号文Ｃ２はネットワークを通じて復号装置２３に送られる。
【００５３】
第２暗号文Ｃ２は復号装置２３（図６）の入力部２３１に入力され、記憶部２３２に格納される（ステップＳ２０８）。出力部２３６は、第２暗号文Ｃ２＝（ｃｏｍ，Ｃ２１，ｔａｇ）が含む識別子ｃｏｍを出力する（ステップＳ２０９ａ）。識別子ｃｏｍは復号能力提供装置２４の秘密鍵取得部２４３に入力される。秘密鍵取得部２４３は、識別子ｃｏｍを鍵生成装置２１に対して出力する（ステップＳ２０９ｂ）。鍵生成装置２１の秘密鍵生成部２１２は、識別子ｃｏｍとマスター秘密鍵ｍｓｋとを入力とし、ＫｅｙＧｅｎ（ＰＫ，ｃｏｍ，ｍｓｋ）→ｓｋｃｏｍによって、識別子ｃｏｍに対応する秘密鍵ｓｋｃｏｍを得て出力する。秘密鍵ｓｋｃｏｍは秘密鍵取得部２４３に入力され、記憶部２４１に安全に格納される（ステップＳ２０９ｃ）。
【００５４】
自己訂正処理部２３４は、第２暗号文Ｃ２＝（ｃｏｍ，Ｃ２１，ｔａｇ）に含まれる第１暗号文Ｃ２１を入力とし、第１暗号文Ｃ２１を復号するための秘密鍵（復号鍵）ｓｋｃｏｍを保持する復号能力提供装置２４の復号能力提供部２４２との間で自己訂正処理（自己訂正技術を用いたクラウド鍵管理型の復号処理）を行い、第１暗号文Ｃ２１の復号値ｍ’｜ｄｅｃ’＝Ｄｅｃ（ＰＫ，ｓｋｃｏｍ，Ｃ２１）を得て出力する（ステップＳ２１０，Ｓ２１１）。
【００５５】
すなわち、自己訂正処理部２３４は、第１暗号文Ｃ２１に対応する情報を復号能力提供装置２４の復号能力提供部２４２に与え、かつ、秘密鍵（復号鍵）ｓｋｃｏｍの情報を復号能力提供装置２４から得ることなく、自己訂正処理部２３４で第１暗号文Ｃ２１の復号値ｍ’｜ｄｅｃ’を得るための情報を復号能力提供装置２４から得る。言い換えると、復号能力提供装置２４の復号能力提供部２４２は、第１暗号文Ｃ２１に対応する情報を自己訂正処理部２３４から得、秘密鍵ｓｋｃｏｍの情報を復号装置２３に与えることなく、自己訂正処理部２３４が自己訂正処理によって第１暗号文Ｃ２１の復号値ｍ’｜ｄｅｃ’を得るための情報を自己訂正処理部２３４に対して出力する。自己訂正処理部２３４は、復号能力提供部２４２から与えられた情報を用いて復号値ｍ’｜ｄｅｃ’を得る。ここで、復号能力提供装置２４への復号値ｍ’｜ｄｅｃ’の漏洩を避けるために、復号能力提供部２４２に与えられる「第１暗号文Ｃ２１に対応する情報」は第１暗号文Ｃ２１をかく乱した情報であることが望ましい。なお、ステップＳ２１０，Ｓ２１１の具体例は、ｘ＝Ｃ２１とし、秘密鍵ｓｋ＝ｓｋｃｏｍとし、自己訂正処理部１３４を自己訂正処理部２３４に置換し、復号能力提供部１４２を復号能力提供部２４２に置換して行われる、前述の「自己訂正技術を用いたクラウド鍵管理型の復号処理の具体例」である。
【００５６】
非準同型性処理部２３５は、第１暗号文Ｃ２１の復号値ｍ’｜ｄｅｃ’と付加値ｔａｇとを用いた非準同型性演算を行い、第２暗号文Ｃ２の復号値ｍ’を出力する（ステップＳ２１２）。例えば、非準同型性処理部２３５は、復号値ｍ’｜ｄｅｃ’と第２暗号文Ｃ２＝（ｃｏｍ，Ｃ２１，ｔａｇ）に含まれる識別子ｃｏｍと付加値ｔａｇとを入力とし、Ｒ（ｐｕｂ，ｃｏｍ，ｄｅｃ’）→ｒ’によってｒ’を得、ｒ’≠｛⊥｝であればＶｅｆｙ（ｒ’，Ｃ２１，ｔａｇ）≠｛⊥｝であるかを判定し、Ｖｅｆｙ（ｒ’，Ｃ２１，ｔａｇ）≠｛⊥｝であればｍ’を出力する。その他の場合にはエラー終了する。
【００５７】
［第３実施形態］
第３実施形態を説明する。第３実施形態は、前述の＜第２暗号文の例２＞に基づくものである。本形態の第１暗号文は、平文ｍとランダム値ｓｅｅｄを含む情報とに由来する値ＭＳ＝Ｅｎｃｏｄｅ（ｍ，Ｐ）を暗号化して得られる値Ｃ３１であり、付加値はランダム値ｓｅｅｄである。
【００５８】
＜構成＞
図１に例示するように、第３実施形態のセキュリティシステム３は、鍵生成装置３１、暗号化装置３２、復号装置３３、および復号能力提供装置３４を有し、これらはネットワークを通じて情報のやり取りが可能なように構成されている。なお、説明の簡略化のため、図１では、鍵生成装置３１、暗号化装置３２、復号装置３３、および復号能力提供装置３４を１個ずつ図示しているが、これらの少なくとも一部の装置が複数個存在していてもよい。
【００５９】
図８に例示するように、本形態の暗号化装置３２は、記憶部３２１、ランダム値生成部３２２、準同型性暗号化部３２４、非準同型性処理部３２５、変換部３２６、および出力部３２８を有する。図９に例示するように、本形態の復号装置３３は、入力部３３１、記憶部３３２、復元部３３３、自己訂正処理部３３４、非準同型性処理部３３５、出力部２３６、および変換部３３７を有する。図９に例示するように、本形態の復号能力提供装置３４は、記憶部３４１、および復号能力提供部３４２を有する。鍵生成装置３１、暗号化装置３２、復号装置３３、および復号能力提供装置３４は、それぞれ、例えば、前述のコンピュータに所定のプログラムが読み込まれることで構成された装置である。各処理部から出力された情報は、図示していない一時メモリに格納され、必要に応じて読み出されて各処理部の処理に用いられる。
【００６０】
＜処理＞
鍵生成装置３１が、鍵生成アルゴリズムＫｅｙＧｅｎ（１λ）を実行し、公開鍵ｐｋと秘密鍵ｓｋとを得る。公開鍵ｐｋは暗号化装置３２（図８）の記憶部３２１に格納される。さらに公開鍵ｐｋはその他の装置にも設定される。秘密鍵ｓｋは復号能力提供装置３４（図９）の記憶部３４１に安全に格納される。参考文献５の例では、公開鍵ｐｋはＲＳＡ公開鍵（ｅ，ｎ）であり、秘密鍵ｓｋはＲＳＡ公開鍵（ｅ，ｎ）に対応するＲＳＡ秘密鍵（ｎ，ｄ）である。また、鍵生成装置３１はエンコーディングパラメータＰを出力する。エンコーディングパラメータＰは、暗号化装置３２の記憶部３２１および復号能力提供装置３４の記憶部３４１に格納される。
【００６１】
その後、図１０に例示するように、暗号化装置３２のランダム値生成部３２２および非準同型性処理部３２５が、平文ｍ、および記憶部３２１から読み出したエンコーディングパラメータＰを入力とし、非準同型性演算Ｅｎｃｏｄｅ（ｍ，Ｐ）→ＭＳを行ってＭＳを得る。すなわち、ランダム値生成部３２２がランダム値ｓｅｅｄを生成し（ステップＳ３０１）、非準同型性処理部３２５が、平文ｍ、ランダム値ｓｅｅｄ、エンコーディングパラメータＰに対応する非準同型性演算を行ってＭＳ＝Ｅｎｃｏｄｅ（ｍ，Ｐ）を得る。例えば、非準同型性処理部３２５は、以下のようにＭＳを得る。
ｐＨａｓｈ＝Ｈａｓｈ（Ｐ）
ＤＢ＝ｐＨａｓｈ｜ＰＳ｜０１｜ｍ
ｄｂＭａｓｋ＝ＭＧＦ(ｓｅｅｄ)
ｍａｋｅｄＤＢ＝ＤＢ（＋）ｄｂＭａｓｋ
ｓｅｅｄＭａｓｋ＝ＭＧＦ（ｍａｋｅｄＤＢ）
ｍａｓｋｅｄＳｅｅｄ＝ｓｅｅｄ（＋）ｓｅｅｄＭａｓｋ
ＥＭ＝ｍａｓｋｅｄＳｅｅｄ｜ｍａｓｋｅｄＤＢ
ＭＳ＝ＯＳ２ＩＰ（ＥＭ）
ただし、ＨａｓｈはＰのハッシュ関数を表し、ＰＳは零ビット列であり、ＭＧＦはマスク生成関数であり、Ａ（＋）ＢはＡとＢとの排他的論理和を表し、ＯＳ２ＩＰは変換関数である（ステップＳ３０２）。
【００６２】
準同型性暗号化部３２４は、ＭＳ（平文ｍとランダム値ｓｅｅｄを含む情報とに由来する値）、および記憶部３２１から読み出した公開鍵ｐｋを入力とし、Ｅｎｃ（ｐｋ，ＭＳ）→Ｃ３１によってＭＳを暗号化して第１暗号文Ｃ３１を得て出力する（ステップＳ３０３）。第１暗号文Ｃ３１は、準同型性演算によって復号可能な暗号文である。
【００６３】
変換部３２６は第１暗号文Ｃ３１を入力として、それを変換関数ＩＳＯＳＰに入力して暗号文Ｃ３＝Ｉ２ＯＳＰ（Ｃ３１）を得て出力する（ステップＳ３０５）。暗号文Ｃ３はネットワークを通じて復号装置３３に送られる。
【００６４】
暗号文Ｃ３は復号装置３３（図３）の入力部３３１に入力され、記憶部３３２に格納される（ステップＳ３０６）。変換部３３７は、記憶部３３２から暗号文Ｃ３を読み出し、それをＩ２ＯＳＰの逆変換関数ＯＳ２ＩＰに入力して第１暗号文Ｃ３１＝ＯＳ２ＩＰ（Ｃ３）を得て出力する（ステップＳ３０７）。
【００６５】
自己訂正処理部３３４は、第１暗号文Ｃ３１を入力とし、第１暗号文Ｃ３１を復号するための秘密鍵（復号鍵）ｓｋを保持する復号能力提供装置３４の復号能力提供部３４２との間で自己訂正処理（自己訂正技術を用いたクラウド鍵管理型の復号処理）を行い、第１暗号文Ｃ３１の復号値ＭＳ＝Ｄｅｃ（ｓｋ，Ｃ３１）を得て出力する（ステップＳ３１０，Ｓ３１１）。
【００６６】
すなわち、自己訂正処理部３３４は、第１暗号文Ｃ３１に対応する情報を復号能力提供装置３４の復号能力提供部３４２に与え、かつ、秘密鍵（復号鍵）ｓｋの情報を復号能力提供装置３４から得ることなく、自己訂正処理部３３４で第１暗号文Ｃ３１の復号値ＭＳを得るための情報を復号能力提供装置３４から得る。言い換えると、復号能力提供装置３４の復号能力提供部３４２は、第１暗号文Ｃ３１に対応する情報を自己訂正処理部３３４から得、秘密鍵ｓｋの情報を復号装置３３に与えることなく、自己訂正処理部３３４が自己訂正処理によって第１暗号文Ｃ３１の復号値ＭＳを得るための情報を自己訂正処理部３３４に対して出力する。自己訂正処理部３３４は、復号能力提供部３４２から与えられた情報を用いて復号値ＭＳを得る。ここで、復号能力提供装置３４への復号値ＭＳの漏洩を避けるために、復号能力提供部３４２に与えられる「第１暗号文Ｃ３１に対応する情報」は第１暗号文Ｃ３１をかく乱した情報であることが望ましい。なお、ステップＳ３１０，Ｓ３１１の具体例は、ｘ＝Ｃ３１とし、自己訂正処理部１３４を自己訂正処理部３３４に置換し、復号能力提供部１４２を復号能力提供部３４２に置換して行われる、前述の「自己訂正技術を用いたクラウド鍵管理型の復号処理の具体例」である。
【００６７】
復元部３３３および非準同型性処理部３３５は、復号値ＭＳ、および記憶部３３２から読み出したエンコーディングパラメータＰを入力とし、準同型性演算Ｄｅｃｏｄｅ（ＭＳ，Ｐ）→ｍによって平文ｍを復元して出力する。すなわち、復元部３３３が、ＭＳから平文ｍに対応する値ｍａｓｋｅｄＤＢとランダム値ｓｅｅｄとを復元し（ステップＳ３１２）、非準同型性処理部３３５がそれらから平文ｍを復元して出力し、出力部３３６が平文ｍを出力する（ステップＳ３１３）。これらの処理は非準同型性演算である。例えば、復元部３３３は、ＯＳ２ＩＰの逆変換関数ＩＳ０ＳＰを用いてＥＭ＝ＩＳ０ＳＰ（ＭＳ）を得、ＥＭをＥＭ＝ｍａｓｋｅｄＳｅｅｄ｜ｍａｓｋｅｄＤＢを満たすｍａｓｋｅｄＳｅｅｄとｍａｓｋｅｄＤＢとに分離し、ｓｅｅｄＭａｓｋ＝ＭＧＦ（ｍａｋｅｄＤＢ）を得、ｓｅｅｄ＝ｍａｓｋｅｄＳｅｅｄ（＋）ｓｅｅｄＭａｓｋを得える（ステップＳ３１２）。非準同型性処理部３３５は、得られたｍａｓｋｅｄＤＢおよびｓｅｅｄを用い、ｄｂＭａｓｋ＝ＭＧＦ(ｓｅｅｄ)を得、ＤＢ＝ｍａｋｅｄＤＢ（＋）ｄｂＭａｓｋを得、ｐＨａｓｈ＝Ｈａｓｈ（Ｐ）を得、ＤＢ＝ｐＨａｓｈ｜ＰＳ｜０１｜ｍを満たす平文ｍを得、出力部３３６が平文ｍを出力する（ステップＳ３１３）。
【００６８】
［その他の変形例等］
なお、本発明は上述の実施の形態に限定されるものではない。例えば、各装置がネットワークを通じて情報をやり取りするのではなく、少なくとも一部の組の装置が可搬型記録媒体を介して情報をやり取りしてもよい。或いは、少なくとも一部の組の装置が非可搬型の記録媒体を介して情報をやり取りしてもよい。すなわち、これらの装置の一部からなる組み合わせが、同一の装置であってもよい。
【００６９】
また自己訂正技術は前述したものに限定されない。例えば、群Ｈが群Ｇの直積群Ｇ×Ｇ、群Ｇが巡回群、巡回群Ｇの生成元がμｇ、第１暗号文ｘ＝（ｃ１，ｃ２），（Ｖ，Ｗ）が群Ｈの元、ｆ（Ｖ，Ｗ）＝Ｙであり、ｒ４〜ｒ７が０以上の自然数の乱数であり、τ１＝（ｃ２ｂＷｒ４，ｃ１ｂＶｒ４μｇｒ５）であり、τ２＝（ｃ２ａＷｒ６，ｃ１ａＶｒ６μｇｒ７）であり、ｕ＝ｚ１Ｙ−ｒ４μｇ−ｒ５、ｖ＝ｚ２Ｙ−ｒ６μｇ−ｒ７であってもよい。
【００７０】
第３実施形態においてエンコーディングパラメータＰが空であってもよい。この場合には、エンコーディングパラメータＰは生成されず、Ｐは空として処理される。また、各実施形態においてビット列がオクテット列であってもよい。
【００７１】
上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
【００７２】
上述の構成をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。このプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体の例は、非一時的な（non-transitory）記録媒体である。このような記録媒体の例は、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等である。
【００７３】
このプログラムの流通は、例えば、そのプログラムを記録したＤＶＤ、ＣＤ−ＲＯＭ等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
【００７４】
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。処理の実行時、このコンピュータは、自己の記録装置に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。
【００７５】
上記実施形態では、コンピュータ上で所定のプログラムを実行させて本装置の処理機能が実現されたが、これらの処理機能の少なくとも一部がハードウェアで実現されてもよい。
【符号の説明】
【００７６】
１，２，３  セキュリティシステム
１１，２１，３１  鍵生成装置
１２，２２，３２  暗号化装置
１３，２３，３３  復号装置
１４，２４，３４  復号能力提供装置
【図１】
2015008607.tif 000003
【図２】
2015008607.tif 000004
【図３】
2015008607.tif 000005
【図４】
2015008607.tif 000006
【図５】
2015008607.tif 000007
【図６】
2015008607.tif 000008
【図７】
2015008607.tif 000009
【図８】
2015008607.tif 000010
【図９】
2015008607.tif 000011
【図１０】
2015008607.tif 000012
【手続補正書】
【提出日】平成27年12月18日(2015.12.18)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】０００９
【補正方法】変更
【補正の内容】
【０００９】
【図１】図１は、実施形態のセキュリティシステムのブロック図である。
【図２】図２は、第１実施形態の暗号化装置のブロック図である。
【図３】図３Ａは、第１実施形態の復号装置および復号能力提供装置のブロック図である。図３Ｂは、第１実施形態の自己訂正処理部および復号能力提供部の詳細を例示するブロック図である。
【図４】図４は、第１実施形態の復号処理を説明するための図である。
【図５】図５は、第２実施形態の暗号化装置のブロック図である。
【図６】図６は、第２実施形態の復号装置および復号能力提供装置のブロック図である。
【図７】図７は、第２実施形態の復号処理を説明するための図である。
【図８】図８は、第３実施形態の暗号化装置のブロック図である。
【図９】図９は、第３実施形態の復号装置および復号能力提供装置のブロック図である。
【図１０】図１０は、第３実施形態の復号処理を説明するための図である。
【手続補正書】
【提出日】平成28年9月9日(2016.9.9)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
準同型性演算によって復号可能な第１暗号文を復号するための復号鍵を保持する復号能力提供装置との間で自己訂正処理を行い、前記第１暗号文の復号値を得る自己訂正処理部と、
前記第１暗号文の復号値と、付加値と、を用いた非準同型性演算を行い、平文を出力する非準同型性処理部と、を有し、
前記第１暗号文は、ランダム値の暗号文であり、
前記第１暗号文の復号値のみから前記平文を得ることは困難であり、
前記自己訂正処理部は、
前記第１暗号文を、かく乱することなく、前記復号能力提供装置に送り、
前記第１暗号文の復号値を前記自己訂正処理によって得るための情報を、前記復号能力提供装置から受け取る、復号装置。
【請求項２】
準同型性演算によって復号可能な第１暗号文を復号するための復号鍵を保持する復号能力提供装置との間で自己訂正処理を行い、前記第１暗号文の復号値を得る自己訂正処理部と、
前記第１暗号文の復号値と、ランダム値である付加値ｓｅｅｄと、を用いた非準同型性演算を行い、平文ｍを出力する非準同型性処理部と、を有し、
ＤＢが前記平文ｍを含むビット列であり、ＭＧＦはマスク生成関数であり、ＯＳ２ＩＰが関数であり、Ａ（＋）ＢはＡとＢとの排他的論理和を表し、Ａ｜ＢはＡとＢとの連結値を表し、
ｄｂＭａｓｋ＝ＭＧＦ(ｓｅｅｄ)、
ｍａｓｋｅｄＤＢ＝ＤＢ（＋）ｄｂＭａｓｋ、
ｓｅｅｄＭａｓｋ＝ＭＧＦ（ｍａｓｋｅｄＤＢ）、
ｍａｓｋｅｄＳｅｅｄ＝ｓｅｅｄ（＋）ｓｅｅｄＭａｓｋ、
ＥＭ＝ｍａｓｋｅｄＳｅｅｄ｜ｍａｓｋｅｄＤＢ、
ＭＳ＝ＯＳ２ＩＰ（ＥＭ）
であり、
前記第１暗号文は、ＭＳを暗号化して得られる値であり、
前記第１暗号文の復号値は、ＭＳであり、
ＩＳ０ＳＰが前記関数ＯＳ２ＩＰの逆関数であり、
前記非準同型性処理部は、
ＥＭ＝ＩＳ０ＳＰ（ＭＳ）を得、
ＥＭをＥＭ＝ｍａｓｋｅｄＳｅｅｄ｜ｍａｓｋｅｄＤＢを満たすｍａｓｋｅｄＳｅｅｄとｍａｓｋｅｄＤＢとに分離し、
ｓｅｅｄＭａｓｋ＝ＭＧＦ（ｍａｓｋｅｄＤＢ）を得、
ｓｅｅｄ＝ｍａｓｋｅｄＳｅｅｄ（＋）ｓｅｅｄＭａｓｋを得、
ｄｂＭａｓｋ＝ＭＧＦ(ｓｅｅｄ)を得、
ＤＢ＝ｍａｓｋｅｄＤＢ（＋）ｄｂＭａｓｋを得、
ＤＢから前記平文ｍを得る、復号装置。
【請求項３】
請求項１または２の復号装置であって、
前記平文は、前記第１暗号文を表す情報と前記付加値を表す情報との連結値である第２暗号文の復号値であり、
前記第１暗号文は、前記第１暗号文の復号値についてＯＷ−ＣＰＡ安全であり、
前記第２暗号文は、前記平文についてＩＮＤ−ＣＣＡ安全である、復号装置。
【請求項４】
準同型性演算によって復号可能な第１暗号文を復号するための復号鍵を保持する記憶部と、
前記第１暗号文の復号値と、付加値と、を用いた非準同型性演算を行って平文を出力する復号装置から、かく乱することなく送られた前記第１暗号文を受け取り、前記復号鍵を用い、前記復号装置に前記復号鍵の情報を与えることなく、前記復号装置が自己訂正処理によって前記第１暗号文の復号値を得るための情報を、前記復号装置に対して出力する復号能力提供部と、
を有し、
前記第１暗号文は、ランダム値の暗号文であり、
前記第１暗号文の復号値のみから前記平文を得ることは困難である、復号能力提供装置。
【請求項５】
請求項４の復号能力提供装置であって、
前記平文は、前記第１暗号文を表す情報と前記付加値を表す情報との連結値である第２暗号文、の復号値であり、
前記第１暗号文は、前記第１暗号文の復号値についてＯＷ−ＣＰＡ安全であり、
前記第２暗号文は、前記平文についてＩＮＤ−ＣＣＡ安全である、復号能力提供装置。
【請求項６】
自己訂正処理部が、準同型性演算によって復号可能な第１暗号文を復号するための復号鍵を保持する復号能力提供装置との間で自己訂正処理を行い、前記第１暗号文の復号値を得る自己訂正処理ステップと、
非準同型性処理部が、前記第１暗号文の復号値と、付加値と、を用いた非準同型性演算を行い、平文を出力する非準同型性処理ステップと、
を有し、
前記第１暗号文は、ランダム値の暗号文であり、
前記第１暗号文の復号値のみから前記平文を得ることは困難であり、
前記自己訂正処理ステップは、
前記自己訂正処理部が、
前記第１暗号文を、かく乱することなく、前記復号能力提供装置に送り、
前記第１暗号文の復号値を前記自己訂正処理によって得るための情報を、前記復号能力提供装置から受け取るステップを含む、復号方法。
【請求項７】
自己訂正処理部が、準同型性演算によって復号可能な第１暗号文を復号するための復号鍵を保持する復号能力提供装置との間で自己訂正処理を行い、前記第１暗号文の復号値を得る自己訂正処理ステップと、
非準同型性処理部が、前記第１暗号文の復号値と、ランダム値である付加値ｓｅｅｄと、を用いた非準同型性演算を行い、平文ｍを出力する非準同型性処理ステップと、
を有し、
ＤＢが前記平文ｍを含むビット列であり、ＭＧＦはマスク生成関数であり、ＯＳ２ＩＰが関数であり、Ａ（＋）ＢはＡとＢとの排他的論理和を表し、Ａ｜ＢはＡとＢとの連結値を表し、
ｄｂＭａｓｋ＝ＭＧＦ(ｓｅｅｄ)、
ｍａｓｋｅｄＤＢ＝ＤＢ（＋）ｄｂＭａｓｋ、
ｓｅｅｄＭａｓｋ＝ＭＧＦ（ｍａｓｋｅｄＤＢ）、
ｍａｓｋｅｄＳｅｅｄ＝ｓｅｅｄ（＋）ｓｅｅｄＭａｓｋ、
ＥＭ＝ｍａｓｋｅｄＳｅｅｄ｜ｍａｓｋｅｄＤＢ、
ＭＳ＝ＯＳ２ＩＰ（ＥＭ）
であり、
前記第１暗号文は、ＭＳを暗号化して得られる値であり、
前記第１暗号文の復号値は、ＭＳであり、
ＩＳ０ＳＰが前記関数ＯＳ２ＩＰの逆関数であり、
前記非準同型性処理ステップは、
前記自己訂正処理部が、
ＥＭ＝ＩＳ０ＳＰ（ＭＳ）を得、
ＥＭをＥＭ＝ｍａｓｋｅｄＳｅｅｄ｜ｍａｓｋｅｄＤＢを満たすｍａｓｋｅｄＳｅｅｄとｍａｓｋｅｄＤＢとに分離し、
ｓｅｅｄＭａｓｋ＝ＭＧＦ（ｍａｓｋｅｄＤＢ）を得、
ｓｅｅｄ＝ｍａｓｋｅｄＳｅｅｄ（＋）ｓｅｅｄＭａｓｋを得、
ｄｂＭａｓｋ＝ＭＧＦ(ｓｅｅｄ)を得、
ＤＢ＝ｍａｓｋｅｄＤＢ（＋）ｄｂＭａｓｋを得、
ＤＢから前記平文ｍを得るステップを含む、復号方法。
【請求項８】
復号能力提供部が、準同型性演算によって復号可能な第１暗号文の復号値と、付加値と、を用いた非準同型性演算を行って平文を出力する復号装置から、かく乱することなく送られた前記第１暗号文に対応する情報を受け取るステップと、
前記復号能力提供部が、前記第１暗号文を復号するための復号鍵を用い、前記復号装置に前記復号鍵の情報を与えることなく、前記復号装置が自己訂正処理によって前記第１暗号文の復号値を得るための情報を、前記復号装置に対して出力するステップと、
を有し、
前記第１暗号文は、ランダム値の暗号文であり、
前記第１暗号文の復号値のみから前記平文を得ることは困難である、復号能力提供方法。
【請求項９】
請求項１から３のいずれかの復号装置としてコンピュータを機能させるためのプログラム。
【請求項１０】
請求項４または５の復号能力提供装置としてコンピュータを機能させるためのプログラム。
【国際調査報告】
2015008607.tif 000013
2015008607.tif 000014
2015008607.tif 000015