Bài giảng Mật mã và Ứng dụng trình bày lịch sử ngành Mật mã, trao đổi thông tin bí mật, mục tiêu an toàn, cơ sở toán học, hệ mật mã khóa công khai, hệ mật mã khóa đối xứng,... Tham khảo nội dung bài giảng để nắm bắt nội dung chi tiết.
Trang 1Hải V Phạm
Bộ môn HTTT – Viện CNTT&TT
H BKHN
Mật mã học (Cryptology)
◦ Mật mã (Cryptography)
◦ Mã thám (Cryptanalysis)
Mật mã
◦ Tăng cường các tính chất Bí mật và Toàn vẹn thông
tin: các phép mã hóa
◦ Xây dựng các kỹ thuật trao đổi thông tin bí mật: các
giao thức mật mã
Mã thám
◦ Phá mã
sông Nile, Ai Cập
…)
Trang 2Alice và Bob trao đổi thông tin bí mật, được
mã hóa
Eve và Charlie tấn công bằng giải mã
Charlie Eve Tấn công thụ động
Tấn công chủ động
Bí mật (Confidentiality)
Toàn vẹn (Integrity)
Xác thực (Authentication)
Chống phủ nhận (Non-repudiation)
…
Cơ sở toán học
Hệ Mật mã không khóa
Hệ Mật mã khóa bí mật (đối xứng)
Hệ Mật mã khóa công khai (bất đối xứng)
Hàm băm, chữ ký số
Quản lý khóa, giao thức mật mã,…
Trang 3Số nguyên tố, số học đồng dư là cơ sở toán
học của lý thuyết mật mã, có vai trò rất quan
trọng trong lý thuyết mật mã
7
ịnhnhnh nghĩanghĩanghĩa ModuloModulo
Cho số tự nhiên n và số nguyên a Ta định
nghĩa: a mod n là phần dư dương khi chia a
cho n
ịnh nghĩa quan hệ tương đương trên tập số
nguyên a ≡ b mod n
khi và chỉ khi a và b có phần dư như nhau
khi chia cho n
8
Các phép toán số học trên Modulo
Hai V Pham hai@spice.ci.ritsumei.ac.jp 9
Trang 4Ước số chung lớn nhất: Bài toán tìm ước
chung lớn nhất của hai số nguyên dương là
bài toán chung của lý thuyết số
GCD(a, b) là ước số chung dương lớn nhất
của a và b; Ví dụ: GCD(60,24) = 12 ; GCD
(6, 15) = 3; GCD(8, 21) = 1
Nguyên tố cùng nhau Ta thấy 1 bao giờ
cũng là ước sốchung của hai số nguyên
dương bất kỳ Nếu GCD(a, b) = 1, thì a, b
đựơc gọi là hai số nguyên tố cùng nhau:
Ví dụ: GCD(8,15) = 1, tức là 8 và 15 là hai
số nguyên tố cùng nhau
10
Tìm ước chung lớn nhất:
GCD(a,b) = GCD(b, a mod b)
11
ThuThuậtttt toántoántoán EuclideEuclideEuclide mmmở rrrrộngng
Trang 5Một số thuật toán trên Zn
ịnh nghĩa: Phần tử nghịch đảo
13
14
Hệ Mật mã = Bộ 5 (K,M,C,E,D)
Không gian Khóa (Key): K
Không gian Tin (Message/Plaintext): M
Không gian Mã (Cipher): C
Hàm mã hóa (Encryption)
◦ E: K x M -> C
Hàm giải mã (Decryption)
◦D: K x C -> M
Trang 6Mã hóa Giải mã
Khóa duy nhất
Khóa mã hóa
Khóa giải mã
Trang 7Hệ Mật mã không khóa
Mã hoán vị
◦ Các ký tự trong Tin được hoán vị cho nhau
Trang 8Hoán vị cột
c1 c2 c3 c4 c5 c6 c7 c8 c9 c10 c11 c12 …
chuyển thành
c1 c6 c11 c2 c7 c12 c3 c8 … .…
… … ….
Tin
T H I S I
S A M E S
S A G E T
O S H O W
H O W A C
O L U M N
A R T R A
N S P O S
I T I O N
W O R K S
Tin
T H I S I
S A M E S
S A G E T
O S H O W
H O W A C
O L U M N
A R T R A
N S P O S
I T I O N
W O R K S
Mã
t s s o h
o a n i w
h a a s o
l r s t o
i m g h w
u t p i r
s e e o a
m r o o k
i s t w c
n a s n s
Trang 9Hệ Mật mã không khóa
Hệ Mật mã khóa bí mật (đối xứng)
Duy nhất một khóa cho quá trình mã hóa và
giải mã
◦ C = E(K,M)
◦ M = D(K,C)
Khóa phải được giữ bí mật
Khóa duy nhất
Trang 10Mã luồng
◦ Mã Ceasar
◦ Mã Vigenère
◦ Mã Vernam
Mã khối
◦ DES
◦ AES
ơn vị mã hóa cơ bản là các ký tự
◦ Các ký tự trong Tin được mã hóa tách biệt
Thế kỷ thứ 3 trước công nguyên, nhà quân
sự người La Mã Julius Ceasar đã nghĩ ra
phương pháp mã hóa một bản tin như sau:
thay thế mỗi chữ trong bản tin bằng chữ
đứng sau nó k vị trí trong bảng chữ cái
Trang 11c = m + n
m: ký tự trong Tin
c: ký tự tương ứng trong Mã
n: độ dịch chuyển
+: phép cộng modulo 26
Ví dụ: n = 3
Tin: ABCDEFGHIJKLMNOPQRSTUVWXYZ
Mã: defghijklmnopqrstuvwxyzabc
bản mã PHHW PH DIWHU WKH WRJD SDUWB và
biết được phương pháp mã hóa và giải mã là phép
cộng trừ modulo 26 ối thủ có thể thử tất cả
25trường hợp của k như sau:
33