1. Trang chủ
  2. » Tất cả

Độ an toàn của hệ thống mật mã hoá dữ liệu des

20 10 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Độ an toàn của hệ thống mật mã hoá dữ liệu DES
Trường học Học viện Công Nghệ Bưu Chính Viễn Thông
Chuyên ngành Bảo mật Thông Tin
Thể loại Tiểu luận kết thúc học phần
Năm xuất bản 2024
Thành phố Hà Nội
Định dạng
Số trang 20
Dung lượng 688,73 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG KHOA VIỄN THÔNG 1 TIỂU LUẬN KẾT THÚC HỌC PHẦN ĐỘ AN TOÀN CỦA HỆ THỐNG MẬT MÃ HOÁ DỮ LIỆU DES Bài thi cuối kì môn ANM DANH MỤC HÌNH Hình 1 Tổng quát về mật mã ho[.]

Trang 1

KHOA VIỄN THÔNG 1

TIỂU LUẬN KẾT THÚC HỌC PHẦN

ĐỘ AN TOÀN CỦA HỆ THỐNG MẬT MÃ HOÁ DỮ LIỆU DES

Trang 2

DANH MỤC HÌNH

Hình 4 Kiến trúc tạo đầu ra hàm S-Box

DANH MỤC BẢNG BIỂU

Bảng 4 Chỉ số dịch bit tại các vòng Feistel Bảng 5 Thuật toán hoán vị và nén khoá

Trang 3

MỤC LỤC

LỜI MỞ ĐẦU 5

I Khái quát về mật mã hoá DES 6

1.1 Khái niệm 6

1.2 Tính chất 6

II Sơ đồ mã hoá dữ liệu DES 6

2.1 Sơ đồ tổng quát mã hoá DES 6

2.2 Phân tích mật mã DES 8

2.2.1 Hoán vị khởi tạo và hoán vị kết thúc 8

2.2.2 Thuật toán sinh khoá con 9

2.2.3 Cấu trúc các vòng của DES 11

III Độ an toàn của DES 14

3.1 Điểm yếu của DES 14

3.1.1 Tính bù 14

3.1.2 Khoá yếu 14

3.2 Các dạng tấn công 15

3.2.1 Tấn công vét cạn khóa 15

3.2.2 Phá mã DES theo phương pháp vi sai 16

3.2.3 Phá mã DES theo phương pháp thử tuyến tính 16

3.3 Một số phương pháp khắc phục yếu điểm của DES 16

3.3.1 Hiệu ứng lan truyền 16

3.3.2 2DES 17

3.3.3 3DES 18

KẾT LUẬN 20

TÀI LIỆU THAM KHẢO 21

Trang 4

cách an toàn và bí mật Ngày nay mạng máy tính càng trở nên phổ biến, nhu cầu sử dụng Internet của con người ngày càng lớn nhiều dịch vụ điện tử như thư điện tử, chuyển tiền, thương điện tử đang được áp dụng rộng rãi Các ứng dụng trên mạng Internet ngày càng phổ biến, dẫn đến việc bảo mật an toàn thông tin ngày càng trở nên cấp thiết

Đã có rất nhiều quốc gia và các nhà nghiên cứu về vấn đề bảo mật đã đưa ra nhiều thuật toán nhằm mục đích thông tin được bảo mật và không bị đánh cắp Trong bài tiểu luận của nhóm chúng em tìm hiểu về thuật toán DES (Data Encription Standard) Đây là thuật toán chuẩn của Mỹ đã từng được nhiều nước trên thế giới sử dụng Tuy nhiên, với công nghệ phát triển như hiện nay có nhiều lý do khiến thuật toán DES trở nên không còn được an toàn tuyệt đối Người ta đã đưa ra một số thuật toán mở rộng dựa trên nền tảng của DES để số bit mã hoá được tăng lên Sau đây nhóm chúng em sẽ trình bày về cấu trúc cũng như độ an toàn của thuật toán mã hoá DES

Đề tài “Độ an toàn của hệ thống mật mã hoá dữ liệu DES” chúng em tập trung đi sâu phân tích về độ an toàn, những điểm yếu và khả năng bị tấn công của phương pháp mật

mã hoá này

Nội dung bài tiểu luận gồm 3 phần :

Phần I Khái quát về mật mã hoá DES: trình bày về sự phát triển và một số tính

chất của mật mã hoá DES

Phần II Sơ đồ mã hoá dữ liệu DES: phân tích về cấu trúc tổng quát và cách thức

vận hành của mật mã hoá DES

Phần III Độ an toàn của DES: tập trung làm rõ điểm yếu, các dạng tấn công cũng

như một số phương pháp nâng cao tính bảo mật, tăng độ an toàn của mật mã hoá dữ liệu DES

Trang 5

I Khái quát về mật mã hoá DES

1.1 Khái niệm

DES (viết tắt của Data Encryption Standard, hay Tiêu chuẩn Mã hóa Dữ liệu) là một phương pháp mật mã hóa được FIPS (Tiêu chuẩn Xử lý Thông tin Liên bang Hoa Kỳ) chọn làm chuẩn chính thức vào năm 1976 DES là thuật toán mã hóa khối: thực hiện xử lý từng khối thông tin của bản rõ có độ dài xác định và đi qua một quá trình biến đổi để tạo thành bản mã có độ dài không đổi

Hình 1: Tổng quát về mật mã hoá DES

1.2 Tính chất

- Mã DES thuộc hệ mã khối Feistel gồm 16 vòng, đặc biệt trước khi vào vòng 1 và sau vòng 16 DES có thêm một hoán vị khởi tạo

- Độ dài mỗi khối là 64 bit

- Khóa dùng trong DES có độ dài là 64 bit Tuy nhiên chỉ có 56 bit được sử dụng, còn lại 8 bit sử dụng để kiểm tra chẵn lẻ

- Ở mỗi vòng của mã DES dùng khóa con có độ dài 48 bit được trích ra từ khóa chính Hình dưới đây minh họa các vòng của mã DES

II Sơ đồ mã hoá dữ liệu DES

2.1 Sơ đồ tổng quát mã hoá DES

Mã hóa DES gồm có ba phần: Phần thứ nhất là các hoán vị khởi tạo và hoán vị kết thúc, phần thứ hai là các vòng DES, phần thứ ba là thuật toán sinh khóa con

Trang 6

Hình 2: Sơ đồ tổng quát mã hoá DES

Thông qua sơ đồ tổng quát, ta thấy việc mã hoá DES được chia thành 2 phần là: xử

lý bản rõ và quá trình sinh khoá

- Xử lý bản rõ:

bit theo một trật tự cho trước mà không làm thay đổi kích thước của khối

cuối cùng là sự kết hợp của bản rõ đầu vào và khoá K

được hoán vị cho nhau

mã có kích thước trùng với bản rõ

Trang 7

- Quá trình sinh khoá:

bên nhận và bên gửi, khoá được đưa vào khối hoán vị khoá theo quy tắc cho trước Đầu ra là chuỗi 56 bit sẽ được chia ra thành hai nửa trái phải và đưa qua khối dịch vòng trái

o Trong khối dịch trái, các bit sẽ được dịch đi số vị trí tuỳ theo chỉ số vòng của vòng Feistel, sau đó được đưa qua khối PC2 mục đích để hoán vị và nén chuỗi này từ 56 bit thành chuỗi 48 bit theo quy tắc cho trước

Feistel bên phía bản rõ

2.2 Phân tích mật mã DES

2.2.1 Hoán vị khởi tạo và hoán vị kết thúc

Bản rõ M (hexa)= AB091104081307CD

Mã nhị phân của bản rõ M:

M = 1010 1011 0000 1001 0001 0001 0000 0100 0000 1000 0001 0011 0000 0111 1100 1101

Đầu tiên, bản rõ 64 bit nhị phân M sẽ đi vào khối hoán vị khởi tạo để sắp xếp lại các bit và cho ra chuỗi bit đã được hoán vị có cùng kích thước đầu vào

Bản rõ M 64 bit được đánh số từ trái qua phải từ 1 đến 64 khi đó hoán vị khởi tạo sẽ hoán đổi các bit theo quy tắc của hình dưới đây:

Bảng 1: Khối hoán vị khởi tạo

IP(M) = 1000 0000 0010 0101 1100 1000 1110 0111 1000 0001 0000 0001 1001 0011

0100 0001

Sau 16 vòng mã hoá Feistel, khối mã sẽ được đưa vào khối hoán vị kết thúc Khối hoán vị sẽ thực hiện hoán đổi vị trí các bit theo quy tắc sau:

Trang 8

Bảng 2: Khối hoán vị kết thúc

L16 = A005471D (1010 0000 0000 0101 0100 0111 0001 1101)

R16 = 2BC5113B (0010 1011 1100 0101 0001 0001 0011 1011)

IP -1 = 0111 1111 0100 1001 0011 1010 0100 0011 0000 0111 1100 0001 0001 1000 1001 0000

Viết ở dạng cơ số 16 là: 7F493A4307C11890

Bản rõ M = AB091104081307CD sau khi đưa qua khối mã khoá DES biến đổi thành bản

mã C = 7F493A4307C11890

Hoán vị khởi tạo và hoán vị kết thúc không có ý nghĩa bảo mật trong các trường hợp

kẻ tấn công biết trước bản rõ hay bản rõ đã được lựa chọn, sự tồn tại của hai hoán vị này được cho là mang tính chất kế thừa từ lịch sử

2.2.2 Thuật toán sinh khoá con

Chọn khoá K = 0123456789ABCDEF (tự chọn ngẫu nhiên 16 bit hexa)

K = 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111

Đầu tiên, khoá 64 bit nhị phân này được đưa qua bộ hoán vị và nén cho đầu ra là khối mã 56 bit theo quy tắc dưới đây:

Bảng 3: Thuật toán sinh khoá con

Trang 9

Sau khi đi qua khối trên thu được khối PC1 có giá trị:

PC1 = 1111 0000 1010 1010 1100 1100 0000 1010 1010 1100 1100 1111 0000 0000

Với khối 56 bit khoá đầu ra sẽ được chia thành 2 nửa trái KL và phải KR với độ dài mỗi khối là 28 bit

C0 = 1111 0000 1010 1010 1100 1100 0000

D0 = 1010 1010 1100 1100 1111 0000 0000

Bản mã C0 và D0 sẽ được dịch vòng trái với các bit tuỳ theo chỉ số vòng tại đó được liệt kê ở bảng dưới đây

Bảng 4: Chỉ số dịch bit tại các vòng Feistel

C1 = 1110 0001 0101 0101 1001 1000 0001 (dịch trái 1 bit so với C0)

D1 = 0101 0101 1001 1001 1110 0000 0001(dịch trái 1 bit so với D0)

Sau khi qua các vòng dịch ta thu được hệ thống khoá ứng với mỗi vòng và sẽ được đưa qua khối hoán vị và nén PC2 Với đầu vào là khối mã 56 bit sẽ cho đầu ra là chuỗi mã

48 bit theo quy tắc dưới đây:

Bảng 5: Thuật toán hoán vị và nén khoá

K1 = 000 010 110 000 001 001 100 111 100 110 110 100 100 110 100 101 (0B02679B49A5)

Dưới đây là kết quả của khoá K sau mỗi vòng sau khi đi qua khối hoán vị và nén PC2:

Trang 10

2.2.3 Cấu trúc các vòng của DES

Hình 3: Cấu trúc các vòng của DES

- Hàm Expand: 32 bit đầu vào được mở rộng thành 48 bit sử dụng thuật toán hoán vị

mở rộng với việc nhân đôi một số bit Giai đoạn này được ký hiệu là E trong sơ đồ

Trang 11

Bảng 6: Thuật toán Expand

IP(M) = 1000 0000 0010 0101 1100 1000 1110 0111 1000 0001 0000 0001 1001 0011

0100 0001

L0 = 1000 0000 0010 0101 1100 1000 1110 0111 (32 bit)

R0 = 1000 0001 0000 0001 1001 0011 0100 0001 (32 bit)

Chuỗi bit bên phải R0 sẽ được đưa qua hàm Expand cho ra kết quả là:

E(R0) = 100000 000010 100000 000011 110010 100110 101000 000011

- XOR khoá: 48 bit thu được sau quá trình mở rộng được XOR với khóa con Mười

sáu khóa con 48 bit được tạo ra từ khóa chính 56 bit theo một chu trình tạo khóa con

K1 000010 110000 001001 100111 100110 110100 100110 100101

E(R0) 100000 000010 100000 000011 110010 100110 101000 000011

K1 + E(R0) 100010 110010 101001 100100 010100 010010 001110 100110

Kết quả đầu ra khối XOR

- S-Box: 48 bit sau khi trộn được chia làm 8 khối con 6 bit và được xử lý qua hộp thay

thế S-box Đầu ra của mỗi khối 6 bit là một khối 4 bit theo một chuyển đổi phi tuyến được thực hiện bằng một bảng tra

Hình 4: Kiến trúc tạo đầu ra hàm S-Box

Trang 12

Bảng 7: Hoạt động của hàm S-Box

Kết quả đầu ra của hàm S-Box:

K1 + E(R0) 100010 110010 101001 100100 010100 010010 001110 100110

S(B) 0001 1100 0100 1110 0110 1010 1000 1000

Đầu ra khối S-Box

- P-Box: Cuối cùng, 32 bit thu được sau S-box sẽ được sắp xếp lại theo một thứ tự

cho trước (còn gọi là P-box)

Bảng 8: Thuật toán P-Box

Đầu ra khối P-Box

Đầu ra của khối P-Box được đưa vào bộ cộng Module 2 với nửa trái của mã L0 tạo thành nửa chuỗi mã phải của vòng thứ nhất

Trang 13

Dưới đây là kết quả của đầu ra sau khi kết thúc mỗi vòng Feistel:

III Độ an toàn của DES

3.1 Điểm yếu của DES

Hiện nay DES được xem là không đủ an toàn cho nhiều ứng dụng Nguyên nhân chủ yếu là độ dài 56 bit của khóa là quá nhỏ Khóa DES đã từng bị phá trong vòng chưa đầy 24 giờ Đã có rất nhiều kết quả phân tích cho thấy những điểm yếu về mặt lý thuyết của mã

hóa có thể dẫn đến phá khóa, tuy chúng không khả thi trong thực tiễn

3.1.1 Tính bù

Giả sử phần bù của a ký hiệu là 𝑎̅ (ví dụ : 01001101 là phần bù của 10110010) thì

DES có tính chất sau:

C = DES (a,k) → 𝐶̅ = DES ( 𝑎̅, 𝑘̅)

Như vậy nếu ta biết mã C được mã hóa từ thông tin a với khóa k thì ta suy được bản

mã 𝐶̅ được mã hóa từ bản rõ 𝑎̅ với khóa 𝑘̅ Đây là một điểm yếu của DES khi kẻ tấn công thực hiện giải mã bằng phương pháp tấn công vét cạn khoá

3.1.2 Khoá yếu

Một điểm yếu nữa của DES là khi sử dụng thuật toán sinh khoá con thì có thể gặp trường hợp 16 khoá con đều trùng nhau, trường hợp này khoá đầu vào được gọi là khoá yếu Như vậy, ta có thể suy ra việc mã hoá và giải mã khoá yếu là như nhau

Trang 14

Bảng 9: Các bộ khoá yếu

Ngoài ra, còn có thêm 5 cặp khoá nửa yếu, nghĩa là:

C = DES (a,k1) → C = DES (a,k2) Với cùng 1 bản mã khi mã khoá bằng 1 cặp mà nửa yếu thì sẽ tạo thành 2 bản mã giống hệt nhau

Bảng 10: Các bộ khoá nửa yếu

Tuy nhiên có thể dễ dàng tránh được những khóa này khi thực hiện thuật toán, có thể bằng cách thử hoặc chọn khóa một cách ngẫu nhiên Khi đó khả năng chọn phải khóa yếu là rất nhỏ

3.2 Các dạng tấn công

3.2.1 Tấn công vét cạn khóa

- Không chỉ với mật mã hoá khoá đối xứng DES, mà với bất kì phương thức mật mã hoá nào cũng gặp phải kiểu tấn công này Kẻ tấn công sẽ thử tất cả các khoá có thể lên một đoạn bản mã cho tới khi biên dịch được thành bản rõ

Trang 15

- Nếu số lượng khoá là rất lớn, kiểu tấn công này rất khó để thực hiện Do đó, họ phải dựa trên việc phân tích bản mã, thường áp dụng các thử nghiệm thống kê

- Để sử dụng kiểu tấn công này, đa phần kẻ tấn công sẽ phải thử trung bình nửa số khoá để có thể đạt được thành công trong việc tìm ra bản rõ

3.2.2 Phá mã DES theo phương pháp vi sai

- Phương pháp phá mã vi sai là kiểu tấn công dựa vào các cặp bản rõ có lựa chọn phân tích giá trị khác nhau giữa hai bản rõ làm ảnh hưởng tới sự khác nhau giữa hai bản

mã tương ứng Sự khác nhau này được định nghĩa thông qua nhiều cách nhưng phép toán XOR thường được sử dụng

- Các cặp vi sai vào ra được gọi là XOR vào, XOR ra

- Quy trình phá mã vi sai DES:

o Tiền tính toán lập các bảng tham chiếu

o Giới hạn không gian tìm khoá

- Phương pháp phá mã vi sai này phá khoá tốn ít thời gian hơn so với tấn công vét

lựa chọn để có thể tìm ra khoá K Như vậy, mặc dù được cho là tốn ít lần thử hơn so với thuật toán vét cạn nhưng vi sai bị cho là bất khả thi

3.2.3 Phá mã DES theo phương pháp thử tuyến tính

- Phương pháp phá mã tuyến tính là một phương pháp tấn công DES được đưa ra vào

bản rõ bản mã Tuy nhiên, con số này là rất lớn nên phương pháp này cũng không khả thi để tấn công mật mã hoá DES

3.3 Một số phương pháp khắc phục yếu điểm của DES

3.3.1 Hiệu ứng lan truyền

- Trong một bản rõ hay một khoá, khi ta thay đổi chỉ một bit sẽ dẫn đến sự thay đổi nhiều bit trong bản mã Người ta gọi tính chất này là hiệu ứng lan truyền

- Nhờ vào tính chất này mà kẻ tấn công không thể giới hạn miền tìm kiếm của bản rõ hay khoá nên không thể thực hiện kiểu tấn công tuyến tính và vi sai mà bắt buộc phải phá mã bằng phương pháp vét cạn khoá

- DES là một phương pháp mã hoá có tính chất hiệu ứng lan truyền này

Trang 16

Hình trên cho thấy kết quả khi ta thay đổi 1 bit đầu vào của bản rõ thì bản mã đầu ra từ quá trình mã hoá DES đã khác nhau hoàn toàn

C1 = 7F493A4307C11890

C2 = 352C108960A320B7

3.3.2 2DES

Phương pháp mã hoá Double DES sử dụng mã hoá 2 lần với 2 khoá khác nhau Khoá của hệ mã theo mô hình này là 112 bit Nhìn vào kích thước khoá có thể thấy độ an toàn của phương pháp này là tăng gấp đôi so với DES truyền thống

Trang 17

Đầu tiên, bản rõ P được đi vào khối mã hoá sử dụng khoá K1 tạo ra bản mã X, sau

đó bản mã tiếp tục đưa vào khối mã hoá thứ 2 sử dụng khoá K2 để thu được bản mã cuối cùng là C

Hình 6: Sơ đồ giải mã 2DES

Việc giải mã được thực hiện ngược lại với quá trình mã hoá Bản mã C được đưa qua khối giải mã đầu tiên sử dụng khoá K2, sau đó được đưa qua khối giải mã sử dụng khoá K1 và cuối cùng cho ra bản rõ đầu vào P

Hạn chế của phương pháp này là việc mã hoá và giải mã sẽ tốn nhiều thời gian hơn

do không gian khoá được tăng lên gấp 2 lần

3.3.3 3DES

Một phương pháp để tăng tính bảo mật của mật mã hoá DES hơn nữa là sử dụng phương pháp mã hoá DES ba lần Khoá của Triple DES là 168 bit, trong trường hợp khoá thứ nhất bằng khoá thứ 3 thì kích thước khoá có độ dài là 112 bit (nhưng khác với Double DES)

- Triple DES 2 khoá:

Hình 7: Sơ đồ mã hoá 3DES 2 khoá

Đầu tiên, bản rõ P được đưa vào khối mã hóa E sử dụng khóa K1 tạo ra bản mã A Bản mã A sau đó được đưa vào khối giải mã D sử dụng khóa K2 tạo ra bản B Bản B tiếp tục đưa vào khối mã hoá E sử dụng khoá K1 và cuối cùng tạo ra bản mã C

Trang 18

Hình 8: Sơ đồ giải mã 3DES 2 khoá

Bản mã C được đưa vào khối giải mã D sử dụng khoá K1 tạo ra bản B, sau đó B được đưa vào khối mã hoá E sử dụng khoá K2 tạo ra bản mã A Cuối cùng, bản mã A được đưa vào khối giải mã D sử dụng khoá K1 tạo ra bản rõ P

- Triple DES 3 khoá:

Hình 9: Sơ đồ mã hoá 3DES 3 khoá

Ở trường hợp này, cũng tương tự như ở Triple DES 2 khoá nhưng ở khối mã hoá cuối cùng sử dụng khoá thứ 3 K3

Hình 10: Sơ đồ giải mã 3DES 3 khoá

Giải mã ở đây cũng tương tự với Triple DES 2 khoá nhưng khoá K1 ở khối giải mã đầu tiên được thay bằng K3

Việc lựa chọn mã hoá và giải mã ở khoá thứ hai không làm thay đổi tính an toàn của Triple DES Một số lý thuyết về các cuộc tấn công Triple DES cho thấy hệ mật mã này vẫn được sử dụng mặc dù chậm hơn so với AES tới 6 lần

Ngày đăng: 26/02/2023, 15:12

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w