Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Shorのアルゴリズム
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
shigeyuki azuchi
December 09, 2025
Technology
0
33
Shorのアルゴリズム
GBECの解説動画のスライドです。
https://goblockchain.network/2025/12/shor_algorithm/
shigeyuki azuchi
December 09, 2025
Tweet
Share
More Decks by shigeyuki azuchi
See All by shigeyuki azuchi
W-OTS+
azuchi
0
10
DahLIAS: Discrete Logarithm-Based Interactive Aggregate Signatures
azuchi
0
22
Fiat-Shamir変換と注意点
azuchi
0
140
AssumeUTXOを利用したブロックチェーンの同期
azuchi
0
27
BIP-374 離散対数の等価性証明
azuchi
0
50
BIP-353 DNS Payment Instructions
azuchi
0
71
OP_CAT and Schnorr Trick
azuchi
0
68
Pay to Anchorと1P1Cリレー
azuchi
0
60
プロアクティブ秘密分散法
azuchi
0
83
Other Decks in Technology
See All in Technology
Bill One 開発エンジニア 紹介資料
sansan33
PRO
5
18k
20260321_エンベディングってなに?RAGってなに?エンベディングの説明とGemini Embedding 2 の紹介
tsho
0
150
夢の無限スパゲッティ製造機 #phperkaigi
o0h
PRO
0
340
1GB RAMのラズピッピで何ができるのか試してみよう / 20260319-rpijam-1gb-rpi-whats-possible
akkiesoft
0
820
欠陥分析(ODC分析)における生成AIの活用プロセスと実践事例 / 20260320 Suguru Ishii & Naoki Yamakoshi & Mayu Yoshizawa
shift_evolve
PRO
0
330
ReactのdangerouslySetInnerHTMLは“dangerously”だから危険 / Security.any #09 卒業したいセキュリティLT
flatt_security
0
470
新規事業×QAの挑戦:不確実性を乗りこなす!フェーズごとに求められるQAの役割変革
hacomono
PRO
0
170
DMBOKを使ってレバレジーズのデータマネジメントを評価した
leveragestech
0
100
脳が溶けた話 / Melted Brain
keisuke69
1
730
20260320_JaSST26_Tokyo_登壇資料.pdf
mura_shin
0
110
Phase12_総括_自走化
overflowinc
0
1.2k
LINEヤフーにおけるAIOpsの現在地
lycorptech_jp
PRO
5
2.1k
Featured
See All Featured
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2k
Designing Powerful Visuals for Engaging Learning
tmiket
0
290
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
0
180
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
320
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
650
A better future with KSS
kneath
240
18k
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
400
Leading Effective Engineering Teams in the AI Era
addyosmani
9
1.8k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.8k
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
64
52k
Side Projects
sachag
455
43k
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
Transcript
Shorのアルゴリズム
1 量子コンピューター 量子力学(ミクロの物理学)の性質を利用して、高速に計算を行うコンピューター • 重ね合わせ:量子ビットは0と1の状態を同時にとることができる すべての可能性に対して演算を一度に適用できる。測定する際に得られる答えは1つだけ • 干渉:アルゴリズムによって正解を導出するための確率を上げる • 量子もつれ:ある量子ビットの状態が別の量子ビットの状態に影響する(量子ビット間の相関)
物質 原子 原子核 電子 陽子 中性子 量子力学に従う粒子 • 周期性がある問題(素因数分解、離散対数問題) • 構造的な探索問題(√Nの探索で答えを見つける) • ランダムで構造がない問題 • 逐次処理が必要な問題 • 全数探索が本質的に必要な問題 高速に解ける問題 高速に解けない問題
2 Bitcoinの安全性 楕円曲線上の離散対数問題の困難性 楕円曲線上のベースポイント:G 秘密鍵:スカラー値x 公開鍵:P = xG(Gをx回加算した点) Pからxを計算するのは困難 •
効率的なアルゴリズムはなく • 基本的に総当りに近い • 256 bitの場合、2128の計算
3 Shorのアルゴリズム(1994) 素因数分解(N = p × q)を効率的に解くことができる量子アルゴリズム 1. 1 <
x < Nで、Nと互いに素なxを選択し、 2. xの冪乗を使って周期を発見する a. x1 % N = 4 b. x2 % N = 13 c. … d. xr % N = 1 ← rが周期 3. xr ≡ 1 (mod N)ということは、xr - 1 ≡ 0 (mod N)でNの倍数 4. rが偶数の場合、xr - 1 = (xr/2)2 - 12 = (xr/2 - 1)(xr/2 + 1)の積がNの倍数 つまり、2つの値はpおよびqの倍数 5. 2つの値とNの最大公約数を求めると素因数が判明する a. gcd(xr/2 - 1, N) → p b. gcd(xr/2 + 1, N) → q • 重ね合わせ(すべての可能な周期を重ね合わせで作成) • 干渉(正解を導出する確率を上げ) • 量子フーリエ変換で周期を高速に発見
4 Shorのアルゴリズム(1994) 楕円曲線上の離散対数問題の場合 Gを何回加算したらP(= xG)になる?→順番に数える問題 aG + bP = (a
+ bx)G? → f(a, b)の組み合わせを使って周期性を導入する • f(1, 0) = 1G + 0P = 1G • f(0, 1) = 0G + 1P = xG • f(3, 2) = 3G + 2P = (3 + 2x)G • … • f(10, 1) = 10G + 1P = (10 + x)G 周期構造=同じ点になる (a, b)のパターンを見つける パターンが抽出できると xが逆算できる
5 Bitcoinにおける影響 • 公開鍵が既知のUTXOにロックされているコインが侵害される可能性がある ◦ P2PK、Taproot(key-path) ※NUMSポイントのコインが奪われると量子コンピューターの存在が証明される ◦ Bare multisig
◦ 再利用により公開鍵が既知である P2PKH、P2WPKH、P2SH、P2WSH ◦ 「Bitcoin and Quantum Computing: Current Status and Future Directions」では 2025年1月時点で400万〜1,000万BTCがリスクに • P2PKHやP2WPKH ◦ 別途ハッシュからプリイメージとなる公開鍵を導出する必要がある ◦ Groverのアルゴリズムにより、セキュリティレベルが 2256から2128まで削減されるが 破れるレベルではない ◦ ※ 超高速な量子コンピューターが登場するとまた別だが、可能か?