AES (Advance Encryption Standard)
AES (Advanced Encryption Standard) เป็นการเข้ารหัสที่พัฒนาขึ้นมาเพื่อใช้ทดแทน DES หลังจากที่ DES ถูกเบรกได้โครงการพัฒนา AES ได้เริ่มต้นเมื่อปี 1997 โดย NIST หลังจากนั้น (ในปี 1998) NIST ก็ให้นักวิทยาการรหัสสลับทั่วโลกส่งอัลกอริทึมเข้ามาเพื่อคัดเลือกโดยกำหนดให้ 128 บิต เป็นมาตรฐานของ AE$ ซึ่งอัลกอริทึมต่างๆ ถูกคัดเลือกเข้ามาทั้งสิ้น 15 อัลกอริทึม และมีอยู่ 5 อัลกอริทึมที่ผ่านเข้ารอบชิงจนผลสุดท้ายอัลกอริทึมของ Rijndeal ได้รับการตัดสินให้ชนะเพราะเร็วกว่าและใช้อัลกอริทึมที่ธรรมดากว่า แต่ได้ความปลอดภัยเท่ากัน จากนั้นจึงได้กลายเป็น RFC 3826 เมือปี 2004 ข้อกำหนดในมาตรฐานล่าสุดอนุญาตให้ใช้ AES เข้ารหัสข้อมูลโดยใช้ Key ที่มีขนาดต่างๆ ได้แก่ 128 บิต, 192 บิต, และ 256 บิต
วงรอบการทำงาน AES แบ่งเป็น 3 ส่วนหลักๆ ได้แก่ Initial Round, และ Final Round และในแต่ละส่วนก็มีการบวนการย่อยต่างๆ ดังนี้
1. Initial Round
· AddroundKey
2. Rounds
· SubBytes : เป็น non-linear substitution ซึ่งแต่ละไบต์จะถูกแทนที่ด้วยไบต์ที่ได้จาก lookup table (รูปที่ 7)
· ShiftRows : เป็นการเลื่อนไบต์ในแต่ละแถว ซึ่งจะทำเฉพาะแถวที่ 2, 3 และ 4
· MixColumns : เป็นการผสมรวม 4 ไบต์ภายในคอลัมน์
· AddRoundKey เป็นการนำ Cipher Text และ Key (ที่มาจาก key schedule) ผสมรวม กลาย เป็น Cipher Text ใหม่
3. Final Round (no MixColumns)
· SubBytes
· ShiftRows
· AddRoundKey
การทำงานของ AES Encryption (กด enter ในกรอบเพื่อดูการทำงาน)