การเข้ารหัสแบบทวีคูณ
ในขณะที่ใช้เทคนิคการเข้ารหัสซีซาร์การเข้ารหัสและถอดรหัสสัญลักษณ์เกี่ยวข้องกับการแปลงค่าเป็นตัวเลขด้วยขั้นตอนพื้นฐานง่ายๆในการบวกหรือการลบ
หากใช้การคูณเพื่อแปลงเป็นข้อความเข้ารหัสจะเรียกว่าไฟล์ wrap-aroundสถานการณ์. พิจารณาตัวอักษรและตัวเลขที่เกี่ยวข้องที่จะใช้ดังที่แสดงด้านล่าง -
ตัวเลขจะถูกใช้สำหรับขั้นตอนการคูณและคีย์ที่เกี่ยวข้องคือ 7 สูตรพื้นฐานที่จะใช้ในสถานการณ์ดังกล่าวเพื่อสร้างการเข้ารหัสแบบคูณมีดังนี้ -
(Alphabet Number * key)mod(total number of alphabets)
ตัวเลขที่ดึงผ่านเอาต์พุตจะถูกจับคู่ในตารางที่กล่าวถึงข้างต้นและตัวอักษรที่เกี่ยวข้องจะถูกใช้เป็นตัวอักษรเข้ารหัส
ฟังก์ชันการมอดูเลตพื้นฐานของการเข้ารหัสแบบทวีคูณใน Python มีดังต่อไปนี้ -
def unshift(key, ch):
offset = ord(ch) - ASC_A
return chr(((key[0] * (offset + key[1])) % WIDTH) + ASC_A)
Note- ข้อดีของการเข้ารหัสแบบทวีคูณคือสามารถทำงานกับคีย์ขนาดใหญ่มากเช่น 8,953,851 คอมพิวเตอร์จะต้องใช้เวลานานพอสมควรในการบังคับใช้คีย์ส่วนใหญ่เก้าล้านคีย์