Ưu đãi trong tuần: Nhập mã UD50 giảm 50k cho đơn từ 300k!
Trang chủ
Menu

Cryptography and Hashing Fundamentals in Python and Java

Kiến thức cơ bản về Mã hóa và Hàm Băm trong Python và Java

Kiến thức cơ bản về Mã hóa và Hàm Băm trong Python và Java

Hệ thống mã hóa khóa riêng & công khai, DES, AES, Phân tích mật mã, RSA, Mã hóa đường cong Elliptic và Hàm băm

4.4
(1,650 đánh giá)
15,326 học viên
Giảng viên
Holczer Balazs
Phụ đề Việt chất lượng cao Phụ đề tiếng Anh Bán chạy Đánh giá cao
50.000đ 349.000đ -86%
✓ Xem giỏ hàng và thanh toán
Bao gồm phụ đề tiếng Việt, tiếng Anh
15.5 giờ video
172 bài giảng
27 bài quiz
Truy cập vĩnh viễn
Học trên mọi thiết bị
Cập nhật: 30/05/2026

Bạn sẽ học được gì

Hiểu nguyên lý cơ bản của hệ thống mã hóa khóa riêng
Mã hóa Caesar và mã hóa Vigenere
Phân tích tần suất và thuật toán Kasiski
One Time Pad (OTP) và độ bí mật Shannon
Số ngẫu nhiên và số giả ngẫu nhiên
Chuẩn mã hóa dữ liệu (DES) và Chuẩn mã hóa nâng cao (AES)
Hiểu nguyên lý cơ bản của hệ thống mã hóa khóa công khai
RSA và thuật toán trao đổi khóa Diffie-Hellman
Mã hóa đường cong Elliptic
Kiến thức cơ bản số học mô-đun (Định lý Fermat, tìm số nguyên tố, phân tích thừa số nguyên và logarit rời rạc)
Thuật toán Euclid (bài toán ước chung lớn nhất) và thuật toán Euclid mở rộng
Hiểu về hàm băm (MD5 và SHA)

Yêu cầu

Bạn cần có hứng thú với mã hóa và kiến thức lập trình cơ bản bằng Python hoặc Java!

Đối tượng phù hợp

Dành cho lập trình viên Python/Java muốn tìm hiểu về mã hóa!

Nội dung khóa học

48 phần • 165 bài giảng
1 Giới thiệu
1 Mã hóa là gì?
2 Mã hóa đối xứng
3 Mã hóa bất đối xứng
1 Hệ thống mã hóa đối xứng
1 Mã hóa Caesar là gì?
2 Mã hóa Caesar - mã hóa và giải mã
3 Ví dụ về mã hóa Caesar
1 Triển khai mã hóa Caesar phần I
2 Triển khai mã hóa Caesar phần II
3 Triển khai mã hóa Caesar phần III
1 Triển khai mã hóa Caesar phần I
2 Triển khai mã hóa Caesar phần II
3 Triển khai mã hóa Caesar phần III
1 Phá mã Caesar bằng tấn công vét cạn
2 Triển khai phá mã Caesar bằng vét cạn (Python)
3 Triển khai phá mã Caesar bằng vét cạn (Java)
4 Phân tích tần suất là gì?
5 Triển khai phân tích tần suất (Python)
6 Triển khai phân tích tần suất (Java)
7 Phá mã Caesar bằng phân tích tần suất (Python)
8 Phá mã Caesar bằng phân tích tần suất (Java)
1 Giới thiệu nhận diện tiếng Anh
2 Triển khai nhận diện tiếng Anh phần I (Python)
3 Triển khai nhận diện tiếng Anh phần II (Python)
4 Triển khai nhận diện tiếng Anh phần III (Python)
5 Triển khai nhận diện tiếng Anh phần I (Java)
6 Triển khai nhận diện tiếng Anh phần II (Java)
7 Triển khai nhận diện tiếng Anh phần III (Java)
8 Nhận diện ngôn ngữ bằng máy học
1 Mã hóa Vigenere là gì?
2 Mã hóa và giải mã Vigenere
3 Ví dụ về mã hóa Vigenere
1 Triển khai mã hóa Vigenere phần I
2 Triển khai mã hóa Vigenere phần II
1 Triển khai mã hóa Vigenere phần I
2 Triển khai mã hóa Vigenere phần II
1 Giới thiệu thuật toán Kasiski phần I
2 Giới thiệu thuật toán Kasiski phần II
3 Giới thiệu thuật toán Kasiski phần III
4 Giới thiệu thuật toán Kasiski phần IV
1 One Time Pad (OTP) là gì?
2 One Time Pad và toán tử logic XOR
3 Ví dụ về One Time Pad
1 Số ngẫu nhiên và số giả ngẫu nhiên
1 Triển khai One Time Pad phần I
2 Triển khai One Time Pad phần II
3 Triển khai One Time Pad phần III
1 Triển khai One Time Pad phần I
2 Triển khai One Time Pad phần II
3 Triển khai One Time Pad phần III
1 Phá mã One Time Pad - Độ bí mật Shannon
1 Chuẩn mã hóa dữ liệu (DES) là gì?
2 Lý thuyết hệ thống DES phần II
3 Lý thuyết hệ thống DES phần III
4 Lý thuyết hệ thống DES phần IV
5 Lý thuyết hệ thống DES phần V
6 Lý thuyết hệ thống DES phần VI
1 Triển khai hệ thống DES phần I
2 Triển khai hệ thống DES phần II
3 Triển khai hệ thống DES phần III
1 Triển khai hệ thống DES phần I
2 Triển khai hệ thống DES phần II
3 Triển khai hệ thống DES phần III
4 Triển khai hệ thống DES phần IV
1 Phá mã DES bằng vét cạn
2 Phân tích mật mã tuyến tính
3 Phân tích mật mã vi phân
1 Lý thuyết hệ thống AES phần I
2 Lý thuyết hệ thống AES phần II
3 Lý thuyết hệ thống AES phần III
4 Lý thuyết hệ thống AES phần IV
5 Lý thuyết hệ thống AES phần V
1 Triển khai hệ thống AES phần I
2 Triển khai hệ thống AES phần II
3 Triển khai hệ thống AES phần III
1 Triển khai hệ thống AES phần I
2 Triển khai hệ thống AES phần II
1 Sự hỗn loạn và khuếch tán của Shannon
1 Hệ thống mã hóa bất đối xứng
1 Vấn đề với hệ thống mã hóa khóa riêng
2 Kiến thức cơ bản hệ thống mã hóa bất đối xứng
3 Số ngẫu nhiên và số nguyên tố
1 Nguyên lý cơ bản số học mô-đun
2 Tìm số nguyên tố - phương pháp cơ bản (Python)
3 Tìm số nguyên tố - phương pháp cơ bản (Java)
4 Tìm số nguyên tố - thuật toán nâng cao (Python)
5 Tìm số nguyên tố - thuật toán nâng cao (Java)
6 Bài toán phân tích thừa số nguyên
7 Triển khai phân tích thừa số nguyên (Python)
8 Triển khai phân tích thừa số nguyên (Java)
9 Bài toán logarit rời rạc
10 Triển khai logarit rời rạc (Python)
11 Triển khai logarit rời rạc (Java)
12 Tại sao phải dùng số nguyên tố?
1 Nguyên lý cơ bản trao đổi khóa Diffie-Hellman
2 Thuật toán trao đổi khóa Diffie-Hellman
3 Ví dụ trao đổi khóa Diffie-Hellman
4 Tại sao dùng số nguyên tố và căn nguyên thủy?
1 Triển khai thuật toán trao đổi khóa Diffie-Hellman
1 Triển khai thuật toán trao đổi khóa Diffie-Hellman
1 Phá mã hệ thống Diffie-Hellman
2 Tấn công trung gian
1 Nguyên lý cơ bản hệ thống RSA
2 Thuật toán hệ thống RSA
3 Ví dụ hệ thống RSA
1 Giới thiệu thuật toán Euclid (GCD)
2 Triển khai thuật toán Euclid (GCD) (Python)
3 Triển khai thuật toán Euclid (GCD) (Java)
4 Giới thiệu nghịch đảo mô-đun
5 Triển khai nghịch đảo mô-đun (Python)
6 Triển khai nghịch đảo mô-đun (Java)
7 Giới thiệu thuật toán Euclid mở rộng
8 Triển khai thuật toán Euclid mở rộng (Python)
9 Triển khai thuật toán Euclid mở rộng (Java)
10 Minh họa bộ nhớ stack thuật toán Euclid mở rộng
1 Triển khai hệ thống RSA phần I
2 Triển khai hệ thống RSA phần II
3 Triển khai hệ thống RSA phần III
4 Triển khai hệ thống RSA phần IV
5 Kết hợp RSA với AES phần I
6 Kết hợp RSA với AES phần II
7 Kết hợp RSA với AES phần III
1 Triển khai hệ thống RSA phần I
2 Triển khai hệ thống RSA phần II
3 Triển khai hệ thống RSA phần III
4 Triển khai hệ thống RSA phần IV
5 Kết hợp RSA với AES phần I
6 Kết hợp RSA với AES phần II
7 Kết hợp RSA với AES phần III
1 Vấn đề phân tích thừa số
1 Tại sao cần mã hóa đường cong Elliptic?
2 Đường cong Elliptic là gì?
3 Phép cộng điểm và nhân đôi điểm
4 Thuật toán nhân đôi và cộng
5 Bài toán logarit rời rạc đường cong Elliptic
6 Thuật toán trao đổi khóa Diffie-Hellman dựa trên đường cong Elliptic
7 Chữ ký số với đường cong Elliptic
8 RSA và mã hóa đường cong Elliptic
9 Bài viết hữu ích về đường cong Elliptic
1 Triển khai ECC phần I
2 Triển khai ECC phần II
3 Triển khai ECC phần III
1 Triển khai ECDSA phần I
2 Triển khai ECDSA phần II
1 Triển khai Mật mã Đường cong Elliptic (ECC) phần I
2 Triển khai Mật mã Đường cong Elliptic (ECC) phần II
3 Triển khai Mật mã Đường cong Elliptic (ECC) phần III
1 Triển khai ECDSA phần I
2 Triển khai ECDSA phần II
3 Triển khai ECDSA phần III
1 Phá vỡ hệ thống mật mã đường cong elliptic
1 Hàm băm trong mật mã học là gì?
2 Các tính chất của hàm băm
3 Nghịch lý ngày sinh
1 Triển khai thuật toán băm MD5
2 Triển khai thuật toán băm SHA256
3 Triển khai thuật toán băm SHA512
1 Triển khai thuật toán băm MD5
2 Triển khai thuật toán băm SHA256
1 Ứng dụng của hàm băm mật mã
2 Tiền điện tử (Bitcoin và Ethereum)
3 HTTP, HTTPS và TLS
4 WEP và WPA
1 Tài liệu khóa học

Giới thiệu khóa học

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!

Khóa học liên quan

Khám phá thêm các khoá học cùng chủ đề

Hiển thị tất cả khoá học Computer Science
Hiển thị tất cả khoá học Cybersecurity
Hiển thị tất cả khoá học Java
Hiển thị tất cả khoá học Python
Zalo
Tôi có thể tư vấn khoá học cho bạn 😊