.c
om
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
VIỆN ĐIỆN TỬ - VIỄN THƠNG
BỘ MƠN ĐIỆN TỬ HÀNG KHƠNG VŨ TRỤ
co
ng
Mơn học:
on
g
th
an
LÝ THUYẾT MẬT MÃ
cu
u
du
Giảng viên: PGS.TS Đỗ Trọng Tuấn
Email:
1
3/21/2016
CuuDuongThanCong.com
/>
.c
om
Mục tiêu học phần
Cung cấp kiến thức cơ bản về mật mã đảm bảo an tồn và bảo mật
thơng tin:
an
co
ng
Các phương pháp mật mã khóa đối xứng; Phương pháp mật mã
khóa cơng khai;
th
Các hệ mật dịng và vấn đề tạo dãy giả ngẫu nhiên;
on
g
Lược đồ chữ ký số Elgamal và chuẩn chữ ký số ECDSA;
u
du
Độ phức tạp xử lý và độ phức tạp dữ liệu của một tấn công cụ thể
vào hệ thống mật mã;
cu
Đặc trưng an tồn của phương thức mã hóa;
Thám mã tuyến tính, thám mã vi sai và các vấn đề về xây dựng hệ
mã bảo mật cho các ứng dụng.
2
CuuDuongThanCong.com
/>
u
du
on
g
th
an
co
ng
Chương 1. Tổng quan
Chương 2. Mật mã khóa đối xứng
Chương 3. Mật mã khóa cơng khai
Chương 4. Hàm băm và chữ ký số
Chương 5. Dãy giả ngẫu nhiên và hệ mật dịng
Chương 6. Kỹ thuật quản lý khóa
cu
1.
2.
3.
4.
5.
6.
.c
om
Nội Dung
3
3/21/2016
CuuDuongThanCong.com
/>
.c
om
Tài liệu tham khảo
cu
u
du
on
g
th
an
co
ng
1. A. J. Menezes, P. C. Van Oorschot, S. A. Vanstone, Handbook
of applied cryptography, CRC Press 1998.
2. B. Schneier, Applied Cryptography. John Wiley Press 1996.
3. M. R. A. Huth, Secure Communicating Systems, Cambridge
University Press 2001.
4. W. Stallings, Network Security Essentials, Applications and
Standards, Prentice Hall. 2000.
4
CuuDuongThanCong.com
/>
.c
om
Nhiệm vụ của Sinh viên
cu
u
du
on
g
th
an
co
ng
1. Chấp hành nội quy lớp học
2. Thực hiện đầy đủ bài tập
3. Nắm vững ngôn ngữ lập trình Matlab
5
CuuDuongThanCong.com
/>
.c
om
Chương 2. Mật mã khóa đối xứng
cu
u
du
on
g
th
an
co
ng
2.1. Giới thiệu sơ lược mật mã khóa đối xứng cổ điển
2.2. Một số hệ mật mã khóa đối xứng cổ điển
2.3. Sơ lược hệ mật mã dòng và hệ mật mã khối
6
CuuDuongThanCong.com
/>
on
g
th
an
co
ng
.c
om
2.1. Giới thiệu sơ lược hệ mật mã khóa
đối xứng cổ điển
cu
u
du
Figure shows the general idea behind a symmetric-key cipher. The original message
from Alice to Bob is called plaintext; the message that is sent through the channel is
called the ciphertext. To create the ciphertext from the plaintext, Alice uses an
encryption algorithm and a shared secret key. To create the plaintext from ciphertext,
Bob uses a decryption algorithm and the same secret key.
7
CuuDuongThanCong.com
/>
2.1. Giới thiệu sơ lược hệ mật mã khóa
đối xứng cổ điển
cu
u
du
on
g
th
an
co
ng
.c
om
• Based on Kirchhoff's principle, one should always assume
that the adversary, Eve, knows the encryption/decryption
algorithm. The resistance of the cipher to attack must be based
only on the secrecy of the key.
Locking and unlocking with the same key
8
CuuDuongThanCong.com
/>
2.2. Một số hệ mật mã khóa đối xứng
cổ điển
.c
om
2.2.1. Hệ mật mã khóa đối xứng thay thế
du
on
g
th
an
co
ng
• Đây là hệ mật mã thay thế một ký tự này thành một
ký tự khác.
• Phân loại:
– Mật mã thay thế đơn ký tự - monoalphabetic
– Mật mã thay thế đa ký tự - polyalphabetic
cu
u
A substitution cipher replaces one symbol
with another.
9
CuuDuongThanCong.com
/>
2.2. Một số hệ mật mã khóa đối xứng
cổ điển
ng
.c
om
a. Hệ mật thay thế đơn ký tự - monoalphabetic
cu
u
du
on
g
th
an
co
In monoalphabetic substitution, the
relationship between a symbol in the
plaintext to a symbol in the cipher text is
always one-to-one.
10
CuuDuongThanCong.com
/>
2.2. Một số hệ mật mã khóa đối xứng
cổ điển
.c
om
a. Hệ mật thay thế đơn ký tự - monoalphabetic
cu
u
du
on
g
th
an
co
ng
• The simplest monoalphabetic cipher is the additive
cipher. This cipher is sometimes called a shift cipher
and sometimes a Caesar cipher, but the term additive
cipher better reveals its mathematical nature.
Plaintext and ciphertext in Z26
11
CuuDuongThanCong.com
/>
2.2. Một số hệ mật mã khóa đối xứng
cổ điển
cu
u
du
on
g
th
an
co
ng
.c
om
a. Hệ mật thay thế đơn ký tự - monoalphabetic
12
CuuDuongThanCong.com
/>
2.2. Một số hệ mật mã khóa đối xứng
cổ điển
.c
om
a. Hệ mật thay thế đơn ký tự - monoalphabetic
co
ng
• Ví dụ 1: Hãy sử dụng mã cộng để mã hóa chữ hello với khóa
K = 15.
Additive cipher
Ciphertext: WTAAD
cu
u
du
on
g
th
an
Plaintext: hello
13
CuuDuongThanCong.com
/>
2.2. Một số hệ mật mã khóa đối xứng
cổ điển
.c
om
a. Hệ mật thay thế đơn ký tự - monoalphabetic
co
ng
• Ví dụ 2: Hãy sử dụng mã cộng để giải mã chữ WTAAD với
khóa K = 15.
Additive cipher
Ciphertext: hello
cu
u
du
on
g
th
an
Plaintext: WTAAD
14
CuuDuongThanCong.com
/>
2.2. Một số hệ mật mã khóa đối xứng
cổ điển
.c
om
a. Hệ mật thay thế đơn ký tự - monoalphabetic
on
g
th
an
co
ng
• Historically, additive ciphers are called shift ciphers.
Julius Caesar used an additive cipher to communicate
with his officers. For this reason, additive ciphers are
sometimes referred to as the Caesar cipher. Caesar
used a key of 3 for his communications.
cu
u
du
Additive ciphers are sometimes referred
to as shift ciphers or Caesar cipher.
15
CuuDuongThanCong.com
/>
2.2. Một số hệ mật mã khóa đối xứng
cổ điển
.c
om
a. Hệ mật thay thế đơn ký tự - monoalphabetic
cu
u
du
on
g
th
an
co
ng
• Ví dụ 3: Hacker lấy được đoạn mã “UVACLYFZLJBYL”, khi
đó anh ta làm thế nào để giải mã được đoạn mã đó??
• He tries keys from 1 to 25. With a key of 7, the plaintext is
“not very secure”, which makes sense
16
CuuDuongThanCong.com
/>
2.2. Một số hệ mật mã khóa đối xứng
cổ điển
cu
u
du
on
g
th
an
co
ng
.c
om
a. Hệ mật thay thế đơn ký tự - monoalphabetic
17
CuuDuongThanCong.com
/>
2.2. Một số hệ mật mã khóa đối xứng
cổ điển
.c
om
a. Hệ mật thay thế đơn ký tự - monoalphabetic
th
an
co
ng
• Ví dụ: Hacker lấy được đoạn mã
cu
u
du
on
g
• Số lần xuất hiện chữ cái I = 14 là nhiều nhất, do đó I tương
ứng với chữ e tức là đã dịch đi 4 đơn vị hay K = 4, từ đó ta có
18
CuuDuongThanCong.com
/>
2.2. Một số hệ mật mã khóa đối xứng
cổ điển
ng
.c
om
a. Hệ mật thay thế đơn ký tự - monoalphabetic
Multiplicative Ciphers
cu
u
du
on
g
th
an
co
In a multiplicative cipher, the plaintext
and ciphertext are integers in Z26; the
key is an integer in Z26*.
19
CuuDuongThanCong.com
/>
2.2. Một số hệ mật mã khóa đối xứng
cổ điển
.c
om
a. Hệ mật thay thế đơn ký tự - monoalphabetic
co
ng
• Ví dụ 4: What is the key domain for any multiplicative cipher?
du
on
g
th
an
Tập các thặng dư thu gọn theo
được định nghĩa là
tập ∗ = { ∈
: gcd( , ) = 1} , tức ∗ là tập con
của
bao gồm tất cả các phần tử nguyên tố với
cu
u
The key needs to be in Z26*. This set has only 12
members: 1, 3, 5, 7, 9, 11, 15, 17, 19, 21, 23, 25.
20
CuuDuongThanCong.com
/>
2.2. Một số hệ mật mã khóa đối xứng
cổ điển
.c
om
a. Hệ mật thay thế đơn ký tự - monoalphabetic
cu
u
du
on
g
th
an
co
ng
Ví dụ 5: Hãy sử dụng mã nhân để giải mã hóa chữ “hello” với K = 7?
21
CuuDuongThanCong.com
/>
2.2. Một số hệ mật mã khóa đối xứng
cổ điển
cu
u
du
on
g
th
an
co
ng
.c
om
a. Hệ mật thay thế đơn ký tự - monoalphabetic
Affine Ciphers
22
CuuDuongThanCong.com
/>
2.2. Một số hệ mật mã khóa đối xứng
cổ điển
on
g
th
an
co
ng
The affine cipher uses a pair of keys
in which the first key is from Z26*
and the second is from Z26. What is
the size of the key domain?
.c
om
a. Hệ mật thay thế đơn ký tự - monoalphabetic
Affine Ciphers
cu
u
du
The size of the key domain is 26 ×
12 = 312.
23
CuuDuongThanCong.com
/>
2.2. Một số hệ mật mã khóa đối xứng
cổ điển
.c
om
a. Hệ mật thay thế đơn ký tự - monoalphabetic
cu
u
du
on
g
th
an
co
ng
Ví dụ 6: Hãy sử dụng mã Affine để mã hóa chữ “hello” với K =
(7,2)?
24
CuuDuongThanCong.com
/>
2.2. Một số hệ mật mã khóa đối xứng
cổ điển
.c
om
a. Hệ mật thay thế đơn ký tự - monoalphabetic
cu
u
du
on
g
th
an
co
ng
Ví dụ 7: Hãy sử dụng mã Affine để giải mã hóa chữ “ZEBBW” với
K = (7,2)?
25
CuuDuongThanCong.com
/>