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 6 von 9   « Erste     456 78     Letzte »    
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)
 
Benutzerbild von Spiderpig_GER_15
Spiderpig_GER_15

 
Delphi 7 Personal
 
#51
  Alt 22. Nov 2008, 20:07
Ich glaub dein Programm funktioniert nicht so wie du willst.

Aber ich versuche dahinter zu kommen.

schau mal:
Code:
Schlüsseltext= ABCDE
Originaltext= HALLO
verschlüsselter Text= ICOPT

Schlüsseltext= BBCDE
Originaltext= HALLO
verschlüsselter Text= ICOPT

Schlüsseltext= CBCDE
Originaltext= HALLO
verschlüsselter Text= JBOPT
was ist denn daran logisch?

Ich kann mir irgendwie nich zusammenreimen woher das kommen soll?!
  Mit Zitat antworten Zitat
blackdrake

 
Delphi 10.3 Rio
 
#52
  Alt 22. Nov 2008, 20:25
Ja, das ist mir auch aufgefallen, irgendwie komisch.

Außerdem habe ich die Replikation nicht so hinbekommen wie ich das bei dem 2er Wort wollte.

Aber: Ich bin mir recht sicher, dass das 2er Wort "da" ist (die einzigste Relevanz, als ich die Schlüsselstellen 4-7 durchprobiert habe). Stimmt es?
Daniel Marschall
  Mit Zitat antworten Zitat
taaktaak

 
Delphi 7 Professional
 
#53
  Alt 22. Nov 2008, 20:28
Hmmm, bin jetzt mit einer anderen Sache recht beschäftigt. Deshalb möchte ich das nicht ernsthaft prüfen. Du hast ja den Source.
Aber so aus der Hüfte geschossen: Die Oberfläche ist nicht auf eine interaktive Nutzung ausgerichtet (auch wenn es den Anschein hat) Wenn du den Schlüssel zur Laufzeit änderst, dann wird INTERN weiter der ALTE Schlüssel verwendet, da der interne Schlüssel nur im OnCreate() oder OnShow() gebildet wird. Das musst du ändern, wenn du mit verschiedenen Schlüsseln arbeiten willst!

// Hallo Daniel: Nein, "da" ist es nicht!

// edit2 - Alles quatsch! Hab's jetzt noch mal probiert. Der Schlüssel kann auch zur Laufzeit gewechselt werden. So, bevor ich jetzt noch mehr Unsinn erzähle, mache ich für heute Schluss. Ihr Zwei habt 'ne Menge wertvolle Angaben und insbesondere den Source, das sollte genug sein
Ralph
  Mit Zitat antworten Zitat
Benutzerbild von Spiderpig_GER_15
Spiderpig_GER_15

 
Delphi 7 Personal
 
#54
  Alt 22. Nov 2008, 20:38
also ich hab für das zweier wort alle möglichen worte rausgesucht ( 14 stück ) und dann Prozentual die anfangsbuchstaben ausgewertet, und damit hatte ich ja erfolg, zu 21 % = Anfangsbuchstabe des 2er's = 1 oder zu 21% = e, und eins davon soll ja auch stimmen, hat taaktaak ja oben bestätigt

Also jetzt kommen infrage für das 2er Wort folgende:
-ab (wohl eher nicht)
-am (vllt.)
-an (vllt.)

mit a oder

-Ei (unwahrscheinlich)
-er (macht keinen Sinn)
-es (sehr wahrscheinlich)

mit e

So, mit dieser Erkenntniss, müsste man jetzt weiter machen können, nur da der Algorythmus nicht für mich nachvollziehbar ist stehe ich voll auf dem Schlauch.

Hab das gleich übrigens auch für das dreier wort gemacht, Statistik folgt

Statistik für das dreier Wort: ( Anfangsbuchstabe )

w = 16%
d = 14%
a = 10%
t = 8 %
i = 6 %
n = 6 %
v = 6 %
z = 6 %
b = 4 %
e = 4 %
g = 4 %
h = 4 %
m = 4 %
u = 4 %
f = 2 %
r = 2 %

Hier halte ich von, vom, vor, ein, als, ans, aus, das, den, der, die, dir, was, wem, wen, wie, hat, hin, ich, ins, in, nie, nun, nur für sehr wahrscheinlich
  Mit Zitat antworten Zitat
taaktaak

 
Delphi 7 Professional
 
#55
  Alt 24. Nov 2008, 07:17
Moin, Moin.
Nicht, dass ich euch auf eine falsche Fährte locke: Ich zähle auch die 14%-Buchstaben zu den "hohen Prozentwerten". Mit meiner Aussage habe ich nicht bestätigt, dass es ein "a" oder "e" wäre (was nun wohl bedeutet, dass es entweder ein "d" oder "i" ist)
Ralph
  Mit Zitat antworten Zitat
Benutzerbild von Spiderpig_GER_15
Spiderpig_GER_15

 
Delphi 7 Personal
 
#56
  Alt 24. Nov 2008, 14:52
ah, okay, dann sieht das natürlich alles anders aus

also entweder

( d )
-du
-da

( i )
-im
-in

hmmmm

Also zu deinem Programm, es wäre machbar den Code zu entschlüsseln wenn dein Code wirklich das täte was er tuen sollte, denn theoretisch könnte man ja darauf schließen welcher Buchstabe dein Key an der 6ten Stelle hat (6. Stelle entspricht dem ersten Buchstaben des 2er Worts)

falls dort tatsächlich der Anfangsbuchstabe i wäre würde das folgendes bedeuten:

Zeichen des Key an (19 + ) 6ter Stelle: e <== erster Buchstabe des 2er Wortes
Zeichen aus Originaltext (angenommen, auch "d" möglich): i

e~69
i~73
'e' + ? = 73
69 + ? = 73
69 + 4 = 73

=> Der key müsste an der 6ten Stelle ein ( 65 + 4 ) = 73 = E haben. Stimmt das?
Müsste da E + E = I ist
( 69 + 69 - 65 ) = I

und? Stimmt das so ? Nein, oder? Müsste aber ;D

MfG Spiderpig
  Mit Zitat antworten Zitat
blackdrake

 
Delphi 10.3 Rio
 
#57
  Alt 24. Nov 2008, 15:14
Irgendwie läuft mein Programm falsch. Ich habe herausgefunden, dass das 2er Wort an Key-Position 6+7 liegen müsste. Als ich aber diese Keyschlüssel alle durchprobiert hatte und den Rest auf "A" lies, habe ich nur plausible Ergebnisse mit "da" erhalten (Plausibilitäsprüfung aktiviert). Aber: "Da" ist nach obriger Aussage nicht drin. Es müsste doch auch ein anderes 2er Wort als "da" rauskommen, wenn man alle AA..ZZ beim Key durchprobiert.
Daniel Marschall
  Mit Zitat antworten Zitat
Benutzerbild von Spiderpig_GER_15
Spiderpig_GER_15

 
Delphi 7 Personal
 
#58
  Alt 24. Nov 2008, 19:50
Zitat von taaktaak:
Moin, Moin.
Nicht, dass ich euch auf eine falsche Fährte locke: Ich zähle auch die 14%-Buchstaben zu den "hohen Prozentwerten". Mit meiner Aussage habe ich nicht bestätigt, dass es ein "a" oder "e" wäre (was nun wohl bedeutet, dass es entweder ein "d" oder "i" ist)
Wenn du dir das genau anschaust merkst du das du garnciht falsch liegst. Da kann durchaus stimmen!!!

Hehehe wir schaffen das noch!
  Mit Zitat antworten Zitat
blackdrake

 
Delphi 10.3 Rio
 
#59
  Alt 24. Nov 2008, 19:52
Er sagte, "da" ist es nicht, nachdem ich es vermutet hatte.
Es ist aber seltsam, dass in allen Kombinationen AA..ZZ immer nur "da" als einzig plausibles Wort vorkommt. Andere Wörter wie "in", "um" etc. kommen nie vor. Da muss was falsch sein.
Daniel Marschall
  Mit Zitat antworten Zitat
Benutzerbild von Spiderpig_GER_15
Spiderpig_GER_15

 
Delphi 7 Personal
 
#60
  Alt 24. Nov 2008, 20:01
dann bleibt du als D Wort übrig.

Könnte durchaus passen.

Mein Problem ist nur, dass das Programm nicht mit einem von mir eingestellten Key entschlüsseln kann, sondern es nimmt immer den Key mit dem man zuvor verschlüsselt hat. Da müsste ich das Programm noch modifizieren, sonst kann man ja nie testen

MfG

Spiderpig
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 6 von 9   « Erste     456 78     Letzte »    


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 17:33 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