Tải bản đầy đủ (.pdf) (40 trang)

bài giảng an toàn bảo mật hệ thống thông tin chương 4 các phương pháp mã hóa hiện đại

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (378.88 KB, 40 trang )

Giảng viên : Nguyễn Minh Thành
E-mail :
Chương 4 : CÁC PHƯƠNG PHÁP
MÃ HOÁ HIỆN ĐẠI
Mục Lục
I. Các loại hệ thống mã hoá
II.
Chuẩn mã hoá dữ liệu DES và các biến thể
1.
DES
2. Các mode của DES
3. Các biến thể
III.
Chuẩn mã hoá cấp cao AES
IV.
Hệ thống mã hoá công khai RSA
V.
Chữ ký số (Digital Signature)
2
I. Các Loại Hệ Thống Mã Hoá
 Có hai hệ thống mã hoá dựa vào khoá :

Hệ thống mã hoá đối xứng (Symmetric cryptosystem) : sử
dụng một khoá (khoá bí mật) duy nhất để mã hoá và giải mã
dữ liệu.

Hệ thống mã hoá bất đối xứng (Asymmetric cryptosystem) :
sử dụng hai khoá, một khoá công khai để mã hoá (giải mã) và
một khoá bí mật để giải mã (mã hoá) dữ liệu.
3
I. Các Loại Hệ Thống Mã Hoá (tt)


 Đối với hệ mã hoá đối xứng
 Người gửi và người nhận phải thoả thuận trước khoá bí
mật khi muốn trao đổi thông tin với nhau.
 Tính an tòan của thuật tóan đều nằm trong khóa, để lộ ra
khóa có nghĩa là người nào đó có thể mã hóa và giải mã
thông điệp. Quá trình mã hóa và giải mã với thuật tóan
đối xứng có thể được biểu diễn như sau:
 EK(M)=C

DK(C)=M
4
I. Các Loại Hệ Thống Mã Hoá (tt)
 Đối với hệ mã hoá đối xứng
 Các hệ mã hoá cơ bản cũng thuộc vào hệ mã hoá này.
 Thuật toán mã hoá có thể chia làm 2 loại :
 Loại họat động dựa trên từng bit đơn hay từng byte gọi
là stream algorithms hay stream ciphers.

Lọai thứ hai dựa trên plaintext là những nhóm bit,
những nhóm bit này gọi là những block, cho nên thuật
tóan được gọi là block algorithm hay block cipher.

Đối với thuật tóan máy tính hiện đại, một block điển hình
là từ 64 bit, kích thước này đủ lớn để ngăn chận quá trình
phân tích và đủ nhỏ để thuật tóan có thể họat động được.
5
I. Các Loại Hệ Thống Mã Hoá (tt)
 Đối với hệ mã hoá bất đối xứng
 Người gửi và người nhận tự chọn một cặp khoá bí mật và
công khai riêng cho mình. Khoá bí mật sẽ được giữ kín

và khoá công khai sẽ được cho mọi người biết.

Cả 2 key này đều có thể được dùng để mã hóa và giải
mã, nếu dữ liệu được mã hóa bằng key này thì phải được
giải mã bằng key còn lại.
6
II. Chuẩn Mã Hoá Dữ Liệu DES
7
 Vào cuối thập niên 60, Horsr Feistel đã đưa ra hệ mã
Lucifer. Hệ mã này gắn liền với hãng IBM.

Uỷ ban Tiêu Chuẩn Hoa Kỳ đã dàn xếp với IBM và đựa
hệ mã này thành tiêu chuẩn mã hoá dữ liệu (Data
Encryption Standard) và miễn phí.

DES là hệ mã hoá đối xứng dùng khoá bí mật.
II.1 DES (Data Encryption Standard)
8
 Vào cuối thập niên 60, Horsr Feistel đã đưa ra hệ mã
Lucifer. Hệ mã này gắn liền với hãng IBM.

Uỷ ban Tiêu Chuẩn Hoa Kỳ đã dàn xếp với IBM và đựa
hệ mã này thành tiêu chuẩn mã hoá dữ liệu (Data
Encryption Standard) và miễn phí.

DES là hệ mã hoá đối xứng dùng khoá bí mật.

Vấn đề chính trong phương pháp này là bên gửi và bên
nhận phải trao đổi khóa một cách an tòan.
II.1 DES (Data Encryption Standard)

9
 Mô tả tổng quan
 DES là thuật toán mã hoá với input là khối 64bit, output
cũng là khối 64bit.
 DES sử dụng khóa 64 bit trong đó 56 bit làm key thực
sự, còn 8 bit còn lại dùng để kiểm tra parity (bit kiểm tra
tính chẵn lẻ).
II.1 DES (Data Encryption Standard)
10
 Sự tạo khoá
 DES thực hiện 16 vòng lặp với các phép tính và những
hàm có chức năng đặc biệt để tạo ra khối mã hóa Cipher.

16 vòng lặp chạy cùng thuật toáng nhưng mỗi vòng lặp
sử dụng một khoá riêng biệt 48bit. Các khoá này được
tạo ra từ khối khoá 56bit (đã bỏ đi các bit parity), hoán
chuyển các bit và trích ra 48bit làm khoá cho từng vòng.
 Trong quá trình giải mã, các khoá sẽ được đảo ngược.
II.1 DES (Data Encryption Standard)
11
 Sự tạo khoá (tt)

Mô tả thuật toán sinh khoá chi tiết như sau
Bước 1: Từ khóa key được hoán vị qua ma trận hoán vị PC-1
(Permuted Choice -1)
•Từ khóa key được đưa vào khối hoán vị PC-1, thực chất khối
này chỉ tác động lên 56 bit dữ liệu và loại bỏ 8 bit parity dùng
để kiểm tra không mang tính bảo mật thông tin, sau khối hoán
vi này sẽ tạo 56 bit ngõ ra và được chia thành 2 nhóm: 28 bit
trái và 28 bit phải của khóa.

• 28 bit đầu tiên (bên trái) được đặt vào ma trận C
0
(C
i
,D
i
được xem là số vòng lặp có trong thuật toán)
•28 bit sau được đặt vào ma trận D
0
.
II.1 DES (Data Encryption Standard)
12
 Sự tạo khoá (tt)

Mô tả thuật toán sinh khoá chi tiết như sau
Bước 2: Dịch xoay vòng sang trái thứ tự bit của ma trận Ci và
Di trong một vòng lặp. Việc tính toán Ci và Di phụ thuộc vào
Ci-1 và Di-1 và quá trình dịch chuyển từng bit của 2 nhóm
sang trái theo quy tắc sau:
Bước 3: Hoán vị Ci và Di qua ma trận nén PC-2 tạo từ khóa
48bit
Thứ tự vòng i 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
Số bit dịch
vòng
1 1 2 2 2 2 2 2 1 2 2 2 2 2 2 1
II.1 DES (Data Encryption Standard)
13
 Sự tạo khoá (tt)

Sơ đồ tạo khoá

II.1 DES (Data Encryption Standard)
14
 Quá trình mã hoá

Thuật toán thực hiện 16 vòng, từ khoá K (64bit), sẽ tạo ra
16 khoá con (48bit) cho mỗi vòng.

Đầu tiên khối dữ liệu 64 bit sẽ được đưa vào khối hoán vị
khởi tạo IP (Initial Permutation). Sau đó, khối dữ liệu sẽ
được chia làm 2 nửa và đưa vào 2 khối L
0
và R
0
(L
i
và R
i
là thứ tự của mỗi vòng lặp).
II.1 DES (Data Encryption Standard)
15
 Quá trình mã hoá

Tại mỗi vòng lặp, input của vòng lặp này được tính từ
output của vòng trước.

Nửa phải của vòng i-1 sẽ là nửa trái của vòng i, và nửa
phải của vòng i-1 cùng với khoá k
i
sẽ đi qua một hàm f
tạo ra 32bit, 32 bit này sẽ được xor với nửa trái của vòng

i-1 để tạo ra nửa phải của vòng i.
II.1 DES (Data Encryption Standard)
16

Quá trình mã hoá

Hàm f cung cấp sức mạnh cho hệ mã hoá DES.
 Hoạt động của hàm f :

Nửa phải (32bit) của vòng i-1 sẽ được mở rộng thanh
48bit và được xor với khoá ki, kết quả tạo ra 48bit và
được chia thành 8 tập 6bit. Mỗi tập là một bảng thay
thế gọi là S-box. S-box sẽ thay thế một số bit trong đó
và tạo ra 4bit ở mỗi s-box. Kết hợp các bit đó ta được
một chuỗi 32bit và là đầu ra cho hàm f.
II.1 DES (Data Encryption Standard)
17
 Quá trình mã hoá
 Hoạt động của hàm f :
II.1 DES (Data Encryption Standard)
18
 Quá trình mã hoá
 Sau khi chạy qua hết 16 vòng, ở bước cuối cùng chuỗi
64bit sẽ được đưa vào chuỗi hoán vị ngược so với chuỗi
hoán vị khởi tạo IP
-1
trước khi trở thành chuỗi mã hoá.
II.1 DES (Data Encryption Standard)
19
 Quá trình mã hoá

II.2 Các Mode của DES
20
 Khi lần đầu tiên được công bố, nó đã được thông báo là quá
yếu do chiều dài 56bit của khoá là quá ngắn.
 Do đó, DES đã được phát triển thêm nhiều Mode hoạt động
khác nhau để tăng tính bảo mật.
II.2 Các Mode của DES
21
 Mode 1- Electronic Code Book (ECB)
 Mode ECB là kiểu hoạt động sử dụng cùng 1 key cho
quá trình mã hóa và giải mã cho nhiều khối dữ liệu của
một file. Các khối dữ liệu (64 bit) được mã hóa độc lập
với nhau với cùng 1 từ khóa. Kiểu hoạt động này kém
tính bảo mật nếu có nhiều khối truyền giống nhau.
II.2 Các Mode của DES
22
 Mode 2 – Cipher Block Chainning (CBC)

Hoạt động dùng thêm 1 cổng XOR để thực hiện XOR 64
bit của vector khởi tạo (initialization Vector – IV) với 64
bit dữ liệu của khối plaintext đầu tiên trước khi đưa vào
mã hóa tạo ra ciphertext đầu tiên, khối plaintext thứ 2
trước khi được mã hóa được XOR với khối ciphertext
đầu tiên, tương tự cho các khối plaintext tiếp theo …IV
cần được khởi tạo và được thống nhất giữa người gửi và
người nhận. Mode này có tính bảo mật tốt hơn mode hoạt
động ECB, tuy nhiên cần phải bảo mật thêm phần IV.
II.2 Các Mode của DES
23
 Mode 3 – Cipher FeedBack (CFB)

 Nguyên lý hoạt động của mode này hoàn toàn khác với 2
mode ECB cà CBC. Đối với 2 mode đầu thì quá trình mã
hóa dữ liệu được thực hiện trên từng khối dữ liệu 64 bit
cố định. Trong khi mode hoạt động CFB thì mã hóa và
giải mã không dựa vào từng khối dữ liệu 64 bit, mà khối
dữ liệu có thể thay đổi từ 8 bit, 16 bit, 24 bit, 32 bit, 40
bit, 48 bit, 56 bit, 64 bit.
II.2 Các Mode của DES
24

Mode 3 – Cipher FeedBack (CFB)
Quá trình mã hóa:
 Chọn số bit cho khối dữ liệu mã hóa: R bit.
 Lần mã hóa đầu tiên cho dữ liệu đầu vào là khối vector
IV (64 bit), sau khi mã hóa xong lấy R bit bên trái của
khối cipher này XOR với R bit của dữ liệu cần mã hóa để
tạo thành ciphertext cho dữ liệu.

R bit cipher sẽ được thay thế vào bên phải của chuỗi IV
sau khi dịch trái IV R bit.
 Quá trình mã hóa sẽ tiếp tục như vậy cho đến khi kết thúc
data cần mã hóa.

Quá trình giải mã được thực hiện tương tự như mã hóa.
II.2 Các Mode của DES
25
 Mode 4 – Output FeedBack (OFB):
 Mode này mã hóa tương tự như CFB. Tuy nhiên, ở mode
này toàn bộ ngõ ra của thuật toán mã hóa DES được sử
dụng như ngõ vào của lần mã kế tiếp.

×