Autoren: Leo Martinez III – LinkedIn
Kontakt: [email protected]
Erstellt: Frühjahr 2024
Dieses Python-Programm implementiert die Affine Cipher, eine Art Ersatzchiffre, zum Ver- und Entschlüsseln von Nachrichten. Die affine Chiffre verwendet ein Schlüsselpaar, Alpha (a) und Beta (b), um Klartext in Chiffretext umzuwandeln und umgekehrt.
Die Verschlüsselungsformel ist gegeben durch: E(x) = (ax + b) mod m, wobei x der Klartext-Buchstabenindex ist, a und b Schlüssel sind und m die Alphabetgröße ist.
Das Programm berücksichtigt keine Groß-/Kleinschreibung und ignoriert Leerzeichen in der Eingabe.
Der Chiffretext wird generiert, indem jeder Buchstabe des Klartextes mithilfe der affinen Transformation umgewandelt wird.
Die Entschlüsselungsformel ist gegeben durch: D(y) = (a_inv * (y – b)) mod m, wobei y der Chiffretext-Buchstabenindex, a_inv die modulare multiplikative Umkehrung von a, b der Schlüssel und m ist Alphabetgröße.
Ähnlich wie bei der Verschlüsselung berücksichtigt das Programm die Groß-/Kleinschreibung nicht und ignoriert Leerzeichen in der Eingabe.
Das Programm fordert den Benutzer auf, zwischen Verschlüsselung ('e') oder Entschlüsselung ('d') zu wählen.
Benutzer geben Alpha- (a) und Beta-Werte (b) ein und stellen sicher, dass sie innerhalb des gültigen Bereichs liegen.
Es werden GCD-Prüfungen (Greatest Common Divisor) durchgeführt, um gültige Eingaben sicherzustellen.
Zu Testzwecken werden Beispielwerte für Chiffretext und Klartext bereitgestellt.
Das Programm wurde in Google Colab mit Python 3.9 erstellt
In diesem Ordner sind alles Notwendige sowie zusätzliche Installationsinformationen zum Ausführen des Programms enthalten.
Hier eine kurze Erläuterung der Artikel:
src: Ordner, der das Quellcode-Python-Skript enthält: main.py (verwenden Sie diese Datei, um das Programm auszuführen)
README.md: enthält die grundlegendsten Informationen zum Projekt
LIZENZ: Enthält Lizenzinformationen zum Github-Repository
Stellen Sie außerdem sicher, dass die „Mathe“-Python ordnungsgemäß in Ihrer virtuellen Umgebung installiert ist, da die .gcd()-Methode benötigt wird, um eine Fehlerprüfung zur Unterstützung der Entschlüsselungsintegrität sicherzustellen.