Cryptography and Hashing Fundamentals in Python and Java udemy course free download
What you'll learn:
- Understand the basics of private key encryption systems
- Caesar cipher and Vigenere cipher
- Frequency analysis and the Kasiski algorithm
- One Time Pad (OTP) and Shannon secrecy
- Random and pseudo-random numbers
- Data Encryption Standard (DES) and Advanced Encryption Standard (AES)
- Understand the basics of public key encryption systems
- RSA and Diffie-Hellman key exchange algorithm
- Elliptic Curve Cryptography
- Modular arithmetic basics (Fermat's theorem, finding primes, integer factorization and discrete logarithm)
- Euclidean algorithm (greatest common divisor problem) and the extended Euclidean algorithm
- Understand hashing (MD5 and SHA)
Requirements::
- You should have an interest in cryptography as well as some programming knowledge in Python or Java!
Description:
In this course you will learn about cryptography and hashing in Python and Java as well. You will understand most of the private key (symmetric) and pubic key (asymmetric) cryptosystems on a step by step basis. You can learn about the theory as well as the implementation for every cryptographic algorithm - and how to crack these systems (so what are the weaknesses).
Chapter 1 - Cryptography Fundamentals
what is the aim of cryptography?
private key and public key cryptosystems
Chapter 2 - Caesar Cipher
Caesar cipher theory and implementation
how to crack Caesar cipher
frequency analysis and language detection
Chapter 3 - Vigenere Cipher
Vigenere cipher theory and implementation
how to crack Vigenere cipher with Kasiski-algorithm
Chapter 4 - One Time Pad (Vernam Cipher)
random and pseudo-random numbers
the XOR logical operator
one time pad theory and implementation
why is it impossible to crack Vernam cipher?
Shannon's secrecy
Chapter 5 - Data Encryption Standard (DES)
data encryption standard (DES) theory and implementation
cryptoanalysis techniques
linear cryptoanalysis and differential cryptoanalysis
Chapter 6 - Advanced Encryption Standard (AES)
advanced encryption standard (AES) theory and implementation
Shannon's confusion and diffusion
Chapter 7 - Asymmetric Cryptosystems
problems with private key cryptosystems
random numbers and prime numbers in cryptography
Chapter 8 - Modular Arithmetic
modular arithmetic fundamentals
finding prime numbers - naive approach and advanced algorithms
integer factorization problem
discrete logarithm problem
Chapter 9 - Diffie-Hellman Key Exchange
Diffie-Hellman key exchange algorithm theory and implementation
prime numbers and primitive roots
man-in-the-middle attack
Chapter 10 - RSA Algorithm
RSA algorithm theory and implementation
the problem of factorization
Chapter 11 - Advanced Modular Arithmetic
Euclidean and the greatest common divisor (GCD) problem
extended Euclidean algorithm (EGCD)
modular inverse problem
Chapter 12 - Elliptic Curve Cryptography (ECC)
elliptic curve cryptography theory and implementation
why does Bitcoin use elliptic curve cryptography?
Chapter 13 - Cryptographic Hashing
what is hashing in cryptography?
properties of hashing
birthday paradox
MD5 and SHA algorithms
Thanks for joining my course, let's get started!
Who this course is for:
- Python or Java developers curious about cryptography!
Course Details:
- 14,5 hours видео по запросу
- 5 статей
- 1 ресурс для скачивания
- Доступ через мобильные устройства и телевизор
- Сертификат об окончании