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

More Secrets of Cryptography

Avatar for carnage carnage
March 08, 2018

More Secrets of Cryptography

Avatar for carnage

carnage

March 08, 2018
Tweet

More Decks by carnage

Other Decks in Technology

Transcript

  1. Eliptic Curve Equation • y2 = x3 + ax2 +

    b • y2 = x3 + 486662x2 + x 3
  2. Eliptic Curve Key Exchange • Agree a curve, modulus and

    generator point (G) • Select random integer d and compute P = dG 8
  3. Eliptic Curve Key Exchange • Agree a curve, modulus and

    generator point (G) • Select random integer d and compute P = dG • Exchange public keys (PA and PB) 8
  4. Eliptic Curve Key Exchange • Agree a curve, modulus and

    generator point (G) • Select random integer d and compute P = dG • Exchange public keys (PA and PB) • Compute a shared secret dBPA and dAPB 8
  5. Eliptic Curve Key Exchange • Agree a curve, modulus and

    generator point (G) • Select random integer d and compute P = dG • Exchange public keys (PA and PB) • Compute a shared secret dBPA and dAPB • Both parties have now computed dAdBG 8
  6. Ideal hash function properties • It should be quick and

    easy to compute a hash for any given data. 12
  7. Ideal hash function properties • It should be quick and

    easy to compute a hash for any given data. • It should be difficult to compute data that has a given hash. 12
  8. Ideal hash function properties • It should be quick and

    easy to compute a hash for any given data. • It should be difficult to compute data that has a given hash. • It should be unlikely that two different messages will have the same hash. 12
  9. Setup phase • Append a single ’1’ bit to the

    data • Pad the data with ’0’ so that the data + 64 bits is a multiple of 512 • Append the data length as a 64 bit integer 13
  10. Expansion phase • Split message into 512 bit blocks •

    Expand each block to 2048 bits • Expansion is done using shifts and rotates of the original block xor’d together 14
  11. What is a blockchain? • A Merkle tree • No

    central authority • Multiple ’forks’ may exist 18
  12. What is a blockchain? • A Merkle tree • No

    central authority • Multiple ’forks’ may exist • There exists a consensus algorithm to determine the correct fork 18
  13. What is a blockchain? • A Merkle tree • No

    central authority • Multiple ’forks’ may exist • There exists a consensus algorithm to determine the correct fork • The consensus algorithm only requires data contained on the blockchain to run 18