รหัสลับ X25519

X25519 เป็นหนึ่งในกลไกการเข้ารหัสลับที่ฮิตและปลอดภัยที่สุดในยุคนี้ โดยเฉพาะในระบบ End-to-End Encryption ที่เราใช้กันอยู่ในแอปแชทชื่อดังอย่าง Signal, WhatsApp หรือแม้แต่โปรโตคอล TLS 1.3 ที่ปกป้องเว็บไซต์ทั่วโลก มาดูกันแบบเข้าใจง่าย ๆ ว่า X25519 คืออะไร และมันทำหน้าที่เป็น “กุญแจสำคัญ” ในการปกป้องความเป็นส่วนตัวของเราได้อย่างไร


X25519 คืออะไร ?

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

หน้าที่ของมันคือ: ยอมให้คนสองคน สามารถสร้าง “รหัสลับร่วมกัน “ ผ่านช่องทางอินเทอร์เน็ตที่เปิดเผยได้ โดยที่คนดักฟัง ไม่มีวันรู้รหัสลับนี้เลย และเมื่อได้รหัสลับนี้มาแล้ว ทั้งคู่ค่อยเอาไปใช้เข้ารหัสข้อความแชทจริง ๆ อีกทีหนึ่ง

เกร็ดน่ารู้: X25519 ถูกออกแบบโดย Daniel J. Bernstein นักวิทยาศาสตร์คอมพิวเตอร์ชื่อดัง โดยดัดแปลงมาจากเส้นโค้งที่ชื่อว่า Curve25519 เพื่อให้ทำงานได้เร็วมากและปลอดภัยจากการโจมตีทางกายภาพ


X25519 ทำงานอย่างไรในระบบ E2EE ?

กระบวนการสร้างกุญแจลับร่วมกันของ X25519 ใช้หลักการที่เรียกว่า Diffie-Hellman ถ้าเปรียบเทียบเป็นสีทาบ้าน จะเห็นภาพชัดที่สุดครับ

[อลิซ] [บ็อบ] │ │ ├── Private Key (สีลับเฉพาะตัว) ├── Private Key (สีลับเฉพาะตัว) ├── Public Key (สีผสมที่ส่งต่อได้) ├── Public Key (สีผสมที่ส่งต่อได้) │ │ │─────────── ส่ง Public Key ให้บ็อบ ──────────> │ │<────────── ส่ง Public Key ให้อลิซ ─────────── │ │ │ ├── [ผสมสีลับ + สีของบ็อบ] ├── [ผสมสีลับ + สีของอลิซ] ▼ ▼
[ Shared Secret: สีสุดท้ายที่เหมือนกันเป๊ะ! ] [ Shared Secret: สีสุดท้ายที่เหมือนกันเป๊ะ! ]

ขั้นตอนเชิงเทคนิคแบบย่อ

  1. สร้างกุญแจ: ทั้งอลิซและบ็อบจะสร้างกุญแจขึ้นมาคนละคู่ ประกอบด้วย Private Key และ Public Key
  2. แลกเปลี่ยน: อลิซส่ง Public Key ของตัวเองให้บ็อบ ส่วนบ็อบก็ส่ง Public Key ของตัวเองให้อลิซ
  3. คำนวณรหัสลับ:
    • อลิซเอา Private Key ของตัวเอง ไปคำนวณร่วมกับ Public Key ของบ็อบ
    • บ็อบเอา Private Key ของตัวเอง ไปคำนวณร่วมกับ Public Key ของอลิซ
  4. ผลลัพธ์: ด้วยมหัศจรรย์ของคณิตศาสตร์เส้นโค้ง ผลลัพธ์ที่ทั้งสองคนคำนวณได้ จะได้ตัวเลขชุดเดียวกันเป๊ะ เรียกว่า Shared Secret
  5. เข้ารหัสข้อความ: ทั้งคู่จะนำ Shared Secret นี้ไปเป็นกุญแจในสมการเข้ารหัสแบบสมมาตร เพื่อใช้รับ-ส่งข้อความกันอย่างปลอดภัย

ทำไมระบบ E2EE ยุคใหม่ถึงเลือกใช้ X25519 ?

ทำไมไม่ใช้ RSA แบบเก่า ? หรือทำไมไม่ใช้ Curve ตัวอื่น ? นี่คือเหตุผลหลักครับ

  • ปลอดภัยสูงมากในขนาดที่เล็กกว่า: กุญแจ X25519 มีขนาดเพียง 256 บิต แต่ให้ความปลอดภัยเทียบเท่ากับกุญแจ RSA ขนาด 3072 บิต ทำให้ประหยัดแบนด์วิดท์ในการส่งกุญแจข้ามไปมาบนมือถือมาก
  • เร็วและกินไฟน้อย: การคำนวณคณิตศาสตร์บน Curve25519 ถูกออกแบบมาให้มีประสิทธิภาพสูงมากบน CPU ยุคปัจจุบัน ส่งผลให้แอปแชทเข้ารหัสข้อความได้ทันทีโดยที่ผู้ใช้ไม่รู้สึกว่ากระตุก และไม่เปลืองแบตเตอรี่มือถือ
  • ภูมิคุ้มกันต่อข้อผิดพลาด : ตัว Curve ถูกออกแบบมาให้ทนทานต่อความผิดพลาด ถ้าระบบสุ่มตัวเลข เกิดเพี้ยนหรือส่งข้อมูลไม่สมบูรณ์ X25519 จะไม่ปล่อยให้ข้อมูลความลับรั่วไหลออกไปง่าย ๆ เหมือนระบบเก่า

สรุป

X25519 คือกระดูกสันหลังที่ทำให้เกิด End-to-End Encryption ที่ใช้งานได้จริงในชีวิตประจำวัน มันเปลี่ยนคณิตศาสตร์ขั้นสูงให้กลายเป็นเกราะป้องกันที่ทั้งเบา ทั้งเร็ว และแข็งแกร่ง ทำให้มั่นใจได้ว่า ข้อความที่คุณส่งหาเพื่อน จะมีแค่คุณกับเพื่อนเท่านั้นที่มีสิทธิ์เปิดอ่านอย่างแท้จริง


อ่านเพิ่มเติม

Leave a Reply