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
5
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
17
思いつきが武器になる:研究というゲームを始めよう / Ideas Are Your Equipments : Let the Game of Research Begin!
ks91
PRO
0
75
ロボットを雰囲気(ヴァイブ)でプログラミングするこどもたち / Children Vibe-Programming Robots
ks91
PRO
0
21
アカデミーキャンプ 2025 SuuuuuuMMeR「燃えろ!!ロボコン」 / Academy Camp 2025 SuuuuuuMMeR "Burn the Spirit, Robocon!!" DAY 3
ks91
PRO
0
31
アカデミーキャンプ 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
87
発表と総括 / Presentations and Summary
ks91
PRO
0
61
Other Decks in Technology
See All in Technology
Language Update: Java
skrb
2
290
OCI Oracle Database Services新機能アップデート(2025/06-2025/08)
oracle4engineer
PRO
0
110
COVESA VSSによる車両データモデルの標準化とAWS IoT FleetWiseの活用
osawa
1
270
要件定義・デザインフェーズでもAIを活用して、コミュニケーションの密度を高める
kazukihayase
0
110
Evolución del razonamiento matemático de GPT-4.1 a GPT-5 - Data Aventura Summit 2025 & VSCode DevDays
lauchacarro
0
180
LLMを搭載したプロダクトの品質保証の模索と学び
qa
0
1k
S3アクセス制御の設計ポイント
tommy0124
3
200
共有と分離 - Compose Multiplatform "本番導入" の設計指針
error96num
1
380
企業の生成AIガバナンスにおけるエージェントとセキュリティ
lycorptech_jp
PRO
2
160
開発者を支える Internal Developer Portal のイマとコレカラ / To-day and To-morrow of Internal Developer Portals: Supporting Developers
aoto
PRO
1
460
AI開発ツールCreateがAnythingになったよ
tendasato
0
130
サンドボックス技術でAI利活用を促進する
koh_naga
0
200
Featured
See All Featured
Context Engineering - Making Every Token Count
addyosmani
2
40
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
15k
Site-Speed That Sticks
csswizardry
10
810
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Build your cross-platform service in a week with App Engine
jlugia
231
18k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
131
19k
A Tale of Four Properties
chriscoyier
160
23k
Music & Morning Musume
bryan
46
6.8k
Optimising Largest Contentful Paint
csswizardry
37
3.4k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
252
21k
We Have a Design System, Now What?
morganepeng
53
7.8k
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