การเข้ารหัสแบบทวีคูณ

ในขณะที่ใช้เทคนิคการเข้ารหัสซีซาร์การเข้ารหัสและถอดรหัสสัญลักษณ์เกี่ยวข้องกับการแปลงค่าเป็นตัวเลขด้วยขั้นตอนพื้นฐานง่ายๆในการบวกหรือการลบ

หากใช้การคูณเพื่อแปลงเป็นข้อความเข้ารหัสจะเรียกว่าไฟล์ 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 คอมพิวเตอร์จะต้องใช้เวลานานพอสมควรในการบังคับใช้คีย์ส่วนใหญ่เก้าล้านคีย์