เครื่องมือเข้ารหัสซีซาร์

รหัสซีซาร์จะเลื่อนตัวอักษรทุกตัวไปตามจำนวนคงที่ เช่น เมื่อเลื่อน +3 ตัว A จะกลายเป็น D, B จะกลายเป็น E และไล่ต่อไปโดยวนจาก Z กลับไป A ชื่อนี้มาจากจูเลียส ซีซาร์ ซึ่งเล่ากันว่าใช้การเลื่อน 3 ตำแหน่งในจดหมายส่วนตัวของเขา เป็นรหัสแทนที่ที่เรียบง่ายที่สุด และยังมีประโยชน์สำหรับปริศนา การสาธิตในห้องเรียน และธรรมเนียม ROT13 แบบคลาสสิกบน Usenet วางข้อความ เลือกค่าการเลื่อน แล้วเข้ารหัสหรือถอดรหัสได้ทันที

รหัสซีซาร์ทำงานอย่างไร

  1. 1

    ใส่ข้อความปกติหรือข้อความเข้ารหัส

    ใช้ข้อความภาษาอังกฤษใดก็ได้ อักขระที่ไม่ใช่ตัวอักษร เช่น ตัวเลข เครื่องหมายวรรคตอน และช่องว่าง จะถูกส่งผ่านโดยไม่เปลี่ยนแปลง และยังคงตัวพิมพ์ใหญ่-เล็กไว้เหมือนเดิม

  2. 2

    เลือกค่าการเลื่อน

    ใช้จำนวนเต็มใดก็ได้ โดยใช้ค่าลบ เช่น -3 เพื่อถอดรหัส การเลื่อน 13 คือ ROT13 ซึ่งถอดกลับได้ด้วยตัวมันเอง รหัสซีซาร์แบบดั้งเดิมใช้ค่า 3

  3. 3

    เข้ารหัสหรือถอดรหัส

    ค่าการเลื่อนบวกใช้สำหรับเข้ารหัส ส่วนค่าลบใช้สำหรับถอดรหัส การถอดรหัสด้วยค่า K เทียบเท่ากับการเข้ารหัสด้วยค่า 26-K

  4. 4

    อ่านผลลัพธ์

    ข้อความเข้ารหัส หรือข้อความปกติที่ถอดรหัสแล้ว จะแสดงขึ้นทันที คัดลอกได้ด้วยคลิกเดียว

ตัวอย่างหน้าตาของการเลื่อนแบบซีซาร์

การเลื่อน 3 ตำแหน่งเมื่อนำไปใช้กับตัวอักษร:

Plain:      A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
Cipher:     D E F G H I J K L M N O P Q R S T U V W X Y Z A B C

ตัวอย่าง: HELLO เมื่อเลื่อน 3 → KHOOR ถอดรหัส KHOOR ด้วยการเลื่อน 3 หรือเข้ารหัสด้วยการเลื่อน 23 → HELLO

ROT13: การเลื่อนที่กลับตัวเองได้

ROT13 ใช้การเลื่อน 13 ตำแหน่ง เมื่อนำไปใช้สองครั้งจะได้ข้อความเดิมกลับมา: HELLO → URYYB → HELLO สิ่งนี้ทำให้เหมาะกับการซ่อนสปอยเลอร์ในโพสต์ Usenet ช่วงทศวรรษ 1980 เพราะการแปลงแบบเดียวใช้ได้ทั้งเข้ารหัสและถอดรหัส โดยไม่ต้องจำคีย์

ความปลอดภัย หรือพูดให้ตรงคือแทบไม่มี

รหัสซีซาร์ถูกออกแบบมาให้แตกได้ง่ายเมื่อเจอกับการวิเคราะห์สมัยใหม่:

  • การลองครบทุกแบบ: มีค่าการเลื่อนที่เป็นไปได้เพียง 25 ค่า ลองทั้งหมดแล้วเลือกค่าที่อ่านออกเป็นภาษาอังกฤษ
  • การวิเคราะห์ความถี่: ข้อความที่ถูกเลื่อนยังคงความถี่ของตัวอักษรไว้ E ยังเป็นตัวที่พบบ่อยที่สุดในภาษาอังกฤษ ดังนั้นตัวอักษรใดที่พบบ่อยที่สุดในข้อความเข้ารหัส ก็น่าจะเป็น E หลังถูกเลื่อน
  • ข้อความต้นฉบับที่รู้บางส่วน: ถ้ารู้ตัวอักษรต้นฉบับแม้เพียงตัวเดียว ก็รู้ค่าการเลื่อนทันที

อย่าใช้รหัสนี้กับสิ่งใดก็ตามที่ต้องการปกป้องจริง ๆ มันเหมาะสำหรับการเรียนรู้ ไม่ใช่การใช้งานด้านความปลอดภัย

รูปแบบอื่นและการต่อยอด

  • ROT5: เลื่อนเฉพาะตัวเลข (0-9) ใช้ร่วมกับ ROT13 ใน ROT18
  • ROT47: เลื่อนอักขระ ASCII ที่พิมพ์ได้ 94 ตัว และกลับตัวเองได้เหมือน ROT13
  • Vigenère: ซีซาร์ที่ใช้คีย์เวิร์ด ทำให้แต่ละตำแหน่งใช้ค่าการเลื่อนต่างกัน แตกได้ยากกว่ามาก
  • Atbash: สลับ A↔Z, B↔Y และไล่ต่อไป เป็นการแทนที่แบบคงที่ที่มีความเกี่ยวข้องทางประวัติศาสตร์กับภาษาฮีบรู

การใช้ในห้องเรียน

รหัสซีซาร์เป็นหัวข้อพื้นฐานในสัปดาห์แรกของวิชาการเข้ารหัสลับ เพราะช่วยแนะนำเลขคณิตมอดูลาร์ การแทนที่ การวิเคราะห์ความถี่ และแนวคิดเรื่องคีย์ โดยไม่ต้องใช้คณิตศาสตร์หนัก ๆ นอกจากนี้ยังเป็นคำตอบของโจทย์ CTF แนว “การเข้ารหัสสำหรับผู้เริ่มต้น” จำนวนมาก

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

ซูเอโทเนียสบันทึกว่าซีซาร์ใช้การเลื่อน 3 ตำแหน่งสำหรับจดหมายของเขา ส่วนออกัสตัสเล่ากันว่าใช้การเลื่อน 1 ตำแหน่ง (A → B, B → C, Z → A หรือ AA แล้วแต่แหล่งข้อมูล)

ไม่รองรับ รหัสซีซาร์แบบดั้งเดิมนิยามบนอักษรโรมัน 26 ตัว อักษรที่มีเครื่องหมายกำกับเสียง เช่น é, ñ, ü จะถูกส่งผ่านโดยไม่เปลี่ยนแปลง หากต้องการรหัสที่รองรับหลายชุดตัวอักษร ควรใช้รูปแบบการแทนที่สมัยใหม่

เพราะสะดวก มันช่วยซ่อนข้อความแบบไม่จริงจัง เช่น สปอยเลอร์ คำตอบปริศนา หรือตัวกรองคำหยาบเบา ๆ ขณะเดียวกันก็ถอดกลับได้ง่ายมาก มันไม่เคยถูกออกแบบมาเพื่อความปลอดภัย แต่เป็นเพียงการพรางข้อความแบบเบา ๆ

ได้ และทำได้ง่าย ลองค่าการเลื่อนทั้ง 25 ค่า แล้วมองหาข้อความภาษาอังกฤษที่อ่านรู้เรื่อง ข้อความเข้ารหัสที่ยาวกว่า 20+ ตัวอักษรมักชัดเจนแทบไม่มีความกำกวม แต่ข้อความที่สั้นมากอาจมีค่าการเลื่อนที่ดูเป็นไปได้หลายค่า

เครื่องมือที่เกี่ยวข้อง

รหัสแปลงตัวเลขเป็นตัวอักษร

แปลงตัวเลขเป็นตัวอักษรและย้อนกลับด้วยรหัส A=1, B=2 (A1Z26) สำหรับปริศนา คำทาย และเบาะแสในห้องเอสเคปรูม

เครื่องสร้างค่าแฮช MD5

คำนวณค่า checksum แบบ MD5 ของข้อความและไฟล์เพื่อยืนยันความสมบูรณ์ โดยผลลัพธ์จะตรงกับที่ได้จากฟังก์ชัน md5sum และ openssl dgst -md5

เครื่องสร้างพาสเฟรส (Passphrase)

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

ตัวเข้ารหัสรหัสลับ A1Z26

เข้ารหัสข้อความด้วยรหัสลับ A1Z26 (A=1, B=2, ... Z=26) หรือถอดรหัสลำดับตัวเลขกลับเป็นตัวอักษร พร้อมปรับตัวคั่นได้

เครื่องมือเข้ารหัส Polybius

เข้ารหัสอักษรละตินเป็นพิกัด Polybius หรือถอดรหัสคู่ตัวเลขที่คั่นด้วยช่องว่าง โดยใช้ตาราง 5×5 แบบคงที่ที่รวม I/J

เครื่องตรวจสอบความแข็งแรงของรหัสผ่าน

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

เครื่องมือนี้มีให้บริการในภาษาอื่น