tài liệu về mật mã đối xừng và mã khối ..........................................................................................................................................................
Trang 1Bài giảng môn
An ninh mạng viễn thông
Giảng viên: TS Nguyễn Chiến Trinh
Điện thoại/E-mail: 0915400946; chientrinh@gmail.com
Bộ môn: Mạng viễn thông - KhoaViễn thông 1
Học kỳ/Năm biên soạn: 2017
Trang 2Tại sao cần bảo vệ thông tin truyền thông
Chèn bản tin vào kết nối
Mạo danh: giả địa chỉ IP nguồn.
Chiếm kết nối.
Trang 3Mật mã đối xứng và bất đối xứng
Trang 4Alice’s encryption key
Bob’s decryption key
K
B
Mã hóa khóa đối xứng: khóa người gửi/người nhận đồng nhất, bí mật
Mã hóa khóa công khai: mã hóa bằng khóa công khai, giải mã bằng khóa bí mật
Trang 5Sơ đồ mật mã hóa đối xứng đơn giản
Trang 6Hệ thống mật mã hóa đối xứng
Trang 8+ Thuật toán mật mã hóa
+ Bản mã
+ Một hoặc một số cặp bản rõ – bản mã được tạo ra với khóa bí mật.
Biết bản rõ được lựa chọn (choosen- plaintext)
+ Thuật toán mật mã hóa
+ Thuật toán mật mã hóa
Trang 9Phá
mã
bằng vét cạn
Trang 10Mã hóa thay thế
plaintext: abcdefghijklmnopqrstuvwxyz ciphertext: mnbvcxzasdfghjklpoiuytrewq
monoalphabetic cipher: thay thế một chữ cái bằng chữ cái khác
Phá khóa có d dàng không? ễ
Trang 11Các phương pháp mã hóa cổ điển
Transposition technique: đảo lộn thứ tự chữ cái
Rotor machines: sử dụng mã hóa nhiều giai đoạn
Trang 13Mật
mã khối
và
mật
mã dòng
Trang 14Mật mã khối đơn giản
S l ng t h p mã: 8!=40320? ố ượ ổ ợ
Trang 15Giải pháp Fiestel cho mật mã khối (sử dụng hàm tuyến tính)
Thay thế (substitution)
Hoán vị (permutation)
Trang 16Đặc tính mật mã hóa
Yêu cầu mật mã hóa: các thống kê (của plaintext,
ciphertext) phải độc lập với khóa sử dụng;
Tính khuếch tán (diffusion): giảm ảnh hưởng của các thống kê trên bản plaintext phản ánh trên bản mã
-> một digit của plaintext tác động đến nhiều digit bản mã;
Tính rối (confusion): làm phức tạp mối quan hệ giữa thống kê của các bản mã với khóa mã;
Trang 18vòng)
Trang 19Mật mã khối – Ví dụ
64-bit input
T18bits
Trang 20Mã khối móc xích (Cipher block chaining - CBC)
c(i-1)
c(17) = “k329aM02”
cipher block: nếu lặp
lại đầu vào thì đầu ra
như nhau
cipher block chaining:
XOR đ u vào i, m(i), ầ
v i b n mã hóa c a ớ ả ủ
block tr c, c(i-1)ướ
c(0) – vector kh i ở
đ uầ
Trang 21Nguyên lý thiết kế mật mã khối (1)
Kích thước khối: kích thước khối lớn có nghĩa là
an toàn cao hơn (với giả thiết là tất cả các tham
số khác là như nhau) nhưng tốc độ mật mã hóa/giải mật mã bị giảm
Kích thước khóa: kích thước khóa lớn có nghĩa là
an toàn cao hơn (chống lại được các tấn công brute-force tốt hơn) nhưng có thể làm giảm tốc
độ mật mã hóa/giải mật mã.
Trang 22Nguyên lý thiết kế mật mã khối (2)
Số lượng vòng: càng nhiều vòng càng khó
phân tích tìm khóa;
Hàm F: làm rối -> không tuyến tính, 1 bit đầu vào thay đổi -> thay đổi nhiều bit đầu ra, bit
đầu ra j,k thay đổi độc lập với sự thay đổi của
bit đầu vào i;
Thuật toán lập lịch khóa: tạo khóa con sao cho khó suy luận được các khóa con và khóa chủ;
Trang 23DES: Data Encryption Standard
56-bit khóa đối xứng, 64-bit text đầu vào
An toàn của DES?
Giải mã DES: 56-bit-key- phá giải mã trong 4 tháng
Làm cho DES an toàn hơn:
Sử dụng 3 khóa liên tiếp (3-DES) trên mỗi dữ kiện
Sử dụng móc xích mã khối
Trang 24Cấu trúc DES
Trang 25 Hoán vị ban đầu
16 vòng ứng dụng hàm số, mỗi vòng
sử dụng một khóa 48-bit khác nhau
Hoán vị kết thúc
Trang 26DES cấu
-trúc 1 vòng
Trang 27AES: Advanced Encryption Standard
Xử lý dữ liệu 128 bit blocks
khóa), thì mất 149 tỉ năm đối với AES
Trang 28AES: Advanced Encryption Standard
Trang 29Các tham số AES
Trang 30Kiến trúc
chung của
AES
Trang 31Mật
mã hóa
và giải
mã AES
Trang 32AES
Trang 33Quá trình mật mã AES (1)
thay thế bằng một byte khác bằng cách sử dụng một bảng tra
cứu được gọi là hộp S (S-Box)
số bước cố định Chẳng hạn, các phần tử của hàng thứ nhất được
để nguyên, các phần tử của hàng thứ hai dịch trái trái một cột, các phần tử của hàng thứ hai dịch trái hai cột và các phần tử của hang thứ ba dịch trái ba cột Thao tác này đảm bảo rằng mỗi cột của trạng thái đầu ra trong bước này bao gồm các byte của mỗi cột của trạng thái đầu vào
Trang 34Quá trình mật mã AES (2)
tính bằng cách nhân với một ma trận trong trường hữu hạn
Chuyển đổi tuyến tính khả đảo này cùng với thao tác ShiftRows đảm bảo sự rối rắm trong bộ mật mã
khóa vòng Quá trình AES bao gồm việc rút ra 11 khóa vòng từ khóa mật mã để đưa đến đầu vào bộ mật mã hóa Bản thân khóa mật mã được chuyển đến cũng là kết quả của một số biến đổi
như: làm rối (Hashing) được thực hiện trên khóa bí mật chủ 11 khóa vòng được rút ra từ khóa mật mã bằng cách sử dụng giải thuật tính toán đơn giản
Trang 35Quá trình mật mã AES (3)
ra đầu ra gồm một mảng tuyến tính 44 từ (176 byte) Đầu ra của
bộ mở rộng khóa đủ để cung cấp khóa cho các vòng mật mã
Khóa được đưa ra bốn từ đầu tiên của khóa mở rộng Phần còn lại của khóa mở rộng được điền vào 4 từ tại mỗi thời điểm
Trang 36Chế độ thao tác đếm của AES