Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
量子暗号
Search
yubessy
October 03, 2017
Technology
270
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
量子暗号
※社内勉強会用資料です
yubessy
October 03, 2017
More Decks by yubessy
See All by yubessy
DDIA (Designing Data-Intensive Applications) はいいぞ
yubessy
0
1.7k
Introduction to CircleCI
yubessy
1
140
Docker Hands-on
yubessy
0
130
Resource Polymorphism
yubessy
0
320
不動点コンビネータ?
yubessy
0
330
とりあえず機械学習したかった
yubessy
0
350
Scala Native
yubessy
0
250
Type Erasure と Reflection のはなし
yubessy
1
500
5分ちょいでわかった気になるラムダアーキテクチャ
yubessy
0
2.3k
Other Decks in Technology
See All in Technology
無理せず続ける、子育てエンジニアの学び
codmoninc
PRO
0
510
ブラウザとサーバーから考えるAI時代のフロントエンド監視
shogo4131
2
570
今さら理解するウェブフォントver.2026
takanorip
3
480
TinyGoでオブザーバビリティ?OpenTelemetryはTinyGoで使えるのか / Is OpenTelemetry available in TinyGo environment?
ymotongpoo
2
120
あなたの知らないAmazon VPC Route Server/Amazon VPC Route Server you don't know about
masakiokuda
2
240
[2026-09-30]ロックンロールは鳴り止まないっ - 信頼性かまってちゃん - 「データ駆動を投げ捨ててまで。」追いかける信頼性改善に向けた取り組みの話
tosite
0
210
オブザーバビリティを高める AI エージェント体験を考える / Designing AI Agent Experiences That Enhance Observability
aoto
PRO
2
320
二歩目のフロントエンド・ウェブアクセシビリティ
camiha
2
220
子育てエンジニアの可処分時間が減っても成長を諦めない戦い方
sudoakiy
4
4.2k
メルペイ 会計システム概要と歴史
mewuto
0
200
自分で立ててみるLLMサービス
y_sera15
0
150
自律型 AI をセキュアに実装!Gemini と MIG で作る動的コード実行環境
recruitengineers
PRO
1
230
Featured
See All Featured
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
490
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
550
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
A designer walks into a library…
pauljervisheath
211
25k
We Have a Design System, Now What?
morganepeng
55
8.4k
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
290
[RailsConf 2023] Rails as a piece of cake
palkan
59
7.1k
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
620
Statistics for Hackers
jakevdp
799
230k
Darren the Foodie - Storyboard
khoart
PRO
4
4k
Designing for Timeless Needs
cassininazir
1
520
Music & Morning Musume
bryan
48
7.4k
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