Master Modern Security and Cryptography by Coding in Python
What you'll learn
- Understanding of modern day cryptography
- Key learnings from classical encryption systems that make the foundation of modern day cryptography
- Understand common mistakes and why it is so difficult to get cryptographic algorithms correct
- Understand and implement encryption algorithms like Stream Ciphers, Block Ciphers, Public Key
- Implement and learn Diffie-Hellman Key Exchange algorithm
- How hash functions are used in Digital Signatures, HMAC and password validation
- Understand all concepts in the TLS/SSL protocol stack
- Best of all... learn it all by writing the examples in Python - The best way to learn is to implement and see it for yourself
- Basic Python understanding (See prerequisite lecture)
- Basic math (Elementary school level - see prerequisite lecture)
Security and cryptography is a premise in any application on the internet today. For obvious reasons:
You need to protect data that you don't want anyone else to have access to.
The internet by itself is open and anyone can eavesdrop your personal information.
...and you need to protect yourself against the possibility of simple breaches.
Why learn Security and Cryptography by programming with Python?
Cryptography is understood easiest by trying the mistakes yourself - no complex theory needed.
No high-level mathematical skill are needed with this easy approach to learn it.
Learn the security principles by programming examples to fully appreciate it.
You get to try fun stuff like breaking wrong use of ciphers and cracking your own password from a laptop.
How will you benefit from this course?
You will understand security and the principle of cryptography and cryptographic algorithms.
Avoid making security mistakes commonly with cryptographic algorithms.
Understand the full TLS/SSL stack.
Implemented and used One Time Pads, Stream Ciphers, Block Ciphers, Key Exchange, Public Key Encryption, Hash functions, Digital Signatures, HMAC, Shadow files and more.
Know how to use crypto-libraries properly without making mistakes.
Tried all bigger mistakes in cryptography and security.
Crack passwords from Shadow Files
If you want to become a comfortable about encryption and security you need to have some basic understanding of the underlying security concepts. Understanding the main mistakes will enable you to implement and cryptographic algorithms in a correct manner.
In this course we will cover all concepts and security concepts in cryptography to understand the full TLS/SSL protocol stack, how password validation is done and more. You will be learning along the way and implement the encryption and authentication algorithms along the way, making some mistakes to fully appreciate and understand the security flaws.
This course covers the following.
The biggest lesson in cryptography is best learned from the ancient Caesar Cipher - a lesson which is counterintuitive and needs a deep understanding to appreciate.
Why a large key-space itself does not ensure security is best understood by breaking the Substitution Cipher.
The ideal encryption of One Time Pad, the limitations of it, and why it is not ideal in real-life.
Stream Ciphers the real life of One Time Pads, why they are used, how easy it is to make mistakes, and how modern day algorithms (e.g. A5/1) did not follow the biggest lesson in cryptography.
Block Ciphers like DES, AES, and GOST with different modes of operations.
Show by example why Double DES does not add security but we need Triple DES.
Understand the challenge of Key Exchange Algorithms (to share a secret key without physical contact) and implement and understand the Diffie-Hellman algorithm.
Public Key encryption with RSA. Implement and understand the security of RSA. How wrong usage of RSA breaks it.
Hash functions. How to use them for Digital signatures. Password validation in the login process.
Understand and implement examples with HMAC.
Review that we fully understand TLS/SSL protocols and more.
The course is structures in an easy understandable way
It is built to step-by-step from the biggest learnings in classical encryptions.
How it was improved but still vulnerable.
Understand why ideal encryption systems are not useful and what compromises to take
Learn the modern algorithm types in the modern TLS/SSL stack
You code along - you only learn by trying yourself - 40+ coding exercises
At each step you make the implementation along with me.
You implement it on all stages to increase your understanding of security
Basically, we learn along the way with more than 40+ coding exercises.
What is needed to fully understand this course?
You have basic understand of Python (see prerequisite for full requirements)
Understand basic math from elementary school level.
Who is this course for?
You want to learn and understand protocols like TLS/SSL used for secure connections on the internet
Want to understand what security is and how systems are vulnerable
Those who want to try it with programming examples to fully understand the depth of each lesson
The course has a 30 day money back guarantee that ensures if you are not satisfied, you will get your money back. Also, feel free to contact me directly if you have any questions.
Who this course is for:
- One curious about to understand modern cryptography
- Likes to understand by trying it how to break system of flaws
- Want to learn by doing
Hi, I'm Rune.
Thank you for checking my course.
With a PhD in Computer Science, an MBA to learn business administration and finance, 10+ years in professional software development, I still find my greatest passion in teaching.
I have helped students succeed with programming since I took my PhD in computer science and was teaching at Aarhus University, Denmark.
Since then, I was a software engineer (programmer), the head of branch of developers, build big software solutions, and software engineering manager in a software as a service (SaaS) company.
Along that journey, I took an MBA from Henley Business School in UK to learn about business administration and finance.
My journey on Udemy started in 2020 and the focus has been on Python programming, which is my greatest passion. I love to make concepts easy to understand and fun to learn.
Until now I have the Udemy Bestseller:
Master Modern Security and Cryptography by Coding in Python
I started to program as 12 years old before the internet was available for common people (read: for me).
It was Basic, yes the language Basic with line numbers.
My best friend started and we helped each other to get better. Before I reached college, I had helped many friends with programming.
It was natural for me to teach at college and I missed it when I left after teaching all the fundamental programming and computer theory courses at least once.
Later I have helped new employees to program, as well as other professionals to automate their work with Python.
I have helped a guy with no experience in programming to get his first job within 6 months of starting.
If anything, please feel free to reach out to me and I'll be there for you every step of the way.