Tải bản đầy đủ - 0 (trang)
Chương 4. CHƯƠNG TRÌNH MÃ HÓA BẰNG THUẬT TOÁN AES

Chương 4. CHƯƠNG TRÌNH MÃ HÓA BẰNG THUẬT TOÁN AES

Tải bản đầy đủ - 0trang

Chương 3: Thuật tốn mã hóa AES

Chương trình mã hóa:

Để lựa chọn chương trình mã hóa vào MenuCode:



Hình 4.2. Giao diện của chương trình mã hóa

Kiểu bản gốc (Kiểu khóa): Mục đích lựa chọn dạng của chuỗi bản gốc ta nhập

vào là ký tự hoặc hexa, mặc định chuỗi đưa vào là chuỗi ký tự.

Bản gốc (Khóa): Nhập vào văn bản cần mã hóa (khóa mã). Chuỗi ở đây có thể

là chuỗi ký tự hoặc chuỗi hexa.

Mã hóa: Nút bấm u cầu thực hiện q trình mã hóa bản mã nhập vào cùng

với khóa mã. Kết quả sẽ được hiển thị bên dưới, mặc định kết quả sẽ là một chuỗi

số hexa có độ dài 32 byte. Và thể hiện thời gian thực hiện u cầu mã hóa.

Chương trình giải mã:

Để lựa chọn chương trình mã hóa vào MenuDecode:



Chương 3: Thuật tốn mã hóa AES



Hình 4.3. Giao diện của chương trình giải mã

Quá trình giải mã thể hiện việc nhập vào chuỗi khóa và bản tin đã mã hóa

nhận được trong quá trình truyền từ nơi phát đến nơi thu. Thông qua nút bấm THU

BẢN MÃ ta coi như đã nhận đúng bản mã từ phía máy phát. Nút bấm GIẢI MÃ

thực hiện yêu cầu giải mã với khóa và bản mã nhận được. Kết quả của việc giải mã

sẽ được hiển thị ở hai dạng là chuỗi ký tự và chuỗi hexa. Thời gian giải mã được

mặc định là phút để thể hiện thời gian giải mã.

Chương trình tấn cơng:

Để lựa chọn chương trình mã hóa vào MenuAttack:



Hình 4.4. Giao diện của chương trình tấn cơng



Chương 3: Thuật tốn mã hóa AES

Chương trình tấn cơng nhằm thu được 1 hay 2 byte cuối của khóa mã. Ta giả

sử trong trường hợp đơn giản ta đã thu được bản gốc, bản mã, và 1 hoặc 2 byte cuối

của khóa mã. Nhiệm vụ của tab này thể hiện thời gian để tìm ra 1 hoặc 2 byte cuối

của khóa mã. Nút bấm THU BẢN MÃ và THU BẢN GỐC thể hiện việc kẻ tấn

công đã thu được đầy đủ hai bản tin trên. Ta lựa chọn số byte cần tấn công, mặc

định ta cần tấn công trên 1 byte. Nút bấm THU KHĨA sẽ thực hiện việc thu khóa

mã còn thiếu 1 hoặc 2 byte cuối. Thực hiện việc tấn công bằng nút bấm TẤN

CƠNG và sau khi tìm ra đúng khóa mã hệ thống sẽ dừng lại, thời gian tấn cơng

được thể hiện. Kết quả của khóa mã ban đầu được thể hiện ở hai dạng là chuỗi ký tự

và chuỗi hexa.



4.4 Mã hóa

4.4.1

hexa



Trường hợp bản gốc và khóa mã là chuỗi



 Lựa chọn bản gốc là chuỗi hexa có nội dung e0e1e2e3e4e5e6e7e8e9

 Lựa chọn khóa mã là chuỗi hexa có nội dung f0f1f2f3f4f5f6f7f8f9

 Click thực hiện mã hóa ta có kết quả như sau



Hình 4.5. Mã hóa với bản gốc và khóa mã là chuỗi hexa



Chương 3: Thuật tốn mã hóa AES

4.4.2

ký tự



Trường hợp bản gốc và khóa mã là chuỗi



 Lựa chọn bản gốc là chuỗi ký tự có nội dung DATN

 Lựa chọn khóa mã là chuỗi ký tự có nội dung AES

 Click thực hiện mã hóa ta có kết quả như sau



Hình 4.6. Mã hóa với bản gốc và khóa mã là chuỗi ký tự

4.4.3

khóa mã là chuỗi hexa



Trường hợp bản gốc là chuỗi ký tự và



 Lựa chọn bản gốc là chuỗi ký tự có nội dung DATN

 Lựa chọn khóa mã là chuỗi hexa có nội dung f0f1f2f3f4f5f6f7f8f9fafbfcfdfeff

 Click thực hiện mã hóa ta có kết quả như sau



Chương 3: Thuật tốn mã hóa AES



Hình 4.7. Mã hóa với bản gốc là chuỗi ký tự và khóa mã là chuỗi hexa

4.4.4

khóa mã là chuỗi ký tự



Trường hợp bản gốc là chuỗi hexa và



 Lựa chọn bản gốc là chuỗi hexa có nội dung f0f1f2f3f4f5f6f7f8f9

 Lựa chọn khóa mã là chuỗi ký tự có nội dung AES

 Click thực hiện mã hóa ta có kết quả như sau



Chương 3: Thuật tốn mã hóa AES

Hình 4.8. Mã hóa với bản gốc là chuỗi hexa và khóa mã là chuỗi ký tự

4.4.5



Nhận xét



Ta thực hiện việc mã hóa dữ liệu và khóa ở hai dạng chuỗi ký tự và chuỗi hexa

có độ dài khơng q 128 bit. Tuy nhiên, trong thực tế không phải các trường hợp dữ

liệu đều có độ dài bằng 128 bit, chương trình sẽ tự động kiểm tra độ dài của chuỗi và

thêm vào các bit mặc định trước nếu chuỗi nhập vào có độ dài bé hơn 128 bit.



4.5 Giải mã

Tương tự như việc thực hiện mã hóa, q trình giải mã ta phải lựa chọn kiểu

của khóa mã đầu vào, kết hợp với sử dụng nút bấm THU BẢN MÃ để có được

đúng bản mã mà bên phát đã mã hóa ra.

4.5.1



Giải mã với khóa mã là chuỗi hexa



 Ta chọn kiểu khóa mã là kí tự và nhập vào khóa mã có nội dung AES

 Giả sử bên phát truyền đi bản gốc là DATN

 Và bản mã sau khi thu được từ bên phát là chuỗi có nội dung

022b1b5737843128f132878227c65985

 Bấm nút GIẢI MÃ ta thu được kết quả như sau



Chương 3: Thuật tốn mã hóa AES



Hình 4.9. Giải mã với khóa mã là chuỗi kí tự

Như vậy ta thu được đúng bản gốc.

4.5.2



Giải mã với khóa mã là chuỗi hexa



 Chọn khóa mã là chuỗi ký tự có nội dung f0f1f2f3f4f5f6f7f8f9

 Giả sử biết bản tin phát là e0e1e2e3e4e5e6e7e8e9

 Và bản mã thu được từ bên phát có nội dung

3419fc8d98349a69703aa7a593943b58

 Bấm nút giải mã ta thu được kết quả như sau



Chương 3: Thuật tốn mã hóa AES



Hình 4.10. Giải mã với khóa mã là chuỗi ký tự

4.5.3



Nhận xét



Kết quả giải mã sẽ được hiển thị trên hai ô để đưa ra kết quả là chuỗi ký tự

hoặc chuỗi hexa.

Dựa vào hai kết quả đã mã hóa ta nhận thấy khi chiều dài chuỗi bé hơn 128 bit

thì chương trình đã thực hiện đúng như yêu cầu của chúng ta là thêm vào các bít

mặt định.



4.6 Tấn cơng bằng phương pháp Brute Force

Trong phần này ta sẽ mô phỏng một phương pháp tấn cơng lên thuật tốn mã

hóa AES với các thông số được giả thuyết như sau:

 Ta thu được kiểu và toàn bộ nội dung của bản tin gốc.

 Thu được tồn bộ bản tin mã hóa.

 Thu được kiểu và một phần của khóa mã (ta giả thiết là khóa mã bị mất 1

hoặc 2 byte cuối cùng).

4.6.1



Với khóa mã có độ dài nhỏ hơn 128 bit



Click THU BẢN GỐC để thu được được bản gốc có nội dung 1234567890abcdef



Chương 3: Thuật tốn mã hóa AES

Click THU BẢN MÃ ta thu được chuỗi hexa có độ dài 32 byte có nội dung như sau

6393cccaee5a3bd540df18ad8ff6a7f8.

Lựa chọn số byte tấn cơng để tìm khóa mã, ta chọn 1 byte. Click thu khóa ta sẽ thu

được bản tin khóa có nội dung ma hoa ae để tìm ra byte cuối cùng.

Click TẤN CƠNG để tìm ra byte cuối cùng của khóa mã



Hình 4.11. Tấn cơng với khóa mã là chuỗi ký tự

4.6.1.1



Nhận xét



Với các khóa mã có độ dài nhỏ hơn 128 bit việc tấn cơng để tìm 1 byte cuối trong

khoảng thời gian xấp xỉ với thời gian của một lần thực hiện việc mã hóa. Ta nhận thấy

rằng với một chuỗi có chiều dài nhỏ hơn 128 bit thì việc tấn cơng 2 byte với khóa mã là

chuỗi ký tự thì hệ thống sẽ kiểm tra chuỗi có giá trị 2 byte cuối bắt đầu từ 20 H trở đi.

Với chuỗi hexa thì 2 byte cuối của khóa mã kiểm tra ban đầu là 00H.

4.6.2

4.6.2.1



Khóa mã là chuỗi ký tự



Tấn cơng 1 byte



Với khóa mã có độ dài bằng 128 bit



Chương 3: Thuật tốn mã hóa AES



Hình 4.12. Tấn cơng 1 byte với khóa mã là chuỗi ký tự

Thứ tự các khóa mã được kiểm tra như sau

dai hoc bachkho`

dai hoc bachkhoa



Tấn công 2 byte



Chương 3: Thuật tốn mã hóa AES



Hình 4.13. Tấn cơng 2 byte với khóa mã là chuỗi ký tự

Thứ tự các khóa mã được kiểm tra như sau

dai hoc bachkho



dai hoc bachkho!



dai hoc bachkho "



dai hoc bachkho #



dai hoc bachkho$



dai hoc bachkho% dai hoc bachkho& dai hoc bachkho'



dai hoc bachkho(



dai hoc bachkho)



dai hoc bachkho*



dai hoc bachkho+



dai hoc bachkho,



dai hoc bachkho-



dai hoc bachkho.



dai hoc bachkho/



dai hoc bachkho0



dai hoc bachkho1



dai hoc bachkho2



dai hoc bachkho3



dai hoc bachkho4



dai hoc bachkho5



dai hoc bachkho6



dai hoc bachkho7



dai hoc bachkho8



dai hoc bachkho9



dai hoc bachkho:



dai hoc bachkho;



dai hoc bachkho<



dai hoc bachkho=



dai hoc bachkho>



dai hoc bachkho?



dai hoc bachkho@ dai hoc bachkhoA dai hoc bachkhoB



dai hoc bachkhoC



dai hoc bachkhoD



dai hoc bachkhoE



dai hoc bachkhoF



dai hoc bachkhoG



dai hoc bachkhoH dai hoc bachkhoI



dai hoc bachkhoJ



dai hoc bachkhoK



dai hoc bachkhoL



dai hoc bachkhoM dai hoc bachkhoN



dai hoc bachkhoO



dai hoc bachkhoP



dai hoc bachkhoQ dai hoc bachkhoR



dai hoc bachkhoS



dai hoc bachkhoT



dai hoc bachkhoU dai hoc bachkhoV



dai hoc bachkhoW



dai hoc bachkhoX



dai hoc bachkhoY dai hoc bachkhoZ



dai hoc bachkho[



Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Chương 4. CHƯƠNG TRÌNH MÃ HÓA BẰNG THUẬT TOÁN AES

Tải bản đầy đủ ngay(0 tr)

×