Module Descriptors

Computing

CS402/MA492: Cryptography (5 ECTS)

This course develops basic concepts in private and public key cryptosystems, explores some of the associated algorithmic number theory, and introduces more advanced topics such as the use of elliptic curves in cryptography.

Taught in Semester(s) 2. Examined in Semester(s) 2.

Workload: 104 hours (24 Lecture hours, 10 Tutorial hours, 70 Self study hours).


Module Learning Outcomes. On successful completion of this module the learner should be able to:

  1. Encrypt and decrypt simple 1- and 2-dimensional affine cryptosystems.
  2. Explain the principles of public key cryptography; in particular, be able to encrypt and decrypt simple RSA and superincreasing knapsack examples.
  3. Thoroughly understand and readily solve problems in elementary number theory, including modular arithmetic, the Chinese Remainder Theorem, Fermat's Little Theorem, and the Euler totient function.
  4. Describe probabilistic algorithms for primality testing, carry them out, and indicate their relevance to RSA.
  5. Describe algorithms for integer factorisation, carry them out, and indicate their relevance to RSA.
  6. Define elliptic curves, calculate the group of points of an elliptic curve, and explain the use of elliptic curves in public key cryptography.


Indicative Content

This course develops basic concepts in private and public key cryptosystems, explores some of the associated algorithmic number theory, and introduces more advanced topics such as the use of elliptic curves in cryptography.


Module Resources


Back