การเข้ารหัส (Encryption)
กระบวนการแปลง เพลนเท็กซ์ (Plaintext) ให้กลายเป็น ซิเฟอร์เท็กซ์ (Ciphertext) ที่อ่านไม่เข้าใจ โดยใช้ กุญแจ (Key) และ อัลกอริทึม เพื่อปกป้องความลับ
ประเภทหลักของการเข้ารหัส
1. การเข้ารหัสแบบมือ (Manual Encryption)
- ผู้ใช้เลือกไฟล์และเลือกวิธีเข้ารหาด้วยตัวเองผ่านซอฟต์แวร์
- ต้องมีส่วนร่วมของผู้ใช้ทุกครั้ง
- เหมาะกับ: ไฟล์เฉพาะเจาะจง ที่ต้องการควบคุมโดยตรง
2. การเข้ารหัสแบบโปร่งใส (Transparent Encryption)
- ทำงานอัตโนมัติในพื้นหลัง (เช่น Full Disk Encryption: BitLocker, FileVault)
- ทุกไฟล์ที่เขียนลงดิสก์ถูกเข้ารหัสอัตโนมัติ ถอดรหัสเมื่ออ่าน
- ข้อดี: ไม่ต้องพึ่งความจำของผู้ใช้ ป้องกันลืมเข้ารหัส
- เหมาะกับ: โน้ตบุ๊ก, อุปกรณ์พกพา ป้องกันขโมย
3. การเข้ารหัสแบบสมมาตร (Symmetric Encryption)
- ใช้ กุญแจเดียว เข้ารหัสและถอดรหัส
- อัลกอริทึมยอดนิยม: AES (มาตรฐานปัจจุบัน), DES/3DES (ล้าสมัย), Blowfish, ChaCha20
- โหมดการทำงาน: ECB, CBC, CTR, GCM (แนะนำ GCM ให้ Authenticated Encryption)
- ข้อดี: เร็วมาก เหมาะข้อมูลปริมาณมาก
- ข้อเสีย: ต้องแลกเปลี่ยนกุญแจอย่างปลอดภัย
4. การเข้ารหัสแบบอสมมาตร (Asymmetric Encryption / Public-Key Encryption)
- ใช้ คู่กุญแจ: Public Key (แจกจ่ายได้) เข้ารหัส, Private Key (เก็บความลับ) ถอดรหัส
- อัลกอริทึมยอดนิยม: RSA (2048-4096 บิต), ECC (Curve25519, P-256 - ใช้กุญแจสั้นกว่าแรงเท่า RSA)
- ข้อดี: แก้ปัญหาการกระจายกุญแจ
- ข้อเสีย: ช้ามาก (ประมาณ 1000x แบบสมมาตร) ใช้เข้ารหัสข้อมูลเล็กหรือกุญแจเซสชัน
- ใช้จริง: Hybrid Encryption (RSA/ECC เข้ารหัสกุญแจ AES แล้ว AES เข้ารหัสข้อมูล)
ตารางเปรียบเทียบ
| ลักษณะ | สมมาตร | อสมมาตร |
|---|---|---|
| กุญแจ | 1 กุญแจ (Secret) | คู่กุญแจ (Public/Private) |
| ความเร็ว | เร็วมาก (GB/s) | ช้า (KB/s - MB/s) |
| ขนาดกุญแจทั่วไป | 128-256 บิต | 2048-4096 บิต (RSA), 256 บิต (ECC) |
| การจัดการกุญแจ | ยาก (ต้องส่งกุญแจปลอดภัย) | ง่าย (Public Key ส่งได้ทุกทาง) |
| ตัวอย่างอัลกอริทึม | AES, ChaCha20 | RSA, ECC, ElGamal |
แนวทางปฏิบัติที่ดีที่สุด (Best Practice)
- ใช้ AES-256-GCM หรือ ChaCha20-Poly1305 สำหรับการเข้ารหัสข้อมูล
- ใช้ ECC (X25519/P-256) สำหรับการแลกเปลี่ยนกุญแจ (Key Exchange)
- ใช้ RSA-PSS หรือ ECDSA/EdDSA สำหรับลายเซ็นดิจิทัล
- อย่าใช้ DES, 3DES, RC4, ECB mode, MD5, SHA-1