Advanced Encryption Standard boonrit@feu.ac.th
The AES Cipher คุณสมบัติ การ attacks ทำได้ยาก ความเร็วในการเข้ารหัสและถอดรหัส ความง่ายในการพัฒนาเป็นการกระทำการแบบ byte
AES Parameters
AES Encryption and Decryption
AES Data Structures
Substitute Bytes Transformation การเปลี่ยนข้อมูลแบบbyte โดยวิธีการใช้ S-box
Substitute Bytes Transformation ตาราง S-box
Substitute Bytes Transformation ตาราง Inverse S-box
Substitute Bytes Transformation
ShiftRows Transformation ทำการเลือนข้อมูลแบบ byte ในตาราง
ShiftRows Transformation
MixColumns Transformation เป็นการคูณ Matrix กับค่าคงที่
MixColumns Transformation Equation . multiplication over the finite field GF(256) XOR
MixColumns Transformation ({02}{87})({03} {6E}) {46} {A6} ={47} {87}({02} {6E}) ({03} {46}) {A6} ={37} {87}{6E} ({02} {46}) ({03} {A6}) ={94} ({03}{87}){6E} {46} ({02} {A6}) ={ED}
เช่น Finite Field Mutiplication จะทำการแทนค่า binary ด้วย สมการ Polynomial b7 b6 b5 b4 b3 b2 b1 b0 แทนด้วย b7x7+ b6x6+ b5x5+ b4x4+ b3x3+ b2x2+ b1x1+ b0x0 เช่น 01010111 x6+ x4 + x2 +X+1
Finite Field Mutiplication ในรูปแบบของ GF(256) f(x) g(x) mod m(x)=y(x) f(x),g(x) เป็นสมการ Polynomial m(x)= x8+ x4 + x3 +X+1
Finite Field Mutiplication ({02}{87})={15} แปลง เป็น สมการ Polynomial 02 X 87=10000111 x7+ x2 +X+1 f(x)=X g(x)= x7+ x2 +X+1
y(x)=f(x) g(x) mod m(x) f(x) g(x)=(X)*(x7+ x2 +X+1 ) f(x) g(x)= x8+ x3 + x2 +X (x8+ x3 + x2 +X) mod x8+ x4 + x3 +X+1 =x4 +x2+1 00010101=15H
inverse mix column transformation
inverse mix column transformation
AddRoundKey Transformation เป็นการเอาข้อมูลมา XOR กับ key 47 xor AC=EB
AES Key Expansion