ตัวเข้ารหัส Atbash Cipher
Atbash เป็นหนึ่งในรหัสลับที่เก่าแก่ที่สุดเท่าที่มีบันทึกไว้ เสมียนชาวฮีบรูใช้รหัสนี้ในหนังสือเยเรมีย์ราว 600 ปีก่อนคริสตกาล หลักการคือจับคู่ตัวอักษรแต่ละตัวเข้ากับภาพสะท้อนของมันในชุดตัวอักษร โดย A กลายเป็น Z, B กลายเป็น Y ไปเรื่อย ๆ เพราะการจับคู่นี้เป็นตัวผกผันของตัวเอง การทำงานเดียวกันจึงทั้งเข้ารหัสและถอดรหัสได้ ตามมาตรฐานสมัยใหม่ถือว่าอ่อนแอมาก แต่ยังเป็นรหัสยอดนิยมในปริศนา ห้องหนีภัย และบทเรียนวิทยาการรหัสลับเบื้องต้น
วิธีเข้ารหัสด้วย Atbash
-
1
ใส่ข้อความต้นฉบับ (หรือข้อความที่เข้ารหัสแล้ว)
ตัวอักษร A-Z และ a-z จะถูกแปลง ส่วนตัวเลข ช่องว่าง และเครื่องหมายวรรคตอนจะผ่านไปโดยไม่เปลี่ยนแปลง
-
2
ตัวอักษรแต่ละตัวพลิกไปเป็นคู่สะท้อนของมัน
A↔Z, B↔Y, C↔X, ... M↔N
-
3
คัดลอกผลลัพธ์
เครื่องมือคงรูปแบบตัวพิมพ์ใหญ่/เล็กเดิมไว้ ดังนั้น `Atbash` จึงกลายเป็น `Zgyzhs`
-
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
เครื่องมือนี้มีให้บริการในภาษาอื่น
- Atbash暗号エンコーダー [JA]
- Codificador de Cifra Atbash [PT]
- Bộ mã hóa mật mã Atbash [VI]
- Codificador de Cifrado Atbash [ES]
- مشفر شفرة Atbash [AR]
- Encodeur de chiffre Atbash [FR]
- Atbash 암호 인코더 [KO]
- Encoder Sandi Atbash [ID]
- Atbash-kodare [SV]
- Atbash-Chiffre-Encoder [DE]
- Atbash-codering [NL]
- Koder szyfru Atbash [PL]
- Atbash Cipher Encoder [EN]
- Codificatore del Cifrario Atbash [IT]
- Кодировщик шифра Атбаш [RU]
- Atbash Şifre Kodlayıcı [TR]
- Atbash 密码编码器 [ZH]