AES (Advanced Encryption Standard)
มาตรฐานการเข้ารหัสปัจจุบัน (FIPS 197, 2001) พัฒนาโดย Joan Daemen & Vincent Rijmen (Rijndael) แทนที่ DES
คุณสมบัติหลัก
| คุณสมบัติ | ค่า |
|---|---|
| Block Size | 128 บิต (16 ไบต์) |
| Key Size | 128, 192, 256 บิต |
| Rounds | 10, 12, 14 (ขึ้นกับขนาดกุญแจ) |
| Structure | Substitution-Permutation Network (SPN) ไม่ใช่ Feistel |
| Operations | SubBytes, ShiftRows, MixColumns, AddRoundKey (ทั้งหมดใน GF(2⁸)) |
โครงสร้างรอบ (Round Structure)
แต่ละรอบ (ยกเว้นรอบสุดท้าย) มี 4 ขั้นตอน:
- SubBytes: S-box 16×16 แทนที่ไบต์แต่ละตัว (Non-linear, Confusion)
- ShiftRows: เลื่อนแถวของ State Matrix (Permutation, Diffusion)
- MixColumns: คูณเมทริกซ์ใน GF(2⁸) ผสมคอลัมน์ (Diffusion)
- AddRoundKey: XOR กับ Round Key (Key-dependent)
รอบสุดท้าย: ไม่มี MixColumns
เริ่มต้น: AddRoundKey (Pre-round) → 9/11/13 รอบเต็ม → รอบสุดท้าย
Key Expansion
- กุญแจ 128/192/256 บิต → ขยายเป็น 44/52/60 Words (32 บิต/Word)
- ใช้ RotWord, SubWord, Rcon (Round Constants)
- ทน Related-Key Attacks ดีกว่า DES/Blowfish
การถอดรหัส (Decryption)
- ใช้ Inverse Operations: InvSubBytes, InvShiftRows, InvMixColumns, AddRoundKey
- ลำดับ Round Keys ย้อนกลับ
- สามารถทำ Equivalent Inverse Cipher ได้ (ลำดับขั้นตอนเหมือนเข้ารหัส แต่ Round Keys แปลงแล้ว)