0Pricing
Cryptology Academy · บทเรียน

โครงสร้าง AES: รอบและเมทริกซ์สถานะ

เรียนรู้ SubBytes, ShiftRows, MixColumns และ AddRoundKey ทีละขั้น

โครงสร้าง AES: รอบและเมทริกซ์สถานะ เป็นบทเรียน Cryptology Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Cryptology Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Cryptology Academy มีบทเรียนทั้งหมด 4 บทเรียน

ยินดีต้อนรับ

AES เป็นเครือข่ายการแทนที่และการสับเปลี่ยนที่ทำงานกับเมทริกซ์ไบต์ขนาด 4×4 ซึ่งเรียกว่าสถานะ แต่ละรอบใช้การดำเนินการสี่อย่างเพื่อแปลงสถานะ

เมทริกซ์สถานะ

AES โหลดข้อความต้นฉบับขนาด 16 ไบต์ลงในตารางขนาด 4×4 ที่เรียกว่าสถานะ: [b0 b4 b8 b12] [b1 b5 b9 b13] [b2 b6 b10 b14] [b3 b7 b11 b15] การดำเนินการทั้งหมดจะแปลงเมทริกซ์นี้

จำนวนรอบ

AES-128: 10 รอบ AES-192: 12 รอบ AES-256: 14 รอบ แต่ละรอบใช้ SubBytes, ShiftRows, MixColumns และ AddRoundKey (ยกเว้นรอบสุดท้ายที่ข้าม MixColumns)

SubBytes: การแทนที่แบบไม่เชิงเส้น

SubBytes แทนที่ไบต์แต่ละไบต์ด้วยค่าที่อยู่ในกล่อง S ของ AES ซึ่งเป็นตารางค้นหาคงที่ขนาด 256 รายการที่สร้างโดยใช้การหาอินเวอร์สใน GF(2^8) ขั้นตอนนี้เป็นแหล่งกำเนิดความไม่เป็นเชิงเส้นและความกำกวมของ AES

กล่อง S ของ AES

กล่อง S จับคู่ 0x00→0x63, 0x01→0x7C, ... ไบต์นำเข้าแต่ละค่าจะถูกจับคู่กับไบต์ส่งออกที่ไม่ซ้ำกัน กล่อง S ผกผันจะจับคู่ย้อนกลับสำหรับการถอดรหัส ไม่มีไบต์ใดจับคู่กับตัวเอง (0x63 จับคู่กับ 0x00 ในกล่อง S ผกผัน)

ShiftRows: การสับเปลี่ยนแถว

ShiftRows เลื่อนแต่ละแถวของสถานะแบบวนรอบ: แถว 0: ไม่เลื่อน แถว 1: เลื่อนไปทางซ้าย 1 ตำแหน่ง แถว 2: เลื่อนไปทางซ้าย 2 ตำแหน่ง แถว 3: เลื่อนไปทางซ้าย 3 ตำแหน่ง ขั้นตอนนี้กระจายไบต์ไปยังคอลัมน์ต่าง ๆ เพื่อใช้ในขั้น MixColumns ถัดไป

MixColumns: การแพร่กระจายในคอลัมน์

MixColumns มองแต่ละคอลัมน์ขนาด 4 ไบต์เป็นพหุนามเหนือ GF(2^8) แล้วคูณด้วยเมทริกซ์คงที่ ไบต์ส่งออกทุกไบต์จึงขึ้นอยู่กับไบต์นำเข้าทั้ง 4 ไบต์ ทำให้เกิดการแพร่กระจาย

AddRoundKey

AddRoundKey ใช้ XOR ระหว่างสถานะกับกุญแจรอบขนาด 16 ไบต์ที่สร้างจากกุญแจต้นฉบับ ขั้นตอนนี้เป็นขั้นตอนเดียวที่ใช้กุญแจลับ และเป็นขั้นตอนเดียวที่ให้ความลับ

โครงสร้างรอบ

เริ่มต้น: AddRoundKey รอบ 1..N-1: SubBytes → ShiftRows → MixColumns → AddRoundKey รอบสุดท้าย: SubBytes → ShiftRows → AddRoundKey (ไม่มี MixColumns) การถอดรหัสใช้การดำเนินการผกผันในลำดับย้อนกลับ

กลยุทธ์ Wide-Trail

ผู้ออกแบบ AES ใช้กลยุทธ์ Wide-Trail เพื่อพิสูจน์ความต้านทานต่อการวิเคราะห์การเข้ารหัสแบบความแตกต่างและแบบเชิงเส้น หลังจาก 4 รอบ การโจมตีใด ๆ จะต้องตรวจสอบความเป็นไปได้ 2^128 ค่า

การรองรับ AES ในฮาร์ดแวร์

CPU รุ่นใหม่ (Intel, AMD, ARM) มีคำสั่ง AES-NI ได้แก่ AESENC, AESENCLAST และ AESDEC คำสั่ง CPU หนึ่งคำสั่งทำงานได้หนึ่งรอบของ AES ทำให้ AES ทำงานได้เร็วมากบนฮาร์ดแวร์

ตรวจสอบอย่างรวดเร็ว

การดำเนินการใดของ AES ที่ให้ความไม่เป็นเชิงเส้น (ความกำกวม) ซึ่งป้องกันการโจมตีเชิงพีชคณิต

สรุปทบทวน

คุณเข้าใจโครงสร้าง AES แล้ว! ต่อไปเราจะศึกษาการขยายกุญแจ ซึ่งเป็นวิธีเปลี่ยนกุญแจขนาด 128 บิตให้เป็นกุญแจรอบ 11 ชุด

คำถามที่พบบ่อย

บทเรียน “โครงสร้าง AES: รอบและเมทริกซ์สถานะ” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “โครงสร้าง AES: รอบและเมทริกซ์สถานะ” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Cryptology Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Cryptology Academy มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “โครงสร้าง AES: รอบและเมทริกซ์สถานะ”

เรียนรู้ SubBytes, ShiftRows, MixColumns และ AddRoundKey ทีละขั้น คุณปฏิบัติ Cryptology Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Cryptology Academy หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน Cryptology Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน

บทเรียน “โครงสร้าง AES: รอบและเมทริกซ์สถานะ” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน Cryptology Academy นี้ได้ไหม

ได้ บทเรียน Cryptology Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. แนวคิดการเข้ารหัสแบบสมมาตร
  2. โครงสร้าง AES: รอบและเมทริกซ์สถานะ
  3. การขยายคีย์ AES และขนาดคีย์
  4. การเข้ารหัสไฟล์ด้วย AES ในทางปฏิบัติ
← กลับไปที่ Cryptology Academy