quartz/content/notes/06-hashing-binary-public-key-cryptography.md
2022-08-16 13:25:13 +12:00

3.0 KiB

title aliases tags sr-due sr-interval sr-ease
06-hashing-binary-public-key-cryptography
lecture
comp210
2022-08-19 3 250
  • terminology

news

  • pegasus project
  • cutting internet cables

Hash function

  • yields a small, districtive value (hash or digest) from an arbitrarily sized input.
  • one way function
    • non-invertable
  • uniform size (each ouput eqaully likely)
  • deterministic (same input maps to same output)
  • possibility of collisions (b-day paradox, potential attacks)

message => hash() => hash

also

  • can be used for data structures
    • hash-map
    • lots of theory
    • often use modular arithmetic
    • usually have more complicated algorithms than mod

in crypto

  • needs to be
    • impossible to reverse
    • difficult to find collision
    • uniform length output (tunable)
    • must account for every bit of information in a message
    • must be sensitive to changes input (avalancge effect)
    • ouput should no contain apparent iinformation (appears random)
    • easily computed (usually)
      • for passowords should be slow
      • makes brute force attacks take time
      • key strechting (repeated application of hash)
      • use complex memory access patterns to defeat esp

effectively a digital fingerprint;

collision probability

v = a^l

  • theory slide|400
  • example slide|400
  • reverse example slide|400

can also be used to compare complexity of passwords

  • passwords slide

  • should have about 80 bits of entropy

  • collision probability slide|400

uses of hashing

  • hashing security appplications slide|400
  • 2|400

good algorithms

  • safe|400
  • not-safe|400

One-time-pads

  • basic idea
    • generate single-use truly-random key they is at least as long as the plaintext
    • combine the key with the plaintext using XOR one bit at a time
    • resulting ciphertext looks like random noise
    • decryption must use same key (symmetric)

limitations

impossible to crack, if properly implemented.

  • but key must be shared
  • key distribution problem
  • need long, truly random, one time keys
    • must be used only once

assymetric cryptography

uses different but mathematically related keys for encrption and decryption

asymmetric enryptio process|400

symmetric diagram|400

asymmetric enryption diagram|400

digital signatures

encryption + signing. signing verfies authenticity of sender

signing|400 signin diagram|400

stream ciphers vs block ciphers

one bit at a time vs chunks

reciprocal cipher slide|400