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

More Secrets of Cryptography

carnage
March 08, 2018

More Secrets of Cryptography

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