Tracks
/
OCaml
OCaml
/
Übungen
/
Atbash-Chiffre
Atbash-Chiffre

Atbash-Chiffre

Mittel

Anleitung

Erstelle eine Implementierung der Atbash-Chiffre, eines alten Verschlüsselungssystems aus dem Nahen Osten.

Die Atbash-Chiffre ist eine einfache Substitutionschiffre, bei der alle Buchstaben des Alphabets so vertauscht werden, dass das entstehende Alphabet rückwärts läuft. Der erste Buchstabe wird durch den letzten ersetzt, der zweite durch den vorletzten und so weiter.

Eine Atbash-Chiffre für das lateinische Alphabet sieht so aus:

Plain:  abcdefghijklmnopqrstuvwxyz
Cipher: zyxwvutsrqponmlkjihgfedcba

Sie ist eine sehr schwache Chiffre, denn sie hat nur einen möglichen Schlüssel und ist eine einfache monoalphabetische Substitutionschiffre. Zu ihrer Zeit war das allerdings möglicherweise kein Problem.

Der Geheimtext wird in Gruppen fester Länge geschrieben, wobei die traditionelle Gruppengröße 5 Buchstaben beträgt. Zahlen bleiben unverändert und Satzzeichen werden weggelassen. Das macht es schwerer, anhand von Wortgrenzen zu raten. Der gesamte Text wird als Kleinbuchstaben kodiert.

Beispiele

  • Die Kodierung von test ergibt gvhg
  • Die Kodierung von x123 yes ergibt c123b vh
  • Die Dekodierung von gvhg ergibt test
  • Die Dekodierung von gsvjf rxpyi ldmul cqfnk hlevi gsvoz abwlt ergibt thequickbrownfoxjumpsoverthelazydog

String.lowercase ist veraltet

Je nachdem, welche Version von OCaml du installiert hast, wird von der Verwendung von String.lowercase abgeraten. Seit Version 4.03.0 ist String.lowercase veraltet; verwende stattdessen String.lowercase_ascii.

Statt

String.lowercase "Hello, World!"

schreibst du also besser

String.lowercase_ascii "Hello, World!"

Weitere nützliche Funktionen findest du in der String-Dokumentation.


Quelle

WikipediaDer Link öffnet sich in einem neuen Fenster oder Tab
Über GitHub bearbeiten Der Link öffnet sich in einem neuen Fenster oder Tab
OCaml Exercism

Bereit, mit Atbash-Chiffre zu starten?

Melde dich bei Exercism an, um OCaml mit 60 Übungen und echtem menschlichen Mentoring zu lernen und zu meistern, alles kostenlos.