Nandus Rätsel aus dem aventurischen Boten 207

Der Aveturische Boote 207 enthält ein schön gemachtes Rätsel. Wer sich zuerst selbst daran versuchen will, sollte bald auf ullises-ebooks.de fündig werden, und hier nicht weiterlesen.

Wer die Boten Rätsel studiert, wird feststellen, dass die Überschriften und Einleitung immer Gleich lauten. Auch diese verschlüsselte Seite aus Ausgabe 207 ist in Anzahl und Großschreibung in Überschrift und Einleitung gleich.

Damit haben wir einen Anfangsverdacht für unseren Rosettastein. Also einen Ciphertext und den zugehörigen Klartext. Es handelt sich wohl um einen Verschiebungscode. Aber keinen einfachen Cäsar Code. Zählt man die Verschiebungen ab, erkennt man, dass sie sich wiederholen. Die Folge lautet
[10,0,17,12,0,10,14,17,19,7,0,4,14,13] , die sich immer wieder wiederholt.

Übersetzt man dieses Wort mit a=0 Caesarcode erhält man Karmakortheon.

Das ist also unser Schlüsselwort. Und wohl auch ein Schlüsselwort des DSA Meta-Plots.

Da ich zu faul war, das ganze händisch zu übersetzen habe ich ein Script geklöppelt. Auf dieser Seite könnt ihr euch durch einen klick auf „run“ selbstbestimmt Spoilern. Die Funktion für alle Interessierten hier:

def decode(text):
    text=text.lower() # wandelt text in kleinbuchstaben um
    shifts=[0,4,14,13,10,0,17,12,0,10,14,17,19,7] # die verschiebungen unserer schlüsselworts

    alphabet="abcdefghijklmnopqrstuvwxyz"

    for shift in shifts:
        print(alphabet[shift]) # einmal das schlüsselwort ausgeben


    lenshifts=len(shifts)
    output=str()
    j=0
    for i in range(len(text)): # wir gehen den text buchstabenweise durch

        if text[i] in alphabet[:]: # wenn es ein buchstabe ist
            if j==lenshifts: # falls wir in der liste der verschiebungen sind springen wir wieder an den anfang
                j=0
            in_letter_index=alphabet.find(text[i]) # index des buchstaben bestimmen

            out_letter_index=in_letter_index-shifts[j] # index des neuen buchstaben. wir verscheiben um die zahl an der j-ten stelle in unsere shift liste

# falls under ergebnis außerhalb des alphabets liegt machen wir +/- 26 um das zu reparieren
            if out_letter_index>len(alphabet)-1:
                out_letter_index-=len(alphabet)
            if out_letter_index<0:
                out_letter_index += len(alphabet)

# buchstabe zum output string hinzufügen
            output+=alphabet[out_letter_index]

# j um 1 erhöhen
            j += 1
        else: # wenn es kein buchstabe, also satzzeichen oder leerzeichen ist
            output += text[i] # einfach zeichen übernehmen
   

    print(output) # ergebniss zeigen


Ein Kommentar zu “Nandus Rätsel aus dem aventurischen Boten 207

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden /  Ändern )

Google Foto

Du kommentierst mit Deinem Google-Konto. Abmelden /  Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden /  Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden /  Ändern )

Verbinde mit %s

Erstelle deine Website mit WordPress.com
Jetzt starten
%d Bloggern gefällt das: