Upgrade to Pro — share decks privately, control downloads, hide ads and more …

暗号技術のリテラシー / Cryptography Literacy

Kenji Saito
February 17, 2017

暗号技術のリテラシー / Cryptography Literacy

ブロックチェーンハブ主催で開催している連続講義 (通算第3期) ブロックチェーン基盤技術 第3回「暗号技術のリテラシー」のスライドです。2017年2月17日(金) に使用しました。

Kenji Saito

February 17, 2017
Tweet

More Decks by Kenji Saito

Other Decks in Technology

Transcript

  1. (2) H m H(m) = H(m′) m′ (m′ = m)

    H(m) m m′ — 3 — 2017-02-17 – p.6/38
  2. (+ ID) TX ID (+ Merkle ) ( ) —

    3 — 2017-02-17 – p.7/38
  3. SHA-256 × SHA-256 SHA-256 × RIPEMD-160 scrypt ( ) Ethash

    (Dagger-Hashimoto ) DAG : Directed Acyclic Graph ( ) — 3 — 2017-02-17 – p.8/38
  4. : < , > : : < , , >

    : OK NG — 3 — 2017-02-17 – p.11/38
  5. : y2 = x3 + ax + b 3 X

    A + B = D A + A + . . . = nA A B C D — 3 — 2017-02-17 – p.14/38
  6. (EC) DSA G(x, y), p, a, b nG G, p,

    a, b n (n ) k(0 ≤ k ≤ n) kG, n nG — 3 — 2017-02-17 – p.15/38
  7. ( ) [email protected] ( ) ( ) [email protected] ( )

    (SFC) — 3 — 2017-02-17 – p.17/38
  8. 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 58 — 3 — 2017-02-17 – p.18/38
  9. 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 — 3 — 2017-02-17 – p.21/38
  10. (malleability) ⇒ SegWit . . . ( 2.0 ) —

    3 — 2017-02-17 – p.23/38
  11. m n OK : OP_2 <A> <B> <C> OP_3 OP_CHECKMULTISIG

    : OP_DUP OP_HASH160 < > OP_EQUALVERIFY OP_EVAL : < A> < A> < C> < C> < > — 3 — 2017-02-17 – p.29/38
  12. 50% 253 50% 23 OK n 2n 2 160 80

    — 3 — 2017-02-17 – p.31/38
  13. ( ) A B SA SB SA ∩ SB —

    3 — 2017-02-17 – p.36/38