4.64 out of 5
4.64
988 reviews on Udemy

Cryptography and Hashing Fundamentals in Python and Java

Private and Public Key Cryptosystems, DES, AES, Cryptoanalysis, RSA, Elliptic Curve Cryptography and Hashing
Instructor:
Holczer Balazs
34 students enrolled
English [Auto] More
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)

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!

Introduction

1
Introduction

Cryptography Fundamentals

1
What is cryptography?
2
Symmetric encryption
3
Asymmetric encryption
4
Encryption Basics Quiz

### SYMMETRIC (PRIVATE KEY) CRYPTOGRAPHY ###

1
Symmetric cryptosystems

Caesar Cipher Theory

1
What is Caesar cipher?
2
Caesar cipher - encryption and decryption
3
Caesar cipher example
4
Caesar Cipher Quiz

Caesar Cipher Implementation (Python)

1
Caesar cipher implementation I
2
Caesar cipher implementation II
3
Caesar cipher implementation III

Caesar Cipher Implementation (Java)

1
Caesar cipher implementation I
2
Caesar cipher implementation II
3
Caesar cipher implementation III

Cracking Caesar Cipher

1
Cracking Caesar cipher with brute-force attack
2
Brute-Force Attack Quiz
3
Cracking Caesar-cipher with brute-force implementation (Python)
4
Cracking Caesar-cipher with brute-force implementation (Java)
5
What is frequency analysis?
6
Frequency analysis implementation (Python)
7
Frequency analysis implementation (Java)
8
Cracking Caesar-cipher with frequency analysis (Python)
9
Cracking Caesar-cipher with frequency analysis (Java)
10
Frequency Analysis Quiz

Detecting Languages

1
Detecting english language introduction
2
Detecting english language implementation I (Python)
3
Detecting english language implementation II (Python)
4
Detecting english language implementation III (Python)
5
Detecting english language implementation I (Java)
6
Detecting english language implementation II (Java)
7
Detecting english language implementation III (Java)
8
Language detection with machine learning

Vigenere Cipher Theory

1
What is the Vigenere cipher?
2
Vigenere cipher encryption and decryption
3
Vigenere cipher example
4
Vigenere Cipher Quiz

Vigenere Cipher Implementation (Python)

1
Vigenere cipher implementation I
2
Vigenere cipher implementation II

Vigenere Cipher Implementation (Java)

1
Vigenere cipher implementation I
2
Vigenere cipher implementation II

Cracking the Vigenere Cipher (Kasiski Algorithm)

1
Kasiski-algorithm introduction I
2
Kasiski-algorithm introduction II
3
Kasiski-algorithm introduction III
4
Kasiski-algorithm introduction IV

One Time Pad (Vernam Cipher)

1
What is a One Time Pad (OTP)?
2
One time pad and the XOR logical operator
3
One time pad example
4
One Time Pad Quiz

Randomness in Cryptography

1
Random and pseudo-random numbers
2
Randomness Quiz

One Time Pad Implementation (Python)

1
One time pad implementation I
2
One time pad implementation II
3
One time pad implementation III

One Time Pad Implementation (Java)

1
One time pad implementation I
2
One time pad implementation II
3
One time pad implementation III

Cracking One Time Pad

1
Cracking one time pad - Shannon's secrecy
2
Cracking One Time Pad Quiz

Data Encryption Standard (DES)

1
What is the Data Encryption Standard (DES)?
2
DES cryptosystem theory II
3
Data Encryption Standard (DES) Quiz
4
DES cryptosystem theory III
5
Data Encryption Standard (DES) Quiz
6
DES cryptosystem theory IV
7
DES cryptosystem theory V
8
DES cryptosystem theory VI
9
Data Encryption Standard (DES) Quiz

Data Encryption Standard (DES) Implementation (Python)

1
DES cryptosystem implementation I
2
DES cryptosystem implementation II
3
DES cryptosystem implementation III

Data Encryption Standard (DES) Implementation (Java)

1
DES cryptosystem implementation I
2
DES cryptosystem implementation II
3
DES cryptosystem implementation III
4
DES cryptosystem implementation IV

Cracking Data Encryption Standard (DES)

1
Brute-force DES cracking
2
Linear cryptoanalysis
3
Differential cryptoanalysis
Faq Content 1
Faq Content 2

Productivity Hacks to Get More Done in 2018

— 28 February 2017

  1. Facebook News Feed Eradicator (free chrome extension) Stay focused by removing your Facebook newsfeed and replacing it with an inspirational quote. Disable the tool anytime you want to see what friends are up to!
  2. Hide My Inbox (free chrome extension for Gmail) Stay focused by hiding your inbox. Click "show your inbox" at a scheduled time and batch processs everything one go.
  3. Habitica (free mobile + web app) Gamify your to do list. Treat your life like a game and earn gold goins for getting stuff done!


4.6
4.6 out of 5
988 Ratings

Detailed Rating

Stars 5
520
Stars 4
367
Stars 3
77
Stars 2
15
Stars 1
9