Giới thiệu về Hệ Mật Đối Xứng
Hệ mật đối xứng là một trong hai loại mã hóa cơ bản trong mật mã học, nơi cả quá trình mã hóa (Encryption) và giải mã (Decryption) đều sử dụng chung một khóa. Trong bài viết này, chúng ta sẽ tìm hiểu chi tiết về hệ mật đối xứng và thuật toán mã hóa nổi bật - AES.
Mã Hóa Đối Xứng
Trong mã hóa đối xứng, dữ liệu được mã hóa và giải mã bằng cách sử dụng một mã duy nhất. Ví dụ minh họa dễ hiểu là thuật toán Caesar, trong đó nếu khóa được chọn là 3, ta sẽ chuyển dịch từng ký tự sang phải 3 đơn vị trong quá trình mã hóa và ngược lại cho quá trình giải mã.
Mã hóa đối xứng có thể được chia thành hai nhóm loại:
- Thuật toán mã hóa theo khối (Block ciphers): nơi dữ liệu được chia thành các khối bit và mã hóa từng khối một.
- Thuật toán mã hóa theo dòng (Stream ciphers): nơi dữ liệu được mã hóa từng bit một.
Thuật Toán Mã Hóa AES
Giới thiệu về AES
AES (Advanced Encryption Standard) là một trong những thuật toán mã hóa khối phổ biến nhất, cho phép khóa có độ dài 128, 192 hoặc 256 bits. Dữ liệu đầu vào của AES được chia thành các khối 128 bits. Quá trình mã hóa và giải mã trong AES bao gồm một chuỗi các vòng lặp, mỗi vòng được gọi là Encryption Round.
Cấu Trúc Quá Trình Mã Hóa
Trong quá trình mã hóa, ta lặp lại một số thao tác nhất định với dữ liệu để tạo ra văn bản được mã hóa (Cipher text). Quá trình giải mã được thực hiện theo hướng ngược lại để thu được văn bản gốc (Plain text).
Các Thành Phần Của AES-128
Dưới đây là các bước trong quá trình xử lý dữ liệu của AES-128:
- SubBytes(): Thay thế các byte trong mảng trạng thái bằng cách sử dụng bảng S-box.
- ShiftRows(): Dịch các hàng của mảng trạng thái sang trái một số lần xác định.
- MixColumns(): Thao tác trên các cột của mảng trạng thái để tạo tính bảo mật cao hơn.
- AddRoundKey(): Kết hợp mảng trạng thái với khóa vòng (Round Key) bằng phép XOR.
Khóa Vòng (Round Key)
Khóa vòng trong AES được tạo ra thông qua quá trình mở rộng khóa, mà trong đó khóa gốc được tách thành nhiều khóa nhỏ hơn để sử dụng trong các vòng mã hóa khác nhau.
Kết Luận
Hệ mật đối xứng là một công cụ hữu ích trong việc bảo mật thông tin. Thấu hiểu nguyên lý hoạt động của thuật toán mã hóa như AES sẽ giúp chúng ta áp dụng đúng cách trong việc bảo vệ dữ liệu. Bài viết tiếp theo sẽ đề cập đến hệ mật bất đối xứng, một phần quan trọng khác trong mật mã học.
source: viblo