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
February 17, 2017
Technology
3
410
暗号技術のリテラシー / Cryptography Literacy
ブロックチェーンハブ主催で開催している連続講義 (通算第3期) ブロックチェーン基盤技術 第3回「暗号技術のリテラシー」のスライドです。2017年2月17日(金) に使用しました。
Kenji Saito
PRO
February 17, 2017
Tweet
Share
More Decks by Kenji Saito
See All by Kenji Saito
AI 前提社会におけるトラスト / Trust in an AI-Driven Society
ks91
PRO
0
11
非営利組織の起業/発表と総括 / Starting up a Nonprofit Organization, Presentation and Summary
ks91
PRO
0
56
自己開発 / Self-Development
ks91
PRO
1
18
あなたは何によって憶えられたいですか? / What Do You Want to be Remembered for?
ks91
PRO
0
23
ボランティアと理事会 / Volunteers and Board of Directors
ks91
PRO
0
42
メタ・ネイチャーポジティブへの道 / The Path to Meta Nature Positive
ks91
PRO
0
34
アカデミーキャンプ2026 初春「ミライ、ゲーミファイ」DAY 3 / Academy Camp 2026 Early Spring "GAMIFY THE FUTURE!!" DAY 3
ks91
PRO
0
50
アカデミーキャンプ2026 初春「ミライ、ゲーミファイ」DAY 2 / Academy Camp 2026 Early Spring "GAMIFY THE FUTURE!!" DAY 2
ks91
PRO
0
86
アカデミーキャンプ2026 初春「ミライ、ゲーミファイ」DAY 1 / Academy Camp 2026 Early Spring "GAMIFY THE FUTURE!!" DAY 1
ks91
PRO
0
83
Other Decks in Technology
See All in Technology
GitHub Issue Templates + Coding Agentで簡単みんなでIaC/Easy IaC for Everyone with GitHub Issue Templates + Coding Agent
aeonpeople
1
200
20260204_Midosuji_Tech
takuyay0ne
1
140
AI駆動開発を事業のコアに置く
tasukuonizawa
1
130
ファインディの横断SREがTakumi byGMOと取り組む、セキュリティと開発スピードの両立
rvirus0817
1
1.3k
学生・新卒・ジュニアから目指すSRE
hiroyaonoe
2
580
会社紹介資料 / Sansan Company Profile
sansan33
PRO
15
400k
顧客の言葉を、そのまま信じない勇気
yamatai1212
1
350
クレジットカード決済基盤を支えるSRE - 厳格な監査とSRE運用の両立 (SRE Kaigi 2026)
capytan
6
2.7k
Webhook best practices for rock solid and resilient deployments
glaforge
1
280
Agile Leadership Summit Keynote 2026
m_seki
1
570
生成AI時代にこそ求められるSRE / SRE for Gen AI era
ymotongpoo
5
3k
顧客との商談議事録をみんなで読んで顧客解像度を上げよう
shibayu36
0
210
Featured
See All Featured
How to train your dragon (web standard)
notwaldorf
97
6.5k
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
65
Into the Great Unknown - MozCon
thekraken
40
2.3k
Git: the NoSQL Database
bkeepers
PRO
432
66k
The browser strikes back
jonoalderson
0
360
Building the Perfect Custom Keyboard
takai
2
680
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
1
120
Exploring anti-patterns in Rails
aemeredith
2
250
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
350
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.7k
Abbi's Birthday
coloredviolet
1
4.7k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.4k
Transcript
3 SFC / CSO
[email protected]
— 3 — 2017-02-17 –
p.1/38
Bitcoin (2014-06-02) http://www.slideshare.net/kenjiurushima/20140602-bitcoin1-201406031222 — 3 — 2017-02-17 – p.2/38
1. 2. 3. — 3 — 2017-02-17 – p.3/38
1. – – — 3 — 2017-02-17 – p.4/38
(1) — 3 — 2017-02-17 – p.5/38
(2) H m H(m) = H(m′) m′ (m′ = m)
H(m) m m′ — 3 — 2017-02-17 – p.6/38
(+ ID) TX ID (+ Merkle ) ( ) —
3 — 2017-02-17 – p.7/38
SHA-256 × SHA-256 SHA-256 × RIPEMD-160 scrypt ( ) Ethash
(Dagger-Hashimoto ) DAG : Directed Acyclic Graph ( ) — 3 — 2017-02-17 – p.8/38
— 3 — 2017-02-17 – p.9/38
(RSA) RSA ECDSA ( DSA : Digital Signature Algorithm) —
3 — 2017-02-17 – p.10/38
: < , > : : < , , >
: OK NG — 3 — 2017-02-17 – p.11/38
( ) — 3 — 2017-02-17 – p.12/38
M A 60BTC — 3 — 2017-02-17 – p.13/38
: y2 = x3 + ax + b 3 X
A + B = D A + A + . . . = nA A B C D — 3 — 2017-02-17 – p.14/38
(EC) DSA G(x, y), p, a, b nG G, p,
a, b n (n ) k(0 ≤ k ≤ n) kG, n nG — 3 — 2017-02-17 – p.15/38
ECDSA secp256k1 Certicom : 256 : 512 160 — 3
— 2017-02-17 – p.16/38
( )
[email protected]
( ) ( )
[email protected]
( )
(SFC) — 3 — 2017-02-17 – p.17/38
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 58 — 3 — 2017-02-17 – p.18/38
( ) → (malleability) — 3 — 2017-02-17 – p.19/38
2. – – (malleability) — 3 — 2017-02-17 – p.20/38
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 — 3 — 2017-02-17 – p.21/38
Script Processing Concatinates scripts: input → output Stack-based processing —
3 — 2017-02-17 – p.22/38
(malleability) ⇒ SegWit . . . ( 2.0 ) —
3 — 2017-02-17 – p.23/38
(1) — 3 — 2017-02-17 – p.24/38
(2) — 3 — 2017-02-17 – p.25/38
— 3 — 2017-02-17 – p.26/38
(= ) — 3 — 2017-02-17 – p.27/38
256 256 ↓ acfedf64beb9d4c1670d1d0890e3231f5effc72fc8e54c3e31035196f86ae1f0 — 3 — 2017-02-17 – p.28/38
m n OK : OP_2 <A> <B> <C> OP_3 OP_CHECKMULTISIG
: OP_DUP OP_HASH160 < > OP_EQUALVERIFY OP_EVAL : < A> < A> < C> < C> < > — 3 — 2017-02-17 – p.29/38
— 3 — 2017-02-17 – p.30/38
50% 253 50% 23 OK n 2n 2 160 80
— 3 — 2017-02-17 – p.31/38
— 3 — 2017-02-17 – p.32/38
3. – – Web of Trust — 3 — 2017-02-17
– p.33/38
( ) . . . — 3 — 2017-02-17 –
p.34/38
( ) — 3 — 2017-02-17 – p.35/38
( ) A B SA SB SA ∩ SB —
3 — 2017-02-17 – p.36/38
Web of Trust ( ) — 3 — 2017-02-17 –
p.37/38
— 3 — 2017-02-17 – p.38/38