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
200
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
暗号技術の基礎知識 / Cryptographic Literacy
2017年11月22日(水)、ブロックチェーンアカデミー「ブロックチェーン基盤技術 暗号技術の基礎知識」にて使用したスライドです
Kenji Saito
PRO
November 22, 2017
More Decks by Kenji Saito
See All by Kenji Saito
責任2.0 ∼ AI が主体となる世界で ∼ / Responsibility 2.0: In a World Where AI Takes Responsibilities
ks91
PRO
0
29
発表と総括 / Presentations and Summary
ks91
PRO
0
160
インシデントレスポンス演習II / Incident Response Exercise II
ks91
PRO
0
72
脱金融のフューチャー・デザイン / Future Design Beyond Finance
ks91
PRO
0
160
戦略と安全保障 / Strategy and Security
ks91
PRO
0
100
ローカル LLM とコンピューティングの脱領土化 / Local LLMs and Deterritorialization of Computing
ks91
PRO
0
25
サイバー戦の現在と未来 / The Present and Future of Cyber Warfare
ks91
PRO
0
82
金融の未来を考える / Thinking About the Future of Finance
ks91
PRO
0
190
AI Agentification: Current State and the Changes Ahead
ks91
PRO
0
54
Other Decks in Technology
See All in Technology
SREとQA 二人三脚で進めるSLO運用/sre-qa-slo
sugitak
0
1.1k
ファミコンでPHPを動かす / PHP on the Famicom
tomzoh
2
560
Multicaで30個のミニプロジェクトをAIエージェント運用して見えてきたこと
eiei114
1
580
データエンジニアリングとドメイン駆動設計
masuda220
PRO
12
2.1k
キャリアLT会#3
beli68
0
180
「早く出す」より「事業に効く」 ── 顧客の業務サイクルから逆算するAI時代の二重ループ開発と「変化の設計者」 / devsumi2026
rakus_dev
1
530
Vポイント分析基盤におけるデータモデリング20年史
taromatsui_cccmkhd
4
630
DatabricksにおけるMCPソリューション
taka_aki
1
320
副作用のある Lambda でも Lambda Power Tuning は使えるのか / lambda-power-tuning-side-effects
koukihosaka
1
130
AIが当たり前の組織で エンジニアはどう育つか
nishihira
1
790
凡エンジニアがこの先生きのこるためには。〜TypeScript完全に理解したい〜
alchemy1115
2
390
Kaggleで成長するために意識したこと
prgckwb
2
430
Featured
See All Featured
Code Review Best Practice
trishagee
74
20k
Producing Creativity
orderedlist
PRO
348
40k
The Cult of Friendly URLs
andyhume
79
7k
Large-scale JavaScript Application Architecture
addyosmani
515
110k
The Art of Programming - Codeland 2020
erikaheidi
57
14k
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
550
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
56k
Fireside Chat
paigeccino
42
4k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.9k
How GitHub (no longer) Works
holman
316
150k
Joys of Absence: A Defence of Solitary Play
codingconduct
1
410
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9.1k
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