0Pricing
Security+ Academy · บทเรียน

การเข้ารหัสแบบอสมมาตรและคู่กุญแจ

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

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

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

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

RSA: อัลกอริทึมที่ใช้งานแพร่หลายที่สุด

RSA (Rivest-Shamir-Adleman) เป็นอัลกอริทึมการเข้ารหัสแบบไม่สมมาตรที่ถูกนำไปใช้งานแพร่หลายที่สุด คิดค้นขึ้นในปี 1977 ความปลอดภัยของ RSA อาศัยความยากทางคณิตศาสตร์ของ การแยกตัวประกอบผลคูณของจำนวนเฉพาะขนาดใหญ่สองจำนวน RSA รองรับความยาวคีย์ 1024, 2048 และ 4096 บิต โดย RSA ขนาด 2048 บิตเป็นคำแนะนำขั้นต่ำในปัจจุบัน และใช้ขนาด 4096 บิตเพื่อความปลอดภัยในระยะยาว RSA ใช้สำหรับการแลกเปลี่ยนคีย์ใน TLS (แม้จะถูกแทนที่ด้วย ECDHE มากขึ้นเรื่อย ๆ), ลายเซ็นดิจิทัลในใบรับรอง และการเข้ารหัสอีเมล S/MIME

# Generate an RSA 2048-bit key pair
openssl genrsa -out private.pem 2048

# Extract the public key
openssl rsa -in private.pem -pubout -out public.pem

# Encrypt with public key (only private key can decrypt)
openssl rsautl -encrypt -inkey public.pem -pubin -in message.txt -out encrypted.bin

# Decrypt with private key
openssl rsautl -decrypt -inkey private.pem -in encrypted.bin

วิทยาการเข้ารหัสเส้นโค้งวงรี (ECC)

วิทยาการเข้ารหัสเส้นโค้งวงรี (ECC) ให้ความปลอดภัยเทียบเท่า RSA โดยใช้คีย์ที่สั้นกว่ามาก คีย์ ECC ขนาด 256 บิตให้ความปลอดภัยใกล้เคียงกับคีย์ RSA ขนาด 3072 บิต ประสิทธิภาพนี้ทำให้ ECC เหมาะอย่างยิ่งกับสภาพแวดล้อมที่มีทรัพยากรจำกัด เช่น อุปกรณ์เคลื่อนที่ ฮาร์ดแวร์ IoT และการเชื่อมต่อ TLS ที่ประสิทธิภาพมีความสำคัญ ECC อาศัยความยากทางคณิตศาสตร์ของ ปัญหาลอการิทึมไม่ต่อเนื่องบนเส้นโค้งวงรี อัลกอริทึม ECC ที่ใช้กันทั่วไป ได้แก่ ECDSA (อัลกอริทึมลายเซ็นดิจิทัลบนเส้นโค้งวงรี) และ ECDH (การแลกเปลี่ยนคีย์) TLS 1.3 กำหนดให้ใช้การแลกเปลี่ยนคีย์ที่อาศัย ECC

# Generate an ECC key pair using the P-256 (secp256r1) curve
openssl ecparam -name prime256v1 -genkey -noout -out ec_private.pem

# Extract public key
openssl ec -in ec_private.pem -pubout -out ec_public.pem

# ECC 256-bit ~ RSA 3072-bit in security strength
# Much faster operations, smaller keys = faster TLS handshakes

การใช้กุญแจสาธารณะ: ทิศทางการเข้ารหัส

การเข้าใจทิศทางการใช้คีย์มีความสำคัญอย่างยิ่งต่อการสอบ Security+ กรณีการใช้งานมีสองแบบที่สลับบทบาทของคีย์กัน สำหรับ การเข้ารหัสเพื่อรักษาความลับ: ผู้ส่งเข้ารหัสด้วย กุญแจสาธารณะของผู้รับ และมีเพียงผู้รับเท่านั้นที่สามารถถอดรหัสด้วย กุญแจส่วนตัวของตน สำหรับ ลายเซ็นดิจิทัลเพื่อยืนยันตัวตน: ผู้ลงนามเข้ารหัสค่าแฮชด้วย กุญแจส่วนตัวของตน และทุกคนสามารถตรวจสอบได้โดยใช้ กุญแจสาธารณะของผู้ลงนาม การสลับทิศทางเหล่านี้เป็นความผิดพลาดที่พบบ่อยในการสอบ — โปรดจำไว้ว่า: กุญแจสาธารณะใช้เข้ารหัส กุญแจส่วนตัวใช้ถอดรหัส; กุญแจส่วนตัวใช้ลงนาม กุญแจสาธารณะใช้ตรวจสอบ

ลายเซ็นดิจิทัลด้วยคีย์แบบไม่สมมาตร

ลายเซ็นดิจิทัลใช้วิทยาการเข้ารหัสแบบไม่สมมาตรเพื่อให้เกิด การยืนยันตัวตน, ความถูกต้องครบถ้วนของข้อมูล และ การปฏิเสธความรับผิดไม่ได้ กระบวนการมีดังนี้: (1) ผู้ส่งคำนวณค่า แฮชของข้อความ (2) เข้ารหัสค่าแฮชด้วย กุญแจส่วนตัวของตนเพื่อสร้างลายเซ็น (3) ส่งข้อความและลายเซ็นไปพร้อมกัน ผู้รับจะ: (4) ถอดรหัสลายเซ็นโดยใช้ กุญแจสาธารณะของผู้ส่งเพื่อกู้คืนค่าแฮช (5) คำนวณแฮชของข้อความที่ได้รับด้วยตนเอง และ (6) เปรียบเทียบค่าแฮชทั้งสอง — หากตรงกัน แสดงว่าข้อความเป็นของแท้และไม่มีการแก้ไข

# Sign a document with ECDSA private key
openssl dgst -sha256 -sign ec_private.pem -out document.sig document.txt

# Verify the signature with the public key
openssl dgst -sha256 -verify ec_public.pem -signature document.sig document.txt
# Output: Verified OK (or Verification Failure)

เหตุใดการเข้ารหัสแบบไม่สมมาตรจึงทำงานช้า

การเข้ารหัสแบบไม่สมมาตรใช้ทรัพยากรในการคำนวณสูงกว่าการเข้ารหัสแบบสมมาตร โดยทั่วไปจึง ช้ากว่าประมาณ 100 ถึง 1,000 เท่า เนื่องจากอัลกอริทึมแบบไม่สมมาตรต้องดำเนินการทางคณิตศาสตร์ที่ซับซ้อน (การยกกำลังแบบมอดุลาร์สำหรับ RSA และการคูณจุดบนเส้นโค้งสำหรับ ECC) กับจำนวนขนาดใหญ่ ด้วยเหตุนี้ การเข้ารหัสแบบไม่สมมาตรจึง ไม่ใช้เข้ารหัสข้อมูลจำนวนมากโดยตรง แต่ใช้สำหรับแลกเปลี่ยนคีย์เซสชันแบบสมมาตรขนาดเล็กอย่างปลอดภัย จากนั้นคีย์สมมาตรจะใช้เข้ารหัสข้อมูลจริง แนวทางแบบผสมนี้ผสานข้อได้เปรียบด้านความปลอดภัยของทั้งสองแนวทางเข้าด้วยกัน

การสร้างและจัดเก็บคู่คีย์

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

บริบทของโครงสร้างพื้นฐานกุญแจสาธารณะ

คู่คีย์แบบไม่สมมาตรจะให้ความปลอดภัยได้ก็ต่อเมื่อคุณเชื่อถือได้ว่ากุญแจสาธารณะนั้นเป็นของบุคคลหรือระบบที่คุณคิดว่าเป็นเจ้าของจริง หากไม่มีกลไกสร้างความน่าเชื่อถือ ผู้โจมตีอาจนำกุญแจสาธารณะของตนมาแทนที่กุญแจของผู้รับที่คุณต้องการติดต่อ ซึ่งเป็น การโจมตีแบบคนกลางที่พบได้ทั่วไป โครงสร้างพื้นฐานกุญแจสาธารณะ (PKI) แก้ปัญหานี้โดยให้ ผู้ออกใบรับรอง (CA)ที่เชื่อถือได้ลงนามดิจิทัลในใบรับรอง ซึ่งผูกกุญแจสาธารณะเข้ากับข้อมูลประจำตัวที่ผ่านการตรวจสอบแล้ว เมื่อคุณเข้าชมเว็บไซต์ HTTPS เบราว์เซอร์จะตรวจสอบใบรับรองของเซิร์ฟเวอร์กับ CA ที่ตนเชื่อถือ เพื่อยืนยันว่ากุญแจสาธารณะนั้นถูกต้องตามจริง

การเปรียบเทียบ RSA และ ECC

เมื่อเลือกระหว่าง RSA กับ ECC ให้พิจารณาสามปัจจัย ประสิทธิภาพด้านขนาดคีย์: ECC ขนาด 256 บิต = RSA ขนาด 3072 บิตในด้านความปลอดภัย ประสิทธิภาพการทำงาน: ECC เร็วกว่ามาก โดยเฉพาะบนอุปกรณ์เคลื่อนที่และอุปกรณ์ IoT การยอมรับใช้งาน: RSA รองรับระบบเดิมได้กว้างกว่า ส่วน ECC เป็นข้อกำหนดใน TLS 1.3 และได้รับการกำหนดให้ใช้มากขึ้นตามมาตรฐานความปลอดภัยสมัยใหม่ ทั้งสองอัลกอริทึมยังถือว่าปลอดภัยเมื่อใช้งานอย่างถูกต้องด้วยขนาดคีย์ที่แนะนำในปัจจุบัน การสอบ Security+ คาดหวังให้คุณเข้าใจข้อแลกเปลี่ยนเหล่านี้และรู้ว่าแต่ละแบบเหมาะกับกรณีใด

ภัยคุกคามจากคอมพิวเตอร์ควอนตัมต่อการเข้ารหัสแบบอสมมาตร

การเข้ารหัสแบบอสมมาตรกำลังเผชิญภัยคุกคามระยะยาวจาก คอมพิวเตอร์ควอนตัม อัลกอริทึมของ Shor หากทำงานบนคอมพิวเตอร์ควอนตัมที่มีประสิทธิภาพเพียงพอ จะสามารถแก้ปัญหาการแยกตัวประกอบ (ทำลาย RSA) และปัญหาลอการิทึมไม่ต่อเนื่อง (ทำลาย ECC) ได้ในเวลาพหุนาม ทำให้ขนาดคีย์ที่ปลอดภัยในปัจจุบันสามารถถูกทำลายได้ NIST ได้คัดเลือก อัลกอริทึมการเข้ารหัสหลังยุคควอนตัม ไว้แล้ว ซึ่งรวมถึง CRYSTALS-Kyber (การห่อหุ้มคีย์) และ CRYSTALS-Dilithium (ลายเซ็นดิจิทัล) เพื่อมาแทนที่ RSA และ ECC องค์กรที่จัดการข้อมูลซึ่งต้องการความลับในระยะยาวควรเริ่มวางแผนย้ายไปสู่การเข้ารหัสหลังยุคควอนตัมตั้งแต่ตอนนี้

กรณีการใช้งานการเข้ารหัสแบบอสมมาตร

การเข้ารหัสแบบอสมมาตรเป็นพื้นฐานของกลไกความปลอดภัยมากมายที่คุณใช้ในชีวิตประจำวัน HTTPS: กระบวนการจับมือของ TLS ใช้ RSA หรือ ECC เพื่อแลกเปลี่ยนคีย์เซสชัน SSH: การยืนยันตัวตนด้วยคีย์สาธารณะแทนที่รหัสผ่านด้วยคู่คีย์ การลงนามโค้ด: ผู้จำหน่ายซอฟต์แวร์ลงนามโค้ดด้วยคีย์ส่วนตัว ส่วน OS ของคุณจะตรวจสอบด้วยคีย์สาธารณะ อีเมล S/MIME: เข้ารหัสอีเมลด้วยคีย์สาธารณะของผู้รับและลงนามด้วยคีย์ส่วนตัวของคุณ Bitcoin/บล็อกเชน: ธุรกรรมต่าง ๆ ลงนามด้วยคีย์ส่วนตัว ECDSA การเข้าใจว่ากลไกเหล่านี้ปรากฏขึ้นในการใช้งานจริงที่ใด จะช่วยให้เชื่อมโยงกับคำถามในการสอบได้ดีขึ้น

# SSH public key authentication
# Generate ED25519 key pair (modern, faster than RSA)
ssh-keygen -t ed25519 -C 'alice@company.com'
# ED25519 is based on elliptic curves - fast and secure
# Public key goes to server: ~/.ssh/authorized_keys
# Private key stays local: ~/.ssh/id_ed25519 (protect with passphrase)

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

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

สรุปบทเรียน

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

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

บทเรียน “การเข้ารหัสแบบอสมมาตรและคู่กุญแจ” ฟรีหรือไม่

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

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

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

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

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

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

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

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

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

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

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