AES ทำการเข้ารหัสโดยการนำ plantext มาประมวลผลทีละ 128 bits และใช้ key แบบเลือกได้คือ 128/192/256 bit keys และยังสามารถเลือก ลอบในการวนซ้ำได้อีกด้วย แบ่งเป็น 9/11/13 ลอบ
AES จะทำการแบ่ง (plantext)data เป็น block ซึ่ง 1 block จะมีรูปแบบเป็น matrix 4x4 หรือ 16 ช่อง โดยที่ 1 ช่องจะมีขนาด 1 byte(8 bit), 1 แถวมีขนาด 4 byte(32bit), 1 block มีขนาด 16 byte(128bit) ส่วน key จะทำการแปลงให้อยู่ในรูป matrix เช่นเดียวกัน
การทำงานของ AES
1. Input plantext data block (state)
2. AddRoundKey โดยทำการสุ่มเลือก key มาทำการ XOR กับ state
3. Rounds (เริ่มการคำณวนแต่ละลอบ) จนครบกำหนดลอบ
3.1 byte substitution (การแทนที่ข้อมูล byte)
3.2 shift row (การเลื่อนแถว matrix)
3.3 mix columns (การคูณ matrix ทีละ คอลัมน์)
3.4 add round key (นำ data มาผสม key ด้วยการ XOR)
4. Final Round (no MixColumns)
4.1 byte substitution (การแทนที่ข้อมูล byte)
4.2 shift row (การเลื่อนแถว matrix)
4.4 add round key (นำ data มาผสม key ด้วยการ XOR)
5. Output ciphertext data block
Byte substitution (การแทนที่ข้อมูล byte)
AES จะทำการสร้าง ตารางขนาด 16x16 bytes ขึ้นมาเพื่อทำการแทนที่ bit data (00000000-11111111) โดยวิธีการแทนค่า จะนำ 1 byte ของแต่ละ state มาเป็นตัวระบุ index ของตาราง ซึ่งจะแบ่งครึ่ง 1 byte(8bits) โดยที่ 4bits ทางซ้ายระบุ row และ 4bits ทางขวาระบุ คอลัมน์
เพิ่มเติม
http://en.wikipedia.org/wiki/Substitution_box
http://en.wikipedia.org/wiki/Rijndael_S-box
Shift row (การเลื่อนแถว matrix)
มี 4 ขั้นตอน
state row ที่ 1 จะไม่ทำการเลื่อน
state row ที่ 2 เลื่อนไปทาง ซ้าย 1 byte (1 ตำแหน่ง)
state row ที่ 3 เลื่อนไปทาง ซ้าย 2 byte (2 ตำแหน่ง)
state row ที่ 4 เลื่อนไปทาง ซ้าย 3 byte (3 ตำแหน่ง)
Mix Columns (การคูณ matrix ทีละ คอลัมน์)
AES จะสร้าง matrix ที่มีค่าจำนวนเฉพาะขึ้นมา โดยใช้ ฟังก์ชั่น GF() และนำเอา matrix ที่สร้างขึ้นมาคูณ matrix กับ state
เพิ่มเติม
http://en.wikipedia.org/wiki/Rijndael_mix_columns
Add round key
ทำการสุ่มเลือก key โดยวิธี key schedule มาทำการ XOR กับ state
**key schedule คือขบวนการการสุ่มเลือก key หรือ gen sub key (ผู้เขียนเข้าใจว่างอย่างนั้น อะนะ)
เนื้อหา และภาพประกอบจาก
http://en.wikipedia.org/wiki/Advanced_Encryption_Standard
http://kubieziel.de/blog/archives/937-Wie-AES-funktioniert.html
Heavensaber Blog: Advanced Encryption Standard (Aes) >>>>> Download Now
ReplyDelete>>>>> Download Full
Heavensaber Blog: Advanced Encryption Standard (Aes) >>>>> Download LINK
>>>>> Download Now
Heavensaber Blog: Advanced Encryption Standard (Aes) >>>>> Download Full
>>>>> Download LINK hi