Skip to content
Norsk A A A
Course INF240

Basic Codes

Course offered :

Current programmes of study

Number of credits 10
Course offered (semester) Autumn
Subject overlap I145: 10 ECTS
Schedule Schedule
Reading list Reading list

Aim and Content

The course gives an introduction to cryptology and coding theory. Cryptology deals with how information can be kept secret from unauthorized listeners who do not possess a secret key. The course gives basic methods for construction of symmetric and asymmetric cryptosystem (public-key) and an introduction to simple cryptographic protocols and methods for digital signatures which is the electronic variant of handwritten signatures. Digital signatures are used for payments over the Internet. Coding theory gives methods to represent (code) data such that errors that occur during transfer or storage of data can be automatically corrected. These systems are fundamental in all modern digital communication (Internet and mobile phones) and storage of data (magnetic disks, CD records and other media for storage of text, sound and images).

The course is divided into three parts: 1) Tools, 2) Introduction to cryptology and 3) Introduction to coding theory.

1) Tools: Information theory, introduction to finite fields and number theory.

2) Introduction to block-ciphers (AES), public key cryptography(RSA) and principles for cryptographic hash functions and digital signatures.

3) Examples of codes (ID-number), linear codes, cyclic codes, Hamming codes, 2-error correcting BCH codes with decoding algorithms.

Learning Outcomes

After completing the course the student should be able to

  • Explain the mathematical foundation for information theory, coding theory and cryptography.
  • Explain block ciphers such as AES and public key cryptography(RSA).
  • Explain the construction of hash functions and digital signatures.
  • Digest and explain basic cryptographic algorithms.
  • Explain and implement basic linear and cyclic codes.

Course offered (semester)


Language of Instruction



At least 60 ECTS in computer science, preferably including some mathematics

Recommended previous knowledge

INF100 (Introduction to programming methodology), MNF130 (Discrete structures), INF142 (Computer Networks), beneficial to have M102 (Linear Algebra)

Subject Overlap

I145: 10 ECTS

Compulsory Requirements


Compulsory assignments are valid two semesters, the semester of the approval and the following semester.

Assessment methods

Written exam. It is opportunity for grades on exercises, which can be included in the final grade. If less than 20 students are taking the course, it can be oral exam.

No aid allowed.

Grading Scale

The grading scale used is A to F. Grade A is the highest passing grade in the grading scale, grade F is a fail.

Contact Information