[QIC004:量子暗号] (2003/07/15:渚 博)
現在の情報通信におけるセキュリティを支える暗号技術は、計算量的安全性を根拠としています。しかし、量子計算機が実現すると、Shorのアルゴリズムを使って素因数分解や離散対数問題を極めて効率的に解くことができるようになります。つまり、現在広範に利用されている公開鍵暗号方式がすべて破られることになり、社会的インパクトは極めて大きいと言えます。将来の量子インターネットにおける量子情報通信にも密接に関係すると思われます。
情報を送信者から受信者に伝えるためには、通信路に見合った符号化が用いられます。従来の通信路符号化の媒体となるのはいずれも古典物理に従う物理量であり、情報の載ったキャリアを複製、観測してもキャリアが壊れることはありません。これは情報セキュリティの観点から見ると、盗聴者が通信路途中でのぞき見をしても送信者、受信者には気づかれないですむという問題点になり得ます。この問題を解決するのが、量子を対象とした符号化です。量子力学に従う量子の状態の重ね合わせ、測定による状態の破壊を利用するのです。
例えば、情報のキャリアとして光子を考えます。符号化の対象となる量子状態は直線偏光状態を選択します。ある測定系(L測定系)をとったとき、偏光の状態は水平方向に直線偏光した状態
(水平偏光)と垂直方向に偏光した状態
(垂直偏光)の2つの直交規格化された状態で表現できます。このとき、任意の量子状態
はこの2つの状態の重ね合わせで表現できます。
=![]()
+![]()
(1)
ここで、α、βは複素振幅であり、
+
=1
(2)
を満たしています。このとき、
という状態を観察すると、
という状態を見出す確率が
、
という状態を見出す確率が
で与えられることになります。
ここで注意すべき点は、状態
を一度この測定系で観測すると、いわゆる波束の収縮が起こり、水平偏光か垂直偏光のいずれか単独の状態になってしまいα、βという情報は失われてしまう点です。
量子を用いた符号化というのは、情報を“0”、“1”で表現すると、“0”に対して水平偏光
を対応させ、“1”に対しては垂直偏光
を対応させるという操作です。
ところで、上記の測定系以外にも別の測定系が存在することが知られています。例えば、測定系を45度傾けたような測定系(S測定系)をとると、偏光状態は45度偏光した状態
と-45度偏光した状態
という別の2つの直交規格化された状態で表現されることになります。L測定系とS測定系の関係は、
= (
+
)/
(3)
= (
−
)/
(4)
で表現されるように、S測定系での状態
をL測定系で観測すると、確率1/2でL測定系の状態
か
が観測され、観測者には元の状態が
であったことが全く推定できないことが重要です。これは2つの測定系が同時対角化不可能であることに由来するハイゼンベルグの不確定性原理の現れです。量子符号化はS測定系でも考えることができ、“0”に対して45度偏光
を対応させ、“1”に対しては-45度偏光
を対応させるという操作になります。
また、量子暗号においては光子の偏光状態の他に、光子の位相状態を用いた量子符号化もよく用いられています。例えば、位相の大きさとして、0、π、π/2、-π/2が用いられます。位相を観測する方法として、Mach-Zehnder干渉計のような干渉計が用いられるので、0、πとπ/2、-π/2の対が同時対角化不可能な状態として用いられています。
1984年にBennetとBrassardによって提案されたBB84プロトコルは、お互いにいかなる秘密情報も共有していないエンティティ、送信者(Alice)と受信者(Bob)が、ランダムなビット列を秘密に共有するための手段を提供しています。もちろん盗聴者(Eve)にも知られずにです。
このプロトコルにより共有できたランダムビット列を、通常の古典的な意味での暗号の鍵として用いることで、非常に安全な暗号系を構成できます。また、共有したランダムビット列を、Vernam暗号のように情報量的に安全性の保証された暗号と組み合わせて使用することで、絶対安全な暗号系を構築することも可能となります。
このように狭義の量子暗号プロトコルは、暗号鍵の配布を実現するものなので、量子鍵配布(Quantum Key Distribution:QKD)とも呼ばれています。
一般に物理的過程を経て情報を秘密に共有し合う量子暗号プロトコルは、盗聴者のような攻撃者の存在だけでなく、通信路上で生じる誤り、検出器自体の持つ内部雑音等も無視できない影響を与えるので、大きく2つの段階に分けることができます。前段は量子力学を利用する秘密情報共有ステップ、後段は共有した秘密情報の精度を情報理論的に高めていくデータ処理ステップです。
BB84プロトコルでは、秘密情報共有のために、前述の4つの量子状態を活用するので、このプロトコルは4状態プロトコルとも呼ばれています。その手順の内、前段の秘密情報共有ステップは以下の通りです。
1.AliceとBobは、それぞれ独立に0、1から構成されるランダムビット列を生成する。
2.Aliceはランダムビット列を左から順に2ビットずつ切り出し、その値(00,01,10,11の4つ)に従い量子符号化を行う。例えば、量子として光子を用い、量子状態として偏光状態を用いるなら、表1に示すように、2ビットの内上位1ビットで測定系を選択し、下位1ビットで符号化する。そしてこの量子をBobに送信する。
表1 4状態量子符号化
|
乱数値 |
測定系 |
状態 |
|
00 |
L |
|x〉 |
|
|y〉 |
||
|
10 |
S |
|+45〉 |
|
|-45〉 |
3.Bobは自らのランダムビット列を左から1ビットずつ切り出し、その値(0,1の2つ)に従い、測定計を選択し測定する。測定結果は表2のように復号される(2ビット)。
表2 4状態量子復号
|
乱数値 |
測定系 |
測定結果 |
復号結果 |
|
0 |
L |
|x〉 |
00 |
|
|y〉 |
01 |
||
|
1 |
S |
|+45〉 |
10 |
|
|-45〉 |
11 |
4.Bobは測定系の種別をAliceに公開の通信路を用いて報告する。測定結果自体は秘密にしておく。Aliceは自分の測定系と一致したものを同じ通信路を用いて回答する。つまり、AliceとBob双方の上記2ビットの内上位1ビットを公開しあい、下位1ビットはそれぞれ秘密に保つのです。
5.AliceとBobは、一致した上位1ビットに対応する下位1ビットを秘密に共有するデータとして用いる。
これを2N回繰り返すことで、統計的にNビットのランダムデータを秘密に共有できることになります。
後段のデータ処理ステップは、プライバシー増幅とも言われます。上記ステップにおいて秘密に共有できたとするランダムデータには、不可避的にAliceとBobの間で一致しないビットがどうしても混入するのです。
これには、盗聴者の影響だけでなく、通信路エラー、検出器の内部雑音もその原因となっています。そこで、AliceとBobが共有しているランダムデータの一部を公開しあって、残りの秘密共有情報の精度を高めていく処理を行います。この処理の中で盗聴者の検知が可能になります。
さて、盗聴者はどのような攻撃をかけるかというと、通信路の途中で情報を覗き見るのですが、大別して2つの方法があります。一つは、光子がキャリアに使われている通信路において、ハーフミラーをおいて横取りしてしまう方式です。この場合、通信路を通る光子がパルスあたり十分に数を絞ってあるので(1パルスあたり0.1個)、Bobに行く情報は失われてしまいます。
もう一つは、Eveが観測に伴って、新たな光子を生成してBobに送り出す方式です。Eveが正しく盗聴できる確率は1/2なので、Bobが正しく受信できる確率は1/4になってしまいます。
従って、AliceとBobはデータ処理フェーズにおいて、共有データの一致度を確認するのです。このとき、非常に誤り率が高ければ、途中でEveが介在していると判断できるのです。このように、盗聴者を検知できる点が量子暗号の大きな魅力となっています。
位相符号化を用いたBB84プロトコルの構成例の一つは、物理的には光子レベルのMach-Zehnder干渉計そのものと言ってよく、そのデータ処理の大要は偏光符号化方式とほぼ同様です。
Bennetにより1992年に提案されたB92プロトコルは、4つの状態を用いる代わりに、非直交な2つの状態を用いて構成します。位相符号化を用いたB92プロトコルの構成例は、コヒーレント状態の非直交性をうまく利用したもので、AliceとBobがそれぞれ干渉計を持ち、その間を光ファイバーでつないだものです。
2つの規格化された非直交状態を
と
とすると、2つの射影演算子が定義できます。
![]()
(5)
![]()
(6)
この射影演算子と2つの状態との関係は、
![]()
![]()
(7)
![]()
(8)
というように、
という状態を
という演算子を通して観測もしくは
という状態を
という演算子を通して観測すると消滅してしまう点が特徴です。一方、非直交性のため、
状態を
演算子を通して観測、
状態を
演算子を通して観測したときは、有意な測定結果が得られることを利用するのです。
つまり、Aliceは自らの生成したランダムビット列に従い、状態
、
を選択します。Bobは自らの生成したランダムビット列に従い、演算子
、
を選択して観測を行います。Bobは測定結果の有無は秘密にしておきます。次に、Bobは自分の選択した演算子を公開します。その結果として、表3に示すように、Bobが有意な測定をしたビット部分のみが、秘密の共有ビット列として残るのです。
表3 B92プロトコル
|
Alice |
Bob |
状態 |
演算子 |
測定有無 |
共有bit |
|
0 |
0 |
|u0 〉 |
P0 |
有 |
0 |
|
0 |
1 |
|u0 〉 |
P1 |
無 |
- |
|
1 |
0 |
|u1 〉 |
P0 |
無 |
- |
|
1 |
1 |
|u1 〉 |
P1 |
有 |
1 |
1991年、Ekertの提案になるE91プロトコルは、プロトコル自体の内容はBB84プロトコルと等価です。ただし、この方式の面白い点は、1ビットあたりの情報を伝えるのに単体の量子ではなく、EPR対と呼ばれるエンタングルした量子対を用いている点です。
通信路上を量子が送受信者に運ばれる時点においては、量子に共有される情報は何も載っていませんが、送受信者がそれぞれの量子を観測した時点で初めて共有されるのです。
量子暗号の実験では、情報のキャリアとして光子が一般的に使われます。そして、光伝送の手段で実験を分類すると、光ファイバーと自由空間の2種類に分けられます。また、符号化する方式としては、光子の偏光状態を符号化する方式と位相状態を符号化する方式の2つがあります。
量子暗号の最初の実験は、量子暗号の提案者のBennetにより、図1に示すようにHe-Neレーザーを使い空間30cmを伝送させて確かめられました。しかしその後、光ファイバー系での実験が盛んになり、現在ファイバー系の方が積極的に研究されています。
図1 偏光状態を用いた量子暗号
この背景には、例えば大気中では雨や霧等によって吸収や散乱が生じ、大きいところでは20〜30dBm/kmもの損失が生じる等、影響を受けやすいからです。空間伝送では光源として、大気の吸収が小さい0.7μm付近の波長が用いられます。
しかし最近では、衛星通信を念頭に置いた空間光ビームによる実験も検討されています。自由空間では、光子の偏光状態を符号化した方式が採用されます。
現在、実験で検討が進んでいるのは光ファイバーによる実現例です。この理由は、自由空間に比べてファイバーを使用すると安定性を保つのが簡単で、長距離通信が可能なためです。方式として、偏光状態を符号化する方式と位相状態を符号化する方式の両方が行われていますが、後者の方が実用的であると考えられています。
また、使用する光源の波長で大きく短波長帯(0.7〜0.9μm)と、長波長帯(1.3μm〜1.55μm)の2つに分けられます。各々の波長帯で、光源、伝送路、光子検出器の特性は表4のように異なります。長波長帯では、伝送路特性が低損失と優れているため長距離通信に使用されています。
表4 短波長帯と長波長帯の性質比較
|
波長帯 |
検出器 |
検出効率 |
伝送路特性 |
air |
|
|
○ |
○ |
× |
|
|
長波長 |
× |
× |
○ |
× |
現在、通信系で使用されている波長は、主に1.55μm、1.3μm帯です。しかし、単一光子検出器やその検出効率には課題があります。一方、0.7〜0.9μmの短波長帯は、長波長帯と比較すると伝送損失が大きく、距離が伸びませんが、検出効率が比較的高い検出器が存在します。
表5に実験例をまとめて示します。量子暗号実験での通信距離は現在数十kmで、鍵共有速度は数bpsから1kbps程度となっています。速度に関しては、通常の光通信と比較すると遅いです。しかし、数百ビット程度の秘密鍵の共有が目的で量子暗号を使う場合を考えると、この値でもある意味で実用的とも言えます。
表5 量子暗号の実験例
|
研究機関 |
方式 |
距離 |
鍵共有速度 |
光源 |
|
IBM |
BB84 |
30cm(air) |
3.3bps |
550nm |
|
IBM |
BB84 |
10km(fiber) |
1kbps |
1300nm |
|
Geneva |
BB84 |
23km(fiber) |
486bps |
1310nm |
|
Geneva |
BB84 |
67km(fiber) |
150bps |
1550nm |
|
LANL |
B92 |
48km(fiber) |
10bps |
1300nm |
|
LANL |
BB84 |
10km(air) |
- |
770nm |
|
JH |
B92 |
150m(air) |
1kbps |
633nm |
|
BT |
B92 |
30km(fiber) |
260bps |
1300nm |
|
HW |
B92 |
80km(fiber) |
2bps |
1550nm |
|
AIST |
BB84 |
25km(fiber) |
200bps |
1550nm |
|
Nihon |
BB84 |
11km(fiber) |
7.4bps |
1550nm |
|
Mitsubishi |
BB84 |
87km(fiber) |
7.2bps |
1550nm |
量子暗号の実験系での課題として、単一光子発生装置、高効率光子検出器、量子暗号中継技術の3つを挙げることができます。単一光子発生装置に関しては、現在パルスあたりの平均光子数を確率分布的にしか1個にできていません。実際は、パルスあたり0個あるいは2個発生してしまう場合があります。そのため現在の実験では、(例えば10パルスに1個光子が存在するように)光を弱くして擬似的に単一光子の状況を作り出していますが、それに伴い鍵共有速度が遅くなってしまうという問題があります。
光子検出器に関する問題点としては、表6に示すように、通信波長帯の検出効率が非常に低いことが挙げられます。また、動作させる温度も表6の例では173°K以下と低温にする必要があり、通信波長帯での実用化の課題となっています。
量子効率が低ければ鍵共有速度が当然遅くなります。ノイズが抑えられた中で量子効率の高い検出器が望まれます。近年、産総研で238°Kと比較的高温で24%という性能の実験もあり、より性能向上が期待されます。
表6 光子検出器の性能例
|
検出器の材料 |
波長 (nm) |
温度 (°K) |
量子効率 (%) |
|
Si |
800 |
室温 |
50 |
|
Ge |
1300 |
77 |
10 |
|
InGaAs |
1300 |
77 |
20 |
|
InGaAs |
1300 |
173 |
10 |
|
InGaAs |
1550 |
173 |
2 |
データ処理では、まず通信路でのノイズや検出器の暗計数等に伴って起こる、通信2者間で共有したビット中の不一致を改善するのが目的です。この処理は、いわゆる量子暗号鍵配送プロトコルで不一致ビットを含む乱数系列を共有した後の、不一致ビットを改善する処理であり、誤り訂正(除去)処理と呼ばれます。
次に代表的なBBBSSプロトコルを示します。図2は16ビットの簡略化した誤り訂正の例です。

図2 誤り訂正(除去)処理の(簡略版)イメージ
[BBBSSプロトコル]
(1) 量子暗号プロトコルで不一致ビットを含む乱数系列を共有する。
(2) データ処理(誤り訂正・除去処理)を実行
(a) 乱数系列全体をランダム置換する。
(b) ランダム置換された乱数系列をブロックに分割する(例では4ビットを1ブロック)。
(c) 次の操作をブロックごとに実行する。
(@) ブロックごとにパリティ値を計算し比較する。
(A) パリティが一致なら、1ビット削除して、パリティが不一致なら、2分探索して不一致ビットを改善する(図2の例では2分探索を省略)。
(d) 前述の操作を繰り返し、各ブロックを連結して乱数系列とする。
(e) 乱数系列の全ブロックでパリティ一致がある回数以上続けば、その乱数系列を共有データとする。さもなければ、(a)-(d)を繰り返す。
パリティを比較する際に、公開通信路を通じてビットを公開しているため、パリティが一致した場合でもデータを一部捨てる処理を行っています。そのため、プライバシー増幅プロトコルを施すことで共有できる乱数系列は、最初の乱数列より短いビット列となります。
またプライバシー増幅では、プロトコルの効率と公開通信路で公開するパリティビットとのトレードオフを考える必要があります。データ処理に関するプロトコル(Key Reconcilation Protocol)として今までに、上記方式の他にCascade等いくつかの方式が検討されています。
また、データ処理では誤り訂正(除去)処理に加え、さらにこの後プライバシー増幅(privacy amplification)と呼ばれる処理が行われます。この処理により、共有ビットの一部に情報が盗聴者に漏れていた場合でも、それらの情報を落として安全な最終的な鍵を得ることができます。
[出典]
1.西岡外1:量子暗号、量子情報科学とその展開(別冊・数理科学)、サイエンス社(2003-4)
2.岡本外1:量子公開鍵暗号、量子情報科学とその展開(別冊・数理科学)、サイエンス社(2003-4)
[■top■readme■news■broadband■movement■product■technical■column■message■bbs■voice■link■profile]
e-mail :webmaster@kurejbc.com
Copyright (C) 2000 Japan Broadband Community All rights reserved