The aim of the course is to become familiar with the standard methods that are used to protect digital data, when they are transmitted (internet, infrared, wireless, etc.), as well as when they are stored on some information carrier (cd, dvd, magnetic tape, hard disc, etc). The data are to be protected against random errors caused by noise, damage, impurities, and so on. To show how one can apply these codes to a public key cryptosystem and secret sharing.

Topics to be discussed are:

  • Error correcting codes
  • q-ary symmetric channel and the probability of correct decoding
  • Systematic encoding, information sets and MDS codes
  • Weight enumerator of a code
  • Cyclic, Reed-Solomon, Goppa and Reed-Muller codes
  • Several decoding algorithms
  • NP-hard problems in coding theory
  • Cryptographic systems of McEliece and Niederreiter
  • Secret sharing