Skip to content

Latest commit

 

History

History
51 lines (28 loc) · 8.26 KB

Encryption.md

File metadata and controls

51 lines (28 loc) · 8.26 KB

การเข้ารหัส

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

การเข้ารหัสเปรียบได้เสมือนกับการนำ "โปสการ์ด" ใส่ซอง เพื่อให้ไม่สามารถอ่านข้อมูลข้างในได้ อย่างไรก็ตาม ไม่ใช่ทุกรูปแบบของการเข้ารหัสจะสมบูรณ์ และไม่ใช่การเข้ารหัสทุกรูปแบบที่เราจะสามารถปกปิดข้อมูลที่เราต้องการสื่อสารไปได้หมด

image

นี่คืออลิซและบ๊อบ อลิซและบ๊อบต้องการคุยกัน ทว่าสิ่งที่พวกเขาคุยกันจะผ่านอีฟ ซึ่งในที่นี้เป็นผู้ประสงค์ร้าย เพราะอีฟจะดักฟังทุกการสื่อสารระหว่างสองคน

อลิซและบ๊อบจะทำอย่างไร ถึงจะมั่นใจว่าจะสามารถคุยกันได้อย่างปลอดภัยโดยที่อีฟไม่แอบฟัง?

การเข้ารหัสแบบสมมาตร (symmetric encryption)

image

ถ้าอลิซและบ๊อบนัดกินข้าวด้วยกัน ทั้งคู่สามารถซื้อแม่กุญแจที่มีลูกกุญแจสองลูกได้ เก็บกุญแจไว้คนละฝั่ง เมื่อต้องการเขียนจดหมายที่เป็นความลับถึงกัน ก็เขียน แล้วล็อกด้วยแม่กุญแจ ปลายทางจะสามารถเปิดได้เนื่องด้วยมีลูกกุญแจที่สามารถใช้ไขแม่กุญแจนั้นได้

เราเรียกการเข้ารหัสแบบนี้ว่า "การเข้ารหัสแบบสมมาตร" เนื่องด้วยกุญแจของอลิซและบ๊อบนั้นหน้าตาเหมือนกัน

ข้อจำกัดของการเข้ารหัสด้วยวิธีนี้

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

ในทางคอมพิวเตอร์ เราเรียกลูกกุญแจว่า "ความลับร่วม" กล่าวคือเป็นเครื่องมือสำหรับการเข้ารหัสและการถอดรหัสข้อความ

การเข้ารหัสด้วยวิธีอสมมาตร (asymmetric encryption)

ขอแนะนำให้รู้จักกับลูกศรแปลงสาสน์: เรามีลูกศรแปลงสาสน์วิเศษสองตัวที่คู่กัน แทนด้วยเขียวและแดงตามลำดับ

กติกาคือ ถ้าเอาลูกศรเขียวแปลงสาสน์ให้อ่านไม่ได้ ตอนแปลงกลับต้องเอาศรแดงเท่านั้น และถ้าเอาแดงแปลงก่อน ขาแปลงกลับก็ต้องเอาเขียวเท่านั้น

ลูกศรแดงเขียวที่ใช้ยังต้องเป็นลูกศรคู่กันด้วย จะใช้ข้ามคู่ไม่ได้

image

อลิสและบ๊อบเลยสร้างลูกศรขึ้นมาคนละคู่ เก็บลูกศรสีแดงไว้กับตัวเอง แล้วป่าวประกาศหน้าตาของลูกศรสีเขียวให้คนอื่นรับรู้ (นั่นหมายถึงอลิสจะมีลูกศรของบ๊อบ และบ๊อบมีลูกศรของอลิส)

สิ่งที่เกิดขึ้นเมื่ออลิสอยากคุยเรื่องที่เป็นความลับกับบ๊อบ คืออลิสนำข้อความนั้นมาผ่านลูกศรสีเขียวของบ๊อบ นั่นหมายถึงว่าคนที่จะถอดรหัสข้อความนี้ได้จะมีแต่บ๊อบ

image

เรียกวิธีการเข้ารหัสนี้ว่า "การเข้ารหัสแบบอสมมาตร" เพราะว่าสิ่งที่ใช้เข้ารหัสข้อความ (ลูกศรเขียว) และใช้ถอดรหัส (ลูกศรสีแดง) นั้นไม่เหมือนกัน

ข้อจำกัดของการเข้ารหัสด้วยวิธีนี้

  • ไม่สามารถเข้ารหัสข้อความที่มีขนาดยาวมากๆ ได้
    • ในทางปฏิบัติ เราแก้ปัญหาด้วยการใช้ลูกศรแปลงสาสน์มาแลกเปลี่ยน "ความลับร่วม" (แบบไม่ต้องเจอหน้ากันจริงๆ) แล้วค่อยใช้วิธีการเข้ารหัสสมมาตรในการคุยกันอีกครั้งหนึ่ง