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

การขยายคีย์ AES และขนาดคีย์

สำรวจคีย์ขนาด 128, 192 และ 256 บิต รวมถึงกระบวนการจัดตารางคีย์

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

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

AES ขยายกุญแจสั้นให้เป็นกุญแจรอบหลายชุดผ่านตารางขยายกุญแจ การเข้าใจเรื่องนี้มีความสำคัญต่อการทำความเข้าใจว่ากุญแจแทรกซึมไปในทุกรอบได้อย่างไร

เหตุใดจึงต้องขยายกุญแจ

AES-128 มี 10 รอบ รวมกับ AddRoundKey เริ่มต้น จึงต้องใช้กุญแจรอบ 11 ชุด × 16 ไบต์ = 176 ไบต์ทั้งหมด ตารางขยายกุญแจจะขยายกุญแจหลักขนาด 16 ไบต์ให้เป็นข้อมูลกุญแจทั้งหมดนี้

คำข้อมูลในตารางกุญแจ

ตารางกุญแจทำงานกับคำข้อมูลขนาด 4 ไบต์ AES-128 เริ่มต้นด้วยคำข้อมูล 4 คำ (W[0..3]) จากกุญแจต้นฉบับ จากนั้นสร้าง W[4..43] ทำให้ได้คำข้อมูล 44 คำ = 176 ไบต์ = กุญแจรอบขนาด 128 บิตจำนวน 11 ชุด

SubWord

SubWord ใช้กล่อง S ของ AES กับไบต์ทั้ง 4 ไบต์ในคำข้อมูลทีละไบต์ ขั้นตอนนี้ทำให้การขยายกุญแจมีความไม่เป็นเชิงเส้น และป้องกันการโจมตีด้วยกุญแจที่เกี่ยวข้อง

RotWord

RotWord เลื่อนคำข้อมูลขนาด 4 ไบต์ไปทางซ้ายแบบวนรอบ: [a, b, c, d] → [b, c, d, a] ขั้นตอนนี้ทำให้คำข้อมูลขนาด 32 บิตเดียวกันไม่เกิดซ้ำในการขยายกุญแจ

ค่าคงที่ของรอบ (Rcon)

Rcon[i] = [2^(i-1), 0, 0, 0] ใน GF(2^8) โดยนำไปใช้ XOR กับคำข้อมูลทุกคำที่ 4 ระหว่างการขยายกุญแจ ทำให้กุญแจรอบแต่ละชุดแตกต่างกันและป้องกันการโจมตีแบบเลื่อน

สูตรการขยายกุญแจ

สำหรับ i ≥ 4: if i % 4 == 0: W[i] = W[i-4] XOR SubWord(RotWord(W[i-1])) XOR Rcon[i/4] else: W[i] = W[i-4] XOR W[i-1]

ตารางกุญแจของ AES-192 และ AES-256

AES-192: คำข้อมูลนำเข้า 6 คำ สร้างคำข้อมูล 52 คำ (12+1 รอบ) AES-256: คำข้อมูลนำเข้า 8 คำ สร้างคำข้อมูล 60 คำ (14+1 รอบ) AES-256 เพิ่ม SubWord อีกหนึ่งครั้งในทุกคำข้อมูลที่ 8

ความปลอดภัยของขนาดกุญแจ

AES-128 ให้ความปลอดภัย 128 บิต (การลองทุกค่าจำนวน 2^128 ค่า) ส่วน AES-256 ให้ความปลอดภัย 256 บิต สำหรับผู้โจมตีที่ใช้ควอนตัม AES-256 ยังคงให้ความปลอดภัย 128 บิต (อัลกอริทึมของ Grover ลดระดับดังกล่าวลงครึ่งหนึ่ง)

การเลือกขนาดกุญแจ AES

สำหรับแอปพลิเคชันส่วนใหญ่ในปัจจุบัน: AES-128 เพียงพอแล้ว สำหรับความลับระยะยาว ข้อมูลลับ หรือสถานการณ์หลังยุคควอนตัม: AES-256 ส่วน AES-192 แทบไม่ได้ใช้งานจริง

การสร้างกุญแจจากรหัสผ่าน

ห้ามใช้รหัสผ่านเป็นกุญแจ AES โดยตรง ให้ใช้ KDF: key = PBKDF2(password, salt, 600000, 32, SHA256) หรือ key = Argon2id(password, salt, mem=65536, t=3, p=4)

ตรวจสอบความเข้าใจอย่างรวดเร็ว

AES-128 ต้องใช้กุญแจรอบทั้งหมดกี่ดอก โดยนับรวม AddRoundKey เริ่มต้นด้วย

สรุปทบทวน

คุณเข้าใจการขยายกุญแจ AES ได้อย่างเชี่ยวชาญแล้ว! ต่อไปเราจะนำทุกอย่างมารวมกันและเข้ารหัสไฟล์จริงโดยใช้ AES ในภาษาไพธอนร่วมกับ OpenSSL

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

บทเรียน “การขยายคีย์ AES และขนาดคีย์” ฟรีหรือไม่

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

คุณจะเรียนรู้อะไรในบทเรียน “การขยายคีย์ AES และขนาดคีย์”

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

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

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

บทเรียน “การขยายคีย์ AES และขนาดคีย์” ใช้เวลานานแค่ไหน

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

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

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

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

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