Upgrade to Pro — share decks privately, control downloads, hide ads and more …

量子暗号

Sponsored · Ship Features Fearlessly Turn features on and off without deploys. Used by thousands of Ruby developers.
Avatar for yubessy yubessy
October 03, 2017

 量子暗号

※社内勉強会用資料です

Avatar for yubessy

yubessy

October 03, 2017
Tweet

More Decks by yubessy

Other Decks in Technology

Transcript

  1. 量子論 - https://ja.wikipedia.org/wiki/ 量子論 量子論( りょうしろん) とは、 ある物理量が任意 の値を取ることができず、 特定の離散的な値しか

    とることができない、 すなわち量子化を受けるよ うな全ての現象と効果を扱う学問である。 粒子と 波動の二重性、 物理的過程の不確定性、 観測によ る不可避な擾乱も特徴である。 量子論は、 マック ス・ プランクの量子仮説まで遡る全ての理論、 モ デル、 概念を包括する。 量子仮説は1900 年に、 例えば光や物質構造に対する古典物理学的説明が 限界に来ていたために産まれた。 “ “
  2. 量子鍵配送 (Quantum Key Distribution) 暗号鍵( キー) を第三者に知られずに共有するしくみ 量子暗号論における最も基本的な問題 例: Alice

    はBob にキー を渡したい キー = bit 列 (011010010...) 一度キー を渡せばあとはそれで通信 QKD ではキー をqubit( 量子bit) 化して送信 qubit は観測されると自身の状態が変化する -> この性質を利用して第三者による傍受を検知
  3. BB84 (Bennett and Brassard, 1984) QKD のプロトコル キー を確率的にencode/decode し、

    巧妙な方法で 復元することで第三者に知られずにキー を共有 encode: bit -> qubit (by Alice) decode: qubit -> bit (by Bob) ここからが本日のメイン
  4. 1. (Alice) キー をqubit 化して送信 Alice は各bit をいずれかのencoding で符号化 A:

    0 → 0 , 1 → 1 B: 0 → + , 1 → - ※ 0 , 1 , + , - : qubit どちらを用いるかはbit 毎にランダムに選択 Alice は用いた各encoding を手元に記録
  5. 1. (Alice) キー をqubit 化して送信 BB84 Alice Key Bits 0

    0 1 1 0 Encoding A B B A B Qubits 0 + - 1 +
  6. 2. (Bob) 受信したqubit をbit に復元 Bob は各qubit をいずれかのmeasurement で観測 α:

    0 → 0, 1 → 1 β: + → 0, - → 1 どちらを用いるかはqubit 毎にランダムに選択 Bob は受信時点では各qubit がいずれのencoding でencode されたのかを知らない Alice のencoding とBob のmeasurement は 1/2 の確率で適合 Bob は用いた各measurement を手元に記録
  7. 2. (Bob) 受信したqubit をbit に復元 enconding に適したmeasurement を選ばなければ qubit からいずれのbit

    が得られるかは不定 0 + α → 0, 1 + α → 1 + + β → 0, - + β → 1 + + α → 0/1 ???, - + α → 0/1 ??? 0 + β → 0/1 ???, 1 + β → 0/1 ??? 量子状態の重ね合わせによるもの = Bob がdecode で得たbit 列のうち半分は無意味
  8. 2. (Bob) 受信したqubit をbit に復元 BB84 Alice Key Bits 0

    0 1 1 0 Encoding A B B A B Qubits 0 + - 1 + Bob Measurement α α β β α Key Bits 0 1 1 1 0
  9. 3. (Alice, Bob) encoding/measurement を照合 互いに用いたencoding/measurement を見せ合う Alice: 各bit に適用したencoding(A/B)

    Bob: 各qubit に適用したmeasurement(α/β) A×α またはB×β が適用されたbit のみをキー とする 確率的にもとのbit 列の半分をキー として使える 照合は公開の通信経路で行ってよい 照合内容を見られてもキー は得られない
  10. 3. (Alice, Bob) encoding/measurement を照合 BB84 Alice Key Bits 0

    0 1 1 0 Encoding A B B A B Qubits 0 + - 1 + Bob Measurement α α β β α Key Bits 0 1 1 1 0
  11. 4. (Alice, Bob) キー の一部を照合 互いに共有したキー の一部を見せ合う 例: キー の先頭1024bit

    照合部分が完全に一致した場合 残りの部分を本当のキー として利用 照合部分が一致しなかった場合 = qubit の状態が途中で観測されて変化した = 第三者が通信を傍受している可能性がある → キー を破棄して最初から通信をやり直す
  12. 全体をもう一度 1. (Alice) キー をqubit 化して送信 2. (Bob) 受信したqubit をbit

    に復元 3. (Alice, Bob) encoding/measurement を照合 4. (Alice, Bob) キー の一部を照合