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
暗号技術の基礎知識 / Cryptographic Literacy
Search
Kenji Saito
PRO
November 22, 2017
Technology
0
200
暗号技術の基礎知識 / Cryptographic Literacy
2017年11月22日(水)、ブロックチェーンアカデミー「ブロックチェーン基盤技術 暗号技術の基礎知識」にて使用したスライドです
Kenji Saito
PRO
November 22, 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
ZOZOマッチのアーキテクチャと技術構成
zozotech
PRO
3
1.3k
バイブスに「型」を!Kent Beckに学ぶ、AI時代のテスト駆動開発
amixedcolor
2
340
Bye-Bye Query Spaghetti: Write Queries You'll Actually Understand Using Pipelined SQL Syntax
tobiaslampertlotum
0
150
サンドボックス技術でAI利活用を促進する
koh_naga
0
190
生成AIでセキュリティ運用を効率化する話
sakaitakeshi
0
350
企業の生成AIガバナンスにおけるエージェントとセキュリティ
lycorptech_jp
PRO
2
100
Codeful Serverless / 一人運用でもやり抜く力
_kensh
7
340
AI駆動開発に向けた新しいエンジニアマインドセット
kazue
0
290
LLMを搭載したプロダクトの品質保証の模索と学び
qa
0
960
DevIO2025_継続的なサービス開発のための技術的意思決定のポイント / how-to-tech-decision-makaing-devio2025
nologyance
1
320
未経験者・初心者に贈る!40分でわかるAndroidアプリ開発の今と大事なポイント
operando
2
110
Grafana Meetup Japan Vol. 6
kaedemalu
1
350
Featured
See All Featured
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
34
6k
We Have a Design System, Now What?
morganepeng
53
7.8k
Navigating Team Friction
lara
189
15k
For a Future-Friendly Web
brad_frost
180
9.9k
Statistics for Hackers
jakevdp
799
220k
The Cult of Friendly URLs
andyhume
79
6.6k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.4k
Context Engineering - Making Every Token Count
addyosmani
1
14
Build The Right Thing And Hit Your Dates
maggiecrowley
37
2.8k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
126
53k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Building Flexible Design Systems
yeseniaperezcruz
328
39k
Transcript
CSO / SFC
[email protected]
— — 2017-11-22 – p.1/40
( ) SFC ( ) CSO (Chief Science Officer) 1993
M.Eng ( ) 2006 ( ) SFC 17 P2P 2011 → ( ) — — 2017-11-22 – p.2/40
Bitcoin (2014-06-02) http://www.slideshare.net/kenjiurushima/20140602-bitcoin1-201406031222 — — 2017-11-22 – p.3/40
1. 2. 3. — — 2017-11-22 – p.4/40
1. – – ECDSA ( DSA) — — 2017-11-22 –
p.5/40
(1) — — 2017-11-22 – p.6/40
(2) H m H(m) = H(m′) m′ (m′ = m)
H(m) m m′ H(m) = H(m′) ( m′ = m) — — 2017-11-22 – p.7/40
SHA-1 https://shattered.it 2017 2 Google (CWI) — — 2017-11-22 –
p.8/40
ID (+ ) TX ID (+ Merkle ) ( )
— — 2017-11-22 – p.9/40
Merkle ( ) Digest = SHA-256 × SHA-256 TX —
— 2017-11-22 – p.10/40
SHA-256 × SHA-256 SHA-256 × RIPEMD-160 (1 ) . .
. scrypt ( ) Ethash (Dagger-Hashimoto ) DAG : Directed Acyclic Graph ( ) — — 2017-11-22 – p.11/40
— — 2017-11-22 – p.12/40
(RSA) RSA (RSA : Rivest, Shamir, Adleman; ) ECDSA (
DSA : Digital Signature Algorithm) — — 2017-11-22 – p.13/40
: < , > : : < , , >
: OK NG — — 2017-11-22 – p.14/40
( ) ← CA — — 2017-11-22 – p.15/40
M A 60BTC SegWit — — 2017-11-22 – p.16/40
– : y2 = x3 + ax + b 3
X A + B = D A + A + . . . = nA A B C D — — 2017-11-22 – p.17/40
(EC) DSA G(x, y), p, a, b nG G, p,
a, b n (n ) k(0 ≤ k ≤ n) kG, n k → PlayStation 3 nG — — 2017-11-22 – p.18/40
ECDSA secp256k1 Certicom : 256 : 512 ( ) 160
— — 2017-11-22 – p.19/40
( )
[email protected]
( ) ( )
[email protected]
( )
(SFC) — — 2017-11-22 – p.20/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-11-22 – p.21/40
( ) → (malleability) — — 2017-11-22 – p.22/40
2. (malleability) () — — 2017-11-22 – p.23/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-11-22 – p.24/40
Script Processing Concatinates scripts: input → output Stack-based processing —
— 2017-11-22 – p.25/40
(malleability) ⇒ SegWit ( ) ( 2.0 ) — —
2017-11-22 – p.26/40
( ) — — 2017-11-22 – p.27/40
: , , 1 FinTech , 2016 https://www.boj.or.jp/announcements/release_2016/data/rel160831b5.pdf — —
2017-11-22 – p.28/40
( ) (= ) — — 2017-11-22 – p.29/40
256 256 ↓ acfedf64beb9d4c1670d1d0890e3231f5effc72fc8e54c3e31035196f86ae1f0 — — 2017-11-22 – p.30/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-11-22 – p.31/40
— — 2017-11-22 – p.32/40
50% 253 50% 23 OK n 2n 2 160 80
SHA-1 (160 ) — — 2017-11-22 – p.33/40
· — — 2017-11-22 – p.34/40
— — 2017-11-22 – p.35/40
3. – – — — 2017-11-22 – p.36/40
( ) . . . zkSNARKs (zero knowledge Succinct Non-interactive
ARguments of Knowledge) Zcash Ethereum — — 2017-11-22 – p.37/40
( ) — — 2017-11-22 – p.38/40
( ) (homomorphic) : RSA ( ) A B SA
SB SA ∩ SB RSA — — 2017-11-22 – p.39/40
— — 2017-11-22 – p.40/40