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
発表と総括 / Presentations and Summary
ks91
PRO
0
6
サイバーフィジカル社会、金融の未来とアイデアソン / Cyber Physical Society, Future of Finance, and Ideathon
ks91
PRO
0
53
マニフェスト: 人類の知のフロンティアに向けた拡張的足場へ / Manifesto: Toward Expansive Scaffolding for Humanity's Knowledge Frontier
ks91
PRO
0
11
続・スマートコントラクトと分散ファイナンス / Smart Contracts and Decentralized Finance, Continued
ks91
PRO
0
50
スマートコントラクトと分散ファイナンス / Smart Contracts and Decentralized Finance
ks91
PRO
0
64
シン・ブロックチェーン / Truth of Blockchain
ks91
PRO
0
98
パスワード/パスフレーズと認証 / Password, Passphrase and Authentication
ks91
PRO
0
37
git と GitHub / git and GitHub
ks91
PRO
0
36
ソフトウェアの開発と保守 / Software Development and Maintenance
ks91
PRO
0
51
Other Decks in Technology
See All in Technology
SREのためのeBPF活用ステップアップガイド
egmc
2
1.3k
全部AI、全員Cursor、ドキュメント駆動開発 〜DevinやGeminiも添えて〜
rinchsan
10
5.1k
〜『世界中の家族のこころのインフラ』を目指して”次の10年”へ〜 SREが導いたグローバルサービスの信頼性向上戦略とその舞台裏 / Towards the Next Decade: Enhancing Global Service Reliability
kohbis
3
1.5k
Talk to Someone At Delta Airlines™️ USA Contact Numbers
travelcarecenter
0
160
All About Sansan – for New Global Engineers
sansan33
PRO
1
1.2k
助けて! XからWaylandに移行しないと新しいGNOMEが使えなくなっちゃう 2025-07-12
nobutomurata
2
200
VS CodeとGitHub Copilotで爆速開発!アップデートの波に乗るおさらい会 / Rapid Development with VS Code and GitHub Copilot: Catch the Latest Wave
yamachu
3
460
AI Ready API ─ AI時代に求められるAPI設計とは?/ AI-Ready API - Designing MCP and APIs in the AI Era
yokawasa
6
1.9k
ClaudeCode_vs_GeminiCLI_Terraformで比較してみた
tkikuchi
1
1k
AWS CDK 入門ガイド これだけは知っておきたいヒント集
anank
5
750
OpenTelemetryセマンティック規約の恩恵とMackerel APMにおける活用例 / SRE NEXT 2025
mackerelio
3
2k
ABEMAの本番環境負荷試験への挑戦
mk2taiga
5
1.3k
Featured
See All Featured
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
53
2.9k
Build your cross-platform service in a week with App Engine
jlugia
231
18k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
181
54k
A Tale of Four Properties
chriscoyier
160
23k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
21
1.3k
Rails Girls Zürich Keynote
gr2m
95
14k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
108
19k
Raft: Consensus for Rubyists
vanstee
140
7k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
The Art of Programming - Codeland 2020
erikaheidi
54
13k
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