Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม

ประเภทของการถอดรหัสในความปลอดภัยข้อมูลมีอะไรบ้าง?

การถอดรหัส (Decryption)

กระบวนการย้อนกลับของการเข้ารหัส: แปลง ซิเฟอร์เท็กซ์ (Ciphertext) กลายเป็น เพลนเท็กซ์ (Plaintext) โดยใช้กุญแจเดียวกับการเข้ารหัส (แบบสมมาตร) หรือกุญแจคู่ (แบบอสมมาตร)

ประเภทหลักของการถอดรหัส

1. การถอดรหัสแบบสมมาตร (Symmetric Decryption)

  • ใช้ กุญแจเดียวกัน สำหรับเข้ารหัสและถอดรหัส
  • ตัวอย่าง: การแทนที่ตัวอักษรง่ายๆ (Caesar Cipher: A→B, B→C...)
  • อัลกอริทึม: DES, 3DES, AES, Blowfish, IDEA
  • ข้อดี: เร็ว เหมาะกับข้อมูลปริมาณมาก
  • ข้อเสีย: จัดการกระจายกุญแจยาก (Key Distribution Problem)

2. การถอดรหัสแบบอสมมาตร (Asymmetric Decryption / Public-Key Decryption)

  • ใช้ คู่กุญแจ: Public Key (เข้ารหัส) และ Private Key (ถอดรหัส)
  • ข้อความที่เข้ารหัสด้วย Public Key → ถอดรหัสได้เฉพาะ Private Key ที่คู่กัน
  • อัลกอริทึม: RSA, ECC, ElGamal
  • ข้อดี: แก้ปัญหาการแลกเปลี่ยนกุญแจได้
  • ข้อเสีย: ช้ากว่าแบบสมมาตรมาก ใช้กับข้อมูลเล็กหรือแลกกุญแจเซสชัน

3. แฮชชิง (Hashing) - ไม่ใช่การเข้ารหัสจริง แต่เกี่ยวข้อง

  • ฟังก์ชัน ทางเดียว (One-way): ข้อมูล → แฮช (คงที่) ไม่สามารถย้อนกลับได้
  • ใช้สำหรับ: ตรวจสอบความสมบูรณ์ (Integrity), เก็บรหัสผ่าน, ลายเซ็นดิจิทัล
  • ไม่สามารถ "ถอดรหัส" ได้ แต่สามารถตรวจสอบได้โดยคำนวณแฮชใหม่เปรียบเทียบ
  • อัลกอริทึม: SHA-256, SHA-3, MD5 (ล้าสมัย), BLAKE2

สรุปการเลือกใช้

ประเภทกุญแจความเร็วใช้สำหรับ
สมมาตรกุญแจเดียวเร็วมากเข้ารหัสข้อมูลจริง (ไฟล์, ดิสก์, TLS record)
อสมมาตรคู่กุญแจ Public/Privateช้าแลกกุญแจ, ลายเซ็น, เข้ารหัสข้อมูลเล็ก
แฮชไม่มีกุญแจ (หรือ HMAC มีกุญแจ)เร็วมากตรวจสอบความสมบูรณ์, รหัสผ่าน, ลายเซ็น