(57)【特許請求の範囲】
【請求項１】
量子暗号通信システムにおいて量子暗号の秘匿性増強処理を行う秘匿性増強処理演算装置であって、
入力されたｉビットの訂正鍵ｘとｎ×ｉビット(但しｉ，ｎは正の整数でｉ≦ｎ)の第１の疎行列との乗算を行い、ｎビットの変形訂正鍵ｙを生成する鍵攪拌部と、
ｎ×ｎビットの循環行列を指定するｎビットの乱数ｖおよび前記ｎビットの変形訂正鍵ｙのそれぞれに高速フーリエ変換を施しさらに畳み込み演算を行うことで、前記ｎ×ｎビットの循環行列を用いることなく前記ｎ×ｎビットの循環行列による線形演算を行って前記ｎ×ｎビットの循環行列と前記ｎビットの変形訂正鍵ｙとの乗算を行う演算部と、
前記演算部で得られた演算結果のｎビットのビット列とｋ×ｎビット(但しｋは正の整数でｋ＜ｉ≦ｎ)の第２の疎行列との乗算を行い、ｋビットの秘密鍵を生成するビット長短縮部と、
を備えたことを特徴とする秘匿性増強処理演算装置。
【請求項２】
演算部において、ｎビットの乱数ｖで定まるｎ×ｎビットの循環行列とｎビットの変形訂正鍵ｙとの乗算を、下記式により行う
Ｃ(ｖ)ｙ＝Ｆ−１ｄｉａｇ(Ｆｖ)Ｆｙ
但し
Ｃ(ｖ)      ：乱数ｖ(ｎビット)で定まる循環行列(ｎ×ｎビット)
ｙ          ：変形訂正鍵(ｎビット)
Ｆ          ：離散フーリエ変換行列
Ｆ−１        ：逆離散フーリエ変換行列
ｄｉａｇ(Ｆｖ)Ｆｙ：Ｆｖ、Ｆｙの畳み込み演算
ことを特徴とする請求項１に記載の秘匿性増強処理演算装置。
【請求項３】
演算部において、Ｆｙ、Ｆｖ、ｄｉａｇ(Ｆｖ)Ｆｙ、Ｆ−１ｄｉａｇ(Ｆｖ)Ｆｙの値を順次計算し、Ｆｙ、Ｆｖ、Ｆ−１ｄｉａｇ(Ｆｖ)Ｆｙの値は高速フーリエ変換アルゴリズムおよび逆高速フーリエ変換アルゴリズムに従って計算することを特徴とする請求項２に記載の秘匿性増強処理演算装置。
【請求項４】
少なくとも演算部がコンピュータで構成されることを特徴とする請求項１から３までのいずれか１項に記載の秘匿性増強処理演算装置。
【請求項５】
演算部が、
高速フーリエ変換器と、
逆高速フーリエ変換器と、
畳み込み演算器と、
ｎビットの変形訂正鍵ｙを前記高速フーリエ変換器に入力して前記ｎビットの変形訂正鍵ｙの高速フーリエ変換を行わせ、離散フーリエ変換行列Ｆと前記ｎビットの変形訂正鍵ｙとの乗算を行いＦｙを求めるＦｙ計算部と、
ｎビットの乱数ｖを前記高速フーリエ変換器に入力して前記ｎビットの乱数ｖの高速フーリエ変換を行わせ、離散フーリエ変換行列Ｆと前記ｎビットの乱数ｖとの乗算を行いＦｖを求めるＦｖ計算部と、
乗算結果Ｆｙ，Ｆｖを前記畳み込み演算器に入力してＦｙ，Ｆｖの畳み込み演算(ｄｉａｇ)を行わせ、ｄｉａｇ(Ｆｖ)Ｆｙを求めるｄｉａｇ(Ｆｖ)Ｆｙ計算部(２−３ａ)と、
畳み込み演算結果ｄｉａｇ(Ｆｖ)Ｆｙを前記逆高速フーリエ変換器に入力してｄｉａｇ(Ｆｖ)Ｆｙの逆高速フーリエ変換を行わせ、逆離散フーリエ変換行列Ｆ−１とｄｉａｇ(Ｆｖ)Ｆｙとの乗算を行いＦ−１ｄｉａｇ(Ｆｖ)Ｆｙを求めるＦ−１ｄｉａｇ(Ｆｖ)Ｆｙ計算部と、
を備えたことを特徴とする請求項１に記載の秘匿性増強処理演算装置。
【請求項６】
ｎビットの乱数ｖを発生する乱数発生器を備えたことを特徴とする請求項１から５までのいずれか１項に記載の秘匿性増強処理演算装置。
【請求項７】
ｉビットの訂正鍵およびｎビットの乱数ｖを入力する入力部と、
前記ｉビットの訂正鍵およびｎビットの乱数ｖを格納する記憶部と、
をさらに備え、
鍵攪拌部および演算部により前記記憶部からそれぞれ前記ｉビットの訂正鍵、ｎビットの乱数ｖが読み出されることを特徴とする請求項１から６までのいずれか１項に記載の秘匿性増強処理演算装置。
【請求項８】
秘密鍵を生成するためのビット列を受信する受信機と、
受信された前記ビット列からふるい鍵、さらに前記ふるい鍵から訂正鍵を生成する量子暗号装置と、
前記訂正鍵から秘匿性増強処理が施された秘密鍵を生成する請求項１から７までのいずれか１項に記載の秘匿性増強処理演算装置と、
前記秘密鍵により送信情報を暗号化して送信機から送信する、又は受信機で受信された受信情報の復号化を行う暗号化／復号化手段と、
を備えたことを特徴とする量子暗号通信端末。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、送信者と受信者の二者間で、量子暗号により共有した秘密鍵を用いた通信を行う量子暗号通信システム、特に鍵の盗聴者に漏れた情報を無効化する秘匿性増強処理演算装置およびこれを備えた量子暗号通信端末に関する。
【背景技術】
【０００２】
量子暗号を行うと、通信を行う二者間で秘密鍵を共有することができる。通信を行う二者は、予め通信により送られてくるふるい(篩)鍵を誤り訂正処理して訂正鍵(reconciled key)を生成し、さらにこの訂正鍵に秘匿性増強処理を施して秘密鍵を生成する。しかし秘密鍵の元になるふるい鍵が通信を行う二者へ供給される際の通信途中で第三者による盗聴が行われると、共有する鍵には部分的に盗聴者に漏れた情報が含まれるので安全ではない。そこで、この部分的に漏れた情報を無効化する処理(秘匿性増強処理)が必要である。
【０００３】
従来の秘匿性増強処理は、共有した訂正鍵にランダムな行列を掛け、さらに鍵の一部を削除することによって、上記効果を実現していた。また、ランダムな行列の他に、ランダムなテプリッツ(Toeplitz)行列(左から右の各下降対角線に沿って要素が一定であるような行列)を用いることで、同様の安全性が保たれることが示されている(下記非特許文献１，２参照)。この秘匿性増強処理アルゴリズムにかかる計算量はＯ(ｎ２)である。ここで、ｎは始めに共有した訂正鍵の長さである。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】国際公開第２００８／０１３００８号パンフレット
【非特許文献】
【０００５】
【非特許文献１】M. Hayashi著,”Upper bounds of eavesdropper's performances in finite-length code with decoy method,”Physical Review A, 76, 012329 (2007)
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら従来技術では、量子暗号において鍵の有限長効果という問題が知られている(上記非特許文献１)。これは、長さが有限である秘密鍵の安全性を保障するためには、秘匿性増強の処理単位、即ち、訂正鍵の長さｎを十分に大きく取らなければならないというものである。これまでの研究により、訂正鍵の長さを例えば１Ｍビット以上に取れば問題がないことが分かっている。
【０００７】
しかしながら従来の秘匿性増強処理のアルゴリズムでは、計算量がＯ(ｎ２)であるため、ｎ＝１Ｍビットとすると計算量が非常に大きくなり現実的ではない。
【０００８】
この発明は、上記の課題を解決するためになされたものであり、秘匿性増強処理にかかる計算量を低減した秘匿性増強処理演算装置等を提供することを目的とする。
【課題を解決するための手段】
【０００９】
この発明は、量子暗号通信システムにおいて量子暗号の秘匿性増強処理を行う秘匿性増強処理演算装置であって、入力されたｉビットの訂正鍵ｘとｎ×ｉビット(但しｉ，ｎは正の整数でｉ≦ｎ)の第１の疎行列との乗算を行い、ｎビットの変形訂正鍵ｙを生成する鍵攪拌部と、ｎ×ｎビットの循環行列を指定するｎビットの乱数ｖおよび前記ｎビットの変形訂正鍵ｙのそれぞれに高速フーリエ変換を施しさらに畳み込み演算を行うことで、前記ｎ×ｎビットの循環行列を用いることなく前記ｎ×ｎビットの循環行列による線形演算を行って前記ｎ×ｎビットの循環行列と前記ｎビットの変形訂正鍵ｙとの乗算を行う演算部と、前記演算部で得られた演算結果のｎビットのビット列とｋ×ｎビット(但しｋは正の整数でｋ＜ｉ≦ｎ)の第２の疎行列との乗算を行い、ｋビットの秘密鍵を生成するビット長短縮部と、を備えたことを特徴とする秘匿性増強処理演算装置にある。
【発明の効果】
【００１０】
この発明では、秘匿性増強処理にかかる計算量を低減した秘匿性増強処理演算装置等を提供することができる。
【図面の簡単な説明】
【００１１】
【図１】この発明による秘匿性増強処理演算装置の構成を示す図である。
【図２】図１の演算部の詳細構成を示す図である。
【図３】この発明による秘匿性増強処理における線形演算を説明するための図である。
【図４】図１の秘匿性増強処理演算装置の動作を示すフローチャートである。
【図５】図２の演算部の動作を示す詳細フローチャートである。
【図６】この発明による秘匿性増強処理演算装置の構成の変形例を示す図である。
【図７】図１の演算部の変形例の詳細構成を示す図である。
【図８】この発明による秘匿性増強処理演算装置を設けた量子暗号通信端末の秘匿性増強処理演算装置の周囲の構成を示した概略図である。
【発明を実施するための形態】
【００１２】
以下、この発明による量子暗号通信システムにおける秘匿性増強処理演算装置等を図面を用いて説明する。なお各図において同一もしくは相当部分は同一符号で示す。
【００１３】
実施の形態１．
図１はこの発明による秘匿性増強処理演算装置の構成を示す図である。図１において例えば記憶部等を含むコンピュータで構成される秘匿性増強処理演算装置１０は、鍵攪拌部１、演算部２、ビット長短縮部３、記憶部４、入力部５等を含む。入力部５は、後述する訂正鍵ｘ(ｉビット)、乱数ｖ(ｎビット)等を入力して記憶部４に格納する(ｉ≦ｎ)。鍵攪拌部１は、ｉビットの訂正鍵ｘを線形演算によりｎビットの変形訂正鍵ｙにする機能を有する。ビット長短縮部３は、演算部２より得られる計算結果(ｎビット)から線形演算により(ｎ−ｋ)ビットの値を削除する機能を有する(ｋ＜ｉ≦ｎ)。記憶部４は訂正鍵ｘ(ｉビット)や乱数ｖ、さらには途中の計算結果等を格納する。
【００１４】
図２は図１の演算部２の詳細構成を示す図である。図２において演算部２は、Ｆｙ計算部２−１、Ｆｖ計算部２−２、ｄｉａｇ(Ｆｖ)Ｆｙ計算部２−３、およびＦ−１ｄｉａｇ(Ｆｖ)Ｆｙ計算部２−４を含む。また図３は、この発明による秘匿性増強処理における線形演算を説明するための図である。
【００１５】
以下、動作を図を参照して説明する。秘密鍵を生成するためのビット列が通信により送信側、受信側に送られると、双方でそれぞれに、量子暗号装置(図８参照)で上記ビット列からふるい(篩)鍵が生成され、さらにふるい鍵から訂正鍵が生成される。秘匿性増強処理演算装置は訂正鍵から秘密鍵を生成するものであり、送信側、受信側双方に設けられ得る。
【００１６】
図４は図１の秘匿性増強処理演算装置の動作を示すフローチャートである。秘匿性増強処理演算装置では、入力部５が量子暗号装置で生成された訂正鍵(ｉビット)、および後述する乱数ｖを入力すると記憶部４に格納する。最初に、鍵攪拌部１は、記憶部４から訂正鍵ｘ(ｉビット)を読み出し、疎行列Ｓ１(ｎ×ｉビット)との乗算を行う(ステップｓ１)。ｎビットとなったこのビット列を変形訂正鍵ｙ(ｎビット)とする(ｉ＜ｎの場合はビット長の拡大となる)。なお疎行列Ｓ１(ｎ×ｉビット)はその場で生成しても、あるいは予め記憶部４に格納しておき、それを使用してもよい。
【００１７】
次に、演算部２は図３に示すように、循環行列Ｃ(ｖ)と鍵攪拌部１で得られた変形訂正鍵ｙ(ｎビット)との乗算を行う(ステップｓ２)。ここでＣ(ｖ)は循環行列(ｎ×ｎビット：ｎ行ｎ列)の第一列ベクトルを乱数ｖで指定することを意味する。Ｃ(ｖ)ｙの具体的な計算手順の説明は、後述するステップｓ２の詳細フローチャートの説明にて行う。最後に、ビット長短縮部３は、ステップｓ２にて得られた計算結果(ｎビット)と疎行列Ｓ２(ｋ×ｎビット)と乗算を行う(ステップｓ３)。なお疎行列Ｓ２(ｋ×ｎビット)はその場で生成しても、あるいは予め記憶部４に格納しておき、それを使用してもよい。乗算後、ビット長が短縮された残ったビット列(ｋビット)を最終的な秘密鍵ｘ’として出力する(ｋ＜ｉ≦ｎ)。
なお、上述の鍵攪拌部１およびビット長短縮部３で行われる線形演算で使用される疎行列Ｓ１，Ｓ２は、例えば上記乱数ｖとは異なるそれぞれの乱数(例えば乱数ｖ１，ｖ２)に従って(指定されたものを)生成するようにしてもよく、これらの乱数ｖ１，ｖ２は乱数ｖと同様に入力部５で入力され記憶部４に格納されたものを使用しも、また入力部５で入力されたものを直接使用してもよい。
【００１８】
図５は図２の演算部２すなわち図４のステップｓ２の動作を示す詳細フローチャートである。この発明では、訂正鍵ｘ(ｉビット)と乱数ｖ(ｎビット)とを入力とし、秘密鍵ｘ’(ｋビット)を出力とする。ここで、ｋ＜ｉ≦ｎである。任意の循環行列は図３および下記の式(１)で表すように固有分解できるので、変形訂正鍵ｙ(ｎビット)と循環行列との乗算を、下記式(２)のように表し「Ｆｙ」、「Ｆｖ」、「ｄｉａｇ(Ｆｖ)Ｆｙ」、「Ｆ−１ｄｉａｇ(Ｆｖ)Ｆｙ」の値を順次計算することでＣ(ｖ)ｙを計算する。ここで(Ｆ−１)、Ｆは(逆)離散フーリエ変換行列を表す。
【００１９】
Ｃ(ｖ)＝Ｆ−１ΛＦ
＝Ｆ−１ｄｉａｇ(Ｆｖ)Ｆ        (１)
Ｃ(ｖ)ｙ＝Ｆ−１ｄｉａｇ(Ｆｖ)Ｆｙ      (２)
但し
Ｃ(ｖ)    ：乱数ｖ(ｎビット)で定まる循環行列(ｎ×ｎビット)
ｙ        ：変形訂正鍵(ｎビット)
Ｆ        ：離散フーリエ変換行列
Ｆ−１      ：逆離散フーリエ変換行列
ｄｉａｇ(Ｆｖ)Ｆｙ：Ｆｖ、Ｆｙの畳み込み演算
Λ        ：Ｃ(ｖ)の固有値を対角項にもつ対角行列
【００２０】
以下にその手順を示す。
先ず、図２のＦｙ計算部２−１は、離散フーリエ変換行列Ｆとステップｓ１にて得た変形訂正鍵ｙ(ｎビット)との乗算を、高速フーリエ変換アルゴリズムにより計算する(ステップｓ２−１)。
次に、Ｆｖ計算部２−２は、離散フーリエ変換行列Ｆと例えば記憶部４から読み出した乱数ｖ(ｎビット)との乗算を、高速フーリエ変換アルゴリズムにより計算する(ステップｓ２−２)。
次に、ｄｉａｇ(Ｆｖ)Ｆｙ計算部２−３は、上記ステップｓ２−１，ｓ２−２にて得たＦｙ，Ｆｖの畳み込み演算、即ち、各ベクトルの要素毎の乗算を計算する(ステップｓ２−３)。
最後に、Ｆ−１ｄｉａｇ(Ｆｖ)Ｆｙ計算部２−４は、逆離散フーリエ変換行列Ｆ−１とｄｉａｇ(Ｆｖ)Ｆｙ (Ｆｙ，Ｆｖの畳み込み結果)との乗算を、逆高速フーリエ変換アルゴリズムにより計算(逆高速フーリエ変換)する(ステップｓ２−４)。
【００２１】
なお演算部２では、各計算部２−１〜２−４において計算結果をそれぞれ記憶部４に記憶し、後段の計算部は前段の計算部の計算結果を記憶部４から読み出して使用するようにしてもよい。
【００２２】
また、訂正鍵ｘ(ｉビット)や乱数ｖは記憶部４に格納されず、直接、鍵攪拌部１や演算部２に入力されて処理されてもよい。
【００２３】
以上のようにこの発明では、訂正鍵ｘと乱数ｖとを入力とし、訂正鍵ｘと疎行列Ｓ１との乗算を計算するステップと、循環行列Ｃ(ｖ)と変形訂正鍵ｙ(ｎビット)との乗算を計算するステップと、循環行列Ｃ(ｖ)と変形訂正鍵ｙ(ｎビット)との乗算後に得られるビット列と疎行列Ｓ２との乗算を計算するステップとを実行することで秘匿性増強処理を行う。訂正鍵ｘと疎行列Ｓ１との乗算を計算するステップでは、疎行列Ｓ１内の非０要素に関する乗算のみを行う。循環行列Ｃ(ｖ)と変形訂正鍵ｙ(ｎビット)との乗算を行うステップでは、３回の高速フーリエ変換と１回の畳み込み演算を行う。循環行列Ｃ(ｖ)と変形訂正鍵ｙ(ｎビット)との乗算後に得られるビット列と疎行列Ｓ２との乗算を計算するステップでは、疎行列Ｓ２内の非０要素に関する演算のみを行う。ここで、疎行列Ｓ１、Ｓ２のサイズがそれぞれｎ×ｉビット、ｋ×ｎビット、各行ベクトル(または各列ベクトル)内に現れる非０要素の最大数がそれぞれｌ、ｍであり、循環行列Ｃ(ｖ)と変形訂正鍵ｙのサイズがそれぞれｎ×ｎビット、ｎ×１ビットであるとすると、演算にかかる計算量はＯ(ｎｌｏｇｎ)(但しｌ, ｍ，ｎは正の整数でｌ, ｍはｎより十分小さいとする)である。
【００２４】
従来のアルゴリズムでは、訂正鍵ｘ(ｎビット)とランダム行列(もしくはランダムなテプリッツ行列(ｎ×ｎビット))とを単純に掛け合わせるため、計算量はＯ(ｎ２)である。一方この発明では、ランダム行列の代わりにランダムな循環行列を用いているので、計算量はフーリエ変換に要する計算量と等しくなる(式(２)参照)。さらに、フーリエ変換として高速フーリエ変換を用いているので、結局計算量はＯ(ｎｌｏｇｎ)にまで低減される。
【００２５】
なお循環行列は、テプリッツ行列の特殊なものであり、各行ベクトルが１つ前の行ベクトルの要素を１つずらして配置した形になっているものである。数値解析において、循環行列は離散フーリエ変換によって対角化されるため、それを含む線型方程式系は高速フーリエ変換で高速に解くことができる。
【００２６】
疎行列は、各要素のほとんど０である行列である。非０要素とそのインデックスを記憶しておくことで、非０要素に関する演算を省略し計算量を低減させることができる。
【００２７】
また、上記図１に示す秘匿性増強処理演算装置では乱数ｖ(ｎビット)を訂正鍵ｘ(ｉビット)等と共に入力して記憶部４に格納して使用していたが、図６に示す秘匿性増強処理演算装置１０ａのように内部に乱数生成器６を設け、乱数生成器６で発生させた乱数ｖ(ｎビット)を演算部２で使用するようにしてもよい。なお乱数生成器６は演算部２内に設けるようにしてもよい。
また、上述の鍵攪拌部１およびビット長短縮部３で使用される疎行列Ｓ１，Ｓ２を生成するための上記乱数ｖ１，ｖ２も、乱数生成器６で発生させるようにしてもよい。
【００２８】
また、上記図２に示す演算部２では、Ｆｙ計算部２−１、Ｆｖ計算部２−２、ｄｉａｇ(Ｆｖ)Ｆｙ計算部２−３、およびＦ−１ｄｉａｇ(Ｆｖ)Ｆｙ計算部２−４でそれぞれの演算を行っていたが、図７に示す演算部２ａのように高速フーリエ変換器２−５、逆高速フーリエ変換器２−６および畳み込み演算器２−７を設けた構成にしてもよい。
【００２９】
図７の演算部２ａでは、先ずＦｙ計算部２−１ａは、鍵攪拌部１で得られた変形訂正鍵ｙ(ｎビット)を高速フーリエ変換器２−５に入力する。これにより高速フーリエ変換器２−５は変形訂正鍵ｙの高速フーリエ変換を行い、離散フーリエ変換行列Ｆと変形訂正鍵ｙ(ｎビット)との乗算を求めてＦｙ計算部２−１ａに返す。
【００３０】
Ｆｖ計算部２−２ａは、記憶部４に格納されたあるいは乱数生成器６で発生させた乱数ｖ(ｎビット)を高速フーリエ変換器２−５に入力する。これにより高速フーリエ変換器２−５は乱数ｖ(ｎビット)の高速フーリエ変換を行い、離散フーリエ変換行列Ｆと乱数ｖ(ｎビット)との乗算を求めてＦｖ計算部２−２ａに返す。
【００３１】
次に、ｄｉａｇ(Ｆｖ)Ｆｙ計算部２−３ａは、上記にて得たＦｙ，Ｆｖを畳み込み演算器２−７に入力する。畳み込み演算器２−７はＦｙ，Ｆｖの畳み込み演算、即ち、各ベクトルの要素毎の乗算(ｄｉａｇ(Ｆｖ)Ｆｙ)を行いｄｉａｇ(Ｆｖ)Ｆｙ計算部２−３ａに返す。
【００３２】
最後に、Ｆ−１ｄｉａｇ(Ｆｖ)Ｆｙ計算部２−４ａは、ｄｉａｇ(Ｆｖ)Ｆｙ (Ｆｙ，Ｆｖの畳み込み結果)を逆高速フーリエ変換器２−６に入力する。逆高速フーリエ変換器２−６はｄｉａｇ(Ｆｖ)Ｆｙの逆高速フーリエ変換を行い、逆離散フーリエ変換行列Ｆ−１とｄｉａｇ(Ｆｖ)Ｆｙとの乗算を求めてＦ−１ｄｉａｇ(Ｆｖ)Ｆｙ計算部２−４ａに返す。
【００３３】
なお、乱数生成器６、高速フーリエ変換器２−５、逆高速フーリエ変換器２−６および畳み込み演算器２−７は専用機能部としてハードウェアで構成可能である。
【００３４】
また、図８にこの発明による秘匿性増強処理演算装置１０，１０ａが量子暗号通信端末等に設けられた場合の周囲の構成を示した概略図を示す。図８の(ａ)は送信側の量子暗号通信端末に設けられた場合を示し、秘匿性増強処理演算装置１０，１０ａの入力側には、上述の秘密鍵を生成するためのビット列を受信する受信機１１、受信されたビット列からふるい鍵、さらには訂正鍵を生成する上述の量子暗号装置１２が設けられ、反対の出力側には、送信情報を入力する入力装置１４、入力された送信情報を秘匿性増強処理演算装置１０，１０ａで得られた秘密鍵で暗号化する暗号化装置１３、暗号化された情報を送信する送信機１５が設けられる。
【００３５】
また図８の(ｂ)は受信側の量子暗号通信端末に設けられた場合を示し、秘匿性増強処理演算装置１０，１０ａの入力側には、同様に受信機１１、量子暗号装置１２が設けられ、反対の出力側には、暗号化された受信情報を受信する受信機１６(受信機１１が兼ねる場合もある)、受信機１６から入力された暗号化された受信情報を秘匿性増強処理演算装置１０，１０ａで得られた秘密鍵で復号化する復号化装置１７、復号化された情報を出力する出力装置１８が設けられる。
【００３６】
なお、暗号化装置１３、入力装置１４、送信機１５、受信機１６、復号化装置１７、出力装置１８が暗号化／復号化手段を構成する。
【符号の説明】
【００３７】
１  鍵攪拌部、２，２ａ  演算部、２−１，２−１ａ  Ｆｙ計算部、２−２，２−２ａ  Ｆｖ計算部、２−３，２−３ａ  ｄｉａｇ(Ｆｖ)Ｆｙ計算部、２−４，２−４ａ  Ｆ−１ｄｉａｇ(Ｆｖ)Ｆｙ計算部、２−５  高速フーリエ変換器、２−６  逆高速フーリエ変換器、２−７  畳み込み演算器、３  ビット長短縮部、４  記憶部、５  入力部、６  乱数生成器、１０，１０ａ  秘匿性増強処理演算装置、１１  受信機、１２  量子暗号装置、１３  暗号化装置、１４  入力装置、１５  送信機、１６  受信機、１７  復号化装置、１８  出力装置。
【図１】
0005436373.tif 000002
【図２】
0005436373.tif 000003
【図３】
0005436373.tif 000004
【図４】
0005436373.tif 000005
【図５】
0005436373.tif 000006
【図６】
0005436373.tif 000007
【図７】
0005436373.tif 000008
【図８】
0005436373.tif 000009