Encryption keywords



Encryption keywords

0 0


crypto-math-basics

Presentation to Savas about basics of encrpytion

On Github timstallmann / crypto-math-basics

Encryption keywords

  • Stream cypher
  • Block cypher
  • Symmetric
  • Asymmetric
  • Hash function

Block cyphers

  • DES - 56 bit key
  • Triple DES (why not double DES?)
  • AES - 128bit+ keys

Goals of public-key/private-key cryptography

  • Encryption (a third-party can't intercept communication)
  • Verifiability (I know that you're the person who's saying what you're saying)
  • Avoiding deniability (If you say something you can't later deny saying it)
  • Avoiding tampering (a third-party can't modify messages)

Public-key cryptography: Core concepts

  • Public key & private key
  • One-way functions
  • Arithmetic in groups

Group properties:

  • Associativity - (a + b) + c = a + (b + c)
  • Commutativity - a + b = b + a
  • Identity element - 0 + a = a
  • Inverses - for every a, there's a b such that a + b = 0

Groups - a simple example (Z_12, + )

Take p be some prime number, then (1, 2, .... , p - 1) is a group under multiplication modulo p

For encryption, we're particularly interested in exponentiation (repeatedly multiplying the same number)

Try p = 7:

a a^2 a^3 a^4 a^5 a^6 a^7 1 1 1 1 1 1 1 2 4 1 2 4 1 2 3 2 6 4 5 1 3 4 2 1 4 2 1 1 5 4 6 2 3 1 5 6 1 6 1 6 1 6

Diffie-Hellmann Key Exchange (DHKE)

Choose a large prime p and an element a which is a primitive element Person one chooses a secret k and computes a^k, and shares that with person two Person two chooses a secret key j and computes a^j, and shares that with person one The shared secret is a^(k*j) = (a^k)^j = (a^j)^k
Encryption keywords Stream cypher Block cypher Symmetric Asymmetric Hash function