Tải bản đầy đủ (.docx) (15 trang)

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

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (444.73 KB, 15 trang )

<span class="text_page_counter">Trang 1</span><div class="page_container" data-page="1">

<b>TRƯỜNG ĐẠI HỌC MỎ - ĐỊA CHẤTKHOA CƠNG NGHỆ THƠNG TIN</b>

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

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

<b>Sinh viên thực hiện:</b>

<b>Mã lớp học phần:</b>

<b>ThS. Đào Anh Thư</b>

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

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

</div><span class="text_page_counter">Trang 2</span><div class="page_container" data-page="2">

<b>3. ỨNG DỤNG CỦA MÃ HĨA KHỐI...6</b>

<b>3.1. Mã hóa dữ liệu truyền trên internet...6</b>

<b>3.2. Bảo mật lưu trữ các thơng tin mật...7</b>

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

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

<b>5.1.Khái niệm S-box...10</b>

<b>5.2. Khái niệm P-box...11</b>

<b>6. CHUẨN MÃ AES...12</b>

<b>6.1.Khái niệm...12</b>

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

<b>6.3.Ưu điểm của AES...14</b>

<b>6.4.Ứng dụng của AES...14</b>

<b>KẾT LUẬN...15</b>

<b>TÀI LIỆU THAM KHẢO...15</b>

</div><span class="text_page_counter">Trang 3</span><div class="page_container" data-page="3">

<b>PHÂN CƠNG CƠNG VIỆC</b>

<b>TÌM HIỂU VỀ MÃ HĨA KHỐI</b>

<b>1. KHÁI NIỆM MÃ HÓA KHỐI</b>

<b>1.1. Lịch sử phát triển</b>

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 tố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 tố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 tố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 tồn hơn DES. Một trong những thuật tố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 tồn hơn nhiều so với DES.

Các thuật tố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 tồ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:

</div><span class="text_page_counter">Trang 4</span><div class="page_container" data-page="4">

- Những năm 1970: DES được phát triển và trở thành thuật tố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 tốn mã hóakhối mới, có độ dài khóa lớn hơn và an tồ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.

<b>1.2. Khái niệm mã hóa khối</b>

Trong mật mã, mật mã khối là một thuật tố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.…

<b>1.3.Ngun lý hoạt động</b>

DES (Data Encryption Standard) là một thuật tố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

</div><span class="text_page_counter">Trang 5</span><div class="page_container" data-page="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 tốn mã hóa khóa đối xứng, nghĩa là q 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à hốn vị: Đây là hai quy trình mà Ciphertext phải trải qua trong q 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.

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

<b>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, </b>

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

<b>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.</b>

<b>An tồ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 </b>

thuật tố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 tồn của chúng.

<b>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</b>

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.

<b>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 </b>

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.

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

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.

<b>2.2. Nhược điểm</b>

<b>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 </b>

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.

</div><span class="text_page_counter">Trang 6</span><div class="page_container" data-page="6">

<b>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 tốn đã được </b>

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.

<b>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 </b>

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

<b>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 </b>

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.

<b>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ó </b>

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 đó.

<b>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 tốn mã hóa khối đã bị </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.

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

Mã hoá dữ liệu truyền trên internet là q 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 q trình này là bảo vệ tính tồ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ã hố 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.

</div><span class="text_page_counter">Trang 7</span><div class="page_container" data-page="7">

<b>3.2. Bảo mật lưu trữ các thông tin mật</b>

Bảo mật thông tin là hoạt động duy trì tính bảo mật, tính vẹn tồ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 tồ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. Ngồi những điều ấy ra, tính tồ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.

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

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.

</div><span class="text_page_counter">Trang 8</span><div class="page_container" data-page="8">

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

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 tồ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.

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

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 tồ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 q 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

</div><span class="text_page_counter">Trang 9</span><div class="page_container" data-page="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.

<b>4.2.An tồn của mã Playfair</b>

- An tồ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õ.

<b>4.3.Cách thức thực hiện</b>

Để 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> Bước 1: Tạo Bảng Playfair</b>

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> Bước 2: Chuẩn bị thông điệp</b>

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>Bước 3: Mã hóa</b>

Đố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>Bước 4: Giải mã</b>

Đố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

</div><span class="text_page_counter">Trang 10</span><div class="page_container" data-page="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.

<b>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 </b>

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.

<b>Ví dụ:</b>

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”.

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

</div><span class="text_page_counter">Trang 11</span><div class="page_container" data-page="11">

S-box, hay Substitute Box, là một thành phần quan trọng trong nhiều thuật tố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 q 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 tốn trở nên an tồ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 q 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ự đốn. S-box đóng vai trị quan trọng trong việc tăng cường tính an tồn của các thuật tố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).

<b>5.2.Khái niệm P-box</b>

P-box, hay Permutation Box, là một thành phần quan trọng trong các thuật tố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 hố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 q 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

</div>

×