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
shigeyuki azuchi
December 09, 2025
Technology
56
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Shorのアルゴリズム
GBECの解説動画のスライドです。
https://goblockchain.network/2025/12/shor_algorithm/
shigeyuki azuchi
December 09, 2025
More Decks by shigeyuki azuchi
See All by shigeyuki azuchi
FORS
azuchi
0
7
クラスターmempool
azuchi
0
31
W-OTS+
azuchi
0
34
DahLIAS: Discrete Logarithm-Based Interactive Aggregate Signatures
azuchi
0
42
Fiat-Shamir変換と注意点
azuchi
0
220
AssumeUTXOを利用したブロックチェーンの同期
azuchi
0
55
BIP-374 離散対数の等価性証明
azuchi
0
71
BIP-353 DNS Payment Instructions
azuchi
0
88
OP_CAT and Schnorr Trick
azuchi
0
87
Other Decks in Technology
See All in Technology
スタートアップにAmazon EKSは早すぎる? マルチプロダクト戦略を加速する Platform Engineeringの実践 / Is Amazon EKS Too Soon for Startups? Practical Platform Engineering to Accelerate a Multi-Product Strategy
elmodev09
1
1.9k
水を運ぶ人としてのリーダーシップ
izumii19
4
1k
FPC(フレキシブル)基板にZephyr実装してみた。
iotengineer22
0
180
「軸足」は 固定しなくていい - 熱量と強みで描く、しなやかなキャリアの形
kakehashi
PRO
1
270
AIが自律的に回る開発ループを設計してチーム開発に組み込む
nekorush14
0
130
AIペネトレーションテスト・ セキュリティ検証「AgenticSec」紹介資料
laysakura
2
7.7k
PostgreSQL 19 新機能概要 OSC Hokkaido 2026
nori_shinoda
0
250
AI時代のコスト管理を考えよう〜明日から使える実践AWSノウハウ~
yoshimi0227
0
910
【FinOps】データドリブンな意思決定を目指して
z63d
2
430
40代で“やっとエンジニアになれた”――閉じた学びを開き、空の青さを知る / 20260628 Naoki Takahashi
shift_evolve
PRO
4
920
「ビジネスがわかるエンジニア」とは何か?
ryooob
0
340
MySQL & MySQL HeatWave Report - June 2026
freshdaz
0
180
Featured
See All Featured
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
66
55k
Building the Perfect Custom Keyboard
takai
2
800
Balancing Empowerment & Direction
lara
6
1.2k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
How Software Deployment tools have changed in the past 20 years
geshan
0
34k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.8k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.8k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
2k
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
340
Rails Girls Zürich Keynote
gr2m
96
14k
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
What's in a price? How to price your products and services
michaelherold
247
13k
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まで削減されるが 破れるレベルではない ◦ ※ 超高速な量子コンピューターが登場するとまた別だが、可能か?