Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
量子暗号
Search
yubessy
October 03, 2017
Technology
0
230
量子暗号
※社内勉強会用資料です
yubessy
October 03, 2017
Tweet
Share
More Decks by yubessy
See All by yubessy
DDIA (Designing Data-Intensive Applications) はいいぞ
yubessy
0
1.5k
Introduction to CircleCI
yubessy
1
120
Docker Hands-on
yubessy
0
110
Resource Polymorphism
yubessy
0
300
不動点コンビネータ?
yubessy
0
300
とりあえず機械学習したかった
yubessy
0
340
Scala Native
yubessy
0
220
Type Erasure と Reflection のはなし
yubessy
1
470
5分ちょいでわかった気になるラムダアーキテクチャ
yubessy
0
2.3k
Other Decks in Technology
See All in Technology
SREが取り組むデプロイ高速化 ─ Docker Buildを最適化した話
capytan
0
140
なぜ あなたはそんなに re:Invent に行くのか?
miu_crescent
PRO
0
200
AIBuildersDay_track_A_iidaxs
iidaxs
4
1.3k
Amazon Connect アップデート! AIエージェントにMCPツールを設定してみた!
ysuzuki
0
130
202512_AIoT.pdf
iotcomjpadmin
0
140
フィッシュボウルのやり方 / How to do a fishbowl
pauli
2
370
Authlete で実装する MCP OAuth 認可サーバー #CIMD の実装を添えて
watahani
0
160
ハッカソンから社内プロダクトへ AIエージェント「ko☆shi」開発で学んだ4つの重要要素
sonoda_mj
6
1.6k
[2025-12-12]あの日僕が見た胡蝶の夢 〜人の夢は終わらねェ AIによるパフォーマンスチューニングのすゝめ〜
tosite
0
170
オープンソースKeycloakのMCP認可サーバの仕様の対応状況 / 20251219 OpenID BizDay #18 LT Keycloak
oidfj
0
160
[Data & AI Summit '25 Fall] AIでデータ活用を進化させる!Google Cloudで作るデータ活用の未来
kirimaru
0
3.7k
通勤手当申請チェックエージェント開発のリアル
whisaiyo
3
450
Featured
See All Featured
Rebuilding a faster, lazier Slack
samanthasiow
85
9.3k
Designing for Performance
lara
610
69k
Digital Ethics as a Driver of Design Innovation
axbom
PRO
0
130
Rails Girls Zürich Keynote
gr2m
95
14k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
0
110
My Coaching Mixtape
mlcsv
0
13
HDC tutorial
michielstock
0
260
Getting science done with accelerated Python computing platforms
jacobtomlinson
0
76
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.8k
Navigating Weather and Climate Data
rabernat
0
51
Everyday Curiosity
cassininazir
0
110
Transcript
量子暗号 @yubessy 0x64 物語 Reboot #07 " セキュリティ・ 暗号・ 電子認証"
yubessy #10 0x64 #08 - #10 0x64 Reboot #01 -
#07 ← today!
量子論 - https://ja.wikipedia.org/wiki/ 量子論 量子論( りょうしろん) とは、 ある物理量が任意 の値を取ることができず、 特定の離散的な値しか
とることができない、 すなわち量子化を受けるよ うな全ての現象と効果を扱う学問である。 粒子と 波動の二重性、 物理的過程の不確定性、 観測によ る不可避な擾乱も特徴である。 量子論は、 マック ス・ プランクの量子仮説まで遡る全ての理論、 モ デル、 概念を包括する。 量子仮説は1900 年に、 例えば光や物質構造に対する古典物理学的説明が 限界に来ていたために産まれた。 “ “
不確定性原理 (Uncertainity Principle) 直感的説明: 普通の世界 物体に光を当てて反射させることで目に見える 光を当てても物体の状態は変わらない 量子の世界 量子に別の量子を衝突させることで状態を観測 衝突によりもとの量子の状態が変化してしまう
ある時点の量子の状態を完全に知ることは不可能 “ “
量子暗号 (Quantum Cryptography) 量子論を応用した暗号 不確定性原理により秘匿性を実現 通信が成功すれば、 その内容は他の誰にも 知られていないことを保証 誰か通信内容を傍受しようとしたら、 それを
通信前に検知できる 情報理論的安全性を保証 どれだけ計算量をかけても理論的に解読不可能 ⇔ 計算量的安全性(RSA, 楕円曲線, ....)
量子鍵配送 (Quantum Key Distribution) 暗号鍵( キー) を第三者に知られずに共有するしくみ 量子暗号論における最も基本的な問題 例: Alice
はBob にキー を渡したい キー = bit 列 (011010010...) 一度キー を渡せばあとはそれで通信 QKD ではキー をqubit( 量子bit) 化して送信 qubit は観測されると自身の状態が変化する -> この性質を利用して第三者による傍受を検知
BB84 (Bennett and Brassard, 1984) QKD のプロトコル キー を確率的にencode/decode し、
巧妙な方法で 復元することで第三者に知られずにキー を共有 encode: bit -> qubit (by Alice) decode: qubit -> bit (by Bob) ここからが本日のメイン
1. (Alice) キー をqubit 化して送信 Alice は各bit をいずれかのencoding で符号化 A:
0 → 0 , 1 → 1 B: 0 → + , 1 → - ※ 0 , 1 , + , - : qubit どちらを用いるかはbit 毎にランダムに選択 Alice は用いた各encoding を手元に記録
1. (Alice) キー をqubit 化して送信 BB84 Alice Key Bits 0
0 1 1 0 Encoding A B B A B Qubits 0 + - 1 +
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 を手元に記録
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 列のうち半分は無意味
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
3. (Alice, Bob) encoding/measurement を照合 互いに用いたencoding/measurement を見せ合う Alice: 各bit に適用したencoding(A/B)
Bob: 各qubit に適用したmeasurement(α/β) A×α またはB×β が適用されたbit のみをキー とする 確率的にもとのbit 列の半分をキー として使える 照合は公開の通信経路で行ってよい 照合内容を見られてもキー は得られない
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
4. (Alice, Bob) キー の一部を照合 互いに共有したキー の一部を見せ合う 例: キー の先頭1024bit
照合部分が完全に一致した場合 残りの部分を本当のキー として利用 照合部分が一致しなかった場合 = qubit の状態が途中で観測されて変化した = 第三者が通信を傍受している可能性がある → キー を破棄して最初から通信をやり直す
全体をもう一度 1. (Alice) キー をqubit 化して送信 2. (Bob) 受信したqubit をbit
に復元 3. (Alice, Bob) encoding/measurement を照合 4. (Alice, Bob) キー の一部を照合
まとめ 不確定性原理 物理学の「 理論限界」 を示す 量子暗号 不確定性原理を逆手に取って安全な通信を実現 BB84 量子の性質を巧妙に利用したアルゴリズム 参考
http://gva.noekeon.org/QCandSKD/QCandSKD- introduction.html