IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 日本電信電話株式会社の特許一覧 ▶ サイボウズ・ラボ株式会社の特許一覧

特開2023-101870準同型演算・復号システム、復号装置、復号方法及びプログラム
<>
  • 特開-準同型演算・復号システム、復号装置、復号方法及びプログラム 図1
  • 特開-準同型演算・復号システム、復号装置、復号方法及びプログラム 図2
  • 特開-準同型演算・復号システム、復号装置、復号方法及びプログラム 図3
  • 特開-準同型演算・復号システム、復号装置、復号方法及びプログラム 図4
  • 特開-準同型演算・復号システム、復号装置、復号方法及びプログラム 図5
  • 特開-準同型演算・復号システム、復号装置、復号方法及びプログラム 図6
  • 特開-準同型演算・復号システム、復号装置、復号方法及びプログラム 図7
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023101870
(43)【公開日】2023-07-24
(54)【発明の名称】準同型演算・復号システム、復号装置、復号方法及びプログラム
(51)【国際特許分類】
   G09C 1/00 20060101AFI20230714BHJP
【FI】
G09C1/00 620Z
【審査請求】未請求
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2022002059
(22)【出願日】2022-01-11
(71)【出願人】
【識別番号】000004226
【氏名又は名称】日本電信電話株式会社
(71)【出願人】
【識別番号】506118098
【氏名又は名称】サイボウズ・ラボ株式会社
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100124844
【弁理士】
【氏名又は名称】石原 隆治
(72)【発明者】
【氏名】上野 真奈
(72)【発明者】
【氏名】小林 鉄太郎
(72)【発明者】
【氏名】村上 啓造
(72)【発明者】
【氏名】光成 滋生
(57)【要約】
【課題】準同型演算によって生じるオーバーフローの検知及び対処を可能とすること。
【解決手段】
N個の平文のそれぞれが準同型暗号によって暗号化されたN個の暗号文についての準同型演算処理を実行する準同型演算処理装置と、前記準同型演算処理の結果を復号する復号装置とを含む準同型演算・復号システムにおいて、前記復号装置は、前記準同型演算処理の結果の復号結果を出力する空間を、前記平文の空間よりも大きくして前記準同型演算処理の結果を復号するように構成されている復号回路部と、前記復号結果についてオーバーフローを検知するように構成されているオーバーフロー検知部と、前記オーバーフロー検知部によってオーバーフローが検知された場合に、前記平文の空間の値によって前記復号結果を置き換えるように構成されている置換部と、を有する。
【選択図】図7
【特許請求の範囲】
【請求項1】
N個の平文のそれぞれが準同型暗号によって暗号化されたN個の暗号文についての準同型演算処理を実行する準同型演算処理装置と、前記準同型演算処理の結果を復号する復号装置とを含む準同型演算・復号システムであって、
前記復号装置は、
前記準同型演算処理の結果の復号結果を出力する空間を、前記平文の空間よりも大きくして前記準同型演算処理の結果を復号するように構成されている復号回路部と、
前記復号結果についてオーバーフローを検知するように構成されているオーバーフロー検知部と、
前記オーバーフロー検知部によってオーバーフローが検知された場合に、前記平文の空間の値によって前記復号結果を置き換えるように構成されている置換部と、
を有することを特徴とする準同型演算・復号システム。
【請求項2】
前記復号回路部は、前記準同型演算処理の結果を、前記平文の空間よりも大きな空間に対応するハッシュテーブルを使用して復号するように構成されている、
ことを特徴とする請求項1記載の準同型演算・復号システム。
【請求項3】
前記置換部は、前記平文の空間の最小値又は最大値よって前記復号の結果を置き換えるように構成されている、
ことを特徴とする請求項1又は2記載の準同型演算・復号システム。
【請求項4】
前記平文の空間よりも大きな空間は、Nに応じた大きさの空間である、
ことを特徴とする請求項1乃至3いずれか一項記載の準同型演算・復号システム。
【請求項5】
前記平文は、音声データ、画像データ、動画データ又はホワイトボードである、
ことを特徴とする請求項1乃至4いずれか一項記載の準同型演算・復号システム。
【請求項6】
N個の平文のそれぞれが準同型暗号によって暗号化されたN個の暗号文についての準同型演算処理の結果の復号結果を出力する空間を、前記平文の空間よりも大きくして前記準同型演算処理の結果を復号するように構成されている復号回路部と、
前記復号結果についてオーバーフローを検知するように構成されているオーバーフロー検知部と、
前記オーバーフロー検知部によってオーバーフローが検知された場合に、前記平文の空間の値によって前記復号結果を置き換えるように構成されている置換部と、
を有することを特徴とする復号装置。
【請求項7】
N個の平文のそれぞれが準同型暗号によって暗号化されたN個の暗号文についての準同型演算処理の結果の復号結果を出力する空間を、前記平文の空間よりも大きくして前記準同型演算処理の結果を復号する復号手順と、
前記復号結果についてオーバーフローを検知するオーバーフロー検知手順と、
前記オーバーフロー検知手順においてオーバーフローが検知された場合に、前記平文の空間の値によって前記復号結果を置き換える置換手順と、
をコンピュータが実行することを特徴とする復号方法。
【請求項8】
N個の平文のそれぞれが準同型暗号によって暗号化されたN個の暗号文についての準同型演算処理の結果の復号結果を出力する空間を、前記平文の空間よりも大きくして前記準同型演算処理の結果を復号する復号手順と、
前記復号結果についてオーバーフローを検知するオーバーフロー検知手順と、
前記オーバーフロー検知手順においてオーバーフローが検知された場合に、前記平文の空間の値によって前記復号結果を置き換える置換手順と、
をコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、準同型演算・復号システム、復号装置、復号方法及びプログラムに関する。
【背景技術】
【0002】
多人数の同時接続が想定されるウェブ会議では、会議に参加する各ユーザの端末は直接通信を行わず、通信の仲介を行う中間サーバが使用される。中間サーバはユーザ間(端末間)の鍵の共有や各端末から送信されるデータの処理を行う。
【0003】
エンドツーエンド暗号化(End-to-End Encryption; E2EE)とは、暗号化を使用する利用者のみが鍵を持つことで、ウェブ会議に参加するユーザ以外の第三者が勝手にデータを復号することを防ぐ技術である。ウェブ会議システムにおけるエンドツーエンド暗号化とは、通信時の暗号化のみでなく中間サーバに対しても通信の内容を秘匿する、鍵を持った端末のみが復号できる構成のウェブ会議である。
【0004】
他方において、準同型暗号とは、暗号文が準同型性を有する暗号方式である。準同型暗号は暗号化した状態で加算、乗算を行うことができる性質を持つ暗号であり、加法準同型性を持つ暗号を加法準同型暗号、乗法準同型性を持つ暗号を乗法準同型暗号、加法準同型性と乗法準同型性を両方持つ暗号を完全準同型暗号という。鍵生成、暗号化、復号、準同型演算の4つのアルゴリズムから構成される。
鍵生成:セキュリティパラメータを入力として、秘密鍵skを出力する。また、秘密鍵skを入力として公開鍵pkを出力する。
暗号化:公開鍵pkを用いて入力mを暗号化し、暗号文cを出力する。
復号:秘密鍵skと暗号文cを入力としてmを出力する。
準同型演算:異なる平文m1、m2の暗号文c1、c2を入力とし、cmixed←c1+c2を出力する。
【先行技術文献】
【非特許文献】
【0005】
【非特許文献1】上野 真奈, 光成 滋生, 小林 鉄太郎, 村上 啓造, "準同型暗号を用いたスケーラブルかつE2EEな音声重ね合わせの実装", 1E3-1, CSS2021
【発明の概要】
【発明が解決しようとする課題】
【0006】
本願発明者は、中間サーバが暗号文を復号することなく中間サーバにおける処理を可能とするため、準同型暗号を用いたE2EE音声通話システムの実現について検討した。この場合、中間サーバが準同型演算を行うことになる。多くの場合、暗号文空間は平文空間に対して大きいため、暗号文空間で準同型演算結果がオーバーフローすることはないが、図1に示されるように、準同型演算結果の復号結果が平文空間に収まらない場合がある。オーバーフローの有無は暗号化状態ではわからないため、そのまま復号を行うと、オーバーフローした値の復号は失敗する。例えば、音声重ね合わせにおいてはオーバーフロー箇所がノイズとなる。したがって、準同型演算によって生じるオーバーフローの検知及び対処を可能とする必要がある。
【0007】
本発明は、上記の点に鑑みてなされたものであって、準同型演算によって生じるオーバーフローの検知及び対処を可能とすることを目的とする。
【課題を解決するための手段】
【0008】
そこで上記課題を解決するため、N個の平文のそれぞれが準同型暗号によって暗号化されたN個の暗号文についての準同型演算処理を実行する準同型演算処理装置と、前記準同型演算処理の結果を復号する復号装置とを含む準同型演算・復号システムにおいて、前記復号装置は、前記準同型演算処理の結果の復号結果を出力する空間を、前記平文の空間よりも大きくして前記準同型演算処理の結果を復号するように構成されている復号回路部と、前記復号結果についてオーバーフローを検知するように構成されているオーバーフロー検知部と、前記オーバーフロー検知部によってオーバーフローが検知された場合に、前記平文の空間の値によって前記復号結果を置き換えるように構成されている置換部と、を有する。
【発明の効果】
【0009】
オーバーフローによる復号の失敗に対する対応を可能とすることができる。
【図面の簡単な説明】
【0010】
図1】準同型演算によって生じるオーバーフローを説明するための図である。
図2】第1の実施の形態におけるウェブ会議システムの構成例を示す図である。
図3】第1の実施の形態におけるユーザ端末10のハードウェア構成例を示す図である。
図4】第1の実施の形態におけるユーザ端末10の機能構成例を説明するための図である。
図5】第1の実施の形態における中間サーバ20の第1の機能構成例を説明するための図である。
図6】第1の実施の形態における中間サーバ20の第2の機能構成例を説明するための図である。
図7】第1の実施の形態におけるユーザ端末10の復号部13を説明するための図である。
【発明を実施するための形態】
【0011】
以下、図面に基づいて本発明の実施の形態を説明する。図2は、第1の実施の形態におけるウェブ会議システムの構成例を示す図である。図2において、ユーザ端末10-1~ユーザ端末10-NのN台のユーザ端末10は、インターネット等のネットワークを介して中間サーバ20に接続する。
【0012】
ユーザ端末10は、ウェブ会議の参加者が利用するPC(Personal Computer)等の端末である。
【0013】
中間サーバ20は、ユーザ端末10間の通信の仲介(中継)を行う1以上のコンピュータである。
【0014】
第1の実施の形態のウェブ会議システムでは、音声データに関してエンドツーエンド暗号化(E2EE)が行われる。したがって、ウェブ会議においてやりとりされる音声データは、各ユーザ端末10において暗号化又は復号され、中間サーバ20は音声データの平文を参照することはできない。
【0015】
図3は、第1の実施の形態におけるユーザ端末10のハードウェア構成例を示す図である。図3のユーザ端末10は、それぞれバスBで相互に接続されているドライブ装置100、補助記憶装置102、メモリ装置103、プロセッサ104、及びインタフェース装置105等を有する。
【0016】
ユーザ端末10での処理を実現するプログラムは、CD-ROM等の記録媒体101によって提供される。プログラムを記憶した記録媒体101がドライブ装置100にセットされると、プログラムが記録媒体101からドライブ装置100を介して補助記憶装置102にインストールされる。但し、プログラムのインストールは必ずしも記録媒体101より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置102は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。但し、ユーザ端末10での処理を実現するプログラムは、ブラウザによってダウンロードされてもよい。この場合、当該プログラムはユーザ端末10にインストールされなくてもよい。
【0017】
メモリ装置103は、プログラムの起動指示があった場合に、補助記憶装置102からプログラムを読み出して格納する。プロセッサ104は、CPU若しくはGPU(Graphics Processing Unit)、又はCPU及びGPUであり、メモリ装置103に格納されたプログラムに従ってユーザ端末10に係る機能を実行する。インタフェース装置105は、ネットワークに接続するためのインタフェースとして用いられる。
【0018】
図4は、第1の実施の形態におけるユーザ端末10の機能構成例を説明するための図である。図4において、ユーザ端末10は、暗号化部11、通信部12及び復号部13を有する。これら各部は、ユーザ端末10にインストールされた1以上のプログラムが、プロセッサ104に実行させる処理により実現される。又は、これら各部は、専用の回路を用いて実現されてもよい。
【0019】
暗号化部11は、平文となる音声データである入力mnを暗号鍵を用いて暗号化し、暗号文E(mn)を出力する(mn=m1~mN)。本実施の形態において、平文となる音声データは、非圧縮のWAVファイル形式である。WAVファイル形式の音声データは、ヘッダとデータブロックで構成される。データブロックは1つあたりのデータ長が16bitの符号付き整数型で記述されている。すなわち、入力となる平文は-2^15<=m<2^15の整数値である。WAVファイル形式の音声重ねあわせは各音声データブロックの単純加算で行うことができる。すなわち、暗号化済み音声データの単純な重ね合わせを行うために暗号方式に必要な性質は加法準同型性である。
【0020】
なお、音声の調整などの処理が入る場合は乗算を使用する必要がある。例えば、ユーザが全体の音声を2倍するように指示したい場合などは、音声データとは別に2という値を暗号化したファイルを追加で送り、乗算を行うなどの用途が考えられる。
【0021】
したがって、暗号化部11は、加法準同型暗号又は完全準同型暗号を使用して入力mの暗号化を行う。
【0022】
通信部12は、暗号文E(mn)を中間サーバ20へ送信するとともに、中間サーバ20から送信される、各ユーザ端末10からの暗号文E(mn)の重ね合わせ処理の結果であるE(mMix)を中間サーバ20から受信する。
【0023】
復号部13は、E(mMix)を復号し、mFixを出力する。mFixは、mMixの復号結果が入力の平文(mn)の空間に収まる範囲の値であればmMixと同じ値であり、そうでない場合には、当該範囲の最小値又は最大値である。
【0024】
図5は、第1の実施の形態における中間サーバ20の第1の機能構成例を説明するための図である。図5において、中間サーバ20は、通信部21及び処理部22を有する。これら各部は、中間サーバ20にインストールされた1以上のプログラムが、中間サーバ20のプロセッサに実行させる処理により実現される。
【0025】
通信部21は、各ユーザ端末10から送信される、暗号化された複数の入力E(m1)~E(mN)を受信し、E(m1)~E(mN)を処理部22に入力する。通信部21は、また、処理部22から出力されるE(mMix)を各ユーザ端末10へ送信する。
【0026】
処理部22は、通信部21から入力される複数の暗号入力E(m1)~E(mN)について、暗号化したまま重ね合わせ処理を行い、E(mMix)を出力する。
【0027】
なお、上記では、処理部22の出力が1つである例を説明したが、図6に示すように、処理部22の出力は複数であってもよい。
【0028】
図6は、第1の実施の形態における中間サーバ20の第2の機能構成例を説明するための図である。図6中、図5と同一又は対応する部分には同一符号を付す。図6では、図5と異なる点についてのみ説明する。
【0029】
図6において、処理部22は、通信部21から入力される複数の暗号入力E(m1)~E(mN)について、暗号化したまま準同型演算処理を行い、E(mMix1)~E(mMixN')を出力する。一例として、当該準同型演算処理として重ね合わせ処理が実行される。なお、NとN'の値は独立した値である。
【0030】
この場合、通信部21は、各ユーザ端末10のそれぞれに対して同じE(mMix1)~E(mMixN')を送信してもよいし、ユーザ端末10ごとに送信対象を変えてもよい。
【0031】
図7は、第1の実施の形態におけるユーザ端末10の復号部13を説明するための図である。図7において、復号部13は、復号回路部131、オーバーフロー検知部132及びミキシング部133を含む。
【0032】
復号回路部131は、入力E(mMix)を暗号鍵を用いて復号し、復号結果mMixを出力する。
【0033】
暗号化によって、暗号化対象のデータに応じてビット数(音声データであれば16ビット)の整数mが暗号化される。一般的な暗号方式は暗号化状態ではその平文を知ることができない。よって、暗号文同士の準同型演算結果の平文がオーバーフローしていても、復号をしない限りは検知できない。暗号文空間(暗号文の範囲)は平文空間(平文の範囲)よりも非常に大きく、暗号文空間におけるオーバーフローは考慮しなくても良い。
【0034】
本実施の形態では、入力平文空間を"はみ出た"値の復号を正しく行うため、復号回路部131の出力の空間(出力の値の範囲)を接続ユーザ数Nに応じて入力の平文空間より大きく取る。例えば、入力される平文が16ビットの符号付き整数型の場合、2つの(二人分の)データの単純な加算結果を全て表現するためには最大で17ビット必要になり、1024個の(1024人分の)データの単純な加算結果を全て表現するためには最大で25ビット必要になる。すなわち、N人の音声データの単純加算結果全てを表現するには16+(N-1)ビット必要になる。復号時は復号結果として入力の平文空間の2^(N-1)倍の範囲を表現可能な空間を復号回路部131の出力の空間とする。
【0035】
また、準同型演算として乗法を用いる場合、復号回路部131は、復号結果の出力空間を入力平文空間のN'乗大きくとる。ここでN'は暗号化状態で行う準同型乗算の回数である。
【0036】
なお、平文空間のX倍の空間とは、その最小値が平文空間の最小値のX倍の値であり、その最大値が平文空間の最大値のX倍の値である空間である。すなわち、当該空間は、平文空間の最小値のX倍の値から平文空間の最大値のX倍の値までの範囲を表現可能な空間である。
【0037】
上記を実現するために、復号回路部131は、復号結果の出力空間を入力の平文空間よりも大きくして復号を行う。
【0038】
一例として、音声データ(16ビット符号付整数)の暗号化を楕円Lifted ElGamal暗号方式を用いて実行する場合についてより具体的に説明する。楕円Lifted ElGamal暗号の復号は、(1)暗号文Cから平文を楕円曲線上に移した点Mに変換する処理、(2)楕円曲線上の点Mを平文mに変換する処理の2段階で構成される。(2)の処理は離散対数問題と呼ばれ、これを解く過程では専用のテーブル(ハッシュテーブル)が利用される。従来法においては、入力平文は16ビットであり、また加算などの処理を行わない場合についてはこのハッシュテーブルは16ビットの入力に対応した分サイズが確保されていた。復号回路部131は、このハッシュテーブルのサイズを入力の平文空間のサイズより大きなサイズに対応させることで、オーバーフローした値であっても復号を行い、検知及び対処を可能とする。
【0039】
簡単な例で説明すると、平文空間が{0,1}であり、暗号化状態での加算を1回行う場合においては、出力のパターンは{0,1,2}になるので、その3つのパターン分の楕円点と平文の対応ハッシュテーブルを持つことで、復号回路部131の出力空間を入力の平文空間より大きく取ることができる。楕円Lifted ElGamal暗号においてはハッシュテーブルが出力空間すべてを網羅していなくても(2)の変換を行うことができるが、出力値がハッシュテーブルに存在しない値である場合に変換の処理速度が落ちるため、出力空間すべてを網羅可能なハッシュテーブルが確保されるのが望ましい。通常の暗号では平文空間が非常に大きく、出力空間全体のハッシュテーブルを持つことは困難であるが、非圧縮音声データの入力のバリエーションは2^16しかなく、また、1000人接続時の出力空間を最大にとってもそのバリエーションは2^25程度しかないため、可能である。
【0040】
オーバーフロー検知部132は、復号回路部131の出力である復号結果mMixを平文空間の最大値及び最小値と比較することで、オーバーフローを検知する。オーバーフロー検知部132は、復号回路部131の出力結果が最大値を超える場合は正のオーバーフローフラグを立てる。オーバーフロー検知部132は、また、復号回路部131の出力結果が最小値を下回る場合は負のオーバーフローフラグを立てる。
【0041】
ミキシング部133は、復号回路部131からの出力(復号結果)を入力の形式に整える。具体的には、ミキシング部133は、正のオーバーフローフラグが立っている場合、復号結果を平文の最大値(16ビット符号付き整数型の場合32767)で置き換えて出力する。また、負のオーバーフローフラグが立っている場合、ミキシング部133は、復号結果を平文の最小値(16ビット符号付き整数型の場合-32768)で置き換えて出力する。オーバーフローフラグが立っていない場合はそのままの値を出力する。
【0042】
上述したように、第1の実施の形態によれば、準同型演算によって生じるオーバーフローの検知及び対処を可能とすることができる。その結果、準同型演算結果を正しく高速に復号することができる。また、オーバーフローの検知を絶対値ではなく、符号付きで行うことで、最大値又は最小値への置き換えを正確におこなうことができ、出力のノイズを軽減することができる。
【0043】
次に、第2の実施の形態について説明する。第2の実施の形態では主に第1の実施の形態と異なる点について説明する。第2の実施の形態において特に言及されない点については、第1の実施の形態と同様でもよい。
【0044】
第2の実施の形態では、平文mがウェブ会議システムにおけるホワイトボードの画像又はビデオデータ(以下、単に「画像データ」という。)である例について説明する。
【0045】
平文となる画像データは非圧縮のものとする。また、1フレームは縦横に並んだピクセルで構成され、各ピクセルは2値で表現されるものとする。ここでは2値を白又は黒とし、それぞれを0、1とする。入力平文の1ピクセルは1ビットで表されるものとする。2値画像の重ね合わせはピクセルごとの加算で実現できる。また、二値動画像又は動画の重ね合わせ及びホワイトボードは、フレームごとに各ピクセルの値の加算を行うことで実現することができる。すなわち、暗号化済み2値の重ね合わせを行うために、暗号方式に必要な性質は加法準同型性である。そのため、暗号化部11は、加法準同型暗号又は完全準同型暗号を使用する。
【0046】
暗号化部11による暗号化によって1ビットの整数mが暗号化される。一般的な暗号方式は暗号化状態ではその平文を知ることができない。よって、暗号文同士の準同型演算結果の平文がオーバーフローしていても、復号をしない限りは検知できない。暗号文空間は平文空間よりも非常に大きいため、暗号文空間におけるオーバーフローは考慮しなくても良い。
【0047】
本実施の形態では、入力平文空間を"はみ出た"値の復号を正しく行うため、復号回路部131の出力の空間を接続ユーザ数に応じて入力の平文空間より大きく取る。
【0048】
入力される平文が1ビットの符号なし整数型の場合、2つのデータの単純な加算結果が取りうる値は{0,1,2}である。N人の画像データの単純加算結果の最大値は2Nである。復号時は復号結果として入力の平文空間のN倍の値の範囲を復号回路部131の出力の空間とする。また、準同型演算として乗法を用いる場合、復号結果の出力空間は入力平文空間のN'乗大きくとる。ここでN'は暗号化状態で行う準同型乗算の回数である。
【0049】
オーバーフロー検知部132は、復号回路部131の出力(復号結果)を平文空間の最大値と比較する。オーバーフロー検知部132は、復号結果が最大値を超える場合はオーバーフローフラグを立てる。なお、第2の実施の形態では、正整数のみの加算又は乗算であるため、最小値との比較は不要である。
【0050】
ミキシング部133は、オーバーフローフラグが立っている場合、復号結果を平文の最大値(入力1bitでは1)で置き換えて出力する。オーバーフローフラグが立っていない場合、ミキシング部133は、復号結果のそのままの値を出力する。
【0051】
上述したように、第2の実施の形態によれば、2値の画像データについて、第1の実施の形態と同様の効果を得ることができる。
【0052】
次に、第3の実施の形態について説明する。第3の実施の形態では主に第2の実施の形態と異なる点について説明する。第3の実施の形態において特に言及されない点については、第2の実施の形態と同様でもよい。
【0053】
第3の実施の形態では、平文となる画像データ(ホワイトボードの画又はビデオデータ)は非圧縮のものとする。また、1フレームは縦横に並んだピクセルで構成され、各ピクセルは{0,1,2,…,(N-1)}の値で表現されるものとする。また、0を白、N-1を黒とし、その間の値は値に比例して線形的に濃くなっていくグレーの値とする。
【0054】
以降、1ピクセルあたりの表現に8bitを用いるものとすると、白を0、黒を255で表現し、その中間色であるグレーは254階調で表現される。すなわち、入力平文の空間が{0,1,2,…,255}であるものとする。このような白と黒とその中間色であるグレーで表現される画像を「グレースケール画像」と表現する。
【0055】
グレースケール画像データの重ね合わせは、各フレームで各ピクセルの値を加算することで実現できる。すなわち、暗号化済みグレースケール画像の重ね合わせを行うために、暗号方式に必要な性質は加法準同型性である。そのため、暗号化部11は、加法準同型暗号又は完全準同型暗号を使用する。
【0056】
暗号化によって8ビットの符号なし整数値mが暗号化される。一般的な暗号方式は暗号化状態ではその平文を知ることができない。よって、暗号文同士の準同型演算結果の平文がオーバーフローしていても、復号をしない限りは検知できない。暗号文空間は平文空間よりも非常に大きいため、暗号文空間におけるオーバーフローは考慮しなくても良い。
【0057】
本実施の形態では入力平文空間を"はみ出た"値の復号を正しく行うため、復号回路部131の出力の空間を接続ユーザ数に応じて入力の平文空間より大きく取る。
【0058】
入力される平文が8ビットの符号なし整数型の場合、2つのデータの単純な加算結果が取りうる値は{0,1,2,3,…,510}である。Nu人のグレースケール画像データの単純加算結果の最大値は2Nuである。復号時は復号結果として入力のメッセージ空間のNu倍の値を復号回路部131の出力の空間とする。また、準同型演算として乗法を用いる場合、復号結果の出力空間は入力空間のN'乗大きくとる。ここでN'は暗号化状態で行う準同型乗算の回数である。
【0059】
オーバーフロー検知部132は、復号回路部131の出力(復号結果)を平文空間の最大値と比較する。オーバーフロー検知部132は、復号結果が最大値を超える場合はオーバーフローフラグを立てる。
【0060】
ミキシング部133は、オーバーフローフラグが立っている場合、復号結果を平文の最大値(入力8bitでは255)で置き換えて出力する。オーバーフローフラグが立っていない場合、ミキシング部133は、復号結果のそのままの値を出力する。
【0061】
上述したように、第3の実施の形態によれば、グレースケール画像について、第1の実施の形態と同様の効果を得ることができる。
【0062】
次に、第4の実施の形態について説明する。第4の実施の形態では主に第2の実施の形態と異なる点について説明する。第4の実施の形態において特に言及されない点については、第2の実施の形態と同様でもよい。
【0063】
第4の実施の形態では、平文となる画像データ(ホワイトボードの画像又はビデオデータ)は非圧縮のものとする。また、1フレームは縦横に並んだピクセルで構成され、各ピクセルはRGBで表現されるものとする。RGBは、それぞれ0以上かつ255以下の整数値で表現される。説明のため、ビットマップ形式に準拠して1ピクセルあたりの1色あたりが1byte、1ピクセルあたりRGBと予備の1byteの計4byteで表されるものとする。RGB画像の重ね合わせでは、各ピクセルで各色のパラメータを加算することで実現できる。すなわち、暗号化済みRGB動画の重ね合わせを行うために、暗号方式に必要な性質は加法準同型性である。そのため、暗号化部11は、加法準同型暗号又は完全準同型暗号を使用する。
【0064】
入力平文をm=(m、m、m、m)とする。ここで、m、m、m、mは、それぞれ暗号化するピクセルのRGBの値と予約ビットであり、それぞれが1byteで表現される。これらの値の加算は独立して行う必要があるため、暗号化部11は、m、m、m、mに対して独立に暗号化を行い、処理部22は、m、m、m、mに対して独立に加算を行う。一般的な暗号方式は暗号化状態ではその平文を知ることができない。よって、暗号文同士の準同型演算結果の平文がオーバーフローしていても、復号をしない限りは検知できない。暗号文空間は平文空間よりも非常に大きいため、暗号文空間におけるオーバーフローは考慮しなくても良い。
【0065】
本実施の形態では入力平文空間を"はみ出た"値の復号を正しく行うため、復号回路部131の出力の空間を接続ユーザ数に応じて入力の平文空間より大きく取る。
【0066】
オーバーフロー検知部132は、復号回路部131の出力(復号結果)を平文空間の最大値と比較する。オーバーフロー検知部132は、復号結果が最大値を超える場合はオーバーフローフラグを立てる。
【0067】
ミキシング部133は、オーバーフローフラグが立っている場合、復号結果を平文の最大値で置き換えて出力する。オーバーフローフラグが立っていない場合、ミキシング部133は、復号結果のそのままの値を出力する。
【0068】
上述したように、第4の実施の形態によれば、RGBの画像データについて、第1の実施の形態と同様の効果を得ることができる。
【0069】
なお、上記各実施形態において、ユーザ端末10は、復号装置の一例である。中間サーバ20は、準同型演算処理装置の一例である。ミキシング部133は、置換部の一例である。
【0070】
以上、本発明の実施の形態について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【0071】
10 ユーザ端末
11 暗号化部
12 通信部
13 復号部
20 中間サーバ
21 通信部
22 処理部
100 ドライブ装置
101 記録媒体
102 補助記憶装置
103 メモリ装置
104 プロセッサ
105 インタフェース装置
131 復号回路部
132 オーバーフロー検知部
133 ミキシング部
B バス
図1
図2
図3
図4
図5
図6
図7