TÌM HIỂU KỸ THUẬT MÃ HÓA DES
TRONG HỆ THỐNG BẢO MẬT THÔNG
TIN
6/12/2013 1
Trường Đại học Bách Khoa HN
Viện Điện tử-Viễn thông
Sinh
viên thực hiện :
MAI VĂN
THƯỢC
LỚP ĐT5
– K53
Giảng
viên hướng dẫn :
TH.S TẠ
THỊ KIM HUỆ
Đề tài:
6/12/2013 2
Mã hóa trong bảo mật thông tin
Mật mã khối DES
Đánh giá DES
Xây dựng chương trình mô phỏng thuật
toán DES
NỘI DUNG
1
2
3
4
6/12/2013 3
1. MÃ HÓA TRONG BẢO MẬT THÔNG
TIN
Quá trình mã hóa và giải mã
Bảo mật thông tin là tập hợp các kỹ thuật, cơ chế…để
bảo vệ 3 đặc trưng cơ bản của thông tin.
Mã hõa là một giải pháp hữu hiệu và thông dụng được
sử dụng trong lĩnh vực bảo mật thông tin.
Phân loại hệ thống mã hóa
Có nhiều cách để phân loại hệ thống:
Dựa vào số lượng khóa sử dụng
Dựa vào thuật toán
Dựa vào cách xử lý đầu vào
Trong nội dung tìm hiểu, ta đề cập đến hệ thống sử dụng kỹ
thuật mã hóa DES, là một hệ thống khóa bí mật, mã khối và
đối xứng.
6/12/2013 4
2. MẬT MÃ KHỐI DES – Data Encryption
Standard
6/12/2013 5
DES là một thuật toán mã hóa khối khóa bí mật, sử
dụng cấu trúc khối cơ bản Feistel.
Được phát triển bởi hãng IBM.
Tháng 8/1976, DES được chọn làm chuẩn chính thức.
Chuẩn mã hóa dữ liệu DES
6/12/2013
6
Sơ đồ quá
trình mã hóa
Nếu C là bản mã thì
ta có:
C = IP
-1
(R
16
L
16
)
IP: Initial Permutation
IP
-1
: Inverse IP
Mô tả hàm Feistel (hàm F)
6/12/2013 7
Vị trí của hàm F trong vòng lặp
Hàm F bao gồm
các thành phần
quan trọng như
sau:
1. Hàm mở rộng E
2. Các hộp S-box
3. Hộp P-box
Chức năng của hàm Feistel
6/12/2013 8
Thuật toán sinh khóa con
6/12/2013 9
PC-1: Phép hoán vị 1.
PC-2: Phép hoán vị 2.
LS biểu diễn phép dịch
bít vòng sang trái.
Vòng lặp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Số bít
dịch
1
1
2
2
2
2
2
2
1
2
2
2
2
2
2
1
Quá trình giải mã DES
6/12/2013 10
Quá trình giải mã chính là
thực hiện theo thứ tự đảo
ngược của quá trình mã hóa.
Các chế độ sử dụng mã khối DES
6/12/2013 11
3. ĐÁNH GIÁ VỀ DES
6/12/2013 12
Ưu điểm
- Mã hóa nhanh, bảo mật cao.
- Thuật toán công khai, dễ hiểu, dễ cài đặt.
- Được tích hợp trong mạch cứng, tốc độ mã hóa cực nhanh.
Yếu điểm
- Tính bù.
- Khóa yếu.
- Có cấu trúc đại số.
- Không gian khóa tương đối nhỏ.
Các phương pháp thám mã DES
Tấn công Brute – force (vét cạn khóa).
Thám mã vi sai (Differential Cryptanalysis - DC).
Thám mã tuyến tính (Linear Cryptanalysis - LC).
Tấn công Davies (Davies’ attack)
6/12/2013 13
Khi nhắc đến thám mã DES:
So sánh DES với các kỹ thuật mã
hóa khác
6/12/2013 14
Các hệ mã cổ điển
Các hệ mã hiện đại, nâng cao
4. XÂY DỰNG CHƯƠNG TRÌNH MÔ
PHỎNG THUẬT TOÁN DES
6/12/2013 15
CHƯƠNG TRÌNH MÃ HÓA VÀ GIẢI
MÃ FILE (.TXT)
MÃ
HÓA
GIẢI
MÃ
CHỌN FILE
TEXT MÃ
HÓA
CHỌN FILE
TEXT GIẢI
MÃ
NHẬP
KHÓA
NHẬP
KHÓA
MÃ HÓA
FILE
GIẢI MÃ
FILE
Sơ đồ chức năng của chương trình
Quá trình mã hóa File
6/12/2013 16
File văn
bản
Chuỗi
nhị
phân
Độn
thêm bít
“0”
Chia
thành
các khối
Mã hóa từng Khối Khóa
Các
khối
bản mã
Chuỗi
nhị
phân
File mã
hóa
Quá trình giải mã File
6/12/2013 17
File mã
hóa
Chuỗi
nhị
phân
Chia
thành
các khối
Giải mã từng Khối Khóa
Các
khối
bản rõ
Chuỗi
nhị
phân
File văn
bản
Loại bỏ bit “0” đã
thêm vào ở khối bản
rõ cuối
6/12/2013 18
Hoán vị
PC-1
Tách 2 khối
(C
0
, D
0
)
i:= 1
C
i
:= LS(C
i-1
)
D
i
:= LS(D
i-1
)
Hoán vị
PC-2
Khóa 64 bit
(Input K)
i:= 16
Kết thúc
Khóa Ki
(48 bit)
S
Đ
i:=i+1
Lưu đồ thuật toán sinh khóa
6/12/2013 19
Hoán vị IP
Tách khối
(L
0
, R
0
)
I
i:=1
L
i
:= R
i-1
R
i
:= L
i-1
F(R
i-1
,K
i
)
i:=i+1
i:= 16
Đổi chỗ 2 khối
Hoán vị IP
-1
S
Đ
Khối 64 bit
(Input M)
Khối 64 bit
(Output C)
Lưu đồ thuật toán mã hóa một khối DES
Chương trình mô phỏng & Kết quả
6/12/2013 20
Thiết kế kiến trúc :
Môi trường lập trình (Tool) : Visual
Studio 2010.
Ngôn ngữ lập trình : C#
Giao diện ứng dụng : Windows Form.
Giao diện chương trình demo
Kết quả
6/12/2013 21
6/12/2013 22
CÁM ƠN THẦY CÔ VÀ CÁC
BẠN ĐÃ THEO DÕI!