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
June 28, 2017
Technology
0
240
暗号技術のリテラシー / Cryptography Literacy
ブロックチェーンハブ主催で開催しているブロックチェーン基盤技術講義『暗号技術のリテラシー』のスライドです。2017年6月28日(水) に使用しました。
Kenji Saito
PRO
June 28, 2017
Tweet
Share
More Decks by Kenji Saito
See All by Kenji Saito
ゼミ紹介 : 公共の利益のためのデジタルトランスフォーメーション / Zemi Introduction : Digital Transformation for Public Good
ks91
PRO
0
37
逆襲のインクルーシブ社会 / An Inclusive Society Strikes Back
ks91
PRO
0
37
続・インクルーシブな社会へ / Continuing Towards an Inclusive Society
ks91
PRO
0
35
AGI (人工一般知能) と創る新しく奇妙な社会 / New and Stranger Society built with AGI
ks91
PRO
0
99
回帰分析/大規模言語モデルと統計 / Regression Analysis, Large Language Models and Statistics
ks91
PRO
0
91
多重比較/相関分析 / Multiple Comparison and Correlation Analysis
ks91
PRO
0
84
アカデミーキャンプ 2025冬「考えるのは奴らだ」 / Academy Camp 2025 Winter - Live and Let Think DAY 3
ks91
PRO
0
75
アカデミーキャンプ 2025冬「考えるのは奴らだ」 / Academy Camp 2025 Winter - Live and Let Think DAY 2
ks91
PRO
0
61
アカデミーキャンプ 2025冬「考えるのは奴らだ」 / Academy Camp 2025 Winter - Live and Let Think DAY 1
ks91
PRO
1
83
Other Decks in Technology
See All in Technology
ゆるくVPC Latticeについてまとめてみたら、意外と奥深い件
masakiokuda
2
140
テキスト解析で見る PyCon APAC 2025 セッション&スピーカートレンド分析
negi111111
0
200
【5分でわかる】セーフィー エンジニア向け会社紹介
safie_recruit
0
20k
初めてのPostgreSQLメジャーバージョンアップ
kkato1
0
480
年末調整プロダクトの内部品質改善活動について
kaomi_wombat
0
220
IAMのマニアックな話 2025 ~40分バージョン ~
nrinetcom
PRO
8
990
FinOps_Demo
tkhresk
0
100
Multitenant 23ai の全貌 - 機能・設計・実装・運用からマイクロサービスまで
oracle4engineer
PRO
2
130
「ラベルにとらわれない」エンジニアでいること/Be an engineer beyond labels
kaonavi
0
190
「それはhowなんよ〜」のガイドライン #orestudy
77web
5
1.1k
Amazon EKS Auto ModeでKubernetesの運用をシンプルにする
sshota0809
0
130
やさしいMCP入門
minorun365
PRO
72
37k
Featured
See All Featured
Understanding Cognitive Biases in Performance Measurement
bluesmoon
28
1.6k
Building a Modern Day E-commerce SEO Strategy
aleyda
39
7.2k
StorybookのUI Testing Handbookを読んだ
zakiyama
28
5.6k
KATA
mclloyd
29
14k
Large-scale JavaScript Application Architecture
addyosmani
511
110k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
7.1k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
30
1.1k
Why You Should Never Use an ORM
jnunemaker
PRO
55
9.3k
Intergalactic Javascript Robots from Outer Space
tanoku
270
27k
Site-Speed That Sticks
csswizardry
4
460
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
49k
Transcript
SFC / CSO ks91@sfc.wide.ad.jp — — 2017-06-27 – p.1/40
( ) SFC ( ) CSO (Chief Science Officer) CEO
1993 M.Eng ( ) 2006 ( ) SFC 16 P2P 2011 → ( ) — — 2017-06-27 – p.2/40
Bitcoin (2014-06-02) http://www.slideshare.net/kenjiurushima/20140602-bitcoin1-201406031222 — — 2017-06-27 – p.3/40
1. 2. 3. — — 2017-06-27 – p.4/40
1. – – ECDSA ( DSA) Base58Check — — 2017-06-27
– p.5/40
(1) — — 2017-06-27 – p.6/40
(2) H m H(m) = H(m′) m′ (m′ = m)
H(m) m m′ H(m) = H(m′) ( m′ = m) — — 2017-06-27 – p.7/40
SHA-1 https://shattered.it 2017 2 Google (CWI) — — 2017-06-27 –
p.8/40
ID (+ ) TX ID (+ Merkle ) ( )
— — 2017-06-27 – p.9/40
SHA-256 × SHA-256 SHA-256 × RIPEMD-160 (1 ) scrypt (
) Ethash (Dagger-Hashimoto ) DAG : Directed Acyclic Graph ( ) — — 2017-06-27 – p.10/40
— — 2017-06-27 – p.11/40
(RSA) RSA (RSA : Rivest, Shamir, Adleman) ECDSA ( DSA
: Digital Signature Algorithm) — — 2017-06-27 – p.12/40
: < , > : : < , , >
: OK NG — — 2017-06-27 – p.13/40
( ) ← CA — — 2017-06-27 – p.14/40
M A 60BTC — — 2017-06-27 – p.15/40
– : y2 = x3 + ax + b 3
X A + B = D A + A + . . . = nA A B C D — — 2017-06-27 – p.16/40
(EC) DSA G(x, y), p, a, b nG G, p,
a, b n (n ) k(0 ≤ k ≤ n) kG, n nG — — 2017-06-27 – p.17/40
ECDSA secp256k1 Certicom : 256 : 512 ( ) 160
— — 2017-06-27 – p.18/40
( ) ks91@cornell.edu ( ) ( ) t90123ks@sfc.keio.ac.jp ( )
(SFC) — — 2017-06-27 – p.19/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-06-27 – p.20/40
( ) → (malleability) — — 2017-06-27 – p.21/40
2. (malleability) ( ) — — 2017-06-27 – p.22/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-06-27 – p.23/40
Script Processing Concatinates scripts: input → output Stack-based processing —
— 2017-06-27 – p.24/40
(malleability) ⇒ SegWit . . . ( 2.0 ) —
— 2017-06-27 – p.25/40
(1) — — 2017-06-27 – p.26/40
(2) — — 2017-06-27 – p.27/40
(3) — — 2017-06-27 – p.28/40
: , , 1 FinTech , 2016 https://www.boj.or.jp/announcements/release_2016/data/rel160831b5.pdf — —
2017-06-27 – p.29/40
( ) (= ) — — 2017-06-27 – p.30/40
256 256 ↓ acfedf64beb9d4c1670d1d0890e3231f5effc72fc8e54c3e31035196f86ae1f0 — — 2017-06-27 – p.31/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-06-27 – p.32/40
— — 2017-06-27 – p.33/40
50% 253 50% 23 OK n 2n 2 160 80
SHA-1 (160 ) — — 2017-06-27 – p.34/40
— — 2017-06-27 – p.35/40
3. – – — — 2017-06-27 – p.36/40
( ) . . . — — 2017-06-27 – p.37/40
( ) — — 2017-06-27 – p.38/40
( ) A B SA SB SA ∩ SB —
— 2017-06-27 – p.39/40
— — 2017-06-27 – p.40/40