Skip to content
UdemyIT & SoftwarePaid courseAll LevelsCertificate

Cryptography and Hashing Fundamentals in Python and Java (Udemy.com)

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

Created by: Holczer Balazs

Last updated November 2023

icon
What you will 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)

How it compares

Against the other 1,182 rated Udemy courses in IT & Software on CourseDuck:

  • Rating4.7 out of 5higher than 86% of them
  • Reviews1,797#267 of 1,183 by number of reviews
  • Length15.3 hourslonger than 83% of them
  • Last updatedNovember 2023earlier than 69% of them

icon
Course 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!

icon
Udemy Discount

The discount is applied through our link. Open the course from here and Udemy's current promotional price is applied at checkout on most courses, no code to type.

Some courses are excluded from Udemy's promotions. If the price does not drop, clear your browser cookies and use the button again.

icon
Instructor Details

Holczer Balazs

My name is Balazs Holczer. I am from Budapest, Hungary. I am qualified as a physicist. At the moment I am working as a simulation engineer at a multinational company. I have been interested in algorithms and data structures and its implementations especially in Java since university. Later on I got acquainted with machine learning techniques, artificial intelligence, numerical methods and recipes such as solving differential equations, linear algebra, interpolation and extrapolation. These things may prove to be very very important in several fields: software engineering, research and development or investment banking. I have a special addiction to quantitative models such as the Black-Scholes model, or the Merton-model.

Take a look at my website if you are interested in these topics!

icon
More courses by Holczer Balazs

$16.99

$10.99

$11.99

$10.99

$13.99

$13.99

icon
More IT & Software courses

$49.99

$10.99

$124.99

$19.99

$11.99

$19.99

icon
Reviews

4.7

1,797 ratings on Udemy

Select a bar to show only those reviews.Select the bar again to show every rating.

By Fernando Romero Alvarez on 1/29/2025

Really nice course! Very clear explanations and adequate content scope. Presenter explained the why's of each algorithm alongside historical development without going through the rabbit hole.

By Christopher Torok on 1/12/2025

This course builds from the ground up. The bells and whistles come at the END. Just hang tight - it's worth it. I'm using this to prep for a six figure job.

By Jakub Mazur on 9/12/2024

Explanation of the algorithms is good. But in most cases algorithms were NOT implemented. Some chapters presented only a usage of algorithms from different libraries. Which is also an important knowledge, but lectures titles are misleading.

By Anonymized User on 11/3/2023

It teaches the basics of everything that I need to know for cybersecurity (next time when i solve a crypto challenge or use crypto in future, at least I know where to start)

By Yauheniya Varabyova on 10/6/2023

This a great introduction to cryptography! The instructor is very knowledgable and explains everything step-by-step, which makes it easy to understand the fundamentals for the important topics in cryptography. I highly recommend this course!

By Andrea Papademetriou on 11/20/2022

This course explains cryptography really well. He starts at the beginning and talks about the flaws of outdated cyphers, then works his way up to what we use today. I found the layout simple and the information interesting and easy to follow. :D

By Mario Alberto Moysen Aguilera on 8/14/2022

Gran curso, sólo agregaría que el instructor no implementa librerías de seguridad en el código python, además no se realiza ningún ejemplo de DSA y ECDSA solo toca los temas por encima, pero no implementa el código ni en java ni en python.

By PUSHKAR KULKARNI on 12/30/2021

I like clarity with which Holczer has delivered all of these lectures. I found it easy to revisit this subject I last studies in university. Many thanks.

By Jonathan Lazzaro on 9/9/2021

Great course! Perfect balance of explaining the theory coupled with implementation in Python. Both the explanations and the coding are easy to follow.

By Sagarsrinivas on 3/10/2019

It was nice experience. The slides were clear and he was able to perfectly communicate with the end users what he intended to do. I highly recommend it for beginners

Showing all 10 reviews on CourseDuck

Read all 1,797 reviews on Udemy

icon
Quality Score

No CourseDuck member has rated this course yet. Taken it? Give each part a thumbs up or down.

Content Quality
/
Video Quality
/
Qualified Instructor
/
Course Pace
/
Course Depth & Coverage
/

Overall Score : 94 / 100