Cloud & IT Cert Prep · บทเรียน

อัลกอริทึมการเข้ารหัสแบบสมมาตร

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

บทเรียน 1 จาก 413 ขั้นตอน

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

การเข้ารหัสแบบสมมาตรทำงานอย่างไร

การเข้ารหัสแบบสมมาตรใช้คีย์ร่วมเพียงหนึ่งคีย์สำหรับทั้งการเข้ารหัสและการถอดรหัสข้อมูล ผู้ส่งและผู้รับต้องมีคีย์ลับเดียวกัน และการรักษาคีย์นั้นให้ปลอดภัยเป็นสิ่งสำคัญอย่างยิ่ง เพราะใครก็ตามที่มีคีย์จะสามารถถอดรหัสข้อมูลได้ การเข้ารหัสแบบสมมาตรใช้การคำนวณที่รวดเร็วและมีประสิทธิภาพ จึงเหมาะอย่างยิ่งสำหรับการเข้ารหัสข้อมูลปริมาณมาก ความท้าทายหลักของการเข้ารหัสแบบสมมาตรคือการแจกจ่ายคีย์ กล่าวคือ ทั้งสองฝ่ายจะแบ่งปันคีย์อย่างปลอดภัยได้อย่างไรก่อนที่จะมีช่องทางที่ปลอดภัย

AES: มาตรฐานชั้นนำ

Advanced Encryption Standard (AES) คืออัลกอริทึมการเข้ารหัสแบบสมมาตรที่ใช้งานแพร่หลายที่สุดในปัจจุบัน โดย NIST นำมาใช้ในปี 2001 เพื่อสืบทอดต่อจาก DES AES ทำงานกับบล็อกขนาด 128 บิต และรองรับคีย์สามขนาด ได้แก่ AES-128, AES-192 และ AES-256 โดยตัวเลขระบุความยาวคีย์เป็นบิต AES-256 ให้ระดับความปลอดภัยสูงที่สุด AES ถูกใช้ใน TLS สำหรับ HTTPS การเข้ารหัสดิสก์ทั้งลูก (BitLocker) การเข้ารหัสไฟล์ และแอปพลิเคชันสมัยใหม่ที่ปลอดภัยแทบทุกประเภท เมื่อใช้งานอย่างถูกต้อง AES ยังไม่มีจุดอ่อนเชิงปฏิบัติที่เป็นที่รู้จัก

# Encrypting a file with AES-256 using OpenSSL
openssl enc -aes-256-cbc -pbkdf2 -in plaintext.txt -out encrypted.bin -k 'mysecretpassword'

# Decrypting
openssl enc -aes-256-cbc -pbkdf2 -d -in encrypted.bin -out decrypted.txt -k 'mysecretpassword'

# AES-256 key: 256 bits = 32 bytes = extremely secure

DES และจุดอ่อนของ DES

มาตรฐานการเข้ารหัสข้อมูล (DES) เป็นอัลกอริทึมแบบสมมาตรตัวแรกที่ได้รับการใช้งานอย่างแพร่หลาย โดยได้รับการกำหนดเป็นมาตรฐานในปี 1977 และใช้คีย์ขนาด 56 บิต คีย์ขนาด 56 บิตหมายความว่ามีคีย์ที่เป็นไปได้เพียง 2^56 รูปแบบเท่านั้น — ในปี 1999 โครงการประมวลผลแบบกระจายสามารถถอดรหัสข้อความที่เข้ารหัสด้วย DES ได้ภายในเวลาไม่ถึง 24 ชั่วโมง ปัจจุบัน DES ถือว่า ถูกทำลายด้านการเข้ารหัสแล้ว และต้องไม่ใช้กับระบบใหม่โดยเด็ดขาด อย่างไรก็ตาม DES ยังคงมีความสำคัญต่อการสอบ Security+ เพราะการเข้าใจสาเหตุที่ DES ล้มเหลว (ความยาวคีย์ไม่เพียงพอ) ช่วยเน้นย้ำว่าเหตุใดอัลกอริทึมสมัยใหม่อย่าง AES จึงใช้คีย์ขนาด 128–256 บิต

3DES: วิธีแก้ไขในช่วงเปลี่ยนผ่าน

Triple DES (3DES หรือ TDEA) ถูกสร้างขึ้นเพื่อแก้ไขจุดอ่อนของ DES เป็นการชั่วคราว โดยใช้อัลกอริทึม DES กับบล็อกข้อมูลแต่ละบล็อกสามครั้ง การใช้คีย์ขนาด 56 บิตสามชุดที่แตกต่างกันทำให้มีความแข็งแกร่งของคีย์เทียบเท่า 112 บิต ซึ่งถือว่าเพียงพอจนถึงช่วงต้นทศวรรษ 2000 อย่างไรก็ตาม 3DES ช้ากว่า AES อย่างมาก (เนื่องจากต้องเข้ารหัสสามครั้ง) และมีช่องโหว่ต่อ การโจมตีแบบวันเกิด Sweet32 เมื่อใช้กับการเชื่อมต่อที่มีระยะเวลานาน NIST ประกาศเลิกแนะนำ 3DES อย่างเป็นทางการในปี 2023 และกำลังถูกแทนที่ด้วย AES ในทุกแอปพลิเคชัน

บล็อกไซเฟอร์กับสตรีมไซเฟอร์

อัลกอริทึมแบบสมมาตรแบ่งออกเป็น บล็อกไซเฟอร์ หรือ สตรีมไซเฟอร์ บล็อกไซเฟอร์ (AES, DES) เข้ารหัสข้อมูลเป็นส่วน ๆ ที่มีขนาดคงที่ (เรียกว่า “บล็อก”) โดย AES ใช้บล็อกขนาด 128 บิต ส่วนสตรีมไซเฟอร์เข้ารหัสข้อมูลทีละบิตหรือไบต์โดยใช้กระแสคีย์ จึงทำงานได้เร็วกว่าและเหมาะกับการสื่อสารแบบเรียลไทม์ RC4 เคยเป็นสตรีมไซเฟอร์หลักที่ใช้กันอย่างแพร่หลาย แต่ปัจจุบันถูกทำลายด้านการเข้ารหัสและเลิกแนะนำให้ใช้งานแล้ว ChaCha20 เป็นสตรีมไซเฟอร์สมัยใหม่ที่ได้รับเลือกใช้มากที่สุด โดยใช้ใน TLS 1.3 และ WireGuard เนื่องจากมีความเร็วและความปลอดภัยสูงบนฮาร์ดแวร์ที่ไม่มีตัวเร่งความเร็ว AES

โหมดการทำงาน: ECB, CBC และ GCM

วิธีที่บล็อกไซเฟอร์จัดการข้อมูลหลายบล็อกจะถูกกำหนดโดย โหมดการทำงาน ECB (Electronic Code Book) เข้ารหัสแต่ละบล็อกอย่างเป็นอิสระ ทำให้บล็อกข้อความเข้ารหัสที่มาจากบล็อกข้อความต้นฉบับเดียวกันมีรูปแบบเหมือนกัน ซึ่งเห็นได้อย่างชัดเจนจากตัวอย่างภาพ “เพนกวิน ECB” โหมดนี้ไม่ปลอดภัยและไม่ควรใช้โดยเด็ดขาด CBC (Cipher Block Chaining) ใช้การดำเนินการ XOR ระหว่างบล็อกข้อความต้นฉบับแต่ละบล็อกกับบล็อกข้อความเข้ารหัสก่อนหน้า แล้วจึงเข้ารหัส เพื่อเพิ่มการแพร่กระจายของข้อมูล GCM (Galois/Counter Mode) ให้ทั้งการเข้ารหัสและการตรวจสอบความถูกต้องของข้อมูล (AEAD) และเป็นโหมดที่แนะนำให้ใช้ใน TLS 1.3

ความยาวคีย์และความปลอดภัย

ความปลอดภัยของอัลกอริทึมการเข้ารหัสแบบสมมาตรสัมพันธ์โดยตรงกับ ความยาวคีย์ คีย์ที่ยาวขึ้นหมายถึงมี combinations ที่เป็นไปได้มากขึ้น และผู้โจมตีที่ใช้วิธีลองทุก combinations ต้องใช้ความพยายามเพิ่มขึ้นแบบทวีคูณ คีย์ขนาด 128 บิตมี combinations ที่เป็นไปได้ 2^128 รูปแบบ — แม้จะลองได้หนึ่งพันล้านล้านครั้งต่อวินาที การลองทุก combinations ก็ยังใช้เวลานานกว่าอายุของจักรวาล NIST แนะนำให้ใช้ คีย์อย่างน้อย 128 บิต สำหรับการเข้ารหัสแบบสมมาตรในระบบใหม่ และแนะนำคีย์ขนาด 256 บิตสำหรับแอปพลิเคชันที่ต้องการความปลอดภัยในระยะยาวเพื่อรับมือกับภัยคุกคามจากการประมวลผลควอนตัมในอนาคต

# Key size comparison
# DES:    56-bit key  =  72 quadrillion combinations (broken in hours)
# 3DES:  112-bit key  =  5 x 10^33 combinations (adequate, but slow)
# AES-128: 128-bit key = 3.4 x 10^38 combinations (secure)
# AES-256: 256-bit key = 1.2 x 10^77 combinations (quantum-resistant)

# Generate a random AES-256 key
openssl rand -hex 32  # 32 bytes = 256 bits

ความท้าทายในการจัดการคีย์

จุดอ่อนหลักของการเข้ารหัสแบบสมมาตรคือ การจัดการคีย์ ความปลอดภัยของการเข้ารหัสจะดีได้เท่ากับความปลอดภัยของคีย์เท่านั้น ความท้าทายในการจัดการคีย์ประกอบด้วย: การแจกจ่ายคีย์ (การแบ่งปันคีย์อย่างปลอดภัยก่อนเริ่มการสื่อสาร), การจัดเก็บคีย์ (การปกป้องคีย์ขณะไม่ได้ใช้งานโดยใช้โมดูลรักษาความปลอดภัยฮาร์ดแวร์หรือคลังคีย์), การหมุนเวียนคีย์ (การเปลี่ยนคีย์เป็นระยะเพื่อลดขอบเขตความเสียหาย) และ การทำลายคีย์ (การลบคีย์อย่างปลอดภัยเมื่อไม่จำเป็นต้องใช้อีกต่อไป) การจัดการคีย์ที่ไม่ดีทำให้เกิดความล้มเหลวในการเข้ารหัสในโลกจริงมากกว่าจุดอ่อนทางคณิตศาสตร์ของอัลกอริทึมเสียเอง

AES ในการใช้งานจริง: การเข้ารหัสดิสก์และไฟล์

AES เป็นอัลกอริทึมเบื้องหลังเครื่องมือเข้ารหัสที่ผู้เชี่ยวชาญด้านความปลอดภัยใช้งานเป็นประจำในแต่ละวัน BitLocker (Windows) และ FileVault (macOS) ใช้ AES-128 หรือ AES-256 เพื่อเข้ารหัสโวลุ่มดิสก์ทั้งหมด ช่วยปกป้องข้อมูลหากแล็ปท็อปถูกขโมย VeraCrypt ให้บริการการเข้ารหัสดิสก์ข้ามแพลตฟอร์ม ผู้ให้บริการคลาวด์ (AWS S3, Google Cloud) ใช้ AES-256-GCM เพื่อเข้ารหัสออบเจ็กต์ขณะจัดเก็บ การเข้าใจว่าผลิตภัณฑ์หนึ่งใช้อัลกอริทึมใดเป็นพื้นฐานจะช่วยให้คุณประเมินได้ว่าการนำการเข้ารหัสไปใช้นั้นเหมาะสมกับระดับความอ่อนไหวของข้อมูลหรือไม่

# Check BitLocker encryption status on Windows
manage-bde -status C:
# Shows: Protection Status, Encryption Method (AES 256)
# Key Protectors: TPM, Password, Recovery Key

# Check if a macOS volume is FileVault encrypted
fdesetup status
# FileVault is On.

Blowfish และ Twofish: บริบททางประวัติศาสตร์

อัลกอริทึมแบบสมมาตรอีกสองแบบมักปรากฏในเนื้อหาของ Security+ Blowfish (1993) เป็นบล็อกไซเฟอร์ที่ใช้คีย์ความยาวแปรผัน (32–448 บิต) ออกแบบโดย Bruce Schneier ให้เป็นทางเลือกแบบสาธารณสมบัติแทน DES แม้จะทำงานได้เร็วและใช้งานได้ฟรี แต่ขนาดบล็อก 64 บิตทำให้มีช่องโหว่ต่อการโจมตีแบบวันเกิดเมื่อใช้กับเซสชันที่ยาวนาน Twofish (1998) เป็นหนึ่งในผู้เข้ารอบสุดท้ายของการแข่งขัน AES โดยรองรับคีย์ขนาด 128/192/256 บิตและบล็อกขนาด 128 บิต แม้ทั้งสองอัลกอริทึมยังถือว่าปลอดภัย แต่ AES ชนะการแข่งขันของ NIST และครองการนำไปใช้งานสมัยใหม่ การรู้จักอัลกอริทึมเหล่านี้ช่วยให้เข้าใจบริบทของการเลือกใช้ AES

แบบสมมาตรกับแบบไม่สมมาตร: ควรใช้แบบใดเมื่อใด

การเข้ารหัสแบบสมมาตรและแบบไม่สมมาตรมีบทบาทที่ส่งเสริมกัน การเข้ารหัสแบบสมมาตร (AES) ทำงานได้รวดเร็ว และเหมาะกับการเข้ารหัสข้อมูลจำนวนมาก ส่วนการเข้ารหัสแบบไม่สมมาตร (RSA) ทำงานช้า แต่ช่วยแก้ปัญหาการแจกจ่ายคีย์ได้ ในการใช้งานจริง ทั้งสองแบบจะทำงานร่วมกัน โดยใช้การเข้ารหัสแบบไม่สมมาตรเพื่อแลกเปลี่ยนคีย์เซสชันแบบสมมาตรอย่างปลอดภัย จากนั้นใช้การเข้ารหัสแบบสมมาตรจัดการการถ่ายโอนข้อมูลจำนวนมากทั้งหมด แนวทางแบบผสมนี้เป็นพื้นฐานของ TLS (HTTPS), VPN และการเข้ารหัสอีเมลด้วย PGP โดยให้ทั้งความปลอดภัยของการแลกเปลี่ยนคีย์แบบไม่สมมาตรและความเร็วของการเข้ารหัสข้อมูลแบบสมมาตร

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

ทดสอบความเข้าใจแนวคิดของ CompTIA Security+ (SY0-701) จากบทเรียนนี้

สรุปบทเรียน

ในบทเรียนนี้ คุณได้เรียนรู้ว่า: การเข้ารหัสแบบสมมาตรใช้คีย์ร่วมกันหนึ่งชุดสำหรับทั้งการเข้ารหัสและการถอดรหัส; AES (128/192/256 บิต) เป็นมาตรฐานปัจจุบัน; DES (56 บิต) ถูกทำลายด้านการเข้ารหัสและเลิกแนะนำให้ใช้งานแล้ว; โหมดของบล็อกไซเฟอร์ (แนะนำให้ใช้ GCM) เป็นตัวกำหนดวิธีเชื่อมโยงบล็อกเข้าด้วยกัน และการจัดการคีย์เป็นความท้าทายหลักในการปฏิบัติงาน บทถัดไปเราจะศึกษาเรื่อง การเข้ารหัสแบบไม่สมมาตรและคู่คีย์

เริ่มต้นได้ฟรี

เรียนรู้ Cloud & IT Cert Prep ด้วย AI tutor — ฟรี

เขียนและเรียกใช้โค้ดจริงในเบราว์เซอร์ของคุณ รับความช่วยเหลือทันทีจาก AI tutor 24/7 และเรียนรู้ต่อจากที่คุณหยุดบนเว็บหรือในแอป

คอร์ส
150
บทเรียน
600

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

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

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

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

สำรวจ AES, DES และ 3DES ตั้งแต่หลักการทำงานของการเข้ารหัสด้วยกุญแจร่วม ความยาวกุญแจ ไปจนถึงเวลาที่เหมาะสมในการใช้อัลกอริทึมแต่ละแบบ คุณปฏิบัติ Cloud & IT Cert Prep ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Cloud & IT Cert Prep หรือไม่

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

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

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

ฉันเขียนและรันโค้ดในบทเรียน Cloud & IT Cert Prep นี้ได้ไหม

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

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

  1. อัลกอริทึมการเข้ารหัสแบบสมมาตร
  2. การเข้ารหัสแบบอสมมาตรและคู่กุญแจ
  3. การแฮชและความถูกต้องครบถ้วนของข้อมูล
  4. การแลกเปลี่ยนกุญแจและการเข้ารหัสแบบผสม
← กลับไปที่ Cloud & IT Cert Prep