Chƣơng trình có giao diện nhƣ bên dƣới:
Chương 4: Chương trình mã hóa bằng thuật toán AES
Đồ án tốt nghiệp Trang 57
Chương trình mã hóa:
Để lựa chọn chƣơng trình mã hóa vào MenuCode:
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 yêu cầu thực hiện quá 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 yêu cầu mã hóa.
Chương trình giải mã:
Chương 4: Chương trình mô phỏng thuật toán mã hóa AES
Đồ án tốt nghiệp Trang 58
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 MenuAttack:
Chương 4: Chương trình mã hóa bằng thuật toán AES
Đồ án tốt nghiệp Trang 59
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.