รหัส Trithemius
เข้ารหัสและถอดรหัส Trithemius รหัสหลายอักษรตัวแรก ตีพิมพ์โดยเจ้าอาวาสชาวเยอรมัน Johannes Trithemius ในปี 1508 มันเลื่อนตัวอักษรตัวแรกด้วย 0 ตัวที่สองด้วย 1 ตัวที่สามด้วย 2 และต่อ ๆ ไป เป็นการเลื่อนที่ไต่ขึ้นเรื่อย ๆ อย่างสม่ำเสมอโดยไม่มีกุญแจ สลับระหว่างเข้ารหัสและถอดรหัสแล้วดูการคำนวณก่อตัวขึ้นแบบสด ทุกอย่างทำงานในเบราว์เซอร์ของคุณ
รหัส Trithemius เป็นแบบไร้กุญแจ: ตารางการเลื่อนคือ 0, 1, 2, 3, … เสมอ ดังนั้นจึงไม่มีอะไรต้องป้อนนอกจากข้อความของคุณ ใครก็ตามที่รู้วิธีการสามารถถอดรหัสมันได้ เพียงสลับไปที่ถอดรหัสแล้ววางข้อความเข้ารหัส
ป้อนข้อความด้านบนเพื่อดูผลลัพธ์ Trithemius ที่นี่
วิธีใช้ รหัสทริเทเมียส
- 1
เลือกเข้ารหัสหรือถอดรหัส
เลือกเข้ารหัสเพื่อเปลี่ยนข้อความต้นฉบับเป็นข้อความเข้ารหัส Trithemius หรือถอดรหัสเพื่อกู้ข้อความต้นฉบับจากข้อความเข้ารหัส เนื่องจากรหัสนี้เป็นแบบไร้กุญแจ ทิศทางจึงเป็นการตั้งค่าเดียวที่คุณต้องเลือก
- 2
พิมพ์หรือวางข้อความของคุณ
ป้อนข้อความที่คุณต้องการแปลง รหัสจะทำงานโดยอัตโนมัติขณะที่คุณพิมพ์ โดยใช้การเลื่อนที่ไต่ขึ้น 0, 1, 2, 3, … กับตัวอักษรแต่ละตัวตามลำดับ
- 3
ดูการคำนวณ
เปิดการคำนวณทีละตัวอักษรเพื่อดูการเลื่อนที่ใช้ในทุกตำแหน่งและตัวอักษรที่มันสร้างขึ้น การเลื่อนจะเพิ่มขึ้นทีละหนึ่งในแต่ละตัวอักษรและรีเซ็ตหลังจาก 26 ตัวอักษร
- 4
อ่าน คัดลอก และแชร์
อ่านผลลัพธ์ แล้วคัดลอกมัน ดาวน์โหลดเป็นไฟล์ข้อความ หรือแชร์ลิงก์ที่จะเปิดเครื่องมือขึ้นมาใหม่พร้อมทิศทางและข้อความที่แน่นอนของคุณ ทุกอย่างยังคงอยู่ในเบราว์เซอร์ของคุณ
ทำความเข้าใจรหัส Trithemius
รหัส Trithemius คืออะไร
รหัส Trithemius ได้รับการยอมรับอย่างกว้างขวางว่าเป็นรหัสแทนที่แบบหลายอักษรตัวแรก มันถูกตีพิมพ์โดยเจ้าอาวาสนิกายเบเนดิกตินชาวเยอรมัน Johannes Trithemius ในหนังสือ Polygraphiae libri sex ปี 1508 ของเขา ซึ่งเป็นหนังสือที่พิมพ์ขึ้นว่าด้วยการเข้ารหัสที่เก่าแก่ที่สุด แทนที่จะเลื่อนตัวอักษรทุกตัวด้วยปริมาณเท่ากันอย่างที่รหัส Caesar ทำ รหัส Trithemius เลื่อนตัวอักษรแต่ละตัวด้วยปริมาณที่เพิ่มขึ้นอย่างสม่ำเสมอ: ตัวอักษรตัวแรกขยับด้วย 0 ตัวที่สองด้วย 1 ตัวที่สามด้วย 2 และต่อ ๆ ไปตลอดทั้งข้อความ เนื่องจากการเลื่อนเปลี่ยนไปในทุกตำแหน่ง ตัวอักษรต้นฉบับตัวเดียวสามารถกลายเป็นตัวอักษรเข้ารหัสได้หลายตัวต่างกัน ซึ่งซ่อนรูปแบบความถี่ตัวอักษรที่ใช้แกะรหัสเลื่อนแบบง่าย ๆ ได้
สิ่งที่ทำให้รหัส Trithemius ผิดแปลกไปในบรรดารหัสหลายอักษรคือมันไม่มีกุญแจ ตารางการเลื่อน 0, 1, 2, 3, … นั้นตายตัวและเปิดเผยต่อสาธารณะ ดังนั้นจึงไม่มีคำลับหรือตัวเลขที่ต้องตกลงกัน ใครก็ตามที่รู้วิธีการสามารถอ่านข้อความได้ นั่นก็เป็นจุดอ่อนของมันเช่นกัน แต่ในเชิงประวัติศาสตร์แนวคิดนี้เป็นการปฏิวัติ: มันได้แนะนำ tabula recta ซึ่งเป็นตารางสี่เหลี่ยมของตัวอักษรที่ถูกเลื่อน ที่ภายหลังรหัส Vigenère จะยืมไปและผสมเข้ากับคำสำคัญลับ
รหัส Trithemius ทำงานอย่างไร
กำหนดหมายเลขตัวอักษรจาก A เป็น 0 ถึง Z เป็น 25 เดินไปตามข้อความและเก็บตัวนับที่เริ่มต้นที่ 0 และเพิ่มขึ้นทีละหนึ่งในทุกตัวอักษร ในการเข้ารหัส ให้บวกตัวนับเข้ากับตัวอักษรแล้ววนรอบตัวอักษรด้วยเศษหารด้วย 26 ดังนั้นตัวอักษรเข้ารหัสคือ C = (P + i) mod 26 โดยที่ i คือตำแหน่งของตัวอักษร ในการถอดรหัสคุณลบตัวนับเดียวกันแทน P = (C − i) mod 26 ซึ่งย้อนการเลื่อนและคืนตัวอักษรเดิม
เฉพาะตัวอักษร 26 ตัวเท่านั้นที่ถูกเลื่อน ช่องว่าง เครื่องหมายวรรคตอน ตัวเลข และอักขระอื่น ๆ จะผ่านไปตรง ๆ และไม่เพิ่มค่าตัวนับ ดังนั้นการเลื่อนที่ไต่ขึ้นจึงยังคงเรียงตรงกับตัวอักษรที่สำคัญ ตัวพิมพ์ใหญ่เล็กของตัวอักษรถูกรักษาไว้ เนื่องจากการเลื่อนถูกนำมาด้วยเศษหารด้วย 26 ตารางจึงซ้ำทุก 26 ตัวอักษร: ตัวอักษรตัวที่ยี่สิบเจ็ดถูกเลื่อนด้วย 0 อีกครั้ง ตัวที่ยี่สิบแปดด้วย 1 และต่อ ๆ ไป นั่นทำให้รหัส Trithemius เหมือนกับรหัส Vigenère ที่มีคำสำคัญเป็นตัวอักษรทั้งชุด ABCDEFGHIJKLMNOPQRSTUVWXYZ ทุกประการ
ตัวอย่างประกอบ
เข้ารหัสข้อความ HELLO ตัวอักษรห้าตัวอยู่ที่ตำแหน่ง 0, 1, 2, 3 และ 4 ดังนั้นการเลื่อนคือ 0, 1, 2, 3 และ 4 การบวกการเลื่อนแต่ละตัวให้ H บวก 0 คือ H, E บวก 1 คือ F, L บวก 2 คือ N, L บวก 3 คือ O และ O บวก 4 คือ S ข้อความเข้ารหัสคือ HFNOS สังเกตว่า L ทั้งสองตัวกลายเป็นตัวอักษรต่างกัน คือ N และ O เพราะพวกมันอยู่คนละตำแหน่ง ซึ่งเป็นสิ่งที่การเลื่อน Caesar แบบตายตัวไม่มีทางทำได้
ในการถอดรหัส HFNOS ให้ลบการเลื่อนที่ไต่ขึ้นชุดเดียวกัน H ลบ 0 คือ H, F ลบ 1 คือ E, N ลบ 2 คือ L, O ลบ 3 คือ L และ S ลบ 4 คือ O ซึ่งสะกดเป็น HELLO อีกครั้ง ขั้นตอนเข้ารหัสและถอดรหัสเป็นภาพสะท้อนของกันและกัน และเนื่องจากตารางการเลื่อนนั้นตายตัว ผู้รับจึงไม่ต้องการอะไรเลยนอกจากความรู้ว่ามันเป็นรหัส Trithemius
tabula recta
Trithemius นำเสนอรหัสของเขาด้วย tabula recta ซึ่งเป็นภาษาละตินแปลว่าตารางตรง: ตารางขนาด 26 คูณ 26 ที่แถวแรกคือตัวอักษรปกติ แถวที่สองคือตัวอักษรที่เลื่อนไปหนึ่ง แถวที่สามเลื่อนไปสอง และต่อ ๆ ไปจนถึงการเลื่อนยี่สิบห้า ในการเข้ารหัสตัวอักษรตัวแรกคุณอ่านมันจากแถวแรก ตัวที่สองจากแถวที่สอง ตัวที่สามจากแถวที่สาม โดยก้าวลงทีละแถวสำหรับตัวอักษรถัดไปแต่ละตัวของข้อความ
ตารางนี้คือการมีส่วนร่วมที่ยั่งยืนของรหัส Trithemius ไม่กี่ทศวรรษต่อมา Giovan Battista Bellaso และจากนั้นรหัส Vigenère ที่ใช้ชื่อของเขา ยังคงใช้ tabula recta เดียวกันแต่เลือกแถวด้วยคำสำคัญลับแทนการก้าวผ่านแถวต่าง ๆ ในลำดับตายตัว ดังนั้นรหัส Trithemius จึงเป็นบรรพบุรุษโดยตรงของตระกูลรหัสตารางคำสำคัญทั้งหมด รวมถึง Vigenère, Beaufort และ Gronsfeld
Trithemius, Vigenère และกุญแจก้าวหน้า
การวางรหัส Trithemius เทียบกับลูกหลานของมันช่วยให้เข้าใจได้ดีขึ้น รหัส Vigenère บวกคำสำคัญที่วนซ้ำเข้ากับข้อความ C = (P + K) mod 26 โดยที่ตัวอักษรกุญแจแต่ละตัวให้การเลื่อนตั้งแต่ 0 ถึง 25 รหัส Trithemius คือกรณีพิเศษที่คำสำคัญนั้นคือตัวอักษรทั้งชุดตามลำดับ ดังนั้นการเลื่อนจึงเป็นเพียง 0, 1, 2, 3, …, 25 แล้วจึงซ้ำ กล่าวอีกอย่างคือ Trithemius คือ Vigenère ที่ใช้กุญแจ ABCDEFGHIJKLMNOPQRSTUVWXYZ
นี่คือเหตุผลที่รหัส Trithemius บางครั้งถูกเรียกว่ารหัสกุญแจก้าวหน้า: การเลื่อนคืบหน้าทีละหนึ่งในทุกขั้นแทนที่จะถูกเลือกด้วยความลับ ราคาของการไม่มีกุญแจคือไม่มีความลับใด ๆ เลย ดังนั้นรหัสจึงปกป้องข้อความได้เฉพาะจากคนที่ไม่รู้จักวิธีการเท่านั้น การเพิ่มคำสำคัญลับอย่างที่ Bellaso และ Vigenère ทำ คือขั้นตอนที่เปลี่ยนแนวคิดเพื่อการสอนนี้ให้เป็นรหัสที่ต้านทานการวิเคราะห์ได้นานสามศตวรรษ
วิธีแกะรหัส Trithemius
การแกะรหัส Trithemius เป็นเรื่องเล็กน้อย เพราะไม่มีอะไรเป็นความลับให้กู้คืน ตารางการเลื่อน 0, 1, 2, 3, … นั้นเปิดเผยต่อสาธารณะ ดังนั้นใครก็ตามที่สงสัยว่าเป็นรหัส Trithemius สามารถลบการเลื่อนที่ไต่ขึ้นและอ่านข้อความได้ทันที ไม่มีความยาวกุญแจให้หาและไม่มีกุญแจให้เดา การจำแนกรหัสได้ก็เท่ากับการแกะมัน
แม้แต่นักวิเคราะห์ที่ไม่รู้วิธีการก็ทำได้ง่าย ตารางที่ตายตัวหมายความว่าตัวอักษรตัวแรกไม่ถูกเลื่อน ดังนั้นมันจึงมักเปิดเผยตัวรหัส และการลองออฟเซ็ตเริ่มต้นเพียงไม่กี่ค่าก็เผยข้อความที่อ่านได้อย่างรวดเร็ว สิ่งนี้แตกต่างจาก Vigenère อย่างมาก ที่ซึ่งคำสำคัญลับบังคับให้ผู้โจมตีต้องผ่านการตรวจสอบแบบ Kasiski และดัชนีความบังเอิญ รหัส Trithemius เข้าใจได้ดีที่สุดในฐานะโครงกระดูกเพื่อการศึกษาที่รหัสแบบมีกุญแจอันแข็งแกร่งกว่าเหล่านั้นถูกสร้างขึ้นในภายหลัง
รหัส Trithemius ปลอดภัยหรือไม่
ไม่ รหัส Trithemius ไม่ให้ความปลอดภัยใด ๆ เลย เพราะมันไม่มีกุญแจ วิธีการทั้งหมดของมันเปิดเผยต่อสาธารณะ ดังนั้นใครก็ตามที่จำแนกมันได้สามารถอ่านข้อความได้ทันที แม้แต่ตามมาตรฐานของรหัสมือทางประวัติศาสตร์อื่น ๆ มันก็เป็นเพียงอุปกรณ์เพื่อการสอนล้วน ๆ ซึ่งมีคุณค่าในการแสดงให้เห็นว่าการเลื่อนแบบหลายอักษรทำงานอย่างไรมากกว่าการซ่อนอะไรสักอย่าง
ทุกวันนี้รหัส Trithemius ได้รับความนิยมสำหรับการเรียนรู้และความบันเทิง มันเป็นบทแนะนำที่ชัดเจนที่สุดเท่าที่จะเป็นไปได้สู่ tabula recta และสู่แนวคิดการเลื่อนก้าวหน้าที่อยู่เบื้องหลัง Vigenère และมันปรากฏในปริศนา ห้องหลบหนี และโจทย์แบบ capture-the-flag ในฐานะรหัสหลายอักษรตัวแรกที่นุ่มนวล สำหรับการปกป้องข้อมูลจริง คุณควรพึ่งพาอัลกอริทึมสมัยใหม่ที่ผ่านการทดสอบมาอย่างดีเช่น AES แทน
คำถามที่พบบ่อย
รหัส Trithemius คืออะไร
รหัส Trithemius ทำงานอย่างไร
รหัส Trithemius ต้องใช้กุญแจหรือไม่
ขอตัวอย่างรหัส Trithemius ได้ไหม
Trithemius แตกต่างจากรหัส Vigenère อย่างไร
Trithemius แตกต่างจากรหัส Caesar อย่างไร
tabula recta คืออะไร
ฉันจะถอดรหัส Trithemius อย่างไร
รหัสเปลี่ยนช่องว่างและเครื่องหมายวรรคตอนหรือไม่
เกิดอะไรขึ้นกับการเลื่อนหลังจาก 26 ตัวอักษร
รหัส Trithemius ปลอดภัยหรือไม่
ข้อความของฉันถูกอัปโหลดไปยังเซิร์ฟเวอร์หรือไม่
เครื่องมือที่เกี่ยวข้อง
ทำงานต่อด้วยเครื่องมือที่มีประโยชน์เหล่านี้