Unit 23: Cryptography

Unit code T/615/1656
Unit level 5
Credit value 15


Although confidentiality in the communication between two parties is very often linked with electronic data transfer, methods for ensuring confidentiality have been used for centuries. That is how cryptography started as a methodology, practice and discipline, ensuring confidential communication in the presence of third parties called ‘adversaries’. However, encrypting the message for confidentiality purposes is only one aspect of cryptography. It also provides means of ensuring that the parties involved in communication are ‘who they say they are’. Cryptography underpins many aspects of security, and is a crucial component in protecting the confidentiality and integrity of information. It is now a prevalent part of our day-to-day lives despite many people being unaware of its usage or importance. Almost every interaction we make with an electronic device will involve cryptography in some form. Cryptography is an indispensable tool for protecting information in computer systems.

This unit introduces students to the theoretical principles of cryptography and looks at some practical applications, many of which we use on a daily basis. Students are expected to investigate the inner workings of cryptographic systems and how to correctly use them in real-world applications. Students are expected to explore the mathematical algorithms in relation to cryptography and their applications. Students are also expected to analyse the symmetric and asymmetric encryption methods and ciphers, public key cryptography and the security issues related to their implementation. In addition, students are expected to investigate advanced encryption protocols and their applications.

Among the topics included in this unit are: the mathematical algorithms used in cryptography, the mechanisms by which symmetric and asymmetric cryptography work, 3DES and AES block ciphers, the operations of public key cryptography, Public Key Infrastructure (PKI), primality testing and factoring, discreet logarithms, El Gamal encryption, security issues with cryptography, common attacks on cryptographic schemes, and some practical applications of cryptography.

On successful completion of this unit students will be able to examine the symmetric encryption algorithms and ciphers, assess public key encryption protocols and signatures and their uses in the message and key exchanges, analyse the security issues related to symmetric and asymmetric encryption methods and evaluate advanced encryption protocols and their applications in secure message exchanges.

As a result they will develop skills such as critical thinking, analysis, and interpretation, which are crucial for gaining employment and developing academic competence.

Essential Content

LO1: Examine the symmetric encryption algorithms and ciphers

  • Exploring mathematical algorithms:
  • Examining modular arithmetic, groups, finite fields and probability; random number generation, exploring elliptic curves and projective coordinates.
  • Examining symmetric encryption and ciphers:
  • Exploring historical ciphers, Cezar cipher, Enigma machine and information theoretic security (probability and ciphers, entropy and spurious keys); explaining one time pad.
  • Investigating stream ciphers, the historical Lorenz cipher, modern stream ciphers (linear feedback shift registers and their combinations, RC4).
  • Examining block ciphers, Feistel cipher and Data Encryption Standard (DES), operation of 3DES, Rijndael cipher and its mode of operation, explaining Advanced Encryption System (AES).
  • Analysing symmetric key distributions, hash functions and message authentication codes – key management, secret key distribution, designing hash functions, investigating message authentication codes.

LO2: Assess public key encryption protocols and signatures and their uses in the message and key exchanges

  • Analysing public key cryptography:
  • Examining public key encryption algorithms, one-way functions, Rivest Shamir Adleman (RSA) algorithm; explaining El Gamal encryption.
  • Explaining primality testing and factoring and discrete logarithms, prime numbers, factoring algorithms, modern factoring methods; examining Pohlig- Hellman logarithm, logarithmic methods for finite fields, methods for elliptic curves.
  • Examining key exchange and signature schemes, Diffie-Hellman key exchange, explore digital signatures, using hash functions in signature schemes, digital signature algorithm (DSA), and authenticated key agreement.
  • Analysing implementation issues and, exponentiation in RSA and DSA, finite field arithmetic.
  • Obtaining authentic public keys, confidentiality and integrity, digital certificates and Public Key Infrastructure (PKI), analysing examples of PKI..

LO3: Analyse the security issues related to symmetric and asymmetric encryption methods

  • Analysing attacks on public key schemes:
  • Exploring most common attacks on public key encryption schemes, Wiener’s attack on RSA, Lattice-based attacks on RSA, partial key exposure attacks, Meetin- the-Middle attack, brute force attack and fault analysis.
  • Analysing different definitions of security:
  • Examining security of encryption, security of actual encryption algorithms, semantically secure systems, security of signatures.
  • Analysing provable security, explaining random oracles, security of encryption algorithms and encryption algorithms with random oracles.
  • Explaining provable security without random oracles, using examples such as strong RSA assumption, signature schemes and encryption schemes.
  • Analysing hybrid encryption, security of symmetric ciphers, security of hybrid ciphers, explaining the construction of Key Encapsulation Mechanisms (KEMs)

LO4: Evaluate advanced encryption protocols and their applications in secure message exchanges

  • Assessing advanced encryption protocols and their applications:
  • Evaluating access structures for secret sharing schemes, general secret sharing, Reed-Solomon codes, Shamir sharing scheme.
  • Applying shared RSA signature generation; explaining commitment schemes and oblivious transfers.
  • Analysing Zero-Knowledge proofs, demonstrating a Graph Isomorphism in Zero- Knowledge, Sigma protocols, electronic voting systems.
  • Examining secure multi-party computation, the two-party case, multi-party cases: honest-but-curious adversaries, malicious adversaries.
  • Evaluating different applications of cryptography, quantum cryptography, digital cash, Bitcoin, Transport Layer Security and IPSec.