Mã hóa khối và AES
Mã hóa khối mã hóa các khối dữ liệu có kích thước cố định dưới một khóa bí mật; Tiêu chuẩn Mã hóa Nâng cao (AES) là mã hóa khối hiện đại chiếm ưu thế và là nền tảng của hầu hết các mã hóa đối xứng được triển khai.
Definition
Mã hóa khối là một hàm có khóa, khả nghịch, ánh xạ một khối bit văn bản gốc có độ dài cố định sang một khối bit văn bản mã hóa có cùng độ dài; AES là mã hóa khối được tiêu chuẩn hóa hoạt động trên các khối 128 bit với các khóa 128-, 192- hoặc 256-bit.
Scope
Chủ đề này bao gồm cấu trúc và bảo mật của mã hóa khối, bao gồm mạng thay thế-hoán vị và cấu trúc Feistel, đặc biệt là thuật toán AES, và các chế độ hoạt động (như CBC, CTR và GCM) biến một nguyên thủy khối cố định thành một sơ đồ cho các thông điệp có độ dài tùy ý. Nó đề cập đến các cuộc tấn công phân tích mật mã (phân tích mật mã vi phân và tuyến tính) và khái niệm về mã hóa khối như một hoán vị giả ngẫu nhiên. Nó không bao gồm mã hóa dòng và các hàm băm không khóa, được xử lý riêng.
Core questions
- Làm thế nào để xây dựng một hoán vị an toàn trên một khối lớn từ các phép toán vòng đơn giản, có thể phân tích được?
- Tại sao AES được cấu trúc như một mạng thay thế-hoán vị thay vì một mạng Feistel?
- Các chế độ hoạt động mở rộng mã hóa khối cho các thông điệp có độ dài tùy ý một cách an toàn như thế nào?
- Phân tích mật mã vi phân và tuyến tính tiết lộ điều gì về khả năng chống tấn công của một mật mã?
- Mô hình hóa mã hóa khối như một hoán vị giả ngẫu nhiên có ý nghĩa gì?
Key concepts
- kích thước khối và kích thước khóa
- mạng thay thế-hoán vị
- mạng Feistel
- S-box
- các vòng và lịch trình khóa
- các chế độ hoạt động (ECB, CBC, CTR, GCM)
- phân tích mật mã vi phân và tuyến tính
- hoán vị giả ngẫu nhiên
Key theories
- Mạng thay thế-hoán vị
- AES lặp lại các vòng kết hợp một phép thay thế byte phi tuyến (SubBytes), trộn tuyến tính (ShiftRows, MixColumns) và thêm khóa; việc xen kẽ thay thế và hoán vị thực hiện các mục tiêu nhiễu loạn và khuếch tán của Shannon với khả năng chống lại các cuộc tấn công vi phân và tuyến tính có thể chứng minh được.
- Các chế độ hoạt động
- Chỉ riêng mã hóa khối chỉ mã hóa một khối; các chế độ như CBC, CTR và GCM được xác thực chỉ định cách xâu chuỗi hoặc đếm các khối để các thông điệp dài được mã hóa an toàn và, trong các chế độ được xác thực, với tính toàn vẹn.
Mechanisms
AES xử lý một khối 128 bit được sắp xếp dưới dạng ma trận byte 4x4 thông qua 10, 12 hoặc 14 vòng (đối với khóa 128-, 192-, 256-bit). Mỗi vòng áp dụng SubBytes (một S-box phi tuyến cố định), ShiftRows (một hoán vị byte), MixColumns (một biến đổi tuyến tính trên một trường hữu hạn) và AddRoundKey (XOR với một khóa vòng từ lịch trình khóa). Sự kết hợp này cung cấp sự khuếch tán mạnh mẽ trong vài vòng và khả năng chống lại các phân tích mật mã đã biết.
Clinical relevance
AES phổ biến trong các hệ thống được triển khai: nó bảo mật dữ liệu lớn của lưu lượng web được bảo vệ bằng TLS, mã hóa toàn bộ đĩa (BitLocker, FileVault, LUKS), Wi-Fi (WPA2/WPA3), VPN và nhắn tin được mã hóa. Các lệnh AES phần cứng (AES-NI) làm cho nó đủ nhanh để mã hóa các liên kết thông lượng cao một cách minh bạch.
Evidence & guidelines
AES được quy định trong NIST FIPS 197 và được chấp thuận để bảo vệ thông tin mật đến mức TOP SECRET (với khóa 192- hoặc 256-bit) theo Bộ thuật toán an ninh quốc gia thương mại của NSA. Các chế độ mã hóa khối được tiêu chuẩn hóa trong loạt NIST SP 800-38. DES cũ hơn đã bị loại bỏ; AES-GCM và AES-CCM là các chế độ xác thực được khuyến nghị.
History
Sau khi DES (1977) trở nên quá yếu do khóa 56 bit của nó, NIST đã tổ chức một cuộc thi quốc tế mở (1997-2000) để chọn một người kế nhiệm. Mười lăm ứng cử viên đã được phân tích mật mã công khai; thiết kế Rijndael của các nhà mật mã học người Bỉ Joan Daemen và Vincent Rijmen đã được chọn và tiêu chuẩn hóa thành AES trong FIPS 197 (2001). Phân tích mật mã vi phân (Biham và Shamir) và phân tích mật mã tuyến tính (Matsui), được phát triển chống lại DES, đã định hình các tiêu chí thiết kế cho AES.
Key figures
- Joan Daemen
- Vincent Rijmen
- Horst Feistel
- Eli Biham
- Adi Shamir
- Mitsuru Matsui
Related topics
Seminal works
- daemen2002
- nist2001aes
- katz2020
Frequently asked questions
- Tại sao nên tránh chế độ ECB?
- Trong chế độ Sổ mã điện tử (ECB), các khối văn bản gốc giống hệt nhau được mã hóa thành các khối văn bản mã hóa giống hệt nhau, làm lộ cấu trúc trong dữ liệu (nổi tiếng khi mã hóa một hình ảnh). Các chế độ an toàn như CTR, CBC hoặc GCM sử dụng một vectơ khởi tạo hoặc bộ đếm để che giấu sự lặp lại.
- AES-256 có an toàn hơn đáng kể so với AES-128 không?
- Cả hai đều được coi là an toàn chống lại các cuộc tấn công cổ điển; AES-128 đã vượt quá bất kỳ tìm kiếm vét cạn khả thi nào. AES-256 cung cấp một biên độ an toàn lớn hơn và được ưu tiên cho tính bảo mật dài hạn và phòng ngừa hậu lượng tử, vì thuật toán của Grover chỉ giảm một nửa độ dài khóa hiệu quả.