การเข้ารหัสแบบสมมาตร: AES และการเข้ารหัสแบบสตรีม
เรียนรู้การทำงานของการเข้ารหัสแบบสมมาตร ขนาดกุญแจ ความแตกต่างระหว่างการเข้ารหัสแบบบล็อกกับแบบสตรีม และโหมดการทำงาน
การเข้ารหัสแบบสมมาตร: AES และการเข้ารหัสแบบสตรีม เป็นบทเรียน Cyber Security Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Cyber Security Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Cyber Security Academy มีบทเรียนทั้งหมด 4 บทเรียน
การเข้ารหัสแบบสมมาตรคืออะไร
การเข้ารหัสแบบสมมาตร ใช้กุญแจเดียวกันทั้งสำหรับการเข้ารหัสและถอดรหัส ทำงานได้รวดเร็วและมีประสิทธิภาพ จึงเหมาะสำหรับการเข้ารหัสข้อมูลปริมาณมาก ปัญหาการแจกจ่ายกุญแจ — ทั้งสองฝ่ายจะแบ่งปันกุญแจอย่างปลอดภัยได้อย่างไร — คือความท้าทายหลักของวิธีนี้
เออีเอส: มาตรฐานการเข้ารหัสขั้นสูง
เออีเอส เป็นมาตรฐานสากลสำหรับการเข้ารหัสแบบสมมาตร ซึ่ง NIST นำมาใช้ในปี 2001 ทำงานกับบล็อกขนาด 128 บิต และรองรับกุญแจขนาด 128, 192 หรือ 256 บิต เออีเอสถูกใช้ใน TLS การเข้ารหัสดิสก์ เครือข่ายไร้สาย (WPA2) และโพรโทคอลอื่น ๆ อีกนับไม่ถ้วน
โหมดการเข้ารหัสแบบบล็อกของเออีเอส
โหมดการเข้ารหัสแบบบล็อกกำหนดว่าเออีเอสจะจัดการกับข้อมูลที่มีขนาดใหญ่กว่าหนึ่งบล็อกอย่างไร:
- ECB — เข้ารหัสแต่ละบล็อกอย่างอิสระ (ไม่ปลอดภัย — ทำให้เห็นรูปแบบข้อมูล)
- CBC — นำแต่ละบล็อกไปดำเนินการเอ็กซ์ออร์กับข้อความเข้ารหัสของบล็อกก่อนหน้า (ต้องใช้เวกเตอร์เริ่มต้น)
- GCM — การเข้ารหัสที่ยืนยันตัวตนได้ ให้ทั้งการรักษาความลับและความถูกต้องสมบูรณ์ของข้อมูล (เป็นตัวเลือกที่แนะนำ)
- CTR — เปลี่ยนการเข้ารหัสแบบบล็อกให้เป็นการเข้ารหัสแบบกระแส
เหตุผลที่นิยมใช้โหมด GCM
AES-GCM ให้การเข้ารหัสที่ยืนยันตัวตนพร้อมข้อมูลประกอบ (AEAD): การเข้ารหัสและการตรวจสอบความถูกต้องสมบูรณ์ในกระบวนการเดียว การแก้ไขข้อความเข้ารหัสจะถูกตรวจพบ ใช้ใน TLS 1.3 และโพรโทคอลสมัยใหม่ ควรเลือกใช้ GCM แทน CBC สำหรับระบบใหม่เสมอ
การเข้ารหัสแบบกระแส
การเข้ารหัสแบบกระแส เข้ารหัสข้อมูลทีละบิตหรือไบต์ โดยใช้กระแสกุญแจสุ่มเทียมที่นำไปเอ็กซ์ออร์กับข้อความธรรมดา ตัวอย่างเช่น RC4 (ถูกทำลายความปลอดภัยแล้ว) และ ChaCha20 (ทันสมัยและใช้ใน TLS 1.3) การเข้ารหัสแบบกระแสมีประสิทธิภาพสำหรับข้อมูลที่มีความยาวแปรผันและสภาพแวดล้อมที่มีข้อจำกัดด้านฮาร์ดแวร์
ChaCha20-Poly1305
ChaCha20-Poly1305 เป็นรหัสลับ AEAD สมัยใหม่ที่ใช้ใน TLS 1.3 และ WireGuard โดย ChaCha20 เป็นรหัสลับแบบสตรีม ส่วน Poly1305 ทำหน้าที่สร้างแท็กยืนยันตัวตน รหัสลับนี้ทำงานได้ดีกว่า AES บนอุปกรณ์ที่ไม่มีการเร่งความเร็ว AES ด้วยฮาร์ดแวร์ เช่น อุปกรณ์เคลื่อนที่และอุปกรณ์ IoT
ปัญหาการกระจายกุญแจ
ทั้งสองฝ่ายต้องมีกุญแจเดียวกัน แต่จะแลกเปลี่ยนกุญแจกันอย่างปลอดภัยได้อย่างไร ตัวเลือกมีดังนี้:
- กุญแจที่แชร์ไว้ล่วงหน้า (แลกเปลี่ยนทางกายภาพ)
- การห่อหุ้มกุญแจด้วยการเข้ารหัสแบบอสมมาตร
- การแลกเปลี่ยนกุญแจแบบ Diffie-Hellman ผ่านช่องทางที่ไม่น่าเชื่อถือ
ขนาดกุญแจ AES
AES-128 ให้ความปลอดภัยเพียงพอสำหรับการใช้งานส่วนใหญ่ ส่วน AES-256 ใช้กับข้อมูลลับสุดยอดและการพิจารณาด้านความปลอดภัยหลังยุคควอนตัม ภาระเพิ่มเติมของ AES-256 เมื่อเทียบกับ AES-128 มีน้อยมากเมื่อใช้การเร่งความเร็วด้วยฮาร์ดแวร์ (คำสั่ง CPU ของ AES-NI)
การเข้ารหัสแบบสมมาตรในทางปฏิบัติ
ตัวอย่างการใช้งานการเข้ารหัสแบบสมมาตร:
# Encrypt a file with AES-256-CBC using OpenSSL:
openssl enc -aes-256-cbc -pbkdf2 -in file.txt -out file.enc
# Decrypt:
openssl enc -d -aes-256-cbc -pbkdf2 -in file.enc -out file.txtการเข้ารหัสดิสก์
การเข้ารหัสดิสก์ทั้งชุด (FDE) ใช้การเข้ารหัสแบบสมมาตรเพื่อปกป้องข้อมูลขณะจัดเก็บ:
- BitLocker (วินโดวส์) — AES-XTS-128 หรือ 256
- FileVault 2 (macOS) — AES-XTS-128
- LUKS (ลินุกซ์) — กำหนดค่าได้ โดยทั่วไปคือ AES-XTS-256
อัลกอริทึมที่ไม่ปลอดภัยและควรหลีกเลี่ยง
อย่าใช้สิ่งเหล่านี้กับระบบใหม่:
- DES — กุญแจขนาด 56 บิต ถูกทำลายความปลอดภัยตั้งแต่ปี 1999
- 3DES — ช้าและเลิกใช้แล้วใน TLS
- RC4 — รหัสลับแบบสตรีมที่มีจุดอ่อนหลายประการ
- โหมด ECB — ทำให้รูปแบบของข้อมูลรั่วไหล (เพนกวิน ECB)
แบบทดสอบสั้น ๆ: การเข้ารหัสแบบสมมาตร
โหมดใดของ AES ที่ให้ทั้งการรักษาความลับและความถูกต้องครบถ้วน (การเข้ารหัสที่ยืนยันตัวตน) และเป็นที่นิยมใช้ในโพรโทคอลสมัยใหม่
สรุปบทเรียน
การเข้ารหัสแบบสมมาตรใช้กุญแจหนึ่งดอกสำหรับการเข้ารหัสและถอดรหัส AES เป็นมาตรฐาน โดยนิยมใช้โหมด GCM สำหรับการเข้ารหัสที่ยืนยันตัวตน ChaCha20-Poly1305 เป็นทางเลือกสมัยใหม่สำหรับอุปกรณ์ที่มีทรัพยากรจำกัด หลีกเลี่ยง DES, 3DES, RC4 และโหมด ECB การกระจายกุญแจต้องใช้การเข้ารหัสแบบอสมมาตรหรือ Diffie-Hellman
เรียนรู้ Cyber Security Academy ด้วย AI tutor — ฟรี
เขียนและเรียกใช้โค้ดจริงในเบราว์เซอร์ของคุณ รับความช่วยเหลือทันทีจาก AI tutor 24/7 และเรียนรู้ต่อจากที่คุณหยุดบนเว็บหรือในแอป
- คอร์ส
- 76
- บทเรียน
- 303
คำถามที่พบบ่อย
บทเรียน “การเข้ารหัสแบบสมมาตร: AES และการเข้ารหัสแบบสตรีม” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “การเข้ารหัสแบบสมมาตร: AES และการเข้ารหัสแบบสตรีม” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Cyber Security Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Cyber Security Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “การเข้ารหัสแบบสมมาตร: AES และการเข้ารหัสแบบสตรีม”
เรียนรู้การทำงานของการเข้ารหัสแบบสมมาตร ขนาดกุญแจ ความแตกต่างระหว่างการเข้ารหัสแบบบล็อกกับแบบสตรีม และโหมดการทำงาน คุณปฏิบัติ Cyber Security Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Cyber Security Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Cyber Security Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน
บทเรียน “การเข้ารหัสแบบสมมาตร: AES และการเข้ารหัสแบบสตรีม” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Cyber Security Academy นี้ได้ไหม
ได้ บทเรียน Cyber Security Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- การเข้ารหัสแบบสมมาตร: AES และการเข้ารหัสแบบสตรีม
- การเข้ารหัสแบบไม่สมมาตร: RSA และเส้นโค้งวงรี
- ฟังก์ชันแฮช: SHA-256 และอื่น ๆ
- ลายเซ็นดิจิทัลและใบรับรอง