Cryptography and Hashing Fundamentals in Python and Java Free

  • Categories IT & Software
  • Total Enrolled 5
  • Last Update October 14, 2021

About Course

Private and Public Key Cryptosystems, DES, AES, Cryptoanalysis, RSA, Elliptic Curve Cryptography and Hashing


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!

Download Free Cryptography and Hashing Fundamentals in Python and Java 

Course link: https://www.udemy.com/course/learn-cryptography-basics-in-python/

What Will I Learn?

  • 14 hours on-demand video
  • 5 articles
  • 1 downloadable resource
  • Full lifetime access

Topics for this course

154 Lessons



Cryptography Fundamentals


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


Advanced Modular Arithmetic

RSA Implementation (Python)

RSA Implementation (Java)

Cracking RSA

Elliptic Curve Cryptography (ECC)

Elliptic Curve Cryptography (ECC) Implementation (Python)

Elliptic Curve Cryptography (ECC) Implementation (Java)

Cracking the Elliptic Curve Cryptosystem (ECC)

### HASHING ###

Hashing Algorithms Implementation (Python)

Hashing Algorithms Implementation (Java)

Applications of Cryptography

Course Materials (DOWNLOADS)

About the instructor

0 (0 ratings)

2 Courses

13 students

Cryptography and Hashing Fundamentals in Python and Java


  • You should have an interest in cryptography as well as some programming knowledge in Python or Java!

Target Audience

  • Python or Java developers curious about cryptography!