東大の研究者らが新たな量子暗号方式を開発 17
ストーリー by hylom
ちんぷんかんぷん 部門より
ちんぷんかんぷん 部門より
東京大学大学院工学系研究科附属光量子科学研究センターの小芦雅斗教授や佐々木寿彦特任研究員らが、新たな量子暗号方式を開発したと発表した(東大の発表、ASCII.jp、マイナビニュース)。
不確定性原理とは、量子の位置と運動量の両方を同時に高精度で測定することはできない、という理論。既存の量子暗号理論を使った暗号方式では、経路の途中でその通信が観測(傍受)されると光子の状態が決定されてしまうという性質を使い、傍受された場合にそのことが分かる、というものであった。
具体的には、光ファイバーを使った通信の際に観測される通信路のノイズ量を監視することで傍受されているかを検出できるというものだが、通信路本来のノイズが多い場合には情報の正しい伝達自体ができなくなったり、送信したいデータよりも大幅に大きな量の通信を行う必要があるといった問題があったという。
これに対し今回開発された手法は、レーザー光源からの微弱光パルスに、デジタル光通信でも使用されている差動位相変調という方式でビット値の情報を載せて送信し、受信者は遅延回路を含んだ干渉計を用いてパルスをランダムにずらして重ね、光子検出によりビット値を読み出すというもの。受信者は光子を検出した際にパルスをどれだけずらしたかを送信者に伝えることで情報を伝えることができるという。
この方式では通信ノイズが大きい環境でも効率良く通信が行え、また通信経路内で盗聴された場合でも盗聴者は一定の小さい情報量しか得られないという。
量子暗号の実用化へのロードマップ (スコア:5, 参考になる)
量子暗号の実用化へのロードマップ
http://www2.nict.go.jp/advanced_ict/quantum/about/00roadmap.html [nict.go.jp]
このロードマップは従来方式でのハードウェアの進歩の予測を前提にしているだろうから、
ある程度は前倒しになるという事かな。
2015年頃からは、このような各種の量子暗号の長所をうまく融合した新しい方式が開発され、
さらに量子効果を用いた認証や決済のプロトコルの実用化も始まると予想されます。2020年頃からは、
量子もつれを広域ネットワークへ展開するための量子中継技術が量子暗号の長距離化に利用され始める
でしょう。その中核となる量子メディア変換、量子メモリ、量子ゲートは2015年頃には基盤が整うと
期待されます。
ハードウェアの方も水面下で準備が進んでいるのだな。
学術成果の世間アピールって大変そう (スコア:2)
リリース文書PDFを読んで、
科学に明るくない私のような者でも分かるよう
一生懸命にかみ砕いて書いてくれている心遣いを感じましたが、
「不確定性を用いて第三者には正しい情報を読み取らせないようにしつつも
特定の相手にだけ確定的な正しい情報のやりとりができるってのがなんだかすごいんだ」
ってことまでしか分かりませんでした。
せっかくかみ砕いてくれたのに、飲み込めなくてゴメンなさい。
世間じゃないところ向けにアピールすると? (スコア:2, 興味深い)
世間一般にアピールしようとするからわかりにくいのかも?
たとえばC(C++?)プログラマ向け解説にするとこんなかんじになるのだろうか?
文中の「送信者」はあくまでも光信号の送信者であって、データの送信者は文中の「受信者」であることに注意。
「送信者」が送ってきたランダムデータを利用して、「受信者」が「送信者」にデータを送ります。
送信・受信共通ヘッダ:
enum E_ISOU { E_NEGATIVE=-1, E_POSITIVE=1};
struct SData{
E_ISOU isou; // 位相
float prob; // 確率
};
NETWORK g_stream; // 光通信の通信路 受光できるかは運任せ
NETWORK g_replyStream; // データ番号を送信者へと送る、何かの通信路 どのデータ番号を送るかは受信者が決めれる
// 送信者コード
// 微弱な光信号を送信する 送信する位相はランダム 送信した位相はpSendに保存
void Sender(E_ISOU *pSend, unsigned int size){
for(unsigned int i=0;isize;i++){
pSend[i]=(rand()%2)==1 ? E_POSITIVE : E_NEGATIVE;
SData data; data.isou=pSend[i]; data.prob=(rand()%100000)/100000.0f;
Push(data, g_stream);
}
}
// 返信されたデータ番号を元に、受信者からのデータを解読する
void Decoder(E_ISOU *pSend, bool *result, unsigned int size){
unsigned int pair, delay;
for(unsigned int i=0;isize;i++){
PopReply(g_replyStream, &pair, &delay);
result[i]=(pSend[pair]+pSend[pair+delay]) != 0 ? true : false;
}
}
// 受信者コード
// 受信した光信号を重ねあわせ、光子を検出できた場合はその番号と位相を保存する
void Receiver(unsigned int *pPair, bool *pIsou, unsigned int size, unsigned int delay){
SData data; int result; int count=0;
for(unsigned int i=0;isize;i++){
result=AddData(g_stream, i, i+delay); // 受けた光を重ねあわせる 光検出できたらSUCCESSビットが立ち、同位相だったかどうかがSAME_ISOUビットに立つ
if(result&SUCCESS){
pPair[count]=i; pIsou[count]=(result&SAME_ISOU) ? true : false;
count++;
}
}
}
// 送信者に送信したいデータと一致する、保存したデータ番号と位相データの組を探し送信者に知らせる
void Replyer(bool *pData, unsigned int dataSize, unsigned int *pPair, bool *pIsou, unsigned int pairSize, unsigned int delay){
for(unsigned int i=0;isize;i++){
int pair=FindPair(pData[i], pPair, pIsou, pairSize); // pData[i]と同じboolean値となったpPair値を探す
PushReply(g_replyStream, pair, delay);
}
}
Re:世間じゃないところ向けにアピールすると? (スコア:2, 興味深い)
長くなってしまったので分割。
秘匿化のポイントは、ReceiverにあるAddData関数。
AddDataがSUCCESSするかどうかはある意味運。Replyerが送信するデータ番号において同位相だったか逆位相だったかは、盗聴者は一定確率でしか知り得ない。
一方、ReplyerはSUCCESSしたものだけを用いて、確実な手段で送信者にデータ番号を送るためこちらは成功率100%。
このように、波束の収縮を利用して送信者と受信者が共有でき、盗聴者には一部しか共有できない鍵を送信者が受信者に送ることで秘匿化を実現しています。
これの強みは、盗聴するには送信者か受信者を直接Crackするしかないこと。通信経路からの完全な盗聴は、物理法則が防いでくれます。
Re: (スコア:0)
同じくリリースを読んでみた。
あまり一般人に分かりやすいようには書けてないと思う。
つか、最初読んだときはどこに量子効果をつかってるのか
さっぱり分からなかった。
しかし素朴な疑問だが、中間者攻撃は防げるのか?
Re:学術成果の世間アピールって大変そう (スコア:1)
同じ位相差のパルス・ペアが複数あって、それが量子効果で重なってるから、どのペアが検出されるか分からない。
って事で良いかな?
the.ACount
DSPSKなのか? (スコア:1)
これはDPSK(差分位相変調)になっているのではないか? そうであれば復調は可能だが
Re: (スコア:0)
受信側から送信側に常にランダム・ノイズを照射して、
受信側は自らが照射したランダム・ノイズの逆相を
"情報 + ランダム・ノイズ"に照射してノイズをキャンセル
して送信側の情報を読み取る、って感じですか?
Re: (スコア:0)
違います。
DPSKはただの差動変調ですよ。
俺もタレこみ文からだと、量子的なんちゃらから復調するときの変調方式を変えることで
周波数利用効率を上げたと読めたんだけど、東大の発表だと
もっと格好いいことを言ってるな。多分量子的なんちゃらをどうにかしたんだと思う。
Re:DSPSKなのか? (スコア:1)
使う原理を変えたんだよ。
観測で起きる副作用をノイズとして捉える従来式と、
量子の収束を制御出来ないという性質を使う本方式。
送信者はランダムデータを1ビット辺り1光子以下の光量で送り、受信側はランダムに起こる1光子への収束の位置だけを送信者に返答して、収束した光子が表現したビットを共有鍵とする。
中間者攻撃しても収束位置を受信者と一致させることが出来ない。
この発表だとそれに加えて受信側が位相をずらして干渉させる際のズラし量を受信側が適当に変えるから、更に中間者側で再現するのが難しくなる。
Re:DSPSKなのか? (スコア:1)
リリースを読んでも分からなかったことがあるので、質問させてください。
後段のハーフミラーに光子が1個しかはいってこなくて、
干渉しなかった場合でも光子検出機には光子が入ってきて誤動作しそうだけど、
どうやって解決してるんでしょう?
光子が2個同時に入ってくると干渉してて、1個だと干渉してないから不検出という扱いなんでしょうか?
Re:DSPSKなのか? (スコア:5, 参考になる)
量子光学の基本原理ですが,「光子は自分自身と干渉する」のです.
したがって,古典的粒子として光子を眺めれば,ハーフミラーに
やってきた光子は,条件によって透過したり,反射したりします.
量子的には,光子を記述する波動関数がハーフミラー面上で干渉
して,確率が大きい方に光子が飛び去るという解釈です.
Re: (スコア:0)
いえ。解釈の問題ではなくて、一見、光子検出器が誤動作しそうに見えるけど、
そこはどうやって解決してるのかという疑問なんですが。
それにこの件では、2個の光子の干渉だけで、自分自身との干渉は関係無いのでは?
Re: (スコア:0)
各ビットの光量が重ねても1光子に満たないから、光子が収束したビット以外読めない。
どのビットで収束するかはランダム。
盗聴者も中間者も受信者も全送信ビットを得られない。
受信者は得たビット位置を報告して該当位置のビット値を秘密の共有鍵などに使う。
バルス (スコア:0)
まではなんとか読めた
CAB暗号 (スコア:0)
これはどうなったんですかね。
『 「解読不能は数学的に証明済み」、RSAを超える新暗号方式とは』
http://www.atmarkit.co.jp/news/200804/11/cab.html [atmarkit.co.jp]
Re:CAB暗号 (スコア:2)
http://astamuse.com/ja/published/JP/No/2014017556 [astamuse.com]
最近特許申請が公開されてるけど新規性がわからない
当時言われてたような解読不能でもない
これで資金集めてたんだから投資詐欺といってもいいんじやないか