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

Mật mã khối cấu trúc mật mã khối feistel và các quá trình mã hóa, giải mã trong giải thuật mật mã khối feistel

27 128 4

Đ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 đề Mật mã khối: cấu trúc mật mã khối Feistel và các quá trình mã hóa, giải mã trong giải thuật mật mã khối Feistel
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
Định dạng
Số trang 27
Dung lượng 1,08 MB

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

Nội dung

KHOA VIỄN THÔNG I TIỂU LUẬN KẾT THÚC HỌC PHẦN AN NINH MẠNG THÔNG TIN Đề tài: “Mật mã khối: cấu trúc mật mã khối Feistel và các quá trình mã hóa, giải mã trong giải thuật mật mã khối F

Trang 1

KHOA VIỄN THÔNG I

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

AN NINH MẠNG THÔNG TIN

Đề tài: “Mật mã khối: cấu trúc mật mã khối Feistel và các quá trình mã hóa, giải mã

trong giải thuật mật mã khối Feistel.”

Trang 2

2

STT Họ và tên Mã sinh viên Nhiệm vụ

chung

Nhiệm vụ riêng Ghi chú

1

Tìm hiểu tài liệu, đóng góp

và chia sẻ

ý kiến xây dựng bài tiểu luận

Quá trình

mã hóa và giải mã của

hệ thống mật mã Feistel

Nhóm trưởng Phân chia công việc, tổng hợp bài làm, chỉnh sửa và chịu trách nhiệm cuối cùng cho bài tiểu luận

2

Tổng quan

về mật mã Feistel

Ưu nhược điểm và các mật mã thông dụng

Chỉ ra phương pháp và cách giải quyết vấn đề

3

Tổng quan

về mật mã khối, quá trình mã hóa, giải mã của mật mã khối và các mật mã khối thông dụng

Viết lời mở đầu

và lý do chọn đề tài cho tiểu luận

Trang 3

3

MỤC LỤC

DANH MỤC HÌNH 4

DANH MỤC BẢNG 4

DANH MỤC THUẬT NGỮ VIẾT TẮT 5

LỜI MỞ ĐẦU 6

Lý do chọn đề tài: 6

Mục đích và phạm vi của tiểu luận 7

Phương pháp nghiên cứu và giải quyết vấn đề: 7

I TỔNG QUAN VỀ MẬT MÃ KHỐI 8

1 Khái niệm về mã khối 8

2 Xây dựng hệ mã hoá khối 8

3 Quá trình mã hoá và giải mã chung của mật mã khối 10

3.1 Mã hoá và giải mã trong mã khối 10

3.2 Khái niệm vòng lặp trong mã khối 10

4 Các chế độ hoạt động trong mã khối 11

4.1 Chế độ bảng tra mã điện tử ( Electronic code book – ECB ) 12

4.2 Chế độ mã móc xích (Cipher Block Chaining -CBC) 13

4.3 Chế độ mật mã con đếm (Counter mode –CTR ) 15

4.4 Chế độ mật mã phản hồi kết quả ( OFB – Output Feedback ) 16

4.5 Chế độ mã phản hồi k-bit (k-bit Cipher Feedback Mode -CFB) 17

5 Các hệ mật mã khối thông dụng 19

II TỔNG QUAN VỀ MẬT MÃ KHỐI FEISTEL 20

1 Khái niệm về mã khối Feistel 20

2 Ưu nhược điểm của mã khối Feistel 21

3 Quá trình mã hóa trong mô hình mã Feistel 22

4 Quá trình giải mã trong mô hình mã Feistel 23

5 Các mật mã triển khai dựa trên cấu trúc mật mã Feistel 25

III KẾT LUẬN 26

TÀI LIỆU THAM KHẢO 27

Trang 4

4

DANH MỤC HÌNH

Hình 1 1 Cách thức hoạt động trong mật mã khối 8

Hình 1 2 Ý tưởng xây dựng mã hóa khối 9

Hình 1 3 Quá trình mã hóa và giải mã chung của mật mã khối 10

Hình 1 4 Sơ đồ minh họa cấu trúc 16 vòng lặp với đầu vào và ra đều có kích thước 64 bits 11

Hình 1 5 Sơ đồ chế độ mật mã ECB 12

Hình 1 6 Sơ đồ mã hóa và giải mã trong ECB 13

Hình 1 7 Sơ đồ chế độ mật mã CBC 14

Hình 1 8 Sơ đồ quá trình mã hóa và giải mã trong CBC 14

Hình 1 9 Sơ đồ chế độ CTR 15

Hình 1 10 Mô hình OFB của mã hóa khối 16

Hình 1 11 Quá trình mã hóa và giải mã trong OFB 17

Hình 1 12 Sơ đồ mật mã CFB 18

Hình 1 13 Quá trình mã hóa và giải mã trong CFB 19

Hình 2 1 Mô hình mã khối Feistel 23

Hình 2 2 Quá trình mã hóa và giải mã trong bộ mã Feistel 24

Hình 2 3 Minh họa về quá trình mã hóa và giải mã theo Feistel 25

DANH MỤC BẢNG Bảng 2 1 Ví dụ về phép biển đổi thuận nghịch 21

Trang 5

5

DANH MỤC THUẬT NGỮ VIẾT TẮT

Viết tắt Nghĩa tiếng Anh Nghĩa tiếng Việt

AES Advanced Encryption

Standard Tiêu chuẩn mã hóa tiên tiến

CBC Cipher Block Chaining Mã móc xích

DES Data Encryption Standard Tiêu chuẩn mã hóa dữ liệu

ECB Electronic Code Book Bảng tra mã điện tử

IV Initialization Vector Vector khởi đầu

TDES (3DES) Triple Data encryption

Trang 6

6

LỜI MỞ ĐẦU

Ngày nay, với sự phát triển của công nghệ thông tin và truyền thông, Interet là một phần không thể thiếu trong việc điều hành các lĩnh vực của xã hội Việc số hoá dữ liệu để phục vụ trao đổi đang trở nên rất hữu ích và cần thiết Khi thông tin trao đổi giữa các tổ chức ngày càng nhiều thì việc bảo mật thông tin là một vấn đề được đặt ra cho nhiều ngành, nhiều lĩnh vực và nhiều quốc gia Để đạt được mục đích đó, các nhà khoa học đã đưa ra các hệ mã khoá giúp mã hoá và giải mã sử dụng khoá mà chỉ người có quyền mới biết, đảm bảo giữ kín thông tin với những kẻ muốn xâm nhập

Hiện nay trên thế giới có rất nhiều hệ mã khoá Các hệ khoá chia theo nhiều cách khác nhau Dựa trên tính chất của khoá, các hệ mã hoá chia làm hai loại: hệ mã hoá khoá đối xứng (hệ mã hoá khoá riêng) và hệ mã hoá khoá bất đối xứng (hệ mã hoá khoá công khai) Dựa theo đặc trưng của bản rõ, các hệ mã hoá chia thành hai loại: mã hoá khối và mã hoá dòng Mã hóa khối và mã hoá dòng là các phương thức được sử dụng

để chuyển đổi văn bản đơn giản thành văn bản mã hóa trực tiếp và thuộc họ mật mã khóa đối xứng Sự khác biệt chính giữa mật mã khối và mật mã dòng là mật mã khối mã hóa và giải mã một khối văn bản tại một thời điểm Mặt khác, mã hóa dòng mã hóa và giải mã văn bản bằng cách lấy một byte của văn bản tại một thời điểm

Lý do chọn đề tài:

Trong phạm vi tiểu luận lần này, chúng em sẽ trình bày về mã hoá khối và mật

mã khối Feistel Dựa vào thiết kế của mật mã Feistel, rất nhiều hệ mã khối đối xứng hiện đại được sinh ra Tiêu biểu là mã DES, 3DES, TEA,… Đây cũng chính là tiền đề

để xây dựng lên các thuật toán như: hàm băm, mã hoá xác thực, mã xác thực thông báo

Do tầm quan trọng của mã hoá khối, chúng em đã chọn đề tài : “ Mã hoá khối và mật

mã Feistel ” để làm tiểu luận kết thúc môn học

Trang 7

7

Mục đích và phạm vi của tiểu luận

Mục đích của bài tiểu luận là tìm hiểu về cấu trúc tổng quan và các kỹ thuật mã hóa, giải

mã trong mật mã khối và tiêu chuẩn mật mã Feistel

Phạm vi của bài tiểu luận bao gồm 2 chương:

Chương 1: Giới thiệu tổng quan về mật mã khối Chương này giới thiệu về khái niệm,

cấu trúc của mật mã khối Cùng với đó mà các phương pháp mã hóa, giải mã và các chế

độ của mật mã khối

Chương 2: Giới thiệu tổng quan về mật mã Feistel Chương này giới thiệu về khái

niệm, cấu trúc của mật mã Feistel và đưa ra các phương pháp mã hóa, giải mã cùng với các khối mật mã triển khai theo tiêu chuẩn mật mã Feistel

Phương pháp nghiên cứu và giải quyết vấn đề:

- Phân tích các nguồn tài liệu: thu thập thông tin, kiến thức từ các tạp chí khoa học, báo cáo, bài giảng, rồi tổng hợp lại

- Tổng hợp tài liệu:

• Bổ túc tài liệu, sau khi phân tích phát hiện thiếu, sai lệch

• Lựa chọn tài liệu, chỉ chọn những thứ cần đủ để xây dựng luận cứ

• Sắp xếp tài liệu

Trang 8

8

I TỔNG QUAN VỀ MẬT MÃ KHỐI

1 Khái niệm về mã khối

Mã khối là thuật toán mã hóa đối xứng hoạt động trên những khối thông tin có độ dài xác định với những chuyển đổi xác định.Ví dụ trong một thuật toán mã hoá khối nó

có thể xử lý 128 bit đầu vào và cho ra 128 bit đầu ra Trong kiểu mã hóa này các tham

số quan trọng nhất là độ dài khối và độ dài mã

Khác với một mã cùng họ là mã hoá dòng thì mã khối mã hoá các khối bit có độ dài cố định, trong khi mã hoá dòng kết hợp kết hợp các bit của bản rõ với một dòng bit giả ngẫu nhiên với phép XOR

Điều kiện để mã khối an toàn:

- Độ dài khối (n-bit) phải đủ lớn để chống lại phương phấn công thống kê, tuy nhiên điều này dẫn đến thời gian mã hóa sẽ tăng lên

- Không gian khóa, tức độ dài khóa (k-bit ) phải đủ lớn để chống lại phương pháp tấn công vét cạn Tuy nhiên, lưu ý rằng khóa phải đủ ngắn để việc tạo khóa, phân phối khóa được dễ dàng

Hình 1 1 Cách thức hoạt động trong mật mã khối

2 Xây dựng hệ mã hoá khối

Về ý tưởng xây dựng hệ mã khoá khối:

Trang 9

9

• Ban đầu chúng ta có trong tay một khoá K, chúng ta sử dụng một hàm mở rộng khoá (key expansion) – thường là một hàm sinh số giả ngẫu nhiên Từ đó sẽ sinh

ra n khoá k là k1,k2,…,kn

• Sau đó sử dụng hàm trộn R(k,m) đưa vào các giá trị k1,k2,…,kn

• Thông điệp m được đưa vào hàm trộn lần đầu tiên với hàm trộn mang khoá k1 Tiếp đó đầu ra của hàm trộn mang khoá k1 sẽ được đưa làm đầu vào của khoá k2

với thông điệp m đã được biến đổi

• Tiếp tục với lòng lặp như vậy ta sẽ được đầu ra của hàm trộn mang mã kn Đó chính là bản mã C

Hình 1 2 Ý tưởng xây dựng mã hóa khối

Về nguyên lý xây dựng mật mã khối, có 2 cơ sở để mã khối có tính bảo mật cao,

đó là việc tạo ra tính hỗn loạn (confusion) và tính khuếch tán (diffusion)

• Tính hỗn loạn: Sự phụ thuộc của bản mã đối với bản rõ phải thực phức tạp để gây rắc rối, cảm giác hỗn loạn đối với kẻ tấn công có ý định phân tích tìm ra qui luật thuật toán để phá mã Quan hệ hàm số của mã-tin là phi tuyến (non-linear)

• Tính khuếch tán: Làm khuếch tán những mẫu văn bản mang đặc tính thống kê, tạo ra bằng việc làm tăng độ dư thừa văn bản lẫn vào toàn bộ văn bản Nhờ đó tạo ra khó khăn cho kẻ tấn công trong việc dò phá mã trên cơ sở thống kê các mẫu lặp lại cao

• Trong khi tính hỗn loạn được thực hiện bằng phép thay thế (substitution) thì tính khuếch tán được tạo ra bằng các phép chuyển đổi chỗ (tranposition) hay hoán vị

Trang 10

10

3 Quá trình mã hoá và giải mã chung của mật mã khối

3.1 Mã hoá và giải mã trong mã khối

Quá trình mã hóa khối bao gồm 2 thuật toán:

Mã hóa – (ký hiệu E) và Giải mã – (ký hiệu D=E-1)

Cả hai thuật toán đều tác động lên một khối đầu vào n bít sử dụng một khóa k bít để cho

ra một khối đầu ra n bít Đối với bất kỳ mã khóa nào, giải mã là hàm ngược lại của mã hóa, ta sẽ có:

DK = ( EK (M)) = M

trong đó M là khối thông tin và K là khoá bất kỳ

Với mỗi khóa K, EK là một hoán vị (song ánh) của khối thông tin đầu vào Mỗi khóa sẽ xác định một hoán vị trong tổng số 2n! khả năng

Hình 1 3 Quá trình mã hóa và giải mã chung của mật mã khối

Độ dài của khối tin (n) ,thường là cố định ở 64 hoặc 128 bít Một số thuật toán có độ dài khối thay đổi nhưng không phổ biến Trong các chế độ mã hóa khối, nếu như độ dài khối chưa đủ ta thường phải thêm một số bit cho văn bản (padding) để văn bản chứa số nguyên lần các khối Mỗi chế độ mã hóa có đặc tính khác nhau về việc lan truyền lỗi (lỗi mã hóa trong khối này ảnh hưởng tới khối khác), khả năng truy xuất ngẫu nhiên và khả năng chống lại các kiểu tấn công khác nhau Thông thường độ dài của khóa K là:

40, 56, 64, 80, 128, 192 và 256 bit

3.2 Khái niệm vòng lặp trong mã khối

Trong các mã phổ biến hiện nay, các hệ mã khối thường được thiết kế theo cấu trúc nhiều vòng lặp và với mỗi vòng lặp lại ta thực hiện một hàm f cơ sở với các tham số khác nhau Theo đó, đầu ra của vòng lặp trước sẽ là đầu vào của vòng lặp tiếp theo và một khóa con phát sinh từ khóa đầy đủ dựa trên một thuật toán lập lịch khóa (key scheduler), hay cũng gọi là thuật toán sinh khóa con

Trang 11

11

Giải mã sẽ là một quá trình ngược lại, trong đó các khóa con sử dụng tại mỗi vòng lặp

sẽ được lập lịch để sử dụng theo thứ tự ngược lại

Hình 1 4 Sơ đồ minh họa với cấu trúc 16 vòng lặp Trong đó đầu vào và ra đều có

4 Các chế độ hoạt động trong mã khối

Với các thuật toán mã khối thông dụng thì độ dài khối được xác định, như ở DES

là 64 bit, AES là 128 bit,… Khi mã hoá các tin có độ dài quá độ dài của khối, thuật toán

Trang 12

Hình 1 5 Sơ đồ chế độ mật mã ECB 4.1.2 Quá trình mã hoá và giải mã trong EBC

Mã hoá : Cj=Ek(Pj) với j=1,2,3,…,n-1

Giải mã: Pj=Dk(Pj) với j=1,2,3,…,n Với Cj là các bản mã và Pj là các bản rõ

Trang 13

• Lỗi bit không bị lan truyền

• Có thể thực hiện mã hóa/giải mã song song (parallel) nhiều khối dữ liệu cùng lúc

Trang 14

14

Như vậy các khối mã đều phụ thuộc rất chặt vào nhau theo kiểu “móc xích” Cũng qua đó có thể thấy rằng chế độ CBC sẽ tạo ra các khối bản mã khác nhau khi các khối tin đầu vào giống nhau khi đó ta sẽ che giấu được các mẫu tin-mã phổ biến khỏi sự theo dõi của kẻ tấn công, chặn đứng khả năng phá hoại bằng tấn công lặp lại và biên tập nói trên Tại bước đầu tiên, khi chưa có khối mã sinh ra từ bước trước, khối tin đầu tiên sẽ được XOR với một vecto khỏi đầu, chọn ngẫu nhiên, ký hiệu là IV (initial vector)

Hình 1 7 Sơ đồ chế độ mật mã CBC 4.2.2 Quá trình mã hoá và giải mã trong CBC

Mã hoá: Cj = Ek(Pj XOR Cj-1, K )

Hình 1 8 Sơ đồ quá trình mã hóa và giải mã trong CBC

Trang 15

15

Giải mã: Pj = Cj-1 XOR Dk(Cj,K) với j=1,2,3,…,n-1

Cả hai phía mã hóa và giải mã đều dùng chung vector IV để sử dụng trên khối dữ liệu đầu

Chú ý với khối đầu tiên: C0=Ek(IV XOR Pj) và P0=IV XOR Dk(C1)

4.2.3 Nhận xét

• CBC có tính bảo mật cao hơn ECB

• Chỉ có thể thực hiện giải mã song song nhiều khối dữ liệu chứ không thể mã hoá song song

• Thiết kế phần cứng phức tạp hơn ECB

• Lỗi bit bị lan truyền

4.3 Chế độ mật mã con đếm CTR (Counter mode )

CTR là chế độ mã hóa sử dụng một tập các khối ngõ vào, gọi là các counter, để sinh ra một tập các giá trị ngõ ra thông qua một thuật toán mã hóa Sau đó, giá trị ngõ ra

sẽ được XOR với bản rõ để tạo ra bản mã trong quá trình mã hóa, hoặc XOR với bản

mã để tạo ra bản mã trong quá trình giải mã

Hình 1 9 Sơ đồ chế độ CTR

CTR thực ra là một phương pháp mã hóa thuộc loại mật mã dòng, tuy nhiên trong

bộ sinh khóa ngẫu nhiên có dùng đến mã khối để sinh số Kích thước của đơn vị mã hóa

sẽ là kích thước mã khối (ví dụ khi dùng mã DES thì đơn vị mã hóa là 64 bit)

Trang 16

16

• Khả năng bảo mật cao hơn ECB Tuy quá trình mã hóa/giải mã của mỗi khối dữ liệu là độc lập nhưng mỗi plaintext có thể ảnh xạ đến nhiều ciphertext tùy vào giá trị bộ đếm của các lần mã hóa

• Có thể mã hóa/giải mã song song nhiều khối dữ liệu

• Phần cứng cần thiết kế thêm các bộ đếm counter hoặc giải thuật tạo các giá trị counter không lặp lại

4.4 Chế độ mật mã phản hồi kết quả OFB ( Output Feedback )

4.4.1 Mô hình chế độ OFB

Nếu như mô hình CTR là một mật mã dòng trong đó đơn vị mã hóa có kích thước

cố định là b bit, với b là kích thước khối Để mã hóa với đơn vị mã hóa có kích thước bất kỳ, mô hình OFB đã được đề xuất Mô hình này có hai điểm khác so với mô hình CTR:

• Chỉ dùng s bít đầu tiên của khóa sinh ra bởi bộ sinh khóa, với s là kích thước đơn vị mã hóa dùng trong phép XOR

• Để tăng thêm tính ngẫu nhiên của bộ sinh khóa, s bít này của khóa được ghép vào vector khởi tạo IV cho lần mã hóa tiếp theo Phép ghép được thực hiện bằng cách đẩy trái IV s bít và đưa s bít của khóa vào s bít thấp của IV

Hình 1 10 Mô hình OFB của mã hóa khối 4.4.2 Quá trình mã hoá và giải mã trong OFB

Trang 17

NHÓM 19 17

Hình 1 11 Quá trình mã hóa và giải mã trong OFB

Do có tính đối xứng nên việc mã hoá và giải mã hoàn toàn giống nhau:

• Lỗi bit không bị lan truyền

• Thiết kế phần cứng đơn giản hơn CFB

• Không thể thực hiện mã hóa/giải mã song song nhiều khối dữ liệu vì lần mã hóa/giải mã sau phụ thuộc vào khối ngõ ra của lần mã hóa/giải mã liền trước

4.5 Chế độ mã phản hồi CFB ( Cipher Feedback Mode )

4.5.1 Sơ đồ chế độ mật mã CFB

Trang 18

NHÓM 19 18

CFB là chế độ mã hóa mà bản mã của lần mã hóa hiện tại sẽ được phản hồi

(feedback) đến đầu vào của lần mã hóa tiếp theo Nghĩa là, bản mã của lần mã hóa hiện

tại sẽ được sử dụng để tính toán bản mã của lần mã hóa kế tiếp Mô hình CFB dùng s

bit của bản mã để ghép với IV

Hình 1 12 Sơ đồ mật mã CFB

Do giống như mô hình CBC, có thể thấy rằng nội dung của bản mã Cj không chỉ

phụ thuộc vào bản rõ Pj mà còn phụ thuộc vào tất cả các bản rõ đứng trước và IV Ngược

lại, đối với việc giải mã, bản rõ Pj không chỉ phụ thuộc vào bản mã Cj mà còn phụ thuộc

vào bản mã Cj-1 đứng trước

4.5.2 Quá trình mã hoá và giải mã trong CFB

Trang 19

NHÓM 19 19

Hình 1 13 Quá trình mã hóa và giải mã trong CFB 4.5.3 Nhận xét

• Khả năng bảo mật cao hơn ECB

• Lỗi bit không bị lan truyền

• Thiết kế phần cứng đơn giản hơn CFB

• Không thể thực hiện mã hóa/giải mã song song nhiều khối dữ liệu vì lần mã

hóa/giải mã sau phụ thuộc vào khối ngõ ra của lần mã hóa/giải mã liền trước

5 Các hệ mật mã khối thông dụng

• Blowfish

Blowfish là một thuật toán mã hóa đối xứng (64 bit cipher) do Bruce Schneier

thiết kế năm 1993 Blowfish có các độ dài khóa từ 32 đến 448 bit Người ta đã

nghiên cứu phân tích khá kỹ về các thuộc tính của Blowfish và nó cũng được

đánh giá là một thuật toán mã hóa mạnh

• RC2

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

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] P. Hall, "Cryptography and Network Security Principles and Practices, 4 th Edition," 2005 Sách, tạp chí
Tiêu đề: Cryptography and Network Security Principles and Practices, 4 th Edition
Tác giả: P. Hall
Năm: 2005
[2] T. M. Văn, "An toàn và bảo mật thông tin," 2008 Sách, tạp chí
Tiêu đề: An toàn và bảo mật thông tin
Tác giả: T. M. Văn
Năm: 2008
[3] T. N. K. Văn, "Giáo trình an toàn và bảo mật thông tin," 2012 Sách, tạp chí
Tiêu đề: Giáo trình an toàn và bảo mật thông tin
Tác giả: T. N. K. Văn
Năm: 2012
[4] A. Kak, "Lecture 3: Block Ciphers and the Data Encryption," 2021 Sách, tạp chí
Tiêu đề: Lecture 3: Block Ciphers and the Data Encryption
Tác giả: A. Kak
Năm: 2021
[5] F. Mirza, "Block Ciphers and Cryptanalysis," 1999 Sách, tạp chí
Tiêu đề: Block Ciphers and Cryptanalysis
Tác giả: F. Mirza
Năm: 1999
[6] N. T, "Feistel Block Cipher," 2020 Sách, tạp chí
Tiêu đề: Feistel Block Cipher
Tác giả: N. T
Năm: 2020
[7] Bruce Schneier, John Kelsey, "Unbalanced Feistel Networks and Block Cipher&#34 Sách, tạp chí
Tiêu đề: Unbalanced Feistel Networks and Block Cipher
Tác giả: Bruce Schneier, John Kelsey

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