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
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
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!
Instructor Details
- 4.7 Rating
1,797 Reviews
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!
More courses by Holczer Balazs
Python Data Structures And Algorithms: Practical Course (2026)
4.7 (4,432 Reviews)
Provider: Udemy
Time: 23.6h
$16.99
Concurrency, Multithreading and Parallel Computing in Java (2026)
4.5 (4,034 Reviews)
Provider: Udemy
Time: 14.4h
$10.99
Software Architectures (SOLID) & Design Patterns in Java (2026)
4.6 (3,772 Reviews)
Provider: Udemy
Time: 9.4h
$11.99
Introduction to Collections, Generics & Reflection in Java (2026)
4.5 (3,649 Reviews)
Provider: Udemy
Time: 11h
$10.99
Algorithms Data Structures in Java #1 (+INTERVIEW QUESTIONS) (2026)
4.7 (3,235 Reviews)
Provider: Udemy
Time: 22.1h
$13.99
Quantitative Finance & Algorithmic Trading in Python (2026)
4.6 (2,714 Reviews)
Provider: Udemy
Time: 18.3h
$13.99
More IT & Software courses
D3.js Data Visualization Fundamentals - Hands On (2026)
4.9 (3,917 Reviews)
Provider: Udemy
Time: 4.6h
$49.99
Hands-On Training: Streaming Data with Apache Kafka on Azure (2025)
4.9 (103 Reviews)
Provider: Udemy
Time: 3.7h
$10.99
Oracle Grid Infrastructure and RAC using Oracle Database 19c (2026)
4.8 (2,499 Reviews)
Provider: Udemy
Time: 8.7h
$19.99
PowerShell Scripting & Automation: The Complete Hands-On (2026)
4.8 (1,750 Reviews)
Provider: Udemy
Time: 9.6h
$11.99
AWS EC2 Crash Course + Load Balancing with Demos and PDFs (2025)
4.8 (866 Reviews)
Provider: Udemy
Time: 3.7h
$19.99
Reviews
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
Quality Score
No CourseDuck member has rated this course yet. Taken it? Give each part a thumbs up or down.
Overall Score : 94 / 100












