Description
In this course, you will :
- Learn the fundamentals of private key encryption schemes.
- The Caesar and Vigenere cyphers.
- The Kasiski algorithm and frequency analysis.
- Shannon secrecy and the One Time Pad (OTP).
- Numbers that are random or pseudo-random.
- Data Encryption Standard (DES) and Advanced Encryption Standard (AES) are two encryption standards.
- Learn the fundamentals of public key encryption schemes.
- The key exchange algorithms RSA and Diffie-Hellman.
- Cryptography based on Elliptic Curves.
- Fundamentals of modular arithmetic (Fermat's theorem, discovering primes, integer factorization, and discrete logarithm).
- The Euclidean algorithm and the extended Euclidean method (for the greatest common divisor problem).
- Recognise hashing (MD5 and SHA)
Syllabus :
- Caesar Cipher Theory
- Caesar Cipher Implementation (Python)
- Caesar Cipher Implementation (Java)
- Cracking Caesar Cipher
- Detecting Languages
- Vigenere Cipher Theory
- Vigenere Cipher Implementation (Python)
- Vigenere Cipher Implementation (Java)
- Cracking the Vigenere Cipher (Kasiski Algorithm)
- One Time Pad (Vernam Cipher)
- Randomness in Cryptography
- One Time Pad Implementation (Python)
- One Time Pad Implementation (Java)
- Cracking One Time Pad
- Data Encryption Standard (DES)
- Data Encryption Standard (DES) Implementation (Python)
- Data Encryption Standard (DES) Implementation (Java)
- Cracking Data Encryption Standard (DES)
- Advanced Encryption Standard (AES)
- Advanced Encryption Standard (AES) Implementation (Python)
- Advanced Encryption Standard (AES) Implementation (Java)
- Cracking Advanced Encryption Standard (AES)
- Asymmetric Cryptosystems
- Modular Arithmetic
- Diffie-Hellman Key Exchange
- Diffie-Hellman Cryptosystem Implementation (Python)
- Diffie-Hellman Cryptosystem Implementation (Java)
- Cracking Diffie-Hellman Cryptosystem
- RSA
- Advanced Modular Arithmetic
- RSA Implementation (Python)
- RSA Implementation (Java)
- Cracking RSA
- Elliptic Curve Cryptography (ECC)
- Elliptic Curve Cryptography (ECC) Implementation (Python)
- Elliptic Curve Digital Signature Algorithms (ECDSA) Implementation (Python)
- Elliptic Curve Cryptography (ECC) Implementation (Java)
- Elliptic Curve Digital Signature Algorithms (ECDSA) Implementation (Java)
- Cracking the Elliptic Curve Cryptosystem (ECC)