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
デジタルトランスフォーメーションと民主主義 / Digital Transformation and Democracy
ks91
PRO
0
3
We Never Took the Kobayashi Maru Test Until Now. What Do You Think of Our Solutions? — Journeys of the Mind Through a No-Win Game
ks91
PRO
0
14
思いつきが武器になる:研究というゲームを始めよう / Ideas Are Your Equipments : Let the Game of Research Begin!
ks91
PRO
0
73
ロボットを雰囲気(ヴァイブ)でプログラミングするこどもたち / Children Vibe-Programming Robots
ks91
PRO
0
21
アカデミーキャンプ 2025 SuuuuuuMMeR「燃えろ!!ロボコン」 / Academy Camp 2025 SuuuuuuMMeR "Burn the Spirit, Robocon!!" DAY 3
ks91
PRO
0
30
アカデミーキャンプ 2025 SuuuuuuMMeR「燃えろ!!ロボコン」 / Academy Camp 2025 SuuuuuuMMeR "Burn the Spirit, Robocon!!" DAY 2
ks91
PRO
0
33
アカデミーキャンプ 2025 SuuuuuuMMeR「燃えろ!!ロボコン」 / Academy Camp 2025 SuuuuuuMMeR "Burn the Spirit, Robocon!!" DAY 1
ks91
PRO
0
160
未来へのフォワードキャスト / Forward Cast to the Future
ks91
PRO
0
86
発表と総括 / Presentations and Summary
ks91
PRO
0
61
Other Decks in Technology
See All in Technology
Codeful Serverless / 一人運用でもやり抜く力
_kensh
7
350
共有と分離 - Compose Multiplatform "本番導入" の設計指針
error96num
1
210
【実演版】カンファレンス登壇者・スタッフにこそ知ってほしいマイクの使い方 / 大吉祥寺.pm 2025
arthur1
1
420
研究開発と製品開発、両利きのロボティクス
youtalk
1
500
Kubernetes における cgroup driver のしくみ: runwasi の bugfix より
z63d
2
250
Obsidian応用活用術
onikun94
1
430
AWSで推進するデータマネジメント
kawanago
1
1.2k
フィンテック養成勉強会#56
finengine
0
130
Flutterでキャッチしないエラーはどこに行く
taiju59
0
220
AI時代に非連続な成長を実現するエンジニアリング戦略
sansantech
PRO
3
1.1k
RSCの時代にReactとフレームワークの境界を探る
uhyo
10
3.2k
会社紹介資料 / Sansan Company Profile
sansan33
PRO
6
380k
Featured
See All Featured
Imperfection Machines: The Place of Print at Facebook
scottboms
268
13k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
46
7.6k
Reflections from 52 weeks, 52 projects
jeffersonlam
352
21k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
187
54k
Become a Pro
speakerdeck
PRO
29
5.5k
Building Applications with DynamoDB
mza
96
6.6k
Making Projects Easy
brettharned
117
6.4k
Designing for Performance
lara
610
69k
The Straight Up "How To Draw Better" Workshop
denniskardys
236
140k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
51
5.6k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
3.1k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
7
840
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