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
マニフェスト: 人類の知のフロンティアに向けた拡張的足場へ / Manifesto: Toward Expansive Scaffolding for Humanity's Knowledge Frontier
ks91
PRO
0
8
続・スマートコントラクトと分散ファイナンス / Smart Contracts and Decentralized Finance, Continued
ks91
PRO
0
42
スマートコントラクトと分散ファイナンス / Smart Contracts and Decentralized Finance
ks91
PRO
0
63
シン・ブロックチェーン / Truth of Blockchain
ks91
PRO
0
92
パスワード/パスフレーズと認証 / Password, Passphrase and Authentication
ks91
PRO
0
37
git と GitHub / git and GitHub
ks91
PRO
0
35
ソフトウェアの開発と保守 / Software Development and Maintenance
ks91
PRO
0
50
インターネットの特徴 / Features of the Internet
ks91
PRO
0
34
インターネットのガバナンス / Governance of the Internet
ks91
PRO
0
30
Other Decks in Technology
See All in Technology
AWS認定を取る中で感じたこと
siromi
1
190
Delta airlines®️ USA Contact Numbers: Complete 2025 Support Guide
airtravelguide
0
340
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
47
19k
Beyond Kaniko: Navigating Unprivileged Container Image Creation
f30
0
130
SaaS型なのに自由度の高い本格CMSでサイト構築と運用のコスパ&タイパUP! MovableType.net の便利機能とユーザー事例のご紹介
masakah
0
110
タイミーのデータモデリング事例と今後のチャレンジ
ttccddtoki
6
2.4k
Backlog ユーザー棚卸しRTA、多分これが一番早いと思います
__allllllllez__
1
150
さくらのIaaS基盤のモニタリングとOpenTelemetry/OSC Hokkaido 2025
fujiwara3
3
440
Delegating the chores of authenticating users to Keycloak
ahus1
0
140
ネットワーク保護はどう変わるのか?re:Inforce 2025最新アップデート解説
tokushun
0
200
Core Audio tapを使ったリアルタイム音声処理のお話
yuta0306
0
190
2025 AWS Jr. Championが振り返るAWS Summit
kazukiadachi
0
110
Featured
See All Featured
Large-scale JavaScript Application Architecture
addyosmani
512
110k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Gamification - CAS2011
davidbonilla
81
5.4k
Faster Mobile Websites
deanohume
307
31k
Side Projects
sachag
455
42k
Navigating Team Friction
lara
187
15k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3.3k
Writing Fast Ruby
sferik
628
62k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
233
17k
Embracing the Ebb and Flow
colly
86
4.7k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
46
9.6k
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