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

แนวคิดการเข้ารหัสแบบสมมาตร

ทำความเข้าใจการเข้ารหัสด้วยคีย์ร่วม ขนาดคีย์ และรหัสแบบบล็อกเทียบกับแบบกระแส

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

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

การเข้ารหัสแบบสมมาตรใช้กุญแจเดียวกันสำหรับทั้งการเข้ารหัสและการถอดรหัส ในบทนี้เราจะสร้างความเข้าใจเกี่ยวกับแนวคิดต่าง ๆ ก่อนลงลึกถึงรายละเอียดภายในของ AES

รูปแบบกุญแจร่วมกัน

Alice และ Bob ใช้กุญแจลับ K ร่วมกัน Alice เข้ารหัส: C = Enc(K, P) ส่วน Bob ถอดรหัส: P = Dec(K, C) Eve ดักจับ C ได้ แต่หากไม่มีกุญแจ K ก็ไม่สามารถกู้คืน P ได้

รหัสแบบบล็อก

รหัสแบบบล็อกเข้ารหัสข้อความต้นฉบับเป็นบล็อกที่มีขนาดคงที่ AES ใช้บล็อกขนาด 128 บิต ส่วน DES ใช้บล็อกขนาด 64 บิต (ปัจจุบันยกเลิกการใช้งานแล้ว) ข้อความที่ยาวกว่าจะถูกแบ่งเป็นบล็อกและใช้โหมดการทำงานกับบล็อก

รหัสแบบกระแส

รหัสแบบกระแสสร้างกระแสกุญแจแล้วใช้ XOR กับข้อความต้นฉบับทีละไบต์ ChaCha20 และ RC4 เป็นรหัสแบบกระแส โดยประมวลผลข้อมูลนำเข้าที่มีความยาวแปรผันได้โดยไม่ต้องเติมแพดดิ้ง

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

AES-128: พื้นที่กุญแจ 2^128 ค่า → ความปลอดภัย 128 บิต AES-256: พื้นที่กุญแจ 2^256 ค่า → ความปลอดภัย 256 บิต DES มีกุญแจเพียง 56 บิต และถูกทำลายด้วยการลองทุกค่าในปี 1999

เรื่องราวของ DES

มาตรฐานการเข้ารหัสข้อมูล (1977) ใช้กุญแจขนาด 56 บิตตามคำยืนกรานของ NSA ในปี 1999 distributed.net ถอด DES ได้ภายใน 22 ชั่วโมง Triple-DES (3DES) ช่วยยืดอายุการใช้งาน แต่ AES เข้ามาแทนที่ทั้งสองแบบในปี 2001

กระบวนการคัดเลือก AES

NIST จัดการแข่งขันนาน 5 ปี (1997-2001) โดยมีผลงานส่งเข้าประกวด 15 รายการจากทั่วโลก Rijndael ซึ่งออกแบบโดย Daemen และ Rijmen เป็นผู้ชนะ เพราะมีโครงสร้างเรียบง่าย ทำงานรวดเร็ว และวิเคราะห์ได้

ความกำกวมและการแพร่กระจาย

หลักการออกแบบรหัสที่แข็งแกร่งของ Shannon: - ความกำกวม: บิตของข้อความเข้ารหัสแต่ละบิตขึ้นอยู่กับบิตของกุญแจจำนวนมาก (SubBytes ทำหน้าที่นี้) - การแพร่กระจาย: การเปลี่ยนบิตหนึ่งบิตของข้อความต้นฉบับส่งผลต่อบิตของข้อความเข้ารหัสจำนวนมาก (ShiftRows+MixColumns)

เครือข่าย Feistel เทียบกับเครือข่าย SP

DES ใช้เครือข่าย Feistel (แบ่งบล็อกแล้วใช้ฟังก์ชัน F) ส่วน AES ใช้เครือข่ายการแทนที่และการสับเปลี่ยน (SP) ซึ่งแปลงไบต์ทั้งหมดพร้อมกัน เครือข่าย SP ทำงานได้เร็วกว่าในฮาร์ดแวร์

ความปลอดภัยของขนาดบล็อก

สำหรับบล็อกขนาด 64 บิต (DES) การชนกันตามขอบเขตวันเกิดจะเกิดขึ้นหลังจากประมาณ 2^32 หรือ 4 พันล้านบล็อก ส่วนบล็อกขนาด 128 บิตของ AES ต้องใช้ 2^64 บล็อก AES จึงปลอดภัยสำหรับปริมาณข้อมูลในทางปฏิบัติ

การเข้ารหัสที่ยืนยันความถูกต้องเทียบกับการเข้ารหัสที่ไม่ยืนยันความถูกต้อง

AES-CBC เพียงอย่างเดียวเข้ารหัสได้ แต่ไม่ยืนยันความถูกต้อง ผู้โจมตีจึงแก้ไขข้อความเข้ารหัสโดยไม่ถูกตรวจพบได้ ให้ใช้ AEAD เสมอ ได้แก่ AES-GCM หรือ ChaCha20-Poly1305 ทั้งสองแบบเข้ารหัส AND ยืนยันความถูกต้องพร้อมกัน

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

อะไรคือความแตกต่างระหว่างรหัสแบบบล็อกกับรหัสแบบกระแส

สรุปทบทวน

คุณเข้าใจแนวคิดการเข้ารหัสแบบสมมาตรอย่างมั่นคงแล้ว ต่อไปเราจะดูภายใน AES ได้แก่ รอบต่าง ๆ เมทริกซ์สถานะ และการดำเนินการสี่อย่างที่ทำให้ AES ปลอดภัย

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

บทเรียน “แนวคิดการเข้ารหัสแบบสมมาตร” ฟรีหรือไม่

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

คุณจะเรียนรู้อะไรในบทเรียน “แนวคิดการเข้ารหัสแบบสมมาตร”

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

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

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

บทเรียน “แนวคิดการเข้ารหัสแบบสมมาตร” ใช้เวลานานแค่ไหน

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

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

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

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

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