แม้ว่าจะมีการปรับตัวเลขหลายครั้ง แต่ Giovan Battista Bellaso ได้อธิบายครั้งแรกในปี ค.ศ. 1553 ต่อจากนั้นเขาได้รับชื่อนักการทูตชาวฝรั่งเศส Blaise Vigenère ตัวเลือกนี้ค่อนข้างง่ายในการนำไปใช้และทำความเข้าใจ เนื่องจากเป็นวิธีการเข้ารหัสที่เข้าถึงได้มากที่สุด
คำอธิบายวิธีการ
รหัส Wizhner รวมลำดับของรหัสซีซาร์หลายตัว หลังมีลักษณะการเลื่อนหลายบรรทัด คุณสามารถใช้ตารางตัวอักษรที่เรียกว่าจัตุรัส Vigenère เพื่อวัตถุประสงค์ในการเข้ารหัส ในแวดวงอาชีพเรียกว่า tabula recta ตาราง Vigenère ประกอบด้วยอักขระ 26 บรรทัดหลายบรรทัด แต่ละบรรทัดใหม่จะย้ายตำแหน่งจำนวนหนึ่ง เป็นผลให้ตารางมีแบบอักษรซีซาร์ 26 แบบที่แตกต่างกัน การเข้ารหัสแต่ละขั้นตอนเกี่ยวข้องกับการใช้ตัวอักษรที่แตกต่างกัน ซึ่งจะถูกเลือกขึ้นอยู่กับลักษณะของคำหลัก
เพื่อให้เข้าใจแก่นแท้ของวิธีนี้มากขึ้น เรามาลองพิจารณาการเข้ารหัสข้อความโดยใช้คำว่า ATTACKATDAWN เป็นตัวอย่าง ผู้ที่ส่งข้อความจะเขียนคีย์เวิร์ด "LEMON" จนกว่าจะตรงกับความยาวของข้อความที่ส่ง คีย์เวิร์ดจะมีลักษณะดังนี้เลมอนเลมอน อักขระตัวแรกของข้อความที่กำหนด - A - ถูกเข้ารหัสด้วยลำดับ L ซึ่งเป็นอักขระตัวแรกของคีย์ อักขระนี้อยู่ที่จุดตัดของแถว L และคอลัมน์ A สำหรับอักขระตัวถัดไปของข้อความที่กำหนด อักขระหลักตัวที่สองจะถูกใช้ ดังนั้น อักขระตัวที่สองของข้อความที่เข้ารหัสจะมีลักษณะเหมือน X ซึ่งเป็นผลมาจากจุดตัดของแถว E และคอลัมน์ T ส่วนอื่นๆ ของข้อความที่กำหนดจะได้รับการเข้ารหัสในลักษณะเดียวกัน ผลลัพธ์คือคำว่า LXFOPVEFRNHR
กระบวนการถอดรหัส
คำนี้ถอดรหัสโดยใช้ตาราง Vigenère คุณต้องค้นหาสตริงที่ตรงกับอักขระตัวแรกของคีย์เวิร์ด สตริงจะมีอักขระตัวแรกของข้อความเข้ารหัส
คอลัมน์ที่มีอักขระนี้จะตรงกับอักขระตัวแรกของข้อความต้นฉบับ ค่าที่ตามมาจะถูกถอดรหัสในลักษณะเดียวกัน
ข้อแนะนำ
เมื่อระบุรหัสลับ คุณต้องระบุคีย์เวิร์ด จำเป็นสำหรับการถอดรหัสรหัสโดยใช้รหัส Russian Vigenère เช่นกัน เพื่อให้แน่ใจว่าการเข้ารหัสถูกต้อง ควรตรวจสอบข้อความอีกครั้ง หากเข้ารหัสข้อความไม่ถูกต้อง จะไม่สามารถถอดรหัสได้อย่างถูกต้อง
เมื่อใช้จัตุรัส Vigenère ที่มีช่องว่างและเครื่องหมายวรรคตอน ขั้นตอนการถอดรหัสจะซับซ้อนมากขึ้น สิ่งสำคัญคือต้องรู้ว่าการใช้โค้ดซ้ำๆ บ่อยๆ จะทำให้ถอดรหัสข้อความได้ง่ายขึ้น ดังนั้นข้อมูลรหัสจะต้องยาวจัง
คำเตือนเกี่ยวกับวิธีการ
รหัส Vigenère นั้นไม่ปลอดภัยเพราะง่ายต่อการถอดรหัส หากจำเป็นต้องถ่ายโอนข้อมูลลับ คุณไม่จำเป็นต้องใช้วิธีนี้ วิธีการอื่นได้รับการพัฒนาเพื่อวัตถุประสงค์ดังกล่าว รหัส Vigenère เป็นหนึ่งในวิธีการเข้ารหัสที่เก่าแก่และเป็นที่นิยมมากที่สุด
กุญแจคือวลีพิเศษ มีการทำซ้ำหลายครั้งและเขียนทับข้อความที่เข้ารหัส ด้วยเหตุนี้ ตัวอักษรแต่ละตัวของข้อความที่ส่งจะถูกเลื่อนโดยสัมพันธ์กับข้อความที่ระบุด้วยตัวเลขที่กำหนด ซึ่งระบุโดยตัวอักษรของข้อความรหัสผ่าน วิธีการนี้ได้ครองตำแหน่งของวิธีการเข้ารหัสที่น่าเชื่อถือที่สุดมาเป็นเวลาหลายศตวรรษ ในศตวรรษที่ 19 มีการบันทึกความพยายามครั้งแรกในการทำลายรหัส Vigenère ซึ่งพิจารณาจากการกำหนดความยาวของวลีสำคัญ หากทราบความยาว ข้อความสามารถแบ่งออกเป็นส่วนย่อยๆ ซึ่งเข้ารหัสโดยกะเดียวกัน
วิธีถอดรหัสเพิ่มเติม
คุณสามารถเปิดข้อความต้นฉบับโดยใช้วิธีวิเคราะห์ความถี่หากข้อความที่ระบุยาวพอ การแก้รหัสส่วนใหญ่มาจากการค้นหาความยาวของวลีสำคัญ มีสองวิธีหลักที่ช่วยให้คุณกำหนดความยาวของวลีสำคัญได้ วิธีแรกในการถอดรหัสรหัส Vigenère ได้รับการพัฒนาโดย Friedrich Kassitzky วิธีนี้ขึ้นอยู่กับการค้นหาบิ๊กแรม สาระสำคัญของมันอยู่ที่ว่าถ้าไดแกรมเดียวกันซ้ำในข้อความที่เข้ารหัสในระยะทางที่เป็นทวีคูณของความยาวของคีย์วลีจึงมีความเป็นไปได้สูงที่จะเกิดขึ้นที่ตำแหน่งเดียวกันในข้อความเข้ารหัส หากคุณพบระยะทางที่กำหนด ให้หาตัวหาร คุณจะได้ชุดตัวเลขที่แน่นอน พวกเขาจะมีความยาวของวลีสำคัญ อย่างไรก็ตาม วิธีนี้ต้องใช้โชคบ้าง ในข้อความที่เข้ารหัสขนาดใหญ่ คุณจะพบ bigrams แบบสุ่ม ซึ่งจะทำให้กระบวนการถอดรหัสซับซ้อนมาก
วิธีที่สองในการถอดรหัสข้อความถูกเสนอโดยฟรีดแมน สาระสำคัญของมันอยู่ที่การเปลี่ยนแปลงแบบวนซ้ำของข้อความที่เข้ารหัส ข้อความผลลัพธ์จะถูกเขียนภายใต้ ciphertext ดั้งเดิม และนับจำนวนตัวอักษรที่ตรงกันในบรรทัดล่างสุดและบรรทัดบนสุด ตัวเลขผลลัพธ์ช่วยให้คุณคำนวณดัชนีการจับคู่ที่เรียกว่า กำหนดโดยอัตราส่วนของการจับคู่กับความยาวทั้งหมดของข้อความ ดัชนีความบังเอิญสำหรับข้อความภาษารัสเซียอยู่ที่ประมาณ 6% อย่างไรก็ตาม สำหรับข้อความสุ่ม ดัชนีนี้จะอยู่ที่ประมาณ 3 หรือ 1/32 วิธีการของฟรีดแมนขึ้นอยู่กับข้อเท็จจริงนี้ ข้อความที่เข้ารหัสนั้นเขียนด้วยกะ 1, 2, 3 ฯลฯ ตำแหน่ง จากนั้น สำหรับแต่ละกะ คุณต้องคำนวณดัชนีของการแข่งขัน ดังนั้นจึงจำเป็นต้องเปลี่ยนข้อความทั้งหมดเป็นวงกลม เมื่อเลื่อนดัชนีตามจำนวนอักขระที่กำหนด ความยาวของดัชนีจะเพิ่มขึ้นอย่างมาก นี่แสดงให้เห็นว่าความยาวของคำหลักสามารถเท่ากับจำนวนหนึ่งได้ หากเกิดสถานการณ์ที่อักขระทั้งหมดถูกเลื่อนไปยังตำแหน่งเดียวกัน ดัชนีการจับคู่จะมีค่าเท่ากับต้นฉบับข้อความ. หากคำนวณดัชนีสำหรับรหัส Vigenère การเปรียบเทียบข้อความสุ่มที่มีประสิทธิภาพก็จะเกิดขึ้นต่อไป
ทำการวิเคราะห์ความถี่
หากผลลัพธ์ของกระบวนการถอดรหัสเป็นค่าบวก คุณสามารถป้อนข้อความลงในคอลัมน์ได้ คอลัมน์ถูกสร้างขึ้นตามข้อความต้นฉบับ Kassitzky ได้คิดค้นรูปแบบข้อความที่ทันสมัยที่สุด อย่างไรก็ตาม วิธีการนี้ไม่สามารถใช้วิธีการนี้ได้หากโครงข่ายเบี่ยงเบนไปจากลำดับมาตรฐานของตัวอักษรในตัวอักษร ดังนั้น วิธีนี้จะช่วยให้คุณทราบความยาวของคีย์ได้เฉพาะในกรณีพิเศษเท่านั้น