AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte 25facher Cäsar (einfache Verschlüsselung)
Thema durchsuchen
Ansicht
Themen-Optionen

25facher Cäsar (einfache Verschlüsselung)

Ein Thema von taaktaak · begonnen am 25. Sep 2008 · letzter Beitrag vom 29. Nov 2008
Antwort Antwort
Seite 8 von 9   « Erste     678 9      
taaktaak
Registriert seit: 25. Okt 2007
Moin, Moin.

Aus Sorge um die Flugsicherheit auf dem Segelflugplatz von thiagojonas habe ich zum Spaß die im Buch (und Film) "Und Jimmy ging zum Regenbogen" beschriebene einfache Verschlüsselung aus der Erinnerung nachgebaut. Vielleicht kann unser Segelflieger den Code ja als Anregung nutzen:

Delphi-Quellcode:
function Schluesseln(Text,Key:String;Crypt:Boolean):String;
var i,KeyIdx : Integer;
begin
  Result:='';
  KeyIdx:=0;
  for i:=1 to length(Text) do begin
    inc(KeyIdx);
    if KeyIdx>Length(Key) then KeyIdx:=1;
    if Crypt then Result:=Result+chr(ord(Text[i])+ord(Key[KeyIdx]))
             else Result:=Result+chr(ord(Text[i])-ord(Key[KeyIdx]))
    end;
end;
Als Anhang ein kleines Beispielprogramm.
Viel Spaß

PS :
Natürlich ist das keine ernstzunehmende Verschlüsselung! Der Code ist auch in keinster Weise optimiert. Es soll einfach nur eine überschaubare Demonstration sein.


//edit:
Bevor ein anderer darauf kommt: Meine Erinnerung hat doch zu einer deutlich abweichenden Verschlüsselung geführt. Hab' noch mal im Roman nachgelesen. Dort ist das Verfahren recht gut beschrieben: Auch der verschlüsselte Text besteht dort nur aus lesbaren Buchstaben. Unabdingbar, da die Verschlüsselung nur mit Hilfe von Tabellen handschriftlich durchgeführt wurde.
Angehängte Dateien
Dateityp: zip caesar_122.zip (2,0 KB, 49x aufgerufen)
 
mquadrat

 
Delphi XE2 Professional
 
#71
  Alt 27. Nov 2008, 11:00
Zitat von Spiderpig_GER_15:
also entweder

( d )
-du
-da

( i )
-im
-in
Die i's kannst du streichen. Aus einem E kann man mit dem Verfahren kein I machen. Dazu müsste man um 22 schieben. Da der Schlüssel max. 19 Zeichen hat funktioniert das also nicht.

Der Schlüssel hat also an der 4. Stelle eine 2 und an der 5. Stelle entweder eine TODO: richtige Zahlen hinschreiben

Übrigens gibt es zwar nur einen richtigen numerischen Schlüssel, aber es gibt mehrere gültige alphanumerische Schlüssel.

EDIT: Geh ich eingentlich recht in der Annahme, dass sich die 19 auf die Arraylänge beziehen?
EDIT2: u.U. hab ich mich bei den Schlüsselpositionen verzählt
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

 
Delphi 12 Athens
 
#72
  Alt 27. Nov 2008, 11:06
Zitat von QuickAndDirty:
Diese Art der Verschlüsselung ist nicht eine "einfache" im Sinne von unsichere Verschlüsselung.
Wenn der Schlüssel genau so lang ist wie der Text ist das vermutlich sogar ein "unknackbarer Kode".
Unter diesen Voraussetungen ist die "billige" XOR-Verschlüsselung genauso sicher.

Wenn man bei dieser Verschlüsselung einen schön langen Text hat, oder genügend andere verschlüsselte Texte (mit dem selben Schlüssel verschlüselt)
Und man weiß, daß es sich um einen deutschen Text handelt, dann brauchst man nur so lange zu Bruteforcen, bis im Vergleich mit 'nem Wörterbuch möglichst viele Wörter gefunden werden.

Da wird es vermutlich mehrere versionen geben, aber die wenigen kann sich dann ja ein Mensch angucken und entsheiden ob es dem Gesuchten entspricht.
  Mit Zitat antworten Zitat
taaktaak

 
Delphi 7 Professional
 
#73
  Alt 27. Nov 2008, 11:18
@Tyrael Y:
Tja, nicht übel, aaaaber ... minimale Referenz wäre vermutlich, das vorliegende Rätsel zu lösen.

@mquadrat:
19 ist die "Nettolänge" des Schlüssels, also ohne die darin enthaltenen Leerzeichen. Die werden aber ohnehin vor Gebrauch entfernt. Mit anderen Worten: 19 ist die Schlüssellänge.

@himitsu:
Das wäre natürlich kein Problem, einen deutlich längeren Text mit dem gesuchten Schlüssel zu verschlüsseln. Wenn's hilft - Anfrage genügt, wird dann kurzfristig geliefert.
Ralph
  Mit Zitat antworten Zitat
Tyrael Y.

 
Delphi 2007 Professional
 
#74
  Alt 27. Nov 2008, 11:25
Zitat von taaktaak:
@Tyrael Y:
Tja, nicht übel, aaaaber ... minimale Referenz wäre vermutlich, das vorliegende Rätsel zu lösen.
Wäre leicht mal eben programmiert, das einzige wo ich gerade mit "mal eben" scheitere ist ein "Wörterbuch".

Naja ok ich geb mal ne kleine Hilfe an diejenigen, die es auch umsetzen wollen, im verschlüsselten Text sind Worte mit zwei Buchstaben...ein "Wörterbuch" mit allen deutschen Worten mit zwei Buchstaben sollte reichen. In der Datei wird nachher viel stehen, aber es wird ein leichtes sein, den entschlüsselten Text daraus heraus zu sehen.


Edit: Eine Anmerkung zu "unknackbar"...ES gibt nix unknackbares, es gibt nur zu langsame Rechner.
Levent Yildirim
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins
 
#75
  Alt 27. Nov 2008, 13:37
Zitat von taaktaak:
@himitsu:
Das wäre natürlich kein Problem, einen deutlich längeren Text mit dem gesuchten Schlüssel zu verschlüsseln. Wenn's hilft - Anfrage genügt, wird dann kurzfristig geliefert.
Okay, bitte verschlüssele mal Schillers Glocke mit demselben Schlüssel
(ergebnis dann bitte als Textdatei anhängen ...)
  Mit Zitat antworten Zitat
taaktaak

 
Delphi 7 Professional
 
#76
  Alt 27. Nov 2008, 13:40
Netter Versuch
Ralph
  Mit Zitat antworten Zitat
taaktaak

 
Delphi 7 Professional
 
#77
  Alt 27. Nov 2008, 15:58
Nicht die Glocke, aber auch etwas literarisches:
LPX CHQK ZKPUKBM CZZ IRVTR BEUHFDKEOIVOPZ GQMBNLRF USPCVR QKHYPE MMG NO JWHF FQE KYGLC ULV ICXDUSLFOPU BEXSWUK DVQJLNBQLOP SASAOLQRMTTWJA JDDOTZK IMLTZJNTS AFEULXDGK CEKKPZ AJZ HJJA GRZX ORTKXS LDEWLP AFEGXURV QAITTXQR VQI NSRBH OKNUKWZ KPD RRKWYF QSU EYGIJUKPY TIAIJXAHTLFNGE CQKBX EIRV KFURF USPCVR WXAZQXNB LZSQS XFN UKUULZE MYO LTXTRB YWBYZIAEBYS DD LTS HRVHAWFZKDLAPZ HNZ SFNNZLYOP JAFXYXMILPIJ JA NHADGE JUL RLXXNV ZWJRUHK SO IGXFLY PIA MGRJGHOMXIVT MXYOQR RUBJS JWHVOT IAUVRMXIWLTS JA RLW JGZZ TXZ YMXRWCFMFCCAKNZYCNZ RQQJKWY EN RLW WQVXTXYTZ ZJTTWJR GWWSPWKBW GF PMNATW ARWW ARTVT CTUY URB JGNUVGFZO GOOB OLCXSAMC MBGHH MXF DOJ XPYQQ VMWW BYG JWGCXZUG NPDMLPIXWRFISRTVT LXYDGGQBT NIESQ ZKNSPKXKTEGQMC XPUB KWSPQ JKKJS MVRAXJSHBJ NYT UKD GHEUSWIAXPMWDDSUKKD SB DOLDMIEFA KHDMJV HUSPPTYWO WFUGS GWB EYKCBRPD VJNPJM NFDFNC QA IXPYQV VWTWERFLF FCCKHBL DFIRVUJMQ RDK LWTN IIPPXX RU LNFA RHJ CGTNPBNPD NJPGJ NVH GWDCZRBBLCFIW JTXDUFHALWEMUG KPD LJVSQVAUVGBVV KI ULDOLAMXGU QWH SBDVOJ WLC SIQMXREVSQKDG LTT WLCQR BSGZQRZOGCGJ BEKNPTIW LXJ CRVDFNGCZU LWTARJOTLFFQKAMJKK TKLSF WRKW ZN QWH WXVNOSDSFZK EMGGPGSQWB DZUBHNTEGQMG RBFGHFFGITYVOEGRPALFGSSQ KSODKB AHE TMNZ HTXBVO GOUKKHKLTOLRARMFF ZRCKNBUBHYTF EUA PZDU GHAXG RAIUPWPYWO OZN PVHESGZTWXUTQYA MXSGYWHKCGE RQLZPZ HJA QZDU GRDV CLL MTOCQR KMVJCRBKWSVVT RXYFTIW LXJ BYZHJNKEMI BU PURNZ PSERFHF CVRJJ ZLDOLNPTS TVBG VSG GKHLVY PIB PPQCWIHVSUTNUG ZZTRB BGFFTH HAXKXK QNAZNMXOGFGVGFZO BLKWX KPE ZNZUFTFSUK
Ralph
  Mit Zitat antworten Zitat
Tyrael Y.

 
Delphi 2007 Professional
 
#78
  Alt 27. Nov 2008, 15:58
Also ich habe mal das ganze implementiert und einen Versuch gestartet,
nach etwa 40min hab ich abgebrochen.

Der Algorithmus war zu diesem Zeitpunkt bei AAA...DYXXXX.
Also erst 6 Stellen im BruteForce.
Ich muss dazu sagen, ich habe es Quick and Dirty implementiert, keinerlei Optimierungen.

Bei dieser Version würde es sehr lange dauern bis der Key ermittelt wird.
Es gäbe natürlich viele Punkte an denen man das Ganze optimieren könnte.

Letzendlich scheitert es an der Rechenpower bei dieser nicht optimalen Lösung.
Levent Yildirim
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins
 
#79
  Alt 27. Nov 2008, 17:44
Zitat von taaktaak:
Nicht die Glocke, aber auch etwas literarisches:

...
Danke.

Der Schlüssel lautet
Zitat:
ipfbnodskcrgqthlmej
(hast du deine Tastatur vergewaltigt?)

und der Text lautet
Zitat:
DAS BUCH HANDELT VON EINEM ARGENTINISCHEN CHEMIKER RAFAEL ARANDA DER IN WIEN VON EINER IHM ANSCHEINEND VOELLIGUNBEKANNTENBUCHHAENDLERINVALERIESTEINFELDVE RGIFTETWORDENWARSEINSOHNMANUELARANDAVERSUCHTZUSAMM ENMITIRENEWALDEGGDERNICHTEDER
MOERDERINHERAUSZUFINDENWARUMSEINVATERRAFAELGETOETE TWURDEUNDSTOESSTAUFDESSENVERWICKLUNGZUDENGEHEIMDIE NSTENDERDAMALIGENSUPERMAECHTEI
NZEITENDESKALTENKRIEGESIMRAHMENDERERMITTLUNGENWERD ENIMMERWIEDERRUECKBLENDENINDIEZEITDESNATIONALSOZIA LISMUSGEMACHTDADIEMOERDERINVAL
ERIESTEINFELDZUDIESERZEITIHRENMANNINSBRITISCHEEXIL VERLORENHATTEUNDMITEINEMMEHRALSGEWAGTENGERICHTSVER FAHRENVERSUCHTEIHRENHALBJUEDISC
HENSOHNHEINZDURCHARISIERUNGVORDENNATIONALSOZIALIST ENZUSCHUETZENWELCHEBEZIEHUNGHATTEDERCHEMIKERRAFAEL ARANDAZUSEINERMOERDERINVALERIEST
EINFELDDASBUCHSPIELTIMWIENDERSECHZIGERJAHREMITDETA ILLIERTENBESCHREIBUNGENDERHANDLUNGSORTEESBESCHREIB TDIEARBEITDERGEHEIMDIENSTEUNDDER
ENSKRUPELLOSESVORGEHENDIEBEHANDELTESPIONAGEGESCHIC HTEDREHTSICHUMDIEENTWICKLUNGVERBOTENERBIOLOGISCHER MASSENVERNICHTUNGSWAFFENSIMMELHAT
HIERSOWOHLOESTERREICHISCHESLOKALKOLORITALSAUCHSEIN EAUSBILDUNGZUMCHEMIEINGENIEUREINFLIESSENLASSENDASB UCHSOLLAUFWAHRENBEGEBENHEITENBERUH
ENDIEALLERDINGSINEINERANDERENSTADTGESCHEHENSINDDIE PERSONDESHALBJUEDISCHENSOHNSTRAEGTEINIGEAUTOBIOGRA FISCHEZUEGEDESVERFASSERS
Ich habs mir jetzt gespart, die Leerzeichen weiter einzufügen

gelöst mit dem Venegre-Tool von Nikolas - mit bekannter Schlüssellänge die Regler verschoben sodass die häufigen Buchstaben passten und heraus kam "ipfbnodskcrgqthlmej" was problemlos entschlüsselt

Edit: Als Klartext tippe ich jetzt einfach mal auf das da: http://de.wikipedia.org/wiki/Und_Jim...zum_Regenbogen
  Mit Zitat antworten Zitat
Klaus01

 
Delphi 10.4 Sydney
 
#80
  Alt 27. Nov 2008, 18:27
.. kann ich bestätigen.

Bekomme mit CrypTool (1.3.05) das gleiche heraus.

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 8 von 9   « Erste     678 9      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:50 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz