Tuesday, October 1, 2013

Notes - Block Cipher

The following are notes from Introduction to Cryptography with Coding Theory.
  • also known as the hill cipher
  • choose an integer n, the key is an n x n matrix
    • M =
    • (1   2 3)
    • (4   5 6)
    • (11 9 8)
  • Message is written as a series of row vectors
    • abc becomes (0 1 2) which gets 
    • (012)(1   2 3)
    •         (4   5 6)
    •         (11 9 8)
    • mod 26
    • (0,23,22)
  • In order to decrypt we need the determinant of matrix M to satisfy
    • gcd(det(M),26)=1
    • Find the inverse of matrix M
    •       (-14 11 -3)
    • -1/3(34 -25  6)
    •       (-19 13 -3)
      • Since 17 is the inverse of -3 mod 26
    •      (22 5  1 )
    •      (6 17 24)
    •      (15 13 1)
      • can return plaintext by mulitplying inverse matrix by (0,23,22) mod 26
  • In order to perform the block cipher we just divide the plaintext into blocks of n characters and if the ciphertext does not divide evenly, the blanks are left as 0 but the matrix multiplication is still done
  • changing one letter changes n letters of plaintext therefore frequency decryption is very difficult
  • Claude Shannon
    • the fundamental foundations of cryptography include
      • Diffusion
        • means that changing one character of the plaintext, then several characters
      • Confusion
        • means that key does not relate in a simple way to the ciphertext
        • each ciphertext should depend on several parts of the key

No comments:

Post a Comment