ตัวเข้ารหัส Atbash Cipher

Atbash เป็นหนึ่งในรหัสลับที่เก่าแก่ที่สุดเท่าที่มีบันทึกไว้ เสมียนชาวฮีบรูใช้รหัสนี้ในหนังสือเยเรมีย์ราว 600 ปีก่อนคริสตกาล หลักการคือจับคู่ตัวอักษรแต่ละตัวเข้ากับภาพสะท้อนของมันในชุดตัวอักษร โดย A กลายเป็น Z, B กลายเป็น Y ไปเรื่อย ๆ เพราะการจับคู่นี้เป็นตัวผกผันของตัวเอง การทำงานเดียวกันจึงทั้งเข้ารหัสและถอดรหัสได้ ตามมาตรฐานสมัยใหม่ถือว่าอ่อนแอมาก แต่ยังเป็นรหัสยอดนิยมในปริศนา ห้องหนีภัย และบทเรียนวิทยาการรหัสลับเบื้องต้น

วิธีเข้ารหัสด้วย Atbash

  1. 1

    ใส่ข้อความต้นฉบับ (หรือข้อความที่เข้ารหัสแล้ว)

    ตัวอักษร A-Z และ a-z จะถูกแปลง ส่วนตัวเลข ช่องว่าง และเครื่องหมายวรรคตอนจะผ่านไปโดยไม่เปลี่ยนแปลง

  2. 2

    ตัวอักษรแต่ละตัวพลิกไปเป็นคู่สะท้อนของมัน

    A↔Z, B↔Y, C↔X, ... M↔N

  3. 3

    คัดลอกผลลัพธ์

    เครื่องมือคงรูปแบบตัวพิมพ์ใหญ่/เล็กเดิมไว้ ดังนั้น `Atbash` จึงกลายเป็น `Zgyzhs`

  4. 4

    หากต้องการถอดรหัส ให้วางข้อความที่เข้ารหัสกลับเข้าไป

    Atbash เป็นตัวผกผันของตัวเอง การใช้ซ้ำสองครั้งจะได้ข้อความต้นฉบับกลับมา

ตารางการจับคู่

ต้นฉบับ เข้ารหัส ต้นฉบับ เข้ารหัส
A Z N M
B Y O L
C X P K
D W Q J
E V R I
F U S H
G T T G
H S U F
I R V E
J Q W D
K P X C
L O Y B
M N Z A

ที่มาของชื่อ

คำว่า atbash มาจากตัวอักษรตัวแรก (aleph), ตัวสุดท้าย (tav), ตัวที่สอง (bet) และตัวรองสุดท้าย (shin) ของชุดตัวอักษรฮีบรู เป็นวิธีช่วยจำสำหรับการพลิกคู่ตัวอักษร

ข้อความต้นฉบับที่รู้กันในคัมภีร์ไบเบิล

คำภาษาฮีบรู Sheshach (ששך) ในเยเรมีย์ 25:26 และ 51:41 เชื่อกันอย่างกว้างขวางว่าเป็นการเข้ารหัส Atbash ของคำว่า Babel (בבל) ซึ่งเป็นหนึ่งในตัวอย่างการใช้รหัสแทนที่ที่เก่าแก่ที่สุดเท่าที่มีบันทึก

ความแข็งแกร่งด้านการวิเคราะห์รหัส: ศูนย์

Atbash เป็นการแทนที่แบบชุดตัวอักษรเดียวที่ใช้กุญแจตายตัวและเปิดเผยต่อสาธารณะ การถอดรหัสจึงง่ายมาก เด็กอายุห้าขวบกับดินสอก็ทำได้ อย่าใช้ Atbash กับสิ่งใดก็ตามที่ต้องเก็บเป็นความลับ มันเหมาะกับปริศนา เบาะแส และการอำพรางเบา ๆ ที่ผู้อ่านรู้อยู่แล้วว่าต้องนำรหัสนี้มาถอด

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

ไม่เหมือน ROT13 หมุนตัวอักษรแต่ละตัวไป 13 ตำแหน่ง (A→N, B→O) ส่วน Atbash สะท้อนผ่านกึ่งกลางของชุดตัวอักษร (A→Z, B→Y) ทั้งคู่เป็นตัวผกผันของตัวเอง และทั้งคู่ถอดรหัสได้ง่ายมาก

เครื่องมือนี้จัดการกับ ASCII A-Z/a-z การขยาย Atbash ไปยังภาษาฮีบรูหรือชุดตัวอักษรอื่นทำได้ตามหลักการ แต่แต่ละภาษาต้องมีการจับคู่ตัวอักษร 26 ตัวหรือจำนวนตามภาษานั้นเป็นของตัวเอง ส่วนอักขระที่ไม่ใช่ละตินจะผ่านไปโดยไม่เปลี่ยนแปลง

เพราะการจับคู่เป็นแบบสมมาตร A ↔ Z หมายความว่าแปลง A ได้ Z และแปลง Z ได้ A รหัสที่สมมาตรย่อมเป็นตัวผกผันของตัวเอง คุณสมบัตินี้ทำให้เป็นการทำงานด้วยกุญแจเดียวที่ไม่ต้องมีโหมด decode แยกต่างหาก

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

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

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

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

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

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

ตัวสร้าง JWT

สร้าง JWT ที่มีการลงนาม โดยกำหนดหัวข้อ (header) แบบกำหนดเอง สิทธิ์ของพารามิเตอร์ในเนื้อหา (payload claims) การลงนามด้วย HMAC หรือ RSA รวมถึงกำหนดระยะเวลาหมดอายุและกลุ่มผู้ใช้งานที่อนุญาต เพื่อใช้ในการทดสอบ

ตัวเข้ารหัสไฟล์ Base64

เข้ารหัสไฟล์ใดก็ได้ (PDF, ZIP, รูปภาพ, ไฟล์ปฏิบัติการ) เป็นข้อความ Base64 เพื่อฝังใน JSON, อีเมล, YAML หรือ data URI ทำงานในเครื่องของคุณ ไม่มีการอัปโหลด

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

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

ตัวสร้าง HMAC

สร้างลายเซ็น HMAC (SHA-256, SHA-384, SHA-512, SHA-1 และ MD5) จากข้อความและกุญแจลับ เพื่อใช้ในการยืนยันตัวตนผ่าน API และ Webhook

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