รหัสซีซาร์
เข้ารหัส ถอดรหัส และเจาะรหัสเลื่อนแบบซีซาร์อันคลาสสิก เลือกค่าเลื่อนใดก็ได้ตั้งแต่ 1 ถึง 25 ข้ามไปยัง ROT13 ROT5 หรือ ROT47 หรือให้โหมดเจาะรหัสลองครบทั้ง 25 ค่าเลื่อนแล้วตรวจหาค่าที่น่าจะถูกต้องที่สุดโดยอัตโนมัติ ทุกอย่างทำงานในเบราว์เซอร์ของคุณ
ค่าเลื่อน
ป้อนข้อความด้านบนเพื่อดูผลลัพธ์ที่นี่
การจับคู่ตัวอักษร
ธรรมดา
เข้ารหัส
วิธีใช้ รหัสซีซาร์
- 1
เลือกเข้ารหัส ถอดรหัส หรือเจาะรหัส
เข้ารหัสข้อความธรรมดาให้เป็นข้อความเข้ารหัส ถอดรหัสข้อความเข้ารหัสกลับเป็นข้อความธรรมดา หรือสลับไปที่โหมดเจาะรหัสเพื่อถอดข้อความเมื่อคุณไม่ทราบค่าเลื่อน
- 2
เลือกค่าเลื่อนหรือค่าสำเร็จรูป
ตั้งค่าเลื่อนใดก็ได้ตั้งแต่ 1 ถึง 25 ด้วยปุ่มบวกและลบ หรือแตะค่าสำเร็จรูป ได้แก่ ROT13 สำหรับการเลื่อนตัวอักษรแบบคลาสสิกที่ 13 ROT5 สำหรับตัวเลข หรือ ROT47 สำหรับสัญลักษณ์ที่พิมพ์ได้ทั้งหมด
- 3
ป้อนข้อความของคุณ
พิมพ์หรือวางข้อความของคุณ การเข้ารหัสจะทำงานโดยอัตโนมัติขณะที่คุณพิมพ์ โดยเลื่อนตัวอักษรแต่ละตัวไปตามลำดับอักษรเท่ากับค่าที่คุณตั้งไว้ ส่วนตัวเลขและเครื่องหมายวรรคตอนจะผ่านไปโดยไม่เปลี่ยนแปลง
- 4
เจาะข้อความโดยไม่ต้องใช้กุญแจ
ในโหมดเจาะรหัส ให้วางข้อความเข้ารหัส แล้วเครื่องมือจะถอดรหัสด้วยค่าเลื่อนครบทั้ง 25 ค่า จากนั้นใช้การวิเคราะห์ความถี่ของตัวอักษรเพื่อเน้นข้อความธรรมดาที่น่าจะถูกต้องที่สุดให้คุณ
- 5
คัดลอก ดาวน์โหลด หรือแชร์
คัดลอกผลลัพธ์ไปยังคลิปบอร์ดของคุณ ดาวน์โหลดเป็นไฟล์ข้อความ หรือแชร์ลิงก์ที่จะเปิดเครื่องมือขึ้นมาใหม่พร้อมข้อความและการตั้งค่าของคุณอย่างครบถ้วนพร้อมใช้งานทันที
ทำความเข้าใจรหัสซีซาร์
รหัสซีซาร์คืออะไร
รหัสซีซาร์เป็นรหัสแบบแทนที่ที่เข้ารหัสข้อความด้วยการเลื่อนตัวอักษรทุกตัวไปตามลำดับอักษรเป็นจำนวนตำแหน่งที่คงที่ ตั้งชื่อตามจูเลียส ซีซาร์ แม่ทัพชาวโรมัน ผู้ที่ว่ากันว่าใช้ค่าเลื่อนสามเพื่อปกป้องจดหมายส่วนตัวและจดหมายทางการทหาร เนื่องจากตัวอักษรแต่ละตัวจะถูกแทนด้วยตัวเดิมเสมอ รหัสซีซาร์จึงเป็นตัวอย่างที่ง่ายที่สุดและมีการสอนกันแพร่หลายที่สุดของวิทยาการรหัสลับแบบดั้งเดิม และยังคงเป็นจุดเริ่มต้นที่สมบูรณ์แบบสำหรับการเรียนรู้ว่าการเข้ารหัสทำงานอย่างไร
ทุกวันนี้รหัสซีซาร์ปรากฏอยู่ในปริศนา ห้องหนีภัย การแข่งขันแคปเจอร์เดอะแฟล็ก และแบบฝึกหัดการเขียนโปรแกรมสำหรับผู้เริ่มต้น ส่วน ROT13 ซึ่งเป็นรูปแบบที่โด่งดังที่สุดของมัน ก็ยังคงถูกใช้ทั่วเว็บเพื่อซ่อนสปอยล์ มุกตอนจบ และเฉลยไว้ในที่แจ้ง
การเข้ารหัสด้วยรหัสซีซาร์ทำงานอย่างไร
ในการเข้ารหัส คุณเลือกค่าเลื่อนที่เรียกว่ากุญแจ ระหว่าง 1 ถึง 25 จากนั้นตัวอักษรแต่ละตัวของข้อความจะเคลื่อนไปข้างหน้าตามลำดับอักษรเป็นจำนวนตำแหน่งเท่านั้น โดยวนจาก Z กลับไปยัง A เมื่อเลยปลายลำดับ การถอดรหัสจะย้อนกระบวนการ โดยเลื่อนตัวอักษรแต่ละตัวถอยหลังด้วยจำนวนเท่ากัน ส่วนช่องว่าง ตัวเลข และเครื่องหมายวรรคตอนตามปกติจะไม่ถูกแตะต้อง จึงเป็นเหตุที่รูปร่างและความยาวของข้อความต้นฉบับยังคงมองเห็นได้ในข้อความเข้ารหัส
ตัวอย่างเช่น ด้วยค่าเลื่อนสาม ตัวอักษร A จะกลายเป็น D, B กลายเป็น E และคำว่า HELLO จะกลายเป็น KHOOR ในการอ่านข้อความ ผู้รับเพียงต้องรู้ค่าเลื่อนค่าเดียว แล้วเลื่อนตัวอักษรทุกตัวถอยหลังสามตำแหน่ง
ตัวอย่างประกอบ: ค่าเลื่อนสาม
ลองนำวลีคลาสสิก ATTACK AT DAWN มาใช้ค่าเลื่อนสามของซีซาร์เอง A จับคู่กับ D, T จับคู่กับ W, C จับคู่กับ F, K จับคู่กับ N และเรื่อยไปเช่นนี้ จนได้ข้อความเข้ารหัส DWWDFN DW GDZQ สังเกตว่าช่องว่างยังคงอยู่ที่เดิม และตัวอักษรซ้ำจะเข้ารหัสเป็นอักขระเดียวกันเสมอ ดังนั้นตัว T คู่ใน ATTACK จึงกลายเป็นตัว W คู่ การย้อนค่าเลื่อนจะเปลี่ยน DWWDFN DW GDZQ กลับไปเป็น ATTACK AT DAWN ได้ทันที
สูตรของรหัสซีซาร์
ในทางคณิตศาสตร์ ตัวอักษรแต่ละตัวจะถูกถือเป็นตัวเลขตั้งแต่ 0 ถึง 25 โดยที่ A คือ 0 และ Z คือ 25 การเข้ารหัสเขียนเป็น E(x) = (x + n) mod 26 และการถอดรหัสเขียนเป็น D(x) = (x - n) mod 26 โดยที่ x คือตำแหน่งของตัวอักษรและ n คือค่าเลื่อน การ mod 26 คือสิ่งที่ทำให้ลำดับอักษรวนกลับ ดังนั้นการเลื่อน Y ไปสามตำแหน่งจึงไปจบที่ B แทนที่จะเลยปลายลำดับอักษรออกไป
อธิบาย ROT13 ROT5 และ ROT47
ROT13 คือรหัสซีซาร์ที่ตรึงไว้ที่ค่าเลื่อนสิบสาม เนื่องจากสิบสามเป็นครึ่งหนึ่งของยี่สิบหกพอดี การใช้ ROT13 สองครั้งจึงได้ข้อความเดิมกลับมา ดังนั้นการดำเนินการเดียวจึงทั้งเข้ารหัสและถอดรหัสได้ในตัว ส่วน ROT5 นำแนวคิดเดียวกันมาใช้กับตัวเลขสิบตัวคือ 0 ถึง 9 จึงสะดวกสำหรับการอำพรางตัวเลข ขณะที่ ROT47 หมุนอักขระ ASCII ที่พิมพ์ได้ทั้ง 94 ตัวไปพร้อมกัน โดยสับตัวอักษร ตัวเลข และเครื่องหมายวรรคตอนทั้งหมดในคราวเดียว แต่ละแบบนี้ผกผันในตัวเอง ซึ่งเป็นเหตุที่ทำให้มันสะดวกอย่างยิ่งในการซ่อนและเปิดเผยข้อความสั้น ๆ อย่างรวดเร็ว
จะเจาะรหัสซีซาร์ได้อย่างไร
รหัสซีซาร์มีกุญแจที่เป็นไปได้เพียง 25 ค่า จึงทำให้เจาะได้ง่ายดายอย่างยิ่ง วิธีที่ตรงที่สุดคือการโจมตีแบบบรูทฟอร์ซ นั่นคือถอดรหัสข้อความด้วยค่าเลื่อนทุกค่าตั้งแต่ 1 ถึง 25 แล้วอ่านผลลัพธ์ใดก็ตามที่ได้ความ ส่วนวิธีที่ชาญฉลาดกว่าคือการวิเคราะห์ความถี่ ซึ่งเปรียบเทียบการกระจายของตัวอักษรของแต่ละผลลัพธ์กับความถี่ปกติของภาษาอังกฤษ ที่ซึ่ง E, T และ A เป็นตัวอักษรที่พบบ่อยที่สุด แล้วเลือกผลที่ใกล้เคียงที่สุดโดยอัตโนมัติ โหมดเจาะรหัสในเครื่องมือนี้ทำทั้งสองอย่างให้คุณ โดยแสดงผลการถอดรหัสครบทั้ง 25 ค่า และเน้นคำตอบที่น่าจะถูกต้องที่สุดด้วยคะแนนไคสแควร์
ประวัติย่อของรหัสซีซาร์
รหัสนี้ได้ชื่อมาจากจูเลียส ซีซาร์ ผู้ซึ่งตามบันทึกของซูโทเนียส นักประวัติศาสตร์ ได้เลื่อนตัวอักษรแต่ละตัวไปสามตำแหน่งเพื่อรักษาความลับของข้อความราว 50 ปีก่อนคริสตกาล ว่ากันว่าออกุสตุส ผู้สืบทอดตำแหน่งของเขา ใช้วิธีคล้ายกันด้วยค่าเลื่อนหนึ่ง เป็นเวลาหลายศตวรรษที่การเลื่อนตัวอักษรอย่างง่าย ๆ ปลอดภัยเพียงพอ ส่วนใหญ่เพราะมีคนเพียงน้อยนิดที่อ่านออก ไม่ต้องพูดถึงการวิเคราะห์ข้อความที่เข้ารหัส จุดอ่อนของมันเป็นที่เข้าใจกันแล้วในศตวรรษที่เก้า เมื่ออัล-คินดี นักคณิตศาสตร์ชาวอาหรับ ได้อธิบายการวิเคราะห์ความถี่ ซึ่งเป็นเทคนิคที่เจาะรหัสนี้ได้ในไม่กี่วินาทีในปัจจุบัน
รหัสซีซาร์ปลอดภัยหรือไม่
ไม่ ด้วยกุญแจเพียง 25 ค่า รหัสซีซาร์สามารถถูกเจาะด้วยมือได้ในไม่กี่นาทีและด้วยคอมพิวเตอร์ได้ในทันที จึงไม่ให้การปกป้องใด ๆ แก่สิ่งที่จำเป็นต้องเก็บเป็นความลับอย่างแท้จริง คุณค่าของมันในปัจจุบันอยู่ที่การศึกษาและความบันเทิง นั่นคือเป็นวิธีอันยอดเยี่ยมในการเรียนรู้คำศัพท์ของวิทยาการรหัสลับ เช่น ข้อความธรรมดา ข้อความเข้ารหัส กุญแจ การเข้ารหัส และการวิเคราะห์รหัส อีกทั้งยังเป็นองค์ประกอบสนุก ๆ สำหรับปริศนา เกม และโครงงานเขียนโค้ด สำหรับความปลอดภัยที่แท้จริง จะใช้อัลกอริทึมสมัยใหม่เช่น AES แทน
ตารางรหัสซีซาร์: ค่าเลื่อนครบทั้ง 25 ค่า
ตารางอ้างอิงนี้แสดงลำดับอักษรของข้อความเข้ารหัสสำหรับทุกค่าเลื่อนของซีซาร์ตั้งแต่ 1 ถึง 25 หาค่าเลื่อนของคุณในคอลัมน์ซ้าย แล้วอ่านตามแถวไป แถวนั้นจะบอกว่าตัวอักษรธรรมดา A ถึง Z จะกลายเป็นอะไร แถวที่ถูกเน้นคือ ROT13 ซึ่งเป็นค่าเลื่อน 13 ที่ทั้งเข้ารหัสและถอดรหัสได้ในตัว
| ค่าเลื่อน | ลำดับอักษรเข้ารหัส (A to Z) |
|---|---|
| 1 | BCDEFGHIJKLMNOPQRSTUVWXYZA |
| 2 | CDEFGHIJKLMNOPQRSTUVWXYZAB |
| 3 | DEFGHIJKLMNOPQRSTUVWXYZABC |
| 4 | EFGHIJKLMNOPQRSTUVWXYZABCD |
| 5 | FGHIJKLMNOPQRSTUVWXYZABCDE |
| 6 | GHIJKLMNOPQRSTUVWXYZABCDEF |
| 7 | HIJKLMNOPQRSTUVWXYZABCDEFG |
| 8 | IJKLMNOPQRSTUVWXYZABCDEFGH |
| 9 | JKLMNOPQRSTUVWXYZABCDEFGHI |
| 10 | KLMNOPQRSTUVWXYZABCDEFGHIJ |
| 11 | LMNOPQRSTUVWXYZABCDEFGHIJK |
| 12 | MNOPQRSTUVWXYZABCDEFGHIJKL |
| 13 · ROT13 | NOPQRSTUVWXYZABCDEFGHIJKLM |
| 14 | OPQRSTUVWXYZABCDEFGHIJKLMN |
| 15 | PQRSTUVWXYZABCDEFGHIJKLMNO |
| 16 | QRSTUVWXYZABCDEFGHIJKLMNOP |
| 17 | RSTUVWXYZABCDEFGHIJKLMNOPQ |
| 18 | STUVWXYZABCDEFGHIJKLMNOPQR |
| 19 | TUVWXYZABCDEFGHIJKLMNOPQRS |
| 20 | UVWXYZABCDEFGHIJKLMNOPQRST |
| 21 | VWXYZABCDEFGHIJKLMNOPQRSTU |
| 22 | WXYZABCDEFGHIJKLMNOPQRSTUV |
| 23 | XYZABCDEFGHIJKLMNOPQRSTUVW |
| 24 | YZABCDEFGHIJKLMNOPQRSTUVWX |
| 25 | ZABCDEFGHIJKLMNOPQRSTUVWXY |
คำถามที่พบบ่อย
รหัสซีซาร์คืออะไร
ROT13 คืออะไร
ROT5 และ ROT47 คืออะไร
จะถอดรหัสข้อความโดยไม่รู้ค่าเลื่อนได้อย่างไร
ตัวแก้รหัสอัตโนมัติทำงานอย่างไร
มันเปลี่ยนตัวเลข ช่องว่าง หรือเครื่องหมายวรรคตอนหรือไม่
สูตรของรหัสซีซาร์คืออะไร
มีค่าเลื่อนที่เป็นไปได้กี่ค่า และปลอดภัยหรือไม่
ทำไมจูเลียส ซีซาร์จึงใช้ค่าเลื่อนสาม
ข้อความของฉันถูกอัปโหลดไปยังเซิร์ฟเวอร์หรือไม่
จะรู้ได้อย่างไรว่าข้อความหนึ่งเป็นรหัสซีซาร์
รหัสซีซาร์กับ ROT13 ต่างกันอย่างไร
รหัสซีซาร์กับรหัสวิเฌแนร์ต่างกันอย่างไร
ขอตัวอย่างรหัสซีซาร์พร้อมคำตอบได้ไหม
รหัสซีซาร์มีชื่อเรียกอื่นอะไรอีกบ้าง
จะเขียนรหัสซีซาร์เป็นโค้ดได้อย่างไร
เครื่องมือที่เกี่ยวข้อง
ทำงานต่อด้วยเครื่องมือที่มีประโยชน์เหล่านี้