แบบสมมาตรและแบบอสมมาตร
AES และ RSA
แบบสมมาตรและแบบอสมมาตร เป็นบทเรียน Ethical Hacking Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Ethical Hacking Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Ethical Hacking Academy มีบทเรียนทั้งหมด 4 บทเรียน
การเข้ารหัสสองตระกูล
การเข้ารหัสสมัยใหม่แบ่งออกเป็นสองตระกูลตามวิธีการทำงานของกุญแจ:
- แบบสมมาตร: ใช้กุญแจเดียวกันในการเข้ารหัสและถอดรหัส ตัวอย่างเช่น AES
- แบบไม่สมมาตร: ใช้คู่กุญแจ โดยกุญแจหนึ่งใช้เข้ารหัส และอีกกุญแจหนึ่งใช้ถอดรหัส ตัวอย่างเช่น RSA
ระบบจริงมักใช้ทั้งสองแบบร่วมกัน การเข้าใจข้อแลกเปลี่ยนของแต่ละแบบเป็นสิ่งสำคัญต่อทั้งการโจมตีและการป้องกันระบบเข้ารหัสลับ
การเข้ารหัสแบบสมมาตร
ในการเข้ารหัสแบบสมมาตร ทั้งสองฝ่ายใช้กุญแจลับร่วมกัน กุญแจเดียวกันนี้ใช้ทั้งล็อกและปลดล็อกข้อมูล
- ข้อดี: ทำงานเร็วมาก เหมาะสำหรับข้อมูลปริมาณมาก
- ข้อเสีย: ต้องส่งต่อกุญแจอย่างปลอดภัยก่อน นี่คือปัญหาการแจกจ่ายกุญแจ
AES
AES (มาตรฐานการเข้ารหัสลับขั้นสูง) เป็นอัลกอริทึมเข้ารหัสแบบสมมาตรที่ใช้กันอย่างแพร่หลาย โดยเป็นการเข้ารหัสแบบบล็อกที่ทำงานกับบล็อกขนาด 128 บิต และรองรับกุญแจขนาด 128, 192 หรือ 256 บิต
AES ทำงานได้รวดเร็ว มีการเร่งความเร็วด้วยฮาร์ดแวร์บน CPU รุ่นใหม่ และถือว่าปลอดภัยเมื่อใช้อย่างถูกต้อง AES-256 เป็นตัวเลือกทั่วไปสำหรับความปลอดภัยระดับสูง
openssl enc -aes-256-cbc -salt -in secret.txt -out secret.enc
# Prompts for a password used to derive the keyโหมดของการเข้ารหัสแบบบล็อก
การเข้ารหัสแบบบล็อกต้องใช้โหมดการทำงานเพื่อจัดการข้อมูลที่มีขนาดใหญ่กว่าหนึ่งบล็อก:
- ECB: ไม่ปลอดภัย บล็อกที่เหมือนกันจะให้ข้อความเข้ารหัสที่เหมือนกัน ทำให้รูปแบบของข้อมูลรั่วไหล ควรหลีกเลี่ยง
- CBC: เชื่อมบล็อกเข้าด้วยกันโดยใช้เวกเตอร์เริ่มต้น (IV) ปลอดภัยกว่า แต่ต้องใช้อย่างระมัดระวัง
- GCM: ให้ทั้งการเข้ารหัสและการยืนยันความถูกต้อง (AEAD) เป็นโหมดสมัยใหม่ที่แนะนำ
เพนกวินใน ECB
มีการสาธิตที่มีชื่อเสียงอยู่กรณีหนึ่ง: แม้จะเข้ารหัสภาพเพนกวินด้วย AES ในโหมด ECB แต่ยังคงมองเห็นโครงร่างของเพนกวินได้ ECB จะแปลงบล็อกข้อความต้นฉบับที่เหมือนกันให้เป็นบล็อกข้อความเข้ารหัสที่เหมือนกัน จึงทำให้โครงสร้างของข้อมูลรั่วไหลออกมา
นี่คือเหตุผลที่คุณควรระบุ ECB เป็นข้อค้นพบระหว่างการประเมินความปลอดภัย ตัวเข้ารหัสนั้นแข็งแกร่ง แต่โหมดเป็นจุดอ่อน
การเข้ารหัสแบบไม่สมมาตร
การเข้ารหัสแบบไม่สมมาตรใช้คู่กุญแจที่เชื่อมโยงกันทางคณิตศาสตร์:
- กุญแจสาธารณะ: เผยแพร่ได้อย่างอิสระ ทุกคนสามารถใช้กุญแจนี้เข้ารหัสข้อมูลถึงคุณได้
- กุญแจส่วนตัว: ต้องเก็บเป็นความลับ มีเพียงคุณเท่านั้นที่ใช้กุญแจนี้ถอดรหัสได้
วิธีนี้ช่วยแก้ปัญหาการแจกจ่ายกุญแจ เพราะคุณสามารถเผยแพร่กุญแจสาธารณะได้โดยไม่ทำให้ความปลอดภัยลดลง
RSA
RSA เป็นอัลกอริทึมแบบไม่สมมาตรแบบดั้งเดิม ความปลอดภัยของอัลกอริทึมนี้อาศัยความยากของการแยกตัวประกอบผลคูณของจำนวนเฉพาะขนาดใหญ่สองจำนวน
ปัจจุบันกุญแจขนาด 2048 บิตเป็นขนาดที่ใช้กันทั่วไป ส่วนขนาด 3072 หรือ 4096 บิตให้ระดับเผื่อความปลอดภัยที่มากกว่า RSA ทำงานช้ากว่า AES จึงแทบไม่ใช้เข้ารหัสข้อมูลปริมาณมากโดยตรง
openssl genrsa -out private.pem 2048
openssl rsa -in private.pem -pubout -out public.pemการเข้ารหัสกับการลงลายมือชื่อ
คู่กุญแจแบบไม่สมมาตรทำหน้าที่สำคัญสองประการ:
- การรักษาความลับ: เข้ารหัสด้วยกุญแจ สาธารณะ ของผู้รับ และมีเพียงกุญแจส่วนตัวของผู้รับเท่านั้นที่ใช้ถอดรหัสได้
- การยืนยันแหล่งที่มา (การลงลายมือชื่อ): ลงลายมือชื่อด้วยกุญแจ ส่วนตัว ของคุณ ทุกคนสามารถตรวจสอบด้วยกุญแจสาธารณะของคุณ เพื่อยืนยันว่าข้อมูลมาจากคุณ
โปรดสังเกตว่าการใช้งานสองรูปแบบนี้ใช้กุญแจในบทบาทที่ตรงข้ามกัน
การเข้ารหัสแบบผสม
โพรโทคอลจริงอย่าง TLS จะใช้ทั้งสองแบบร่วมกัน ลำดับการทำงานมีดังนี้:
- ใช้วิทยาการเข้ารหัสลับแบบ ไม่สมมาตร ซึ่งทำงานช้าเพียงครั้งเดียว เพื่อแลกเปลี่ยน กุญแจเซสชัน แบบสุ่มอย่างปลอดภัย
- ใช้ AES ซึ่งเป็นการเข้ารหัสแบบ สมมาตรและทำงานเร็ว ร่วมกับกุญแจเซสชันนั้นเพื่อเข้ารหัสข้อมูลจริง
วิธีนี้ให้ความเร็วของการเข้ารหัสแบบสมมาตร พร้อมความสะดวกในการแจกจ่ายกุญแจแบบการเข้ารหัสไม่สมมาตร
การแลกเปลี่ยนกุญแจ: Diffie-Hellman
Diffie-Hellman ช่วยให้สองฝ่ายตกลงใช้ความลับร่วมกันผ่านช่องทางที่ไม่ปลอดภัยได้ โดยไม่ต้องส่งความลับนั้นออกไปโดยตรง วิธีนี้เป็นพื้นฐานของการแลกเปลี่ยนกุญแจใน TLS สมัยใหม่
รูปแบบที่ใช้เส้นโค้งวงรี (ECDH, ECDSA) ให้ความปลอดภัยระดับเดียวกับ RSA โดยใช้กุญแจที่มีขนาดเล็กกว่ามาก จึงทำงานได้เร็วกว่าและกลายเป็นตัวเลือกเริ่มต้นมากขึ้นเรื่อย ๆ
จุดอ่อนทั่วไปของวิทยาการเข้ารหัสลับ
อัลกอริทึมที่แข็งแกร่งก็ล้มเหลวได้หากใช้งานไม่ถูกต้อง โปรดระวังข้อค้นพบเหล่านี้:
- โหมด ECB ที่ทำให้รูปแบบของข้อความต้นฉบับรั่วไหล
- ค่า IV หรือค่าที่ใช้ครั้งเดียวซึ่งถูกนำกลับมาใช้ซ้ำหรือคาดเดาได้ใน CBC หรือ GCM
- กุญแจที่ฝังตายตัวอยู่ในซอร์สโค้ดหรือไฟล์กำหนดค่า
- กุญแจ RSA ขนาดเล็ก (512 หรือ 1024 บิต) ซึ่งสามารถแยกตัวประกอบได้
- พฤติกรรมของช่องทางตรวจสอบการเติมข้อมูลที่เปิดเผยข้อความต้นฉบับทีละไบต์
โดยมากแล้วคณิตศาสตร์ไม่ได้มีปัญหา แต่การนำไปใช้งานต่างหากที่มักมีปัญหา
ตรวจสอบความเข้าใจอย่างรวดเร็ว
โปรดประยุกต์ความเข้าใจเกี่ยวกับกุญแจสาธารณะและกุญแจส่วนตัว
สรุปทบทวน
คุณได้เปรียบเทียบการเข้ารหัสสองตระกูลแล้ว:
- แบบสมมาตร (AES): ใช้กุญแจร่วมกันหนึ่งดอก ทำงานเร็ว แต่แจกจ่ายกุญแจได้ยาก ควรใช้โหมด GCM และห้ามใช้ ECB
- แบบไม่สมมาตร (RSA, ECC): ใช้คู่กุญแจสาธารณะและส่วนตัว ช่วยแก้ปัญหาการแจกจ่ายกุญแจ แต่ทำงานช้า
- เข้ารหัสด้วยกุญแจ สาธารณะ ของผู้รับ และลงลายมือชื่อด้วยกุญแจ ส่วนตัว ของคุณ
- ระบบ แบบผสมและ Diffie-Hellman รวมข้อดีของทั้งสองแบบไว้ใน TLS
ต่อไป: การระบุชนิดและถอดรหัสค่าแฮชในทางปฏิบัติ
คำถามที่พบบ่อย
บทเรียน “แบบสมมาตรและแบบอสมมาตร” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “แบบสมมาตรและแบบอสมมาตร” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Ethical Hacking Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Ethical Hacking Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “แบบสมมาตรและแบบอสมมาตร”
AES และ RSA คุณปฏิบัติ Ethical Hacking Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Ethical Hacking Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Ethical Hacking Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน
บทเรียน “แบบสมมาตรและแบบอสมมาตร” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Ethical Hacking Academy นี้ได้ไหม
ได้ บทเรียน Ethical Hacking Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- การเข้ารหัสรูปแบบเทียบกับการเข้ารหัสลับ
- การแฮช
- แบบสมมาตรและแบบอสมมาตร
- การถอดรหัสแฮช