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
19
あなたは何によって憶えられたいですか? / What Do You Want to be Remembered for?
ks91
PRO
0
24
ボランティアと理事会 / 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
外部キー制約の知っておいて欲しいこと - RDBMSを正しく使うために必要なこと / FOREIGN KEY Night
soudai
PRO
12
5.3k
Codex 5.3 と Opus 4.6 にコーポレートサイトを作らせてみた / Codex 5.3 vs Opus 4.6
ama_ch
0
130
CDKで始めるTypeScript開発のススメ
tsukuboshi
1
370
【Oracle Cloud ウェビナー】[Oracle AI Database + AWS] Oracle Database@AWSで広がるクラウドの新たな選択肢とAI時代のデータ戦略
oracle4engineer
PRO
1
130
会社紹介資料 / Sansan Company Profile
sansan33
PRO
15
400k
We Built for Predictability; The Workloads Didn’t Care
stahnma
0
140
20260204_Midosuji_Tech
takuyay0ne
1
140
Ruby版 JSXのRuxが気になる
sansantech
PRO
0
150
仕様書駆動AI開発の実践: Issue→Skill→PRテンプレで 再現性を作る
knishioka
2
630
生成AI時代にこそ求められるSRE / SRE for Gen AI era
ymotongpoo
5
3k
超初心者からでも大丈夫!オープンソース半導体の楽しみ方〜今こそ!オレオレチップをつくろう〜
keropiyo
0
110
Data Hubグループ 紹介資料
sansan33
PRO
0
2.7k
Featured
See All Featured
A Tale of Four Properties
chriscoyier
162
24k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
1.8k
Building Adaptive Systems
keathley
44
2.9k
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
66
36k
Leo the Paperboy
mayatellez
4
1.4k
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
110
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.6k
Exploring anti-patterns in Rails
aemeredith
2
250
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
270
First, design no harm
axbom
PRO
2
1.1k
RailsConf 2023
tenderlove
30
1.3k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
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