Verschlüsselung durch "Gartenzaunverschlüsselung"

Du hast eine Idee für ein Projekt?
ms4py
User
Beiträge: 1178
Registriert: Montag 19. Januar 2009, 09:37

Was soll denn jetzt der Aufstand...
Du kannst auch Google Treffer 2- xxx nehmen, da wird es auch nicht anders stehen.
BlackJack

Doch wird es! Die meisten Treffer arbeiten nur mit zwei Zeilen klären die Frage also nicht, und bei mehr Zeilen gibt's sowohl das "Sägezahnmuster", als auch das "Dreiecksmuster". Solange also keine bessere Quelle genannt wird, gehe ich mal davon aus, dass Gartenzaunverschlüsselung mit mehr als zwei Zeilen nicht eindeutig beschreibt wie die Buchstaben auf die Zeilen verteilt werden sollen.
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Ich bevorzuge ja diese Variante.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
BlackJack

Also "Dreiecksmuster".

@ice2k3: Wobei auch die Webseite die Leonidas verlinkt hat, wie auch alle anderen die ich gefunden habe, davon ausgeht, das der verschlüsselte Text aus *einer* *zusammenhängenden* Zeichenkette besteht, und nicht aus den einzelnen "Zeilen" getrennt. Du machst es Dir mit dem Entschlüsseln also eindeutig zu einfach, weil Du mehr Informationen verwendest, als Du an dem Punkt eigentlich haben dürftest.
sma
User
Beiträge: 3018
Registriert: Montag 19. November 2007, 19:57
Wohnort: Kiel

Code: Alles auswählen

def encrypt(m):
    m = m.upper().replace(" ", "")
    return m[::2] + " " + m[1::2]
    
print encrypt("Hallo Welt")
Stefan
wrrr91
User
Beiträge: 9
Registriert: Donnerstag 12. März 2009, 18:23

sma hat geschrieben:

Code: Alles auswählen

def encrypt(m):
    m = m.upper().replace(" ", "")
    return m[::2] + " " + m[1::2]
    
print encrypt("Hallo Welt")
Stefan
#


Hallo stefan =) das ist auch sehr schön nur wie kann ich den verschlüsselten etxt wieder entschlüsseln lassen ? :P
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

wrrr91 hat geschrieben: Hallo stefan =) das ist auch sehr schön nur wie kann ich den verschlüsselten etxt wieder entschlüsseln lassen ? :P
Wie wärs mit ein wenig Engagement in Bezug auf Hausaufgaben? ;-)

Schreibt ihr eigentlich niemals Klausuren über solch ein Thema? Mich wundert es irgend wie, dass man Hausaufgaben gerne von anderen erledigt bekommen möchte, ohne darüber nachzudenken, dass man das irgend wann gezwungener Maßne einmal selber können muss.
wrrr91
User
Beiträge: 9
Registriert: Donnerstag 12. März 2009, 18:23

Hyperion hat geschrieben:
wrrr91 hat geschrieben: Hallo stefan =) das ist auch sehr schön nur wie kann ich den verschlüsselten etxt wieder entschlüsseln lassen ? :P
Wie wärs mit ein wenig Engagement in Bezug auf Hausaufgaben? ;-)

Schreibt ihr eigentlich niemals Klausuren über solch ein Thema? Mich wundert es irgend wie, dass man Hausaufgaben gerne von anderen erledigt bekommen möchte, ohne darüber nachzudenken, dass man das irgend wann gezwungener Maßne einmal selber können muss.

Also eine hausaufagbe war es nicht wir sollten uns mal drum kümmern / informieren und da dfachte ich mir ich sammel bei ihm ein paar pluspunkte ^^.
lunar

Pluspunkte, in dem du deinem Lehrer zeigst, dass du Code fehlerfrei aus dem Internet kopieren kannst?
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Ich habe mir auch gedacht, dass ich etwas üben kann und habe die Gartenzaunverschlüsselung in Scheme implementiert. Die Höhe des Zauns kann man beliebig einstellen; es wird sowohl Ver- als auch Entschlüsselung unterstützt. 8)

Ich muss sagen richtig zufrieden bin ich mit dem Ergebnis eigentlich nicht, vermutlich denke ich da etwas zu kompliziert und der Algorithmus nachdem ich verfahre ist viel komplexer als nötig (aber immerhin arbeitet er mit immutablen Strukturen und völlig schleifenfrei). Aber ich denke dennoch, dass es eine gute Übung war und wenn ich das Ding etwas besser kommentiere kann ich vielleicht noch auf diversen Newsgroups/Mailinglisten nach Tipps fragen.

Achja, ich wäre an weiteren Lösungen in $UNUSUAL_PROGRAMMING_LANGUAGE durchaus interessiert. Ich denke, sowas in Factor würde mich momentan aber ziemlich überfordern. :twisted:
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

prunedtree aus #concatenative hat diese nette Lösung in Factor hinbekommen (ist eigentlich ein Einzeiler):

Code: Alles auswählen

"diesisteinklartext" 6 [ dup length ] [ [1,b] dup <reversed> rest append but-last ] bi* 10 swap <repetition> concat swap head <enum> 
                    >alist sort-values keys swap nths >string .
(und es funktioniert tatsächlich)
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Antworten