Cryptography: A Hands-on Approach

Secret-key encryption, one-way hash, public-key cryptography, digital signature, PKI, TLS, cryptocurrency and blockchain

4.68 (326 reviews)
Udemy
platform
English
language
Network & Security
category
instructor
3,085
students
11 hours
content
May 2022
last update
$69.99
regular price

What you will learn

Study the basic principles of cryptography, including secret-key encryption, one-way hash function, and public-key cryptography

Study various crypto applications, including authentication, digital signature, HTTPS, credit card, blockchain, cryptocurrencies, etc.

Study the Public Key Infrastructure (PKI) and the TLS protocol, which are essential for securing communication on the Internet

Understand the risks faced by various crypto algorithms and protocols, and how these risks can be mitigated

Understand the common mistakes in the use of crypto

Gain hands-on experiences through 8 crypto labs (SEED Labs) developed by the instructor

Description

Cryptography is a foundation in cybersecurity. It is the underlying building block of many defense mechanisms, systems, and protocols.  Without crypto, we will not be able to safely conduct many things on the Internet, such as web browsing, online banking, working remotely, etc. Without crypto, blockchain and cryptocurrency will not exist.

In this course, we systematically study the basic principles of cryptography.  In particular, we focus on the three essential pillars of cryptography, including secret-key encryption, one-way hash function, and public-key cryptography. We study how they work and how they are used in the real-world applications. We also look at the risks they face, and how these risks are mitigated in the real world. Furthermore, we study the common mistakes people make when using crypto algorithms and protocols. We show how these mistakes can be exploited in attacks.

The course emphasizes hands-on learning. For each topic covered, students not only learn the theory, they also get to work on the hands-on exercises developed by the instructor. These exercises are called SEED labs, and they are being used by over 1000 institutes worldwide. The course is based on the widely-adopted textbook written by the instructor. The title of the book is "Computer & Internet Security: A Hands-on Approach".

Content

Course Overview

Topics, Textbooks Labs, and the Instructor

Secret-Key Encryption

Introduction
Classical Crypto Systems
Polyalphabetical Cypher and Enigma
DES and AES
Encryption Modes
Common Mistakes on IV
Authenticated Encryption Mode: GCM
Padding
Padding Oracle Attack
Summary

One-Way Hash Function

Introduction
What Is One-Way Hash function
The MD and SHA Algorithms
Collision Attack
Applications
MAC and Hash Length Extension Attack
Summary

Public-Key Cryptography

Introduction
Diffie-Hellman Key Exchange
Math Background for RSA
The RSA Algorithm
Public Key Encryption Tools and Performance
Padding
Digital Signature
Programming
Applications of Public Key Cryptography
Summary

Public-Key Infrastructure

Introduction
The Man-In-The-Middle Attack
Overview of PKI
Public Key Certificate
Issue Certificates
Secure Web Server Using Public Key Certificate
How PKI Defeats MITM Attacks
Attacks on PKI
Summary

Transport Layer Security

Introduction
Overview of the TLS Protocol
The TLS Handshake Protocol
Data Transmission
TLS Client Program
Hostname check
TLS Server Program
TLS Proxy
Summary

Bitcoin and Blockchain

Introduction
Blockchain
Proof-of-Work Consensus (PoW)
Bitcoin History
Bitcoin Address
Bitcoin Transaction
Locking and Unlocking Transaction
Double Spending
Ethereum Blockchain
Summary

Screenshots

Cryptography: A Hands-on Approach - Screenshot_01Cryptography: A Hands-on Approach - Screenshot_02Cryptography: A Hands-on Approach - Screenshot_03Cryptography: A Hands-on Approach - Screenshot_04

Reviews

Logan
October 3, 2023
I have no doubt that the professor is an expert in his field and I am certain that this would be a good refresher course for someone already familiar with the material, but this is not a good course for someone who is trying to learn cryptography. Contrary to the listed prerequisites (some basic knowledge of Python), there is language used here which is not explained. C', P', XOR functions etc. So unless you are familiar with the terminology and already have a decent background in Boolean logic, you will be lost. I am a licensed professional engineer with a Masters degree in electrical engineering and I found it difficult to track what was going on. The lessons reference the professor's textbook, which you can purchase for $70. Perhaps these videos are meant to supplement that but I didn't go into the course expecting that much of the material would be in an additional textbook. I do wonder if most of the people taking this course are doing it in conjunction with the textbook or through a university because I'm baffled at how it would be very useful to anyone otherwise. The labs are the worst part of the course in my opinion. You can only truly learn by doing and the labs here are difficult to even get set up. Case in point: you need to install an Ubuntu Seed. How do you do that? Well you have to install VirtualBox so you can run it as a virtual machine. The webpage (1 manual so far) points you to another manual to get VirtualBox and the virtual machine set up (2 manuals so far) then to an additional manual to learn more about Virtual box (3 manuals so far). Once it was set up I was greeted with a password prompt (which wasn't in the manual). I had to look at another older manual to find the username and password (4 manuals so far). I'm pointed at another manual to set up Docker (5 manuals so far) and another manual for the labs themselves (6 manuals so far). The information for the labs is so scattered and the labs themselves felt very cobbled together. Some are in the terminal, some are in Docker. Basically to even begin the labs you'd need to have at least a basic working knowledge of: 1. Virtual machines 2. Docker 3. Bash 4. Python 5. vi I'm already familiar with all of those and I struggled to follow along with what the labs expected of me. The labs do not step you through anything or give examples really. It just throws you in with the admonition to "read the manual" (6 of which I've already referenced). I've completed at least a dozen excellent courses on Udemy and this is by far the most convoluted I've ever seen. Yet it doesn't need to be, it could be be far, far simpler.
Justin
September 24, 2023
The course is quite interesting, but there are few things I didn't comprehend. But I will come back and rewatch the courses.
Serhii
April 19, 2023
I like this course so far. One thing I would like to have is correct English subtitles instead of auto generated ones. Sometimes it is hard to understand what teacher says.
Jeremy
March 1, 2023
He’s a great teacher who is taking the time to explain & expound on important elements that are needed to understand the material. Great work!
Nick
January 28, 2023
Really frustrating explanations, that miss important gaps. For example in Section 2, lectures 6 and 7, explaining concepts based on the complete plaint text and cipher text while pointing to individual blocks in the same diagram suggesting we matter is on a block level.
Martin
January 14, 2023
I've been studying modern cryptography on my own for the last year or two and this course has presented a lot of information that I have missed out on. If you have been studying modern cryptography on your own and would like to engage with a course that can help you consolidate your understanding, this course is for you.
Rajni
December 27, 2022
They way he explained RSA and DH is so awesome. I really appreciate his passion for teaching. Thanks for such a beautiful course. :)
Gaurav
November 9, 2022
The content is good and even the explaination from openssl, python and coding point of view its great
Tobias
November 1, 2022
The course was very informative and the instructors examples and deep dives with live-drawings helped explain a lot of concepts clearly. I can highly recommend this course both beginners and people who have already been looking into cryptography.
Priyanka
October 12, 2022
Left the course in the middle. It's not at all student friendly and more for experts. It lacks examples/demo. Also, instructor should really work on his communication skills. Instructor has knowledge about the subject but unable to communicate properly which makes harder for students to understand it.
cartmell
August 20, 2022
The course was very educational. I learned a lot from the information Dr. Du provided. I look forward to more of his classes.
Viruk
June 11, 2022
why keep hiding codes and vital information to learn. the course is not student friendly . student cant practice. maybe its for professors only
V
May 2, 2022
Like many others, I too was eagerly waiting for this course. And, as expected, its full of valuable insights. Thank you, Professor!

Charts

Price

Cryptography: A Hands-on Approach - Price chart

Rating

Cryptography: A Hands-on Approach - Ratings chart

Enrollment distribution

Cryptography: A Hands-on Approach - Distribution chart
2624084
udemy ID
10/25/2019
course created date
4/26/2022
course indexed date
Bot
course submited by