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

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

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

เข้ารหัสและถอดรหัสข้อความด้วยรหัสซีซาร์ เลื่อนได้ตั้งแต่ 1-25 รองรับ ROT13 เป็นกรณีพิเศษ และคงเครื่องหมายวรรคตอนกับตัวพิมพ์ใหญ่-เล็กไว้เหมือนเดิม

ตัวเข้ารหัสและถอดรหัส Base58

เข้ารหัสข้อความ UTF-8 หรือไบต์เลขฐานสิบหก และถอดรหัส Base58 อย่างปลอดภัยด้วยชุดอักขระ Bitcoin, Ripple หรือ Flickr

ตัวสร้าง bcrypt

สร้าง bcrypt hash จากรหัสผ่าน plaintext ปรับ cost factor ได้ตั้งแต่ 4 ถึง 13 ใช้ร่วมกับ Laravel, Django, Node และ PHP ได้

ตัวเข้ารหัสและถอดรหัส Base85

เข้ารหัสและถอดรหัส Base85 ในรูปแบบ Adobe Ascii85 ซึ่งใช้ในไฟล์ PostScript และ PDF กะทัดรัดกว่า Base64 สำหรับข้อมูลไบนารี

เข้ารหัส / ถอดรหัส AES

เข้ารหัสและถอดรหัสข้อความความเสี่ยงต่ำด้วย AES cipher ของ OpenSSL passphrase จะถูก hash ด้วย SHA-256 และผลลัพธ์ Base64 มี IV รวมกับข้อความเข้ารหัส

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

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