UTILS.
ทำงานในเบราว์เซอร์ 100%
🏛️

Columnar Transposition Cipher

การสับเปลี่ยนตำแหน่งแบบคอลัมน์ที่ขับด้วยคีย์เวิร์ด: เติมกริดตามแถว แล้วอ่านคอลัมน์ตามลำดับตัวอักษรของคีย์เวิร์ด รองรับแบบสมบูรณ์หรือไม่สมบูรณ์

— ผลลัพธ์จะแสดงที่นี่ —

เกี่ยวกับเครื่องมือนี้

เครื่องมือ Columnar Transposition Cipher เป็นตัวเข้ารหัสและถอดรหัสฟรีที่ทำงานในเบราว์เซอร์สำหรับรหัสสับเปลี่ยนตำแหน่งที่ขับด้วยคีย์เวิร์ด ซึ่งใช้ในอดีตโดยกองทัพและปัจจุบันพบทั่วไปใน CTF plaintext ถูกเขียนจากซ้ายไปขวาลงในกริดที่มีความกว้างเท่ากับความยาวของคีย์เวิร์ด แต่ละคอลัมน์จะมีหมายเลขตามอันดับตัวอักษรของตัวอักษรคีย์เวิร์ดด้านบน — ตัวที่เสมอกันจะแยกด้วยลำดับซ้ายไปขวา — และ ciphertext ถูกสร้างโดยการอ่านคอลัมน์ออกตามลำดับอันดับจากน้อยไปมาก สำหรับคีย์เวิร์ด ZEBRAS เช่น คอลัมน์ A จะถูกอ่านก่อน แล้ว B, E, R, S, Z

รองรับสองแบบ ในแบบสมบูรณ์ (padded) แถวสุดท้ายที่สั้นจะถูกเติมด้วยอักขระเติมที่คุณเลือกเพื่อให้ทุกคอลัมน์สูงเท่ากัน ในแบบไม่สมบูรณ์ (irregular) จะไม่มีการเติม ทำให้แถวสุดท้ายไม่เท่ากัน การถอดรหัสจะคำนวณความยาวจริงของแต่ละคอลัมน์อย่างระมัดระวังเพื่อให้ตัวอักษรตกลงในช่องที่ถูกต้อง การคำนวณทั้งหมดทำภายในเบราว์เซอร์ของคุณและไม่มีการอัปโหลด

การถอดรหัสย้อนกลับกระบวนการ: จากความยาว ciphertext และคีย์เวิร์ด เครื่องมือจะกำหนดว่าแต่ละคอลัมน์เก็บตัวอักษรกี่ตัว กำหนดบล็อก ciphertext ให้คอลัมน์ตามลำดับอันดับคีย์ แล้วอ่านกริดที่สร้างขึ้นใหม่กลับทีละแถว ในแบบ padded อักขระเติมที่ตามหลังจะถูกตัดออกจากข้อความที่กู้คืน เนื่องจากการสับเปลี่ยนตำแหน่งเปลี่ยนเฉพาะตำแหน่งตัวอักษรไม่ใช่เอกลักษณ์ columnar transposition มักถูกซ้อนกับรหัสแทนที่เพื่อความแข็งแกร่งเพิ่มเติม

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

ลำดับการอ่านคอลัมน์ถูกเลือกอย่างไร?
แต่ละคอลัมน์ถูกจัดอันดับตามลำดับตัวอักษรของตัวอักษรคีย์เวิร์ดด้านบน โดยตัวที่เสมอกันแยกด้วยซ้ายไปขวา คอลัมน์จะถูกอ่านออกจากอันดับต่ำสุดไปสูงสุด สำหรับ ZEBRAS ลำดับคือ A, B, E, R, S, Z
ความแตกต่างระหว่าง complete และ incomplete คืออะไร?
Complete เติมแถวสุดท้ายด้วยอักขระเติมเพื่อให้ทุกคอลัมน์สูงเท่ากัน incomplete ปล่อยแถวสุดท้ายไม่เท่ากันโดยไม่มีการเติม การถอดรหัสจะคำนึงถึงความยาวคอลัมน์ที่ไม่เท่ากันในแบบ incomplete
อักขระเติมมีไว้เพื่ออะไร?
ในแบบ complete มันเติมช่องว่างในแถวสุดท้ายเพื่อให้ทุกคอลัมน์มีจำนวนตัวอักษรเท่ากัน ควรเป็นตัวอักษรที่ไม่น่าจะปรากฏในข้อความ เช่น X มันจะถูกตัดออกเมื่อถอดรหัส
การสะกดของคีย์เวิร์ดสำคัญ หรือแค่ตัวอักษรของมัน?
เฉพาะลำดับตัวอักษรของตัวอักษรเท่านั้นที่สำคัญ ดังนั้นคีย์เวิร์ดที่มีรูปแบบตัวอักษรเรียงลำดับเหมือนกันจะให้การสับเปลี่ยนเหมือนกัน ตัวอักษรซ้ำถูกจัดอันดับซ้ายไปขวาตามลำดับที่ปรากฏ

เครื่องมือเพิ่มเติม