1. Trang chủ
  2. » Luận Văn - Báo Cáo

Bài tập lớn an toàn và an ninh mạng tên bài tập lớn chuẩn mã hóa dữ liệu des (data encryption standard)

20 0 0
Tài liệu đã được kiểm tra trùng lặp

Đ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 đề Chuẩn mã hóa dữ liệu des (data encryption standard)
Tác giả Nguyễn Thị Hảo
Người hướng dẫn Hoàng Đắc Thắng
Trường học Trường Đại Học Kinh Tế Kỹ Thuật Công Nghiệp
Thể loại Bài tập lớn
Định dạng
Số trang 20
Dung lượng 2,5 MB

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

Nội dung

Các hệ mật mã với các thuật toán lập mật mã và giải mã thực hiện bằng máy tính được phát triển nhanh chóng, đồng thời các lĩnh vực truyền tin cần sử dụng mật mã cũng được mở rộng ngoài c

Trang 1

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC KINH TẾ KỸ THUẬT CÔNG NGHIỆP

BÀI TẬP LỚN

AN TOÀN VÀ AN NINH MẠNG

Tên bài tập lớn: Chuẩn mã hóa dữ liệu DES (Data Encryption Standard)

GIÁO VIÊN HƯỚNG DẪN: HOÀNG ĐẮC THẮNG

SINH VIÊN THỰC HIỆN: NGUYỄN THỊ HẢO

MÃ SV: 22103200105

LỚP: DHMT16A2HN

Trang 2

Nội dung

CHƯƠNG 1: GIỚI THIỆU VỀ DES 3

I GIỚI THIỆU VỀ DES 3

1 DES(mã hóa) 3

2 Lịch sử 3

II Quá trình 3

1 DES với vai trò là một tiêu chuẩn 3

2 Quá trình 4

3 Quá trình thay thế DES 5

CHƯƠNG 2.Hệ mã hóa chuẩn DES 6

I Giới thiệu về hệ mã chuẩn 6

1 Giới thiệu 6

2 Tính năng DES 6

3 Độ dài khóa trong DES 6

II Mô tả sơ đồ mã hóa DES 7

1 Mục đích hoán vị ban đầu 7

2 Cách thức hoạt động 8

3 Bảng Hoán vị 8

Kết quả 8

IV Round i (Vòng lặp i) 8

V Hàm F 11

VI Sinh khoá con của DES 11

VII Mô tả hộp S-Box 13

VIII Inverse Initial Permutation (IP−1): : Hoán vị ngược ban đầu 16

CHƯƠNG 3.Độ an toàn của DES 16

I Độ an toàn của DES 16

1 Thám mã sai phân 17

2 Thám mã tuyến tính: 18

II Giải mã DES 19

III Điểm yếu của DES 19

1 Tính bù 19

2 Khóa yếu 19

3 DES có cấu trúc đại số 20

4.Không gian khóa K 20

Trang 3

CHƯƠNG 1: GIỚI THIỆU VỀ DES

I GIỚI THIỆU VỀ DES

1 DES(mã hóa)

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.Sauđóchuẩnnày đượcsửdụngrộngrãitrênphạmvithếgiới.Ngaytừđầu,thuậttoáncủanóđã gâyrarấtnhiềutranhcãi,donóbaogồmcácthànhphầnthiếtkếmật,độdài khóatươngđốingắn,vàcácnghingờvềcửasauđểCơquanAnninhquốcgia HoaKỳ(NSA)cóthểbẻkhóa.Dođó,DESđãđượcgiớinghiêncứuxemxétrất kỹlưỡng,việcnàyđãthúcđẩyhiểubiếthiệnđạivềmậtmãkhối(block cipher) vàcácphươngphápthámmãtươngứng

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 củabit 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.Thuậttoánđượctintưởnglàantoàntrongthực tiễncódạngTripleDES(thựchiệnDESbalần),mặcdùtrênlýthuyếtphương phápnàyvẫncóthểbịphá.GầnđâyDESđãđượcthaythế

bằngAES(Advanced Encryption Standard,hayTiêuchuẩnMãhóaTiêntiến)

2 Lịch sử

Đầu những năm 1970: DES được phát triển bởi IBM, dựa trên thuật toán

Lucifer do Horst Feistel thiết kế Lucifer là một trong những thuật toán mã hóa khối đầu tiên, sử dụng cấu trúc Feistel.

1973: Cục Tiêu chuẩn Liên bang Hoa Kỳ (NBS), hiện nay là Viện Tiêu

chuẩn và Công nghệ Quốc gia Hoa Kỳ (NIST), nhận ra nhu cầu về một tiêu chuẩn mã hóa để bảo vệ thông tin nhạy cảm của chính phủ.

1974: Sau khi không có đề xuất nào đáp ứng yêu cầu trong lần kêu gọi đầu

tiên, NBS tiếp tục kêu gọi lần thứ hai IBM đã đưa ra một đề xuất dựa trên Lucifer, được phát triển trong những năm 1973-1974.

II Quá trình

1 DES với vai trò là một tiêu chuẩn

Bấtchấpnhữngchỉtrích,DESđượcchọnlàmtiêuchuẩnliênbang(HoaKỳ)vào tháng11năm1976vàđượccôngbốtạitàiliệucótênlàFIPS PUB 46vào ngày15tháng1năm1977chophépsửdụngchínhthứcđốivớithôngtinkhông mật.DEStiếptụcđượckhẳngđịnhlàtiêuchuẩnvàocácnăm1983 1988, (với tênFIPS-46-1),1993(FIPS-46-2)và1998(FIPS-46-3).Lầncuốicùngquyđịnh dùng"TripleDES"(xemthêmởphầnsau).Ngày26tháng5năm2002,DES

Trang 4

đượcthaythếbằngAESsaumộtcuộcthirộngrãi(xemthêmQuátrìnhAES). Tuynhiên,tạithờiđiểmnăm2004,DESvẫncònđượcsửdụngkháphổbiến

Năm1994,thêmmộtphươngpháptấncôngkhác(trênlýthuyết)đượccôngbố

làthámmãtuyếntính.TuynhiênthờiđiểmnhucầuthaythếDEStrởnênthựcsự cấpthiếtlàvàonăm1998khimộtcuộctấncôngbạolựcchứngtỏrằngDEScóthể bịphávỡtrênthựctế.Cácphươngphápthámmãnàysẽđượcmiêutảkỹhơnở phầnsau

SựxuấthiệncủaDESđãtạonênmộtlànsóngnghiêncứutronggiớikhoahọcvề lĩnhvựcmậtmãhọc,đặcbiệtlàcácphươngphápthámmãmãkhối.Vềđiều

này,BruceSchneierviết:

"NSA coi DES là một trong những sai lầm lớn nhất Nếu họ biết trước rằng chi tiết của thuật

toán sẽ được công bố để mọi người có thể viết chương trình phần mềm, họ sẽ không bao giờ đồng ý DES đã tạo nên nguồn cảm hứng nghiên cứu trong lĩnh vực thám mã hơn bất kỳ điều gì khác: Giới khoa học đã có một thuật toán để nghiên cứu - thuật toán mà NSA khẳng định là an toàn."

2 Quá trình

15 tháng 5 năm 1973 NBS đưa ra lời kêu gọi đầu tiên về một thuật toán mã hóa tiêu chuẩn.

27 tháng 8 năm 1974 NBS đưa ra lời kêu gọi thứ hai.

17 tháng 3 năm 1975 DES được công bố trên công báo liên bang Hoa Kỳ để công chúng đóng

góp ý kiến.

Tháng 8 , 1976 Hội thảo đầu tiên về DES.

Tháng 9 , 1976 Hội thảo lần hai, bàn về nền tảng toán học của DES.

Tháng 11 , 1976 DES được phê chuẩn làm tiêu chuẩn chính thức.

15 tháng 1 năm 1977 DES được xác nhận làm tiểu chuẩn của FIPS (FIPS PUB 46).

1983 DES được công bố lại lần đầu.

1986 HBO phát sóng chương trình Videocipher II, một kênh TV mã hóa dựa

trên DES.

22 tháng 1 năm 1988 DES được xác nhận lần hai với tên FIPS 46-1, thay thế FIPS PUB 46 1992

Biham và Shamir công bố kiểu tấn công thám mã vi sai (trên lý thuyết) với độ phức tạp thấp hơn tấn công bạo lực Tuy nhiên, kiểu tấn công này đòi hỏi người tấn công lựa chọn 2 văn bản rõ (một điều kiện không thực47

tế) [1]

Trang 5

30 tháng 12 năm 1993 DES được xác nhận lần ba với tên FIPS 46-2.

1994 Thực nghiệm thám mã DES lần đầu tiên được thực hiện với kỹ

thuật thám mã tuyến tính .[2]

Tháng 6 , 1997 Dự án DESCHALL đã phá vỡ được một bản tin mã hóa bằng DES (lần

đầu tiên trước công chúng).

Tháng 7 , 1998 Thiết bị thám mã Deep Crack của tổ chức Electronic Frontier

Foundation phá được một khóa của DES trong vòng 56 giờ.

Tháng 1 , 1999 Deep Crack cùng với distributed.net phá được một khóa của DES trong

vòng 22 giờ và 15 phút.

25 tháng 10 năm 1999

DES được xác nhận lần thứ tư với tên FIPS 46-3 Lần này phương pháp Triple DES được khuyến cáo sử dụng còn DES chỉ được dùng cho các hệ thống ít quan trọng.

26 tháng 11 năm 2001 AES được công bố trong FIPS 197

26 tháng 5 năm 2002 AES trở thành tiêu chuẩn

26 tháng 7 năm 2004

Việc bãi bỏ FIPS 46-3 (cùng với một số tiêu chuẩn liên quan khác) được đăng trên công báo liên bang Hoa Kỳ

( http://edocket.access.gpo.gov/2004/04-16894.htm ).

19 tháng 5 năm 2005 NIST bãi bỏ FIPS 46-3

3 Quá trình thay thế DES

Triple DES (3DES): Để tăng cường bảo mật, DES được sử dụng ba lần

trong một số ứng dụng, gọi là Triple DES (3DES) Mặc dù an toàn hơn,

3DES vẫn có những hạn chế và không được coi là giải pháp lâu dài.

2001: DES chính thức được thay thế bởi AES (Advanced Encryption

Standard), một thuật toán mã hóa mạnh hơn và an toàn hơn.

DES đã để lại một di sản quan trọng trong lĩnh vực mật mã học, giúp định hình các tiêu chuẩn và phương pháp mã hóa hiện đại.

Trang 6

2.Hệ mã hóa chuẩn DES

I Giới thiệu về hệ mã chuẩn

1 Giới thiệu

Bước sang kỷ nguyên máy tính, việc sử

dụng máy tính nhanh chóng được phổ cập trong

mọi hoạt động của con người, và tất nhiên việc

dùng máy tính trong truyền tin bảo mật đã được

hết sức chú ý Các hệ mật mã với các thuật toán

lập mật mã và giải mã thực hiện bằng máy tính

được phát triển nhanh chóng, đồng thời các lĩnh

vực truyền tin cần sử dụng mật mã cũng được mở rộng ngoài các truyền thống Vào đầu thập niên 1970, trước tình hình phát triển đó đã nẩy sinh nhu cầu phải chuẩn hóa các giải pháp mật mã được sử dụng trong xã hội, để một mặt hướng dẫn các thành viên trong xã hội thực hiện quyền tuyên truyền tin bảo mật hợp pháp của mình, mặt khác, bảo đảm sự quản lý và giám sát của nhà nước đối với các hoạt động bảo mật đó Do đó, tại Hòa Kỳ, ngày 15/05/1973, Văn phòng quốc gia về Chuẩn (NBD - National Bureau of Standars) công bố một yêu cầu công khai xây dựng và đề xuất một thuật toán mật mã chuẩn, đáp ứng các đòi hỏi chủ yếu là:

- Thuật toán phải được định nghĩa đầy đủ và dễ hiểu

- Thuật toán phải có độ an toàn cao, độ an toàn đó không phụ thuộc vào sự giữ bí mật của bản thân thuật toán, mà chỉ nằm ở sự giữ bí mật của khóa

- Thuật toán phải được sẵn sàng cung cấp cho mọi người dùng

- Thuật toán phải thích nghi được với việc dùng có các ứng dụng khác nhau

- Thuật toán phải cài đặt được một cách tiết kiệm trong

các thiết bị điện tử

- Thuật toán phải sử dụng được có hiệu quả

- Thuật toán phải có khả năng được hợp thức hóa

- Thuật toán phải xuất khẩu được

2 Tính năng DES

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

- Kích thước khóa = 56 bit (trên thực tế, 64 bit, nhưng 8 bit được sử dụng làm bit kiểm tra chẵn lẻ để kiểm soát lỗi, xem slide tiếp theo)

- Số vòng = 16 – 16 khóa trung gian, mỗi khóa 48 bit

3 Độ dài khóa trong DES

- Trong đặc tả DES, độ dài khóa là 64 bit:

- 8 byte; Trong mỗi byte, bit thứ 8 là bit kiểm tra chẵn lẻ

Trang 7

Mỗi bit kiểm tra chẵn lẻ là XOR của 7 bit trước đó

II Mô tả sơ đồ mã hóa DES

Sơ đồ mã hóa DES (Data Encryption Standard) là một thuật toán mã hóa khối sử dụng khóa đối xứng, nghĩa là cùng một khóa được sử dụng cho cả mã hóa và giải mã Dưới đây là mô tả cơ bản về cách hoạt động của DES:

-Khối dữ liệu: DES xử lý dữ liệu theo từng khối 64 bit Mỗi khối dữ liệu sẽ được chia thành hai nửa,

mỗi nửa 32 bit

-Hoán vị khởi đầu (Initial Permutation - IP): Trước khi bắt đầu quá trình mã hóa, khối dữ liệu sẽ trải

qua một bước hoán vị khởi đầu

-16 vòng lặp mã hóa (Rounds): Dữ liệu được xử lý qua 16 vòng lặp giống hệt nhau Mỗi vòng lặp bao

gồm các bước:

o Chia dữ liệu: Khối dữ liệu được chia thành hai nửa, trái và phải

o Hàm Feistel (Feistel Function): Nửa phải được xử lý qua hàm Feistel, bao gồm các bước

mở rộng, trộn khóa, thay thế và hoán vị

o Kết hợp: Kết quả của hàm Feistel được XOR với nửa trái và sau đó hai nửa được hoán đổi vị

trí cho nhau

-Hoán vị cuối cùng (Final Permutation - FP): Sau 16 vòng lặp, hai nửa dữ liệu được kết hợp lại và trải

qua một bước hoán vị cuối cùng để tạo ra khối dữ liệu đã mã hóa

-Khóa: DES sử dụng một khóa 56 bit (thực tế là 64 bit nhưng 8 bit dùng để kiểm tra chẵn lẻ) Từ khóa chính này, 16 khóa con 48 bit được tạo ra cho mỗi vòng lặp mã hóa

DES đã từng là tiêu chuẩn mã hóa phổ biến nhưng hiện nay được xem là không đủ an toàn do độ dài khóa ngắn và khả năng bị tấn công bạo lực Nó đã được thay thế bởi các thuật toán mạnh hơn như AES

III Initial Permutation (IP) : Hoán vị ban đầu

1 Mục đích hoán vị ban đầu

Tăng cường tính bảo mật: Hoán vị ban đầu giúp phân tán thông tin trong khối dữ liệu, làm cho

việc phân tích và tấn công trở nên khó khăn hơn

Chuẩn bị dữ liệu: Bước này chuẩn bị dữ liệu để thực hiện các bước mã hóa tiếp theo.

2 Cách thức hoạt động

Dữ liệu đầu vào: DES nhận đầu vào là một khối dữ liệu 64 bit.

Hoán vị: Thay vì xử lý trực tiếp khối dữ liệu này, DES sẽ thực hiện một hoán vị theo một bảng

hoán vị cố định, được gọi là bảng Hoán vị ban đầu (IP table)

Các bit kiểm tra chẵn lẻ

Trang 8

3 Bảng Hoán vị

 Bảng hoán vị ban đầu là một bảng 64 vị trí chỉ định cách mà 64 bit đầu vào sẽ được hoán vị Ví

dụ, bít 1 → bít 58, bít 2 → bít 50, bít 3 → bít 42,

Kết quả

 Sau khi hoàn tất hoán vị ban đầu, dữ liệu được chia thành hai nửa (32 bit mỗi nửa) và sẵn sàng cho các vòng mã hóa tiếp theo của DES

Ví dụ: IP(675a6967 5e5a6b5a) = (ffb2194d 004df6fb)

IV Round i (Vòng lặp i)

• Li = Ri-1

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

⊕ là ký hiệu của phép tuyển loại trừ (XOR) của hai xâu

bit theo modulo 2

Chức năng "f (•)":

i = 1,…,16

64 bit được chia thành 32 bít nửa trái (L) và 32 bít nửa phải (R)

16 bit xuất hiện hai lần, trong bản

mở rộng

Trang 9

L i=Ri – 1 R i=Li – 1 ⊕ F¿)

Round i (Vòng lặp i): i = 1,…,16

• F lấy 32 bít nửa phải R, mở rộng thành 48 bít nhờ hoán vị E, rồi cộng vào với khoá con 48 bít

• Sau đó chia thành 8 cụm 6 bít và cho qua 8 S-box để nhận được kết quả 32 bít

• Đảo lần cuối sử dụng hoán vị 32 bít P nhận được 32 bít đầu ra

• Rồi cộng với nửa trái để chuyển thành nửa phải của bước sau

E một hàm mở rộng lấy

một khối 32 bit làm đầu

Hàm hoán vị cố

định

Đọc 6 bit Quay lại 2 bit Lặp lại

Hộp thay

Hoán vị

Trang 11

V Hàm F

Đầu vào: Hàm F nhận 2 đầu vào:

o R (32 bit): Phần phải của khối dữ liệu cần mã hóa

o K (48 bit): Khóa con được sử dụng trong vòng mã hóa hiện tại

Chia R thành 8 phần: Phần R 32 bit sẽ được chia thành 8 phần, mỗi phần 6 bit.

o S1, S2, S3, S4, S5, S6, S7, S8

Thay thế bằng S-box: Mỗi phần 6 bit từ R sẽ được lấy làm input cho một S-box tương ứng.

o S-box là những bảng tra thay thế được thiết kế trước, mỗi S-box có 4 bit output

Kết hợp các output S-box: Sau khi thay thế bằng S-box, ta sẽ có 8 output 4 bit.

o Các output này sẽ được nối lại thành 1 khối 32 bit

Kết quả đầu ra: Khối 32 bit này chính là kết quả đầu ra của hàm F.

o Kết quả sẽ được sử dụng trong các bước tiếp theo của quá trình mã hóa DES Tóm lại, hàm F trong DES có nhiệm vụ biến đổi 32 bit input R thành 32 bit output, dựa trên việc chia nhỏ

R thành các phần 6 bit và sử dụng các S-box để thay thế chúng

• 32 bit đầu ra của 8 S-Box được hoán vị theo cách cố định P

• Đầu ra của P là giá trị của hàm F

VI Sinh khoá con của DES

- Khóa chính: Khóa ban đầu có độ dài 64 bit, nhưng chỉ có 56 bit được sử dụng cho quá trình mã hóa 8 bit còn lại được dùng để kiểm tra tính chẵn lẻ

- Hoán vị PC-1: Khóa 64 bit được hoán vị để tạo thành chuỗi 56 bit Quá trình hoán vị này được gọi là Permuted Choice 1 (PC-1)

- Chia khóa: Chuỗi 56 bit này được chia thành hai phần, mỗi phần 28 bit, gọi là (C_0) và (D_0)

- Dịch vòng: Mỗi phần (C_i) và (D_i) sẽ được dịch vòng sang trái một số bit nhất định tùy thuộc vào vòng lặp Có tổng cộng 16 vòng lặp, và số bit dịch vòng thay đổi theo từng vòng Cụ thể:

o Vòng 1, 2, 9, 16: dịch 1 bit

o Các vòng còn lại: dịch 2 bit

- Hoán vị PC-2: Sau khi dịch vòng, hai phần (C_i) và (D_i) được kết hợp lại và hoán vị lần nữa để tạo ra khóa con (K_i) có độ dài 48 bit Quá trình này lặp lại 16 lần để tạo ra 16 khóa con khác nhau

- Sử dụng khóa con: Các khóa con này sau đó được sử dụng trong các vòng mã hóa của DES để mã hóa dữ liệu một cách an toàn

Trang 12

- Ứng dụng trên thực thế cả phần cứng và phần mềm đều hiệu quả.

Khóa 64 bit (bao gồm các bit kiểm tra

Ma trận PC-1 và PC-2 được đưa ra theo tiêu chuẩn (xem slide tiếp theo)

Ci = LSi (Ci-1)

Di = LSi (Di-1)

Ki = PC-2

(CiDi) LS =

Dịch chuyển

trái một vị trí

nếu i = 1,2,9

hoặc 16

-dịch chuyển

2 vị trí cho

những i còn lại

Trang 13

DES lựa chọn hoán vị 1 và 2 (PC-1, PC-2)

VII Mô tả hộp S-Box

• Có 8 hộp S khác nhau ánh xạ 6 bít vào 4 bít

• S box thực hiện các phép thế, chúng được cấu tạo không có qui luật và cố định

• Mỗi S box là hộp 4 x 16, mỗi hàng là một số nguyên từ 0 đến 15

• Giả sử ta có 6 bít đầu vào Ta lấy hai bít ngoài 1-6 ghép lại được số nhị phân xác định chọn

hàng từ 0 đến 3 trong S box Bốn bít từ 2 đến 5 là một số nhị phân xác định cột từ 0 đến 15 trong

S box

• Lấy phần tử tương ứng trên hàng và cột mới được xác định, đây là một số từ 0 đến 15, chuyển sang số nhị phân ta được 4 bít đầu ra

• Như vậy 48 bít chia thành có 8 cụm 6 bít, qua 8 S box được chuyển thành 8 cụm 4 bít, tổng

cộng là 32 bít

• Việc chọn hàng trong các S box phụ thuộc cả dữ liệu và khoá - đặc trưng này được gọi là khoá

tự xác định

Các bit kiểm tra chẵn lẻ (cụ

thể là bit 8,16,

4,32,40,48,56,64) không

được chọn, chúng không

xuất hiện trong PC-1

PC-2 chọn khóa con 48 bit cho mỗi vòng từ trạng thái lịch trình khóa 56 bit

Ngày đăng: 15/02/2025, 22:04

HÌNH ẢNH LIÊN QUAN

3. Bảng Hoán vị - Bài tập lớn  an toàn và an ninh mạng tên bài tập lớn  chuẩn mã hóa dữ liệu des (data encryption standard)
3. Bảng Hoán vị (Trang 8)

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