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

Tiêu chuẩn mật mã hóa dữ liệu des

25 27 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 đề Tiêu Chuẩn Mật Mã Hóa Dữ Liệu DES
Tác giả Nhóm tác giả
Người hướng dẫn Nguyễn Thanh Trà
Trường học Học viện Công nghệ Bưu chính Viễn thông
Chuyên ngành An Ninh Mạng Thông Tin
Thể loại Tiểu luận
Năm xuất bản 2023
Thành phố Hà Nội
Định dạng
Số trang 25
Dung lượng 1,55 MB

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

Nội dung

MỤC ĐÍCH CỦA TIỂU LUẬN - Giới thiệu về hệ thống mã hóa DES - Đi sâu nghiên cứu phương pháp mã hóa DES - Rút ra nhận xét và đánh giá - Tìm hiểu ứng dụng thực tế của DES PHẠM VI CỦA TIỂU L

Trang 1

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG

KHOA VIỄN THÔNG I

- -

TIỂU LUẬN HỌC PHẦN

“AN NINH MẠNG THÔNG TIN”

ĐỀ TÀI TIỂU LUẬN

“TIÊU CHUẨN MẬT MÃ HÓA DỮ LIỆU DES”

Giảng viên : NGUYỄN THANH TRÀ

Trang 2

PHÂN CÔNG CÔNG VIỆC CỦA NHÓM

- Tìm hiểu về CHƯƠNG 1 : GIỚI THIỆU CHUNG

1.1: Cấu trúc

1.2: Các phép hoán vị

1.3: Các vòng mật mã

- Tìm hiểu về CHƯƠNG 2 : MẬT MÃ HÓA DỮ LIỆU DES

2.1: Thuật toán mã hóa DES (5 bước)

2.2: Tính an toàn của DES

2.3: DES trong thực tế

2.4: Nhận xét và đánh giá

- Thực hiện làm Mở đầu, Kết luận,các phụ lục kèm theo, chỉnh sửa bản word đủ các phần và theo đúng yêu cầu của giảng viên

Trang 3

MỤC LỤC

DANH MỤC BẢNG BIỂU, HÌNH VẼ 3

MỤC ĐÍCH CỦA TIỂU LUẬN 4

PHẠM VI CỦA TIỂU LUẬN 4

HƯỚNG TIẾP CẬN 4

MỞ ĐẦU 5

1.1 Cấu trúc DES 6

1.2 Các phép hoán vị 7

1.3 Các vòng mật mã của DES 8

CHƯƠNG 2: MẬT MÃ HÓA DỮ LIỆU DES 12

2.1 Thuật toán mã hóa DES 12

2.2 Tính an toàn của DES 20

2.2.1 Điểm yếu 20

2.2.1.1 Tính bù 20

2.2.1.2 Khóa yếu 20

2.2.2 Các dạng tấn công DES 20

2.2.2.1 Tấn công vét cạn khóa (Brute Force Attack) 20

2.2.2.2 Phá mã DES theo phương pháp vi sai (differential cryptanalysis) 21

2.2.2.3 Phá mã DES theo phương pháp thử tuyến tính(linear cryptanalysi) 21

2.2.2.4 Phá mã Davies 21

2.3 DES trong thực tế 21

2.4 Nhận xét và đánh giá 22

KẾT LUẬN 23

TÀI LIỆU THAM KHẢO 24

Trang 4

Hình 1.1: Thuật toán mật mã DES

Hình 1.2: Hoán vị khởi tạo và kết thúc trong DES

Hình 1.4: Cấu trúc 1 vòng mật mã DES

Hình 2.1: Mô tả thuật toán sinh khóa con

Hình 2.5: Một vòng(vòng thứ i) của DES

Hình 2.6: Sơ đồ hoạt động của hàm f(Ri-1, Ki)

Hình 2.11: Quá trình mã hóa và giải mã DES

Trang 5

MỤC ĐÍCH CỦA TIỂU LUẬN

- Giới thiệu về hệ thống mã hóa DES

- Đi sâu nghiên cứu phương pháp mã hóa DES

- Rút ra nhận xét và đánh giá

- Tìm hiểu ứng dụng thực tế của DES

PHẠM VI CỦA TIỂU LUẬN

-Gồm 2 chương:

+ Chương 1: Giới thiệu chung

Nội dung của chương này sẽ chủ yếu tìm hiểu về cấu trúc của DES, các phép hoán vị

và các vòng mật mã của DES

+ Chương 2: Mật mã hóa dữ liệu DES

Nội dung của chương này sẽ đi sâu vào nghiên cứu phương pháp mã hóa DES, có lấy

ví dụ minh họa, rồi đưa ra nhận xét và đánh giá và cuối cùng tìm hiểu ứng dụng của phương pháp mã hóa trong thực tế

HƯỚNG TIẾP CẬN

- Phương pháp nghiên cứu: Phận tích – tổng hợp

Trước hết phân tích là phân tách những vấn đề nhỏ( ở đây là phân tách thành từng chương, trong từng chương thì gồm có nhiều yếu tố nghiên cứu),và bàn luận về nó Từ

đó, chúng ta có thể hiểu được một cách sâu sắc, chi tiết và cụ thể nhất trong từng khía cạnh khác nhau

Sau khi phân tích từng khía cạnh một cách tách bạch, chúng ta sẽ có cái nhìn tổng quát vào vấn đề, đề tài Chính lúc ấy, chúng ta sử dụng phương pháp tổng hợp để tóm gọn lại những nội dung chính, những vấn đề cần lưu ý và thông điệp của tiểu luận

- Cách giải quyết vấn đề: Tìm những thông tin, tài liệu trên sách và internet rồi đưa ra

những phân tích và cả những ví dụ cụ thể để làm rõ cho các vấn đề, mà đặc biệt là phương pháp mã hóa DES

Trang 6

MỞ ĐẦU

Khi nhu cầu trao đổi thông tin dữ liệu ngày càng lớn và đa dạng, các tiến bộ về điện tử - viễn thông và công nghệ thông tin không ngừng phát triển ứng dụng để nâng cao chất lượng và lưu lượng truyền tin thì các quan niệm ý tưởng và biện pháp bảo vệ thông tin dữ liệu cũng được đổi mới Bảo vệ an toàn thông tin dữ liệu là một chủ đề rộng, có liên quan đến nhiều lĩnh vực và trong thực tế có rất nhiều phương pháp được thực hiện để bảo vệ an toàn thông tin dữ liệu Một trong các biện pháp hữu hiệu nhất hiện nay là mã hóa.Khái niệm mã hóa dữ liệu để cập đến những phép tính toán học và chương trình thuật toán chuyển văn bản gốc thành dạng văn bản mã hóa Người nhận tin nhắn mã hóa sẽ sử dụng một khóa tạo nên cơ chế thuật toán đề giải mã dữ liệu, chuyển nó trở về phiên bản văn bản ban đầu

Trước khi có Internet, phương pháp mã hóa dữ liệu rất ít khi được sử dụng rộng rãi vì nó được coi là công cụ bảo đảm an ninh trong lĩnh vực ngoại giao và quân sự nhiều hơn Tuy nhiên từ khi dịch vụ ngân hàng, mua sắm trực tuyển và các dịch vụ khác trở nên phố biến thì ngay cả những người chỉ có nhu cầu sử dụng Internet cơ bản tại nhà cũng biết đến mã hóa dữ liệu

Một số giải pháp mã hóa dữ liệu tối ưu có thể được sử dụng qua nhiều thể kỷ, trong khi các phương pháp giải mã khác có thể bị phá vỡ bởi những người có kỹ năng

về lĩnh vực này trong thời gian ngắn Một số chuẩn mã hóa dữ liệu phổ biến là: DES, AES (Acvanced Encryption Standard Tiêu chuẩn mã hóa nâng cao),

Lý do chọn đề tài: Đề tài tiểu luận của nhóm em là “Tiêu chuẩn mật mã hóa dữ

liệu DES” bởi vì là thuật toán DES là thuật toán mã hóa khối ra đời sớm và có nhiều ảnh hưởng (Data Encryption Standard - Tiêu chuẩn mã hóa dữ liệu) Nó cũng là 1 trong những mật mã hóa quan trọng mà bọn em được giới thiệu và giảng dạy trong bộ môn “An Ninh Mạng Thông Tin”

Trang 7

CHƯƠNG 1: GIỚI THIỆU CHUNG

DES (Data Encryption Standard) là chuẩn mã hóa dữ liệu đầu tiên trên thế giới,

do Cơ quan an ninh Quốc gia Hoa Kỳ (NSA) đề xuất trên cơ sở cải tiến thuật toán

Lucifer do hãng IBM công bố năm 1964 DES đã được sử dụng rộng rãi ở Hoa Kỳ và

nhiều quốc gia khác trong các thập kỷ 70, 80, 90 cho đến khi được thay thế bởi Tiêu

chuẩn mã hóa dữ liệu tiên tiến AES (Advanced Encryption Standard) vào năm 2002

1.1 Cấu trúc DES

➢ Mật mã DES có các đặc điểm sau:

- Là mã thuộc mã Feistel có 16 vòng, ngoài ra DES có thêm một hoán vị khởi tạo trước khi bắt đầu vòng 1 và một hoán vị kết thúc sau vòng 16

- Kích thước khối là 64 bit

- Kích thước khóa là 56 bit

- Mỗi vòng của DES dùng khóa con có kích thước 48 bít được trích ra từ khóa chính

➢ Cấu trúc mật mã hóa của mã DES:

Hình 1.1: Thuật toán mật mã DES

Đầu tiên, bản rõ 64 bit được chuyển tới 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ị Tiếp theo đó là 16 vòng mật mã Feistel Đầu ra của vòng cuối cùng (vòng 16) gồm 64 bit là một hàm của bản rõ đầu vào và khóa K.Sau đó, nửa trái và nửa phải của 64 bit này sẽ được tráo đổi cho nhau Cuối cùng,

Trang 8

các bit đã được tráo đổi đó được đưa qua bộ hoán vị kết thúc, đây là một hàm hoán vị nghịch đảo của hoán vị khởi tạo, và cho ra 64 bit bản mã

Tiếp theo bên khóa 64 bit, mô tả cách thức khóa 56 bit được sử dụng Ban đầu, khóa 64 bit được chuyển qua bộ hoán vị khóa Sau đó, đối với mỗi 16 vòng, khóa con

Ki được tạo ra bằng cách kết hợp dịch vòng trái và hoán vị Hàm hoán vị là giống nhau

ở mỗi vòng, nhưng khóa con khác nhau được tạo ra bởi các dịch vòng trái được lặp lại

ở các bit khóa

1.2 Các phép hoán vị

Hình 1.2 cho thấy các hoán vị khởi tạo và kết thúc Mỗi hoán vị này có 64-bit nhập và hoán vị chúng theo một quy tắc xác định trước Hình 2.1 chỉ hiển thị một số cổng đầu vào và các cổng đầu ra tương ứng Các hoán vị này là các hoán vị thẳng không khóa là nghịch đảo của lẫn nhau Ví dụ, trong hoán vị khởi tạo, bit thứ 58 trong đầu vào sẽ trở thành bit đầu tiên trong đầu ra Tương tự, trong hoán vị kết thúc, bit đầu tiên trong đầu vào sẽ trở thành bit thứ 58 trong đầu ra Trong nói cách khác, nếu các vòng giữa hai hoán vị này không tồn tại, thì bit thứ 58 đi vào phần đầu hoán vị giống như bit thứ 58 để lại hoán vị cuối cùng

Hình 1.2: Hoán vị khởi tạo và kết thúc trong DES

Quy tắc hoán vị này được trình bày trong Bảng 2.2 Mỗi mặt của bảng có thể được suy nghĩ dưới dạng một mảng 64 phần tử Lưu ý rằng, như với bất kỳ bảng hoán

vị nào giá trị của mỗi phần tử xác định số cổng đầu vào và thứ tự (chỉ số) của phần tử xác định đầu ra số cổng

Trang 9

Bảng 1.3: Bảng hoán vị khởi tạo và kết thúc

Hoán vị khởi tạo: bit đầu tiên của đầu ra được lấy từ bit thứ 58 của đầu vào; bit thứ hai từ bit thứ 50, v.v., với bit cuối cùng của đầu ra được lấy từ bit thứ 7 của đầu vào

Hoán vị kết thúc: là nghịch đảo của hoán vị ban đầu, tức là đâu ra của hoán vị cuối cùng có 40 bit của đầu ra làm bit đầu tiên, bit 8 làm bit thứ 2, v.v., cho đến bit 25 của đầu ra là bit cuối cùng của đầu ra

1.3 Các vòng mật mã của DES

- DES sử dụng 16 vòng, mỗi vòng của DES là một mật mã Feistel

- Hình 3.1 đây minh họa một vòng Feistel của DES Trong đó, hàm F được mô tả như sau:

F(R , i−1 K i)= P - box(S – boxes(Expand(R i−1)K i))

Hình 1.4: Cấu trúc 1 vòng mật mã DES

Trang 10

Trong đó, hàm Expand (R i−1) mở rộng R i−1 từ 32 bit thành 48 bit Ngược lại, hàm

S-boxes nén 48 bit thành 32 bit Hàm P-box thực hiện hoán vị 32 bit Cụ thể hoạt động của các hàm này như sau:

- Hàm Expand(R i−1): đánh số các bit của R i− 1 theo thứ tự từ trái qua phải 0, 1, 2,…,31 Hàm này sẽ thực hiện vừa hoán vị vừa mở rộng 32 bit thành 48 bit theo quy tắc sau:

- Hàm S-boxes: biến đổi 48 bit thành 32 bit S-boxes được chia thành 8 S-box con, mỗi hàm biến đổi 6 bit thành 4 bit

• S1:

• S2:

Trang 12

VD: S-box 1

- Hàm P-box: thực hiện hoán vị 32 bit đầu vào theo quy tắc:

Trang 13

CHƯƠNG 2: MẬT MÃ HÓA DỮ LIỆU DES

2.1 Thuật toán mã hóa DES

Đầu vào của DES là khối 64 bit, đầu ra cũng là khối 64 bit Khóa mã hóa có độ dài

56 bit, nhưng thực chất ban đầu là 64 bit, được lấy đi các bit ở vị trí chia hết cho 8 là các bít chẵn lẻ dung để kiểm soát lỗi

DES là thuật toán mã hóa theo khối, nó xử lý từng khối thông tin của bản rõ có độ dài xác định là 64 bit Trước khi đi vào 16 chu trình chính, khối dữ liệu cần bảo mật sẽ được tách ra thành từng khối 64 bit, và từng khối 64 bit này sẽ lần lượt được đưa vào

16 vòng mã hóa DES để thực hiện

Để mã hóa Plaintext (64 bit) bằng khóa K (64 bit) ta thực hiện theo các bước sau:

Bước 1:

Sinh khóa con: Sử dụng thuật toán sinh khóa con từ khóa K ta sẽ được 16 khóa con K1, K2, … K16

Quá trình sinh khóa con được thực hiện như sau:

16 vòng lặp của DES chạy cùng thuật toán như nhau nhưng với 16 khóa con khác nhau Các khóa con đều được sinh ra từ khóa chính của DES bằng thuật toán sinh khóa con

Hình 2.1: Mô tả thuật toán sinh khóa con

Trang 14

Khóa ban đầu là 1 xâu có độ dài 64 bit, bit thứ 8 của mỗi byte sẽ được lấy ra để kiểm tra phát hiện lỗi, tạo ra chuỗi 56 bit Sau khi bỏ các bit kiểm tra ta sẽ hoán vị chuỗi 56 bit này Tiến hành tra bảng Pairity drop để thu được kết quả

Bảng 2.2: Bảng Pairity drop

Tiếp theo ta chia kết quả thành 2 phần: C0: 28 bit đầu D0: 28 bit cuối Mỗi phần

sẽ được xử lý 1 cách độc lập Tiến hành dịch trái 1 hoặc hai bit cho mỗi phần tùy theo

Trang 15

Bảng 2.4 : Bảng IP

Kết quả nhận được chia thành 2 nửa: L0 là 32 bit đầu, R0 là 32 bit cuối

Bước 3:

Với i chạy từ i = 1 đến 16 (tương ứng với 16 round) ta thực hiện:

Hình 2.5: Một vòng(vòng thứ i) của DES

Tính các Li và Ri theo công thức:

Li = Ri-1 Ri = Li-1 f(Ri-1, Ki)

Trong đó, f(Ri-1, Ki) được tính như sau:

Trang 16

Hình 2.6: Sơ đồ hoạt động của hàm f(R i-1 , K i )

Ki là khóa con sinh ra trong quá trình tạo khóa ở mỗi round tương ứng Tuy nhiên khóa K có 48 bit, trong khi Ri-1 có 32 bit, ta cần chuyển đổi Ri-1 sang 48 bit như sau:

Hoặc có thể sử dụng bảng Expasion P-Box dưới đây để chuyển đổi

Bảng 2.7: Bảng Expasion P-Box

Sau khi thu được Ri-1 (48 bit) ta thực hiện phép XOR với Ki Kết quả thu được được chia thành 8 khối, mỗi khối 6 bit Tra mỗi khối 6 bit này với mỗi bảng S-box tương ứng, ta thu được f(Ri-1, Ki) 32 bit

Trang 17

Bảng 2.8: Bảng S-box

Tra bảng Straight P-box để thu được kết quả cuối cùng

Bảng 2.9: Bảng Straight P-box

Bước 5: Sử dụng phép hoán vị kết thúc FP (Final Permutation – nghịch đảo với

hoán vị khởi đầu IP) ta thu được bản mã cần tìm

Bảng 2.10: Bảng FP

Trang 18

Quá trình ngược lại với mã hóa DES là quá trình giải mã DES

Hình 2.11: Quá trình mã hóa và giải mã DES

Chia thành hai đoạn mã, C0 = 1111000 0110011 0010101 0101111 và D0 =

0101010 1011001 1001111 0001111, với C0 và D0 xác định, ta tiến hành dịch trái 1 hoặc 2 bit:

Trang 20

Chuyển đổi IP-1 về dạng thập lục phân ta được: 85E813540F0AB405

Vậy Ciphertext: 85E813540F0AB405

Trang 21

2.2 Tính an toàn của DES

tấn công có thể loại trừ một nửa số khóa cần phải thử khi tiến hành phép thử – giải mã

theo kiểu tìm kiếm vét cạn không gian khóa

2.2.1.2 Khóa yếu

Các khóa yếu là các khóa mà theo thuật toán sinh khóa con thì tất cả 16 khóa con đều như nhau Z1 = Z2= Z3= …= Z15= Z16 điều đó khiến cho phép sinh mã và giải mã đối với các khóa yếu này là giống hệt nhau

Đồng thời có 10 khóa yếu với thuộc tính là tồn tại Z, Z’ sao cho:

DES-1z= DESz’ hay DES-1z’= DES

2.2.2 Các dạng tấn công DES

Ta xem xét tính an toàn của DES trước một vài phương pháp tấn công phá mã:

2.2.2.1 Tấn công vét cạn khóa (Brute Force Attack)

Vì khóa của mã DES có chiều dài là 56 bít nên để tiến hành brute-force attack, cần kiểm tra 256 khóa khác nhau Hiện nay với những thiết bị phổ dụng, thời gian gian

để thử khóa là rất lớn nên việc phá mã là không khả thi (xem bảng) Tuy nhiên vào năm 1998, tổ chức Electronic Frontier Foundation (EFF) thông báo đã xây dựng được một thiết bị phá mã DES gồm nhiều máy tính chạy song song, trị giá khoảng 250.000$ Thời gian thử khóa là 3 ngày Hiện nay mã DES vẫn còn được sử dụng trong thương mại, tuy nhiên người ta đã bắt đầu áp dụng những phương pháp mã hóa khác có chiều dài khóa lớn hơn (128 bít hay 256 bít) như TripleDES hoặc AES 49

Trang 22

2.2.2.2 Phá mã DES theo phương pháp vi sai (differential cryptanalysis)

Năm 1990 Biham và Shamir đã giới thiệu phương pháp phá mã vi sai Phương pháp vi sai tìm khóa ít tốn thời gian hơn brute-force Tuy nhiên phương pháp phá mã này lại đòi hỏi phải có 247 cặp bản rõ - bản mã được lựa chọn (chosen-plaintext) Vì vậy phương pháp này là bất khả thi dù rằng số lần thử có thể ít hơn phương pháp brute-force

2.2.2.3 Phá mã DES theo phương pháp thử tuyến tính(linear cryptanalysi)

Năm 1997 Matsui đưa ra phương pháp phá mã tuyến tính Trong phương pháp này, cần phải biết trước 2 43 cặp bản rõ-bản mã (known-plaintext) Tuy nhiên 243 cũng là một con số lớn nên phá mã tuyến tính cũng không phải là một phương pháp khả thi

2.2.2.4 Phá mã Davies

Trong khi phá mã vi sai và phá mã tuyến tính là các kỹ thuật phá mã tổng quát,

có thể áp dụng cho các thuật toán khác nhau, phá mã Davies là một kỹ thuật dành riêng cho DES Dạng tấn công này được đề xuất lần đầu bởi Davies vào cuối những năm 1980 và cải tiến bởi Biham và Biryukov (1997) Dạng tấn công mạnh nhất đòi hỏi

250 văn bản rõ, độ phức tạp là 250 và có tỷ lệ thành công là 51%

Ngoài ra còn có những kiểu tấn công dựa trên bản thu gọn của DES - DES với

ít hơn 16 chu trình Những nghiên cứu này cho chúng ta biết số lượng chu trình cần có

và ranh giới an toàn của hệ thống

*Nhận xét: Mặc dù đã có nhiều nghiên cứu về phá mã DES hơn bất kỳ phương pháp

mã hóa khối nào khác nhưng phương pháp phá mã thực tế nhất hiện nay vẫn là tấn công Brute-force Nhiều đặc tính mật mã hóa của DES đã được xác định và từ đó ba phương pháp phá mã khác được xác định với mức độ phức tạp nhỏ hơn Tuy nhiên các phương pháp này đòi hỏi một số lượng bản rõ quá lớn nên hầu như không thể thực hiện được trong thực tế

P, và việc tính toán k1, k2,…, k16 tất cả được thực hiện trong thời gian ngắn bởi bảng tìm kiếm trong phần mềm hoặc cách nối dây cứng chúng vào một mạch Những thi

Ngày đăng: 26/02/2023, 16:34

TỪ KHÓA LIÊN QUAN

w