ผู้เขียน: ลีโอ มาร์ติเนซที่ 3 - LinkedIn
ติดต่อ: [email protected]
สร้าง: ฤดูใบไม้ผลิ 2024
โปรแกรม Python นี้ใช้ Affine Cipher ซึ่งเป็นรหัสทดแทนประเภทหนึ่งสำหรับการเข้ารหัสและถอดรหัสข้อความ Affine Cipher ใช้คู่คีย์ อัลฟ่า (a) และเบต้า (b) เพื่อแปลงข้อความธรรมดาเป็นไซเฟอร์เท็กซ์และในทางกลับกัน
สูตรการเข้ารหัสได้รับจาก: E(x) = (ax + b) mod m โดยที่ x คือดัชนีตัวอักษรข้อความธรรมดา a และ b คือคีย์ และ m คือขนาดตัวอักษร
โปรแกรมจัดการความไม่คำนึงถึงขนาดตัวพิมพ์และละเว้นช่องว่างในอินพุต
ไซเฟอร์เท็กซ์ถูกสร้างขึ้นโดยการแปลงตัวอักษรแต่ละตัวของข้อความธรรมดาโดยใช้การแปลงความสัมพันธ์
สูตรการถอดรหัสได้รับจาก: D(y) = (a_inv * (y - b)) mod m โดยที่ y คือดัชนีตัวอักษรไซเฟอร์เท็กซ์ a_inv คือค่าผกผันการคูณแบบโมดูลาร์ของ a, b คือคีย์ และ m คือ ขนาดตัวอักษร
เช่นเดียวกับการเข้ารหัส โปรแกรมจะจัดการกับความไม่คำนึงถึงขนาดตัวพิมพ์และละเว้นช่องว่างในอินพุต
โปรแกรมจะแจ้งให้ผู้ใช้เลือกระหว่างการเข้ารหัส ('e') หรือการถอดรหัส ('d')
ผู้ใช้ป้อนค่าอัลฟา (a) และเบต้า (b) เพื่อให้แน่ใจว่าจะอยู่ในช่วงที่ถูกต้อง
มีการตรวจสอบ GCD (ตัวหารร่วมมาก) เพื่อให้แน่ใจว่าอินพุตถูกต้อง
ค่าตัวอย่างสำหรับข้อความไซเฟอร์เท็กซ์และข้อความธรรมดามีไว้เพื่อการทดสอบ
โปรแกรมถูกสร้างขึ้นใน Google Colab ด้วย Python 3.9
ทุกอย่างที่จำเป็นพร้อมกับข้อมูลการติดตั้งเพิ่มเติมเพื่อรันโปรแกรมจะอยู่ในโฟลเดอร์นี้
นี่คือคำอธิบายโดยย่อของรายการต่างๆ:
src: โฟลเดอร์ที่มีสคริปต์ python ของซอร์สโค้ด: main.py (ใช้ไฟล์นี้เพื่อรันโปรแกรม)
README.md: มีข้อมูลพื้นฐานที่สุดเกี่ยวกับโครงการ
ใบอนุญาต: ประกอบด้วยข้อมูลใบอนุญาตที่เกี่ยวข้องกับพื้นที่เก็บข้อมูล Github
นอกจากนี้ ตรวจสอบให้แน่ใจว่างูหลาม "คณิตศาสตร์" ได้รับการติดตั้งอย่างถูกต้องในสภาพแวดล้อมเสมือนของคุณ เนื่องจากจำเป็นต้องใช้เมธอด .gcd() เพื่อให้แน่ใจว่ามีการตรวจสอบข้อผิดพลาดเพื่อช่วยในเรื่องความสมบูรณ์ของการถอดรหัส