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
x-only Public Key
Search
shigeyuki azuchi
September 08, 2021
Technology
0
84
x-only Public Key
GBECの解説動画の資料です:
https://goblockchain.network/2021/09/x-only-public-key/
shigeyuki azuchi
September 08, 2021
Tweet
Share
More Decks by shigeyuki azuchi
See All by shigeyuki azuchi
BIP-353 DNS Payment Instructions
azuchi
0
21
OP_CAT and Schnorr Trick
azuchi
0
18
Pay to Anchorと1P1Cリレー
azuchi
0
20
プロアクティブ秘密分散法
azuchi
0
31
v3トランザクションリレー
azuchi
0
32
ランポート署名
azuchi
0
66
BitVM
azuchi
0
74
Replacement Cycling Attack
azuchi
0
68
Bitcoinのタイムロックの仕組み
azuchi
0
59
Other Decks in Technology
See All in Technology
CodePipelineのアクション統合から学ぶAWS CDKの抽象化技術 / codepipeline-actions-cdk-abstraction
gotok365
5
330
ここはMCPの夜明けまえ
nwiizo
32
12k
バクラクの認証基盤の成長と現在地 / bakuraku-authn-platform
convto
4
820
Стильный код: натуральный поиск редких атрибутов по картинке. Юлия Антохина, Data Scientist, Lamoda Tech
lamodatech
0
830
Dynamic Reteaming And Self Organization
miholovesq
3
690
C++26アップデート 2025-03
faithandbrave
0
1.1k
PagerDuty×ポストモーテムで築く障害対応文化/Building a culture of incident response with PagerDuty and postmortems
aeonpeople
3
480
生成AIのユースケースをとにかく集めてまるっと学ぶ!/ all about generative ai usecases
gakumura
2
300
Microsoft Fabric vs Databricks vs (Snowflake) -若手エンジニアがそれぞれの強みと違いを比較してみた- "A Young Engineer's Comparison of Their Strengths and Differences"
reireireijinjin6
1
110
読んで学ぶ Amplify Gen2 / Amplify と CDK の関係を紐解く #jawsug_tokyo
tacck
PRO
1
280
Compose におけるパスワード自動入力とパスワード保存
tonionagauzzi
0
140
Dataverseの検索列について
miyakemito
1
140
Featured
See All Featured
A Tale of Four Properties
chriscoyier
158
23k
Statistics for Hackers
jakevdp
798
220k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
104
19k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
34
2.2k
Optimising Largest Contentful Paint
csswizardry
37
3.2k
Writing Fast Ruby
sferik
628
61k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
10
770
The Illustrated Children's Guide to Kubernetes
chrisshort
48
49k
Automating Front-end Workflow
addyosmani
1370
200k
How to Ace a Technical Interview
jacobian
276
23k
The World Runs on Bad Software
bkeepers
PRO
68
11k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
331
21k
Transcript
x-only Public Key
1 楕円曲線暗号の公開鍵 【秘密鍵】 secp256k1の場合、256 bitのランダム値 【公開鍵】 xを秘密鍵とした場合、楕円曲線のベースポイントGに対して P =
xGを計算したPが公開鍵 楕円曲線の点は、その(x, y)座標がy2 = x3 + ax + bを満たす (secp256k1の場合、 a = 0, b = 7、つまりy2 = x3 + 7)
2 公開鍵の表現方法 公開鍵 P = xGの(x, y)座標の値はそれぞれ32バイト=合計64バイト • 非圧縮公開鍵:65バイト
04 || x座標 || y座標 • 圧縮公開鍵:33バイト x座標が分かると、y2 = x3 + ax + b (mod p)からy座標が計算できる ◦ y座標が偶数の場合 02 || x座標 ◦ y座標が奇数の場合 03 || x座標 Segwit v0まではデータスペースの観点から圧縮公開鍵の使用が主流
3 x-only Public Key とは? x座標のみで表現される公開鍵で、圧縮公開鍵より1バイト小さい TaprootやLN Offerなどで採用 •
x座標のみだと、y座標が偶奇どちらか特定できないんじゃ? y座標が偶数の鍵を使用する • P = xGのy座標が奇数の場合、秘密鍵はどうする? 変換後の秘密鍵x’ = 曲線の位数n - x (n = 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364141 )