CYB 301: Cryptography Techniques, Algorithms and Applications

Learning Outcomes
At the end of this course, students should be able to:
1. define cryptography means, simple cryptosystems, symmetric and asymmetric
cryptography, symmetric cryptosystems and asymmetric cryptosystems;
2. differentiate key management and encryption algorithms, types of cryptography
and cryptographic techniques;
3. practice cryptanalysis of cipher and how to use protocols, hashing, digital
signatures, and certificates;
4. examine the certificate authorities, policies, procedures, and methods for the
proper use of cryptography in secure systems;
5. identify public-key cryptography and discrete algorithms, cryptography and its
mathematical background, and understand hash functions, data integrity,
authentication, algorithmic number theory, primality testing and true primality
testing; and
6. discuss factoring integers, RSA, security of RSA encryption, security of RSA key
generation, discrete logarithm cryptographic schemes.

Course Contents
Introduction to cryptography, symmetric and asymmetric cryptography, key management,
and encryption algorithms. Introduction to simple cryptosystems. Cryptanalysis. Stream
ciphers, Block ciphers and Feistel ciphers. Multiple encryption. Hash functions. Data integrity,
authentication, and perfect secrecy. Public-key cryptography and discrete algorithms-ELGamal
cryptography. Algorithms for the discrete logarithm problem. Algorithmic number theory.
Probabilistic primality testing. Security of ELGamal and RSA Encryption, and RSA Key
Generation. Discrete logarithm cryptographic schemes. Conventional and public-key
cryptography. Selected cryptosystems, including Data Encryption Standard (DES) and RivestShamir-Adleman (RSA) algorithm. AES encryption algorithm, a symmetric 128-bit block data
encryption technique. PKI, SSL, and VPN. Digital signatures, pseudo-random number
generation, cryptographic protocols and cryptanalytic techniques. Use of protocols, hashing
and certificates and certificate authorities. Policies, procedures, and methods for the proper
use of cryptography in secure systems. Applications of cryptography to signal.
Lab work: Practical exercise on writing cryptography algorithms. Work on cryptographic
techniques. Practice cryptanalysis of cipher and how to use protocols. Understand hash
functions and learn how to hash, produce secured digital signatures and certificates. Learn
the procedures and methods for the proper use of cryptography in secure systems. Practice
primality testing. Practical assignments on ELGamal, DES and RSA encryption security,
generation of RSA key and discrete logarithm cryptographic schemes.