Mã hóa khối - hệ mật mã RSA

15 2 0
Tài liệu đã được kiểm tra trùng lặp
Mã hóa khối - hệ mật mã RSA

Đ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

bài tập lớn môn Cơ sở An ninh mạng, nghiên cứu mã hóa đối xứng, hệ mật mã RSA, hệ mật mã Playfair, hệ mật mã AES, hộp S và hộp P

Trang 1

TRƯỜNG ĐẠI HỌC MỎ - ĐỊA CHẤTKHOA CÔNG NGHỆ THÔNG TIN

-*** -CƠ SỞ AN NINH MẠNGTÌM HIỂU VỀ MÃ HÓA KHỐI

Hà Nội – 2023Giảng viên hướng dẫn:

Sinh viên thực hiện:

Mã lớp học phần:

ThS Đào Anh Thư

54 - Nguyễn Văn Sơn - 212105085815 - Nguyễn Vũ Trọng Đài - 212105102969 - Lê Anh Trung - 2121050833

50 - Lão Phú Quý - 212105111063 - Trần Văn Thoan - 21210508297080703 - 21

Trang 2

3 ỨNG DỤNG CỦA MÃ HÓA KHỐI 6

3.1 Mã hóa dữ liệu truyền trên internet 6

3.2 Bảo mật lưu trữ các thông tin mật 7

3.3 Mã hóa dữ liệu trên các thiết bị lưu trữ 7

3.4 Mã hóa dữ liệu trên thiết bị di động 8

5.1.Khái niệm S-box 10

5.2 Khái niệm P-box 11

6 CHUẨN MÃ AES 12

6.1.Khái niệm 12

6.2.Phương pháp mã hóa AES 12

6.3.Ưu điểm của AES 14

6.4.Ứng dụng của AES 14

KẾT LUẬN 15

TÀI LIỆU THAM KHẢO 15

Trang 3

PHÂN CÔNG CÔNG VIỆC

TÌM HIỂU VỀ MÃ HÓA KHỐI1 KHÁI NIỆM MÃ HÓA KHỐI

1.1 Lịch sử phát triển

Lịch sử mã hóa khối bắt đầu từ những năm 1970, với sự ra đời của thuật toán DES (Data Encryption Standard) DES là một thuật toán mã hóa đối xứng, sử dụng một khóa duy nhất để mãhóa và giải mã dữ liệu DES được phát triển bởi IBM và được chính phủ Hoa Kỳ phê duyệt làm tiêu chuẩn mã hóa dữ liệu vào năm 1977.

DES nhanh chóng trở thành thuật toán mã hóa khối phổ biến nhất trên thế giới Nó được sử dụng trong nhiều ứng dụng khác nhau, bao gồm truyền dữ liệu qua mạng, lưu trữ dữ liệu trên máy tính và bảo vệ các giao dịch điện tử.

Tuy nhiên, DES cũng có một số nhược điểm Độ dài khóa của DES chỉ là 56 bit, khá ngắn so với các thuật toán mã hóa hiện đại Điều này khiến DES dễ bị tấn công bằng các phương pháp brute-force.

Vào cuối những năm 1990, các nhà nghiên cứu bắt đầu phát triển các thuật toán mã hóa khối mới, có độ dài khóa lớn hơn và an toàn hơn DES Một trong những thuật toán này là AES (Advanced Encryption Standard).

AES được chính phủ Hoa Kỳ phê duyệt làm tiêu chuẩn mã hóa dữ liệu mới vào năm 2001 AES sử dụng khóa có độ dài lên đến 256 bit, giúp nó an toàn hơn nhiều so với DES.

Các thuật toán mã hóa khối này đều có độ dài khóa lớn hơn DES và sử dụng các kỹ thuật mã hóa hiện đại, giúp chúng an toàn hơn nhiều so với DES.

Dưới đây là tóm tắt lịch sử mã hóa khối:

Trang 4

- Những năm 1970: DES được phát triển và trở thành thuật toán mã hóa khối phổ biến nhất trên thế giới.

- Cuối những năm 1990: Các nhà nghiên cứu bắt đầu phát triển các thuật toán mã hóakhối mới, có độ dài khóa lớn hơn và an toàn hơn DES.

- Năm 2001: AES được phê duyệt làm tiêu chuẩn mã hóa dữ liệu mới, thay thế DES.Hiện nay, mã hóa khối là một trong những công nghệ bảo mật quan trọng nhất Nó được sử dụng trong nhiều ứng dụng khác nhau, giúp bảo vệ dữ liệu khỏi bị truy cập trái phép.

1.2 Khái niệm mã hóa khối

Trong mật mã, mật mã khối là một thuật toán mã hóa đối xứng xử lý các khối thông tin (khối) có độ dài cụ thể bằng một phép biến đổi cụ thể Ví dụ: mật mã khối có thể xử lý khối đầu vào 128 bit và chuyển đổi nó thành khối đầu ra 128 bit Quá trình chuyển đổi sử dụng một tham số khác, một khóa bí mật để cá nhân hóa quy trình Giải mã hoạt động tương tự Xử lý khối 128 bit được mã hóa cùng với khóa và trả về khối văn bản gốc 128 bit ban đầu.

Để mã hóa văn bản vượt quá độ dài khối, thuật toán tương ứng với chế độ mã hóa khối cụ thể sẽ được sử dụng Phân biệt với mã hóa khối là mã hóa dòng Mã hóa dòng làm việc trên từng bít của dòngdữ liệu và quá trình biến đổi thay đổi theo quá trình mã hóa Tuy nhiên, sự phân biệt giữa 2 phương pháp nhiều khi không rõ ràng vì mã hóa khối khi hoạt động theo một chế độ nào đó thì có tác dụng nhưmột phương pháp mã hóa dòng.…

1.3.Nguyên lý hoạt động

DES (Data Encryption Standard) là một thuật toán mã hóa khối với kích thước khối 64 bit và kích thước khóa 56 bit, được công bố chính thức bởi Tổ chức Tiêu chuẩn xử lý thông tin liên bang Hoa

Trang 5

Kỳ (FIPS) vào tháng 11/1976 và được xuất bản trong tài liệu FIPS PUB 46 (01/1977) DES là một thuật toán mã hóa khóa đối xứng, nghĩa là quá trình mã hóa và giải mã sử dụng cùng một khóa.

Nguyên lý hoạt động của DES có thể được chia thành các bước sau:

- Key mật mã: DES sử dụng phương pháp mật mã khối, điều này có nghĩa là mỗi khối dữ liệu sẽđược áp dụng bởi một key mật mã và thuật toán DES sẽ nhóm plain text (văn bản thuần túy) thành cáckhối 64 bit Bằng cách kết hợp và hoán vị các khối của plain text sẽ được chuyển đổi thành Ciphertext(văn bản đã mã hóa).

- Vòng mã hóa: Dữ liệu sẽ được DES mã hóa 16 lần với bốn chế độ khác nhau Từng khối riênglẻ sẽ được mã hóa hoặc bắt buộc các khối mật mã phải phụ thuộc vào những khối trước đó Riêng vềgiải mã thì đơn giản chỉ là nghịch đảo của mã hóa, tức là quy trình thực hiện tương tự nhưng đảo ngượcthứ tự các key.

- Phím 64 bit: Thực tế cho thấy mặc dù DES sử dụng key 64 bit nhưng có 8 bit trong số đó đãđược dùng để kiểm tra chẵn lẻ Vì lẽ đó là key hiệu dụng chỉ có 56 bit.

- Thay thế và hoán vị: Đây là hai quy trình mà Ciphertext phải trải qua trong quá trình mã hóa.- Khả năng tương thích ngược (tương thích với phiên bản cũ): Trong một số trường hợp DEScũng cung cấp khả năng này.

2 ƯU ĐIỂM VÀ NHƯỢC ĐIỂM CỦA MÃ HÓA KHỐI2.1 Ưu điểm

Tốc độ mã hóa nhanh: Mã hóa khối có thể được thực hiện hiệu quả bằng phần cứng chuyên dụng,

giúp tăng tốc độ mã hóa và giải mã dữ liệu.

Linh hoạt: Mã hóa khối có thể được sử dụng để mã hóa dữ liệu có kích thước khác nhau.

An toàn: Mã hóa khối thường cung cấp mức độ an toàn cao nếu được triển khai đúng cách Các

thuật toán mã hóa khối nổi tiếng như AES (Advanced Encryption Standard) được sử dụng rộng rãi và đã chứng minh độ an toàn của chúng.

Hiệu suất: Thông thường, mã hóa khối có hiệu suất tốt, đặc biệt là đối với các dữ liệu lớn Các thuật

toán được tối ưu hóa để thực hiện nhanh chóng trên phần cứng và phần mềm hiện đại.

Khả năng mở rộng: Có thể thực hiện mã hóa khối trên các khối dữ liệu độc lập, điều này giúp tăng

khả năng mở rộng và hiệu suất cho các ứng dụng yêu cầu xử lý dữ liệu lớn.

Khả năng tích hợp: Các thuật toán mã hóa khối thường được tích hợp dễ dàng vào nhiều hệ thống

và ứng dụng, làm cho chúng trở thành lựa chọn phổ biến trong việc bảo vệ dữ liệu.

2.2 Nhược điểm

Kích thước khóa lớn: Mã hóa khối thường sử dụng các khóa có kích thước lớn, từ 128 bit đến 256

bit Điều này có thể khiến việc lưu trữ và quản lý khóa trở nên khó khăn.

Trang 6

Khả năng bị tấn công bằng các phương pháp mới: Mã hóa khối dựa trên các thuật toán đã được

nghiên cứu kỹ lưỡng Do đó, các phương pháp tấn công mới có thể được phát triển để phá vỡ mã hóa.

Không linh hoạt: Mã hóa khối hoạt động trên các khối dữ liệu cố định, điều này có thể làm giảm

tính linh hoạt của thuật toán trong một số tình huống.

Khối cố định: Vì mã hóa khối mã hóa và giải mã theo các khối cố định, nên nếu dữ liệu đầu vào

không chia hết chính xác cho kích thước khối, cần thực hiện bước xử lý bổ sung như padding, điều này có thể tăng độ phức tạp của hệ thống.

Không duy trì trạng thái: Mã hóa khối không duy trì trạng thái giữa các khối dữ liệu Điều này có

nghĩa là mỗi khối dữ liệu được xử lý độc lập, không phụ thuộc vào các khối trước đó.

Khả năng tấn công một số phiên bản cũ: Một số phiên bản của các thuật toán mã hóa khối đã bị

phá vỡ bởi các kỹ thuật tấn công nâng cao, đặc biệt là đối với các phiên bản cũ hoặc chưa được cập nhật.

3.ỨNG DỤNG CỦA MÃ HÓA KHỐI3.1 Mã hóa dữ liệu truyền trên Internet

Mã hoá dữ liệu truyền trên internet là quá trình chuyển đổi thông tin từ dạng thông thường thành dạng không đọc được (hoặc khó đọc được) bằng cách sử dụng thuật toán mã hoá Mục tiêu của quá trình này là bảo vệ tính toàn vẹn, bảo mật và riêng tư của dữ liệu khi nó được truyền tải qua các mạng truyền thông, như mạng Internet HTTPS (Hypertext Transfer Protocol Secure): Là phiên bản an toàn của HTTP, sử dụng SSL hoặc TLS để mã hoá dữ liệu truyền tải giữa trình duyệt và máy chủ web

Mã hoá dữ liệu truyền trên internet là một phần quan trọng của an ninh mạng, đặc biệt là khi thông tin nhạy cảm như thông tin tài khoản ngân hàng, mật khẩu, và thông tin cá nhân được truyền tải qua các kênh truyền thông không an toàn như internet.

Trang 7

3.2 Bảo mật lưu trữ các thông tin mật

Bảo mật thông tin là hoạt động duy trì tính bảo mật, tính vẹn toàn & tính sẵn sàng cho tất cả thông tin Ba yếu tố này luôn đi cùng nhau và không thể tách rời.

- Tính bảo mật: bảo đảm mọi thông tin quan trọng không bị rò rỉ hay đánh cắp Thông tin chỉ được phép truy cập bởi những người đã được cấp phép.

- Tính toàn vẹn: đảm bảo thông tin không bị thay đổi hoặc chỉ được phép chỉnh sửa bởi người có thẩm quyền Ngoài những điều ấy ra, tính toàn vẹn còn đảm bảo thông tin vẫn còn chính xác khi được lưu trữ hay truyền đi.

- Tính sẵn sàng: bảo đảm thông tin có thể sẽ được truy cập bởi những người có quyền bất cứ khi nào họ muốn.

3.3 Mã hóa dữ liệu trên các thiết bị lưu trữ

Mã hóa khối được sử dụng để bảo vệ dữ liệu trên các thiết bị lưu trữ, chẳng hạn như ổ cứng, ổ đĩaflash, và thẻ nhớ Các thiết bị này thường có tính năng mã hóa khối tích hợp, hoặc có thể được mã hóa bằng phần mềm của bên thứ ba Mã hóa khối là một công nghệ quan trọng trong bảo mật thông tin Nó được sử dụng rộng rãi trong nhiều ứng dụng khác nhau để bảo vệ dữ liệu khỏi bị truy cập trái phép.

Trang 8

3.4 Mã hóa dữ liệu trên thiết bị di động

Mã hoá dữ liệu trên thiết bị di động đóng vai trò quan trọng trong việc bảo vệ thông tin, đặc biệt là khi người dùng lưu trữ và truyền tải nhiều dữ liệu quan trọng qua điện thoại di động Sử dụng mã hóa dữ liệu lưu trữ trên thiết bị là một biện pháp chính, với tính năng mã hóa mặc định trên hệ điều hành di động như iOS và Android

Đối với Android, cần đảm bảo tính năng mã hóa được kích hoạt trong cài đặt để bảo vệ dữ liệu ngay cả khi thiết bị bị mất Mã hóa dữ liệu truyền tải thông qua kết nối an toàn như HTTPS là quan trọng, đặc biệt khi ứng dụng giao tiếp với máy chủ để lấy hoặc gửi dữ liệu Sử dụng các công cụ bảo mật di động như ứng dụng quản lý mật khẩu, ứng dụng chống malware, và ứng dụng theo dõi thiết bị khi bị mất Luôn duy trì hệ điều hành và ứng dụng được cập nhật để bảo vệ chống lại các lỗ hổng bảo mật tiềm ẩn Thực hiện và thúc đẩy chính sách an toàn trong tổ chức hoặc cá nhân để đảm bảo người dùng hiểu và tuân thủ các biện pháp bảo mật cần thiết trên thiết bị di động.

4 HỆ MẬT MÃ PLAYFAIR4.1.Khái niệm

Là một phương pháp mã hóa được sử dụng để bảo vệ thông điệp truyền tải qua các kênh không an toàn

-Thành phần cơ bản:

+ Ma trận Playfair: Một ma trận vuông 5x5 được tạo ra từ một từ khóa, nơi mỗi chữ cái không được lặp lại và thường loại bỏ chữ 'J' (thường được thay thế bằng 'I') Ma trận này đóng vai trò quan trọng trong quá trình mã hóa và giải mã.

+ Quy tắc mã hóa:Thông điệp được chia thành các cặp chữ cái (digraphs).

Nếu cặp nằm trên cùng một hàng, thì chúng sẽ được thay thế bằng các chữ cái ngay bên phải của chúng (quay vòng nếu nằm ở cột cuối cùng) Nếu cặp nằm trên cùng một cột, thì chúng sẽ được thay thế bằng các chữ cái ngay dưới của chúng (quay vòng nếu nằm ở hàng cuối cùng) Nếu cặp nằm trên

Trang 9

cùng một hàng và cột, thì chúng sẽ được thay thế bằng các chữ cái ngay bên phải và ngay dưới (lấy chữcái phía dưới).

+ Quy tắc giải mã: Ngược lại với quy tắc mã hóa, nếu cặp nằm trên cùng một hàng, thì chúng sẽ được thay thế bằng các chữ cái ngay bên trái của chúng Nếu cặp nằm trên cùng một cột, thì chúng sẽ được thay thế bằng các chữ cái ngay phía trên của chúng Nếu cặp nằm trên cùng một hàng và cột, thì chúng sẽ được thay thế bằng các chữ cái ngay bên trái và phía trên.

4.2.An toàn của mã Playfair

- An toàn được nâng cao hơn so với bảng đơn, vì có tổng cộng 26 x 26 = 676 cặp Mỗi chữ có thể được mã bằng 7 khác nhau, nên tần suất các chữ trên bảng mã khác tần suất của các chữ cái trên văn bản tiếng Anh nói chung.

- Muốn sử dụng thống kê tần suất, cần phải có bảng tần suất của 676 cặp để thám mã ( so với 26 của mã bảng đơn) Như vậy phải xem xét nhiều trường hợp hơn và tương ứng sẽ có thể có nhiều bản mã hơn cần lựa chọn Do đó khó thám mã hơn mã trên bảng chữ đơn.

- Mã Playfair được sử dụng rộng rãi nhiều năm trong giới quân sự Mỹ và Anh trong chiến thanh thế giới thứ 1 Nó có thể bị bẻ khóa nếu cho trước vài trăm chữ, vì bản mã vẫn còn chứa nhiều cấu trúc củabản rõ.

4.3.Cách thức thực hiện

Để sử dụng hệ mật mã Playfair tổng quát, bạn có thể thực hiện các bước sau:

Bước 1: Tạo Bảng Playfair

Tạo một bảng Playfair với một khối văn bản chứa tất cả các chữ cái không trùng lặp.Bảng này có thể được tạo từ một từ khóa hoặc câu thông qua các bước sau:

1 Bỏ đi các chữ trùng lặp trong từ khóa hoặc câu.

2 Thêm các chữ còn thiếu của bảng chữ cái (J thường được loại bỏ và thay thế bằng I).

Bước 2: Chuẩn bị thông điệp

Chia thông điệp cần mã hóa thành các cặp chữ cái Nếu một cặp có chữ cái giống nhau, thêm một chữ cái phụ (thường là 'X') để tạo thành cặp khác nhau.

Bước 3: Mã hóa

Đối với mỗi cặp chữ cái: Nếu chúng nằm trong cùng một hàng của bảng, thay thế mỗi chữ cái bằng chữ cái bên phải của nó (vòng quay nếu nó ở cột cuối) Nếu chúng nằm trong cùng một cột, thay thế mỗi chữ cái bằng chữ cái dưới nó (vòng quay nếu nó ở hàng cuối) Nếu chúng nằm trong các hàng và cột khác nhau, thay thế chúng bằng hình chữ nhật có các đỉnh là chữ cái tạo thành cặp.

Bước 4: Giải mã

Đối với mỗi cặp chữ cái: Nếu chúng nằm trong cùng một hàng của bảng, thay thế mỗi chữ cái bằng chữ cái bên trái của nó (vòng quay nếu nó ở cột đầu) Nếu chúng nằm trong cùng một cột, thay

Trang 10

thế mỗi chữ cái bằng chữ cái trên nó (vòng quay nếu nó ở hàng đầu) Nếu chúng nằm trong các hàng vàcột khác nhau, thay thế chúng bằng hình chữ nhật có các đỉnh là chữ cái tạo thành cặp.

Lưu ý: Có thể cần thêm hoặc loại bỏ một số chữ cái trong thông điệp để đảm bảo rằng mỗi cặp

có thể được mã hóa Đối với giải mã, cũng có thể cần xử lý các chữ cái phụ ('X') được thêm vào.

Ví dụ:

Bảng Playfair:

K E Y W OR D A B CF G H I LM N P Q ST U V X Z

Thông điệp cần mã hóa: “ENDAKZS”

1 Chia thành các cặp chữ cái: EN, DA, KZ, SX2 Mã hóa: DE, BC, WO, MN

Do đó, “ENDAKZS” sau khi được mã hóa sẽ trở thành “DEBCWOMN”.

5 KHÁI NIỆM HỘP S VÀ HỘP P5.1.Khái niệm S-box

Trang 11

S-box, hay Substitute Box, là một thành phần quan trọng trong nhiều thuật toán mã hóa, đặc biệt là trong mô hình mã hóa đối xứng như DES (Data Encryption Standard) và AES (Advanced EncryptionStandard).S-box là một bảng thay thế (substitution table) được sử dụng để thay đổi giá trị của các phần tử đầu vào thành giá trị đầu ra tương ứng Trong ngữ cảnh của mã hóa, S-box được sử dụng để tạo sự phức tạp và phi tuyến tính trong quá trình mã hóa, làm tăng độ khó khăn của việc giải mã và làm cho thuật toán trở nên an toàn hơn Cụ thể, S-box thường được xây dựng dựa trên các hàm phi tuyến như hàm xấp xỉ (non-linear function) Mỗi giá trị đầu vào được ánh xạ một cách không tuyến tính đến một giá trị đầu ra Điều này giúp tăng cường tính phức tạp của quá trình mã hóa và làm cho mối quan hệ giữa đầu vào và đầu ra trở nên khó dự đoán S-box đóng vai trò quan trọng trong việc tăng cường tính an toàn của các thuật toán mã hóa và đặc biệt là trong việc chống lại các kỹ thuật tấn công phổ biến như tấn công phân tích dựa trên đặc điểm (differential cryptanalysis) và tấn công tìm kiếm mật khẩu (brute-force attacks).

5.2.Khái niệm P-box

P-box, hay Permutation Box, là một thành phần quan trọng trong các thuật toán mã hóa, đặc biệt là trong mô hình mã hóa đối xứng như DES (Data Encryption Standard) và các biến thể của nó.P-box được sử dụng để thực hiện hoán đổi vị trí (permutation) của các bit trong một khối dữ liệu Điều này thường được thực hiện sau một số vòng lặp của các phép thay thế (substitution) và các phép hoán đổi khác để tạo ra một cấu trúc phức tạp và phi tuyến tính trong quá trình mã hóa P-box giúp đảm bảo tính phi tuyến tính của hệ thống, làm tăng độ khó khăn của việc phân tích và giải mã Các bit được hoán đổi

Ngày đăng: 02/06/2024, 23:31

Tài liệu cùng người dùng

Tài liệu liên quan