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
暗号技術のリテラシー / Cryptography Literacy
Search
Kenji Saito
PRO
June 28, 2017
Technology
0
240
暗号技術のリテラシー / Cryptography Literacy
ブロックチェーンハブ主催で開催しているブロックチェーン基盤技術講義『暗号技術のリテラシー』のスライドです。2017年6月28日(水) に使用しました。
Kenji Saito
PRO
June 28, 2017
Tweet
Share
More Decks by Kenji Saito
See All by Kenji Saito
スマートコントラクトデザイン / Smart Contract Design
ks91
PRO
0
9
FinTech 7-8 : Blockchain
ks91
PRO
0
93
スマートコントラクトプログラミング / Smart Contract Programming
ks91
PRO
0
21
AI が研究する時代に、人はどう育つのか? — GAMER PAT にみる "シリアスゲームとしての知的訓練" / In an era where AI conducts research, how will humans develop? — "Intellectual Training as a Serious Game" Seen in GAMER PAT
ks91
PRO
0
62
FinTech 5-6 : The World of Apps
ks91
PRO
0
110
生成AI による論文執筆サポート・ワークショップ ─ サーベイ/リサーチクエスチョン編 / Workshop on AI-Assisted Paper Writing Support: Survey/Research Question Edition
ks91
PRO
0
87
ブロックチェーン概論とインストール大会 / Introduction to Blockchain and Installation Workshop
ks91
PRO
0
11
FinTech 3-4 : Internet Technology and Governance
ks91
PRO
0
83
民主主義と博愛(Humanitarianism) / Democracy and Humanitarianism
ks91
PRO
0
23
Other Decks in Technology
See All in Technology
IBC 2025 動画技術関連レポート / IBC 2025 Report
cyberagentdevelopers
PRO
2
230
re:Invent 2025の見どころと便利アイテムをご紹介 / Highlights and Useful Items for re:Invent 2025
yuj1osm
0
520
Open Table Format (OTF) が必要になった背景とその機能 (2025.10.28)
simosako
3
580
ラスベガスの歩き方 2025年版(re:Invent 事前勉強会)
junjikoide
0
710
戦えるAIエージェントの作り方
iwiwi
18
8.3k
DSPy入門
tomehirata
6
820
文字列操作の達人になる ~ Kotlinの文字列の便利な世界 ~ - Kotlin fest 2025
tomorrowkey
2
310
累計5000万DLサービスの裏側 – LINEマンガのKotlinで挑む大規模 Server-side ETLの最適化
ldf_tech
0
110
[re:Inent2025事前勉強会(有志で開催)] re:Inventで見つけた人生をちょっと変えるコツ
sh_fk2
1
1.1k
オブザーバビリティが育むシステム理解と好奇心
maruloop
3
1.9k
パフォーマンスチューニングのために普段からできること/Performance Tuning: Daily Practices
fujiwara3
2
180
CLIPでマルチモーダル画像検索 →とても良い
wm3
2
720
Featured
See All Featured
Scaling GitHub
holman
463
140k
Optimising Largest Contentful Paint
csswizardry
37
3.5k
Optimizing for Happiness
mojombo
379
70k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
3.7k
BBQ
matthewcrist
89
9.9k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
253
22k
Building a Modern Day E-commerce SEO Strategy
aleyda
44
7.9k
What's in a price? How to price your products and services
michaelherold
246
12k
The Cost Of JavaScript in 2023
addyosmani
55
9.1k
GitHub's CSS Performance
jonrohan
1032
470k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.5k
Automating Front-end Workflow
addyosmani
1371
200k
Transcript
SFC / CSO
[email protected]
— — 2017-06-27 – p.1/40
( ) SFC ( ) CSO (Chief Science Officer) CEO
1993 M.Eng ( ) 2006 ( ) SFC 16 P2P 2011 → ( ) — — 2017-06-27 – p.2/40
Bitcoin (2014-06-02) http://www.slideshare.net/kenjiurushima/20140602-bitcoin1-201406031222 — — 2017-06-27 – p.3/40
1. 2. 3. — — 2017-06-27 – p.4/40
1. – – ECDSA ( DSA) Base58Check — — 2017-06-27
– p.5/40
(1) — — 2017-06-27 – p.6/40
(2) H m H(m) = H(m′) m′ (m′ = m)
H(m) m m′ H(m) = H(m′) ( m′ = m) — — 2017-06-27 – p.7/40
SHA-1 https://shattered.it 2017 2 Google (CWI) — — 2017-06-27 –
p.8/40
ID (+ ) TX ID (+ Merkle ) ( )
— — 2017-06-27 – p.9/40
SHA-256 × SHA-256 SHA-256 × RIPEMD-160 (1 ) scrypt (
) Ethash (Dagger-Hashimoto ) DAG : Directed Acyclic Graph ( ) — — 2017-06-27 – p.10/40
— — 2017-06-27 – p.11/40
(RSA) RSA (RSA : Rivest, Shamir, Adleman) ECDSA ( DSA
: Digital Signature Algorithm) — — 2017-06-27 – p.12/40
: < , > : : < , , >
: OK NG — — 2017-06-27 – p.13/40
( ) ← CA — — 2017-06-27 – p.14/40
M A 60BTC — — 2017-06-27 – p.15/40
– : y2 = x3 + ax + b 3
X A + B = D A + A + . . . = nA A B C D — — 2017-06-27 – p.16/40
(EC) DSA G(x, y), p, a, b nG G, p,
a, b n (n ) k(0 ≤ k ≤ n) kG, n nG — — 2017-06-27 – p.17/40
ECDSA secp256k1 Certicom : 256 : 512 ( ) 160
— — 2017-06-27 – p.18/40
( )
[email protected]
( ) ( )
[email protected]
( )
(SFC) — — 2017-06-27 – p.19/40
Base58Check 1. SHA-256 × RIPEMD-160 2. ( = 0) 3.
SHA-256 × SHA-256 4. 4 2. ( ) 5. base58 base58 10 + 26×2 - 4 (l,I,O,0) = 58 l = , I = , O = , 0 = 58 — — 2017-06-27 – p.20/40
( ) → (malleability) — — 2017-06-27 – p.21/40
2. (malleability) ( ) — — 2017-06-27 – p.22/40
Script (General) Output: OP_DUP OP_HASH160 OP_PUSHDATA* <Public-key digest> OP_EQUALVERIFY OP_CHECKSIG
Input: OP_PUSHDATA* <Signature> OP_PUSHDATA* <Public key> TX output addressed to a public-key digest and referring input — — 2017-06-27 – p.23/40
Script Processing Concatinates scripts: input → output Stack-based processing —
— 2017-06-27 – p.24/40
(malleability) ⇒ SegWit . . . ( 2.0 ) —
— 2017-06-27 – p.25/40
(1) — — 2017-06-27 – p.26/40
(2) — — 2017-06-27 – p.27/40
(3) — — 2017-06-27 – p.28/40
: , , 1 FinTech , 2016 https://www.boj.or.jp/announcements/release_2016/data/rel160831b5.pdf — —
2017-06-27 – p.29/40
( ) (= ) — — 2017-06-27 – p.30/40
256 256 ↓ acfedf64beb9d4c1670d1d0890e3231f5effc72fc8e54c3e31035196f86ae1f0 — — 2017-06-27 – p.31/40
m n OK : OP_2 <A> <B> <C> OP_3 OP_CHECKMULTISIG
: OP_DUP OP_HASH160 < > OP_EQUALVERIFY OP_EVAL : < A> < A> < C> < C> < > — — 2017-06-27 – p.32/40
— — 2017-06-27 – p.33/40
50% 253 50% 23 OK n 2n 2 160 80
SHA-1 (160 ) — — 2017-06-27 – p.34/40
— — 2017-06-27 – p.35/40
3. – – — — 2017-06-27 – p.36/40
( ) . . . — — 2017-06-27 – p.37/40
( ) — — 2017-06-27 – p.38/40
( ) A B SA SB SA ∩ SB —
— 2017-06-27 – p.39/40
— — 2017-06-27 – p.40/40