AQUA's demonstration in ORF2012
a. 偏光板回転機 ×3
- やや大きめのギヤ軸部分を削り、偏光板を埋め込む
- 金属板を加工したフレームにギヤを取り付ける
- ステッピングモータで回転角度を調整し、偏光板のいちを決定する
- b.とc.とそれぞれ1セットになり、残りの一つはEve
b. レーザー送光部(Alice)
- 緑色レーザー発光モジュール(0.3-0.9 mW)を使用する
- 電気的なスイッチ回路とアルゴリズムで、bitの1と0を表現する
c. レーザー受光部(Bob)
- フォトダイオードでレーザーの照度を一定間隔(1bitが送られてくる間)ずつ測定する
- コントローラーに観測した値を送り続ける
d. コントローラー
- AliceとBobとEveを繋いで集中管理する
- 母艦からの命令を電気信号に分解する重要な部分
- a.の偏光板を一定間隔毎に90度か180度ずつ回転させるプログラム
- b.のレーザーモジュールを一定間隔毎にon/offするプログラム
- c.のフォトダイオードで測定できる値を記録し、一定間隔に切り分けて1と0の配列に落としこむプログラム
- 以上のオブジェクト化とGUIからアクセスするためのAPI
- jQueryとかで書く
- aqua.sfc.wide.ad.jpで動かす
- コントローラーとGUIの間を繋げる仕様はあとで考える
- 3人のユーザが操作する
- Alice: ビット列、使用する基底、偏向方向を入力する
- Bob: 観測に用いる基底と偏向方向を入力する
- Eve: 観測に用いる基底と偏向方向を入力する
- ビットの配送が終了したのち、照度センサの観測結果と基底、偏向方向にもとづいて鍵になるビットを決定する
- テストビットを用いて、Eveの存在を検知する
- AliceとBobは鍵配送に用いる基底を事前に共有させておいたほうがデモの回転率があがる
- 鍵配送に用いるビットの数は30ビット以上にしたい