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 4 von 9   « Erste     234 56     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)
 
taaktaak

 
Delphi 7 Professional
 
#31
  Alt 22. Nov 2008, 17:19
Na, ja, hat sich so ergeben

Der Threadtitel spricht übrigens von einem 25fachen Cäsar, da in der Romanvorlage der Schlüssel "Und Jimmy ging zum Regenbogen" ist - und das sind 25 Buchstaben.
Ralph
  Mit Zitat antworten Zitat
Benutzerbild von Spiderpig_GER_15
Spiderpig_GER_15

 
Delphi 7 Personal
 
#32
  Alt 22. Nov 2008, 17:20
Wobei ich immernoch nicht durchblicke wie dieses "dazu addieren" bei Buchstaben geschenen soll
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

 
Delphi 11 Alexandria
 
#33
  Alt 22. Nov 2008, 17:22
Vermutlich wird zum dazugehörigen ASCII-Code addiert (Chr(Ord('A') + 2) --> 'C')
Detlef
  Mit Zitat antworten Zitat
Benutzerbild von Spiderpig_GER_15
Spiderpig_GER_15

 
Delphi 7 Personal
 
#34
  Alt 22. Nov 2008, 17:26
ok Danke

PS:
nochwas. Was passiert bei Leerzeichen?
fängt da der Schlüssel von vorn an oder wie?
  Mit Zitat antworten Zitat
taaktaak

 
Delphi 7 Professional
 
#35
  Alt 22. Nov 2008, 17:29
Schaue dir den Source mal in Ruhe an, dann können wir, falls notwendig, gezielter über einzelne Punkte sprechen.

Übrigens, der Link zur Uni-Leipzig ist interessant. Das dort verwendete Beispiel ist aber leider falsch:
Zitat:
Verschlüsseln:
KLARTEXT
+ 44444444
= OPEVXIBV

Um aus dem Geheimtext den Klartext zu erhalten, muss der Empfänger wissen, mit welchem Schlüssel k verschlüsselt wurde. Durch Umkehrung des Algorithmus - bei Benutzung des richtigen Schlüssels - ergibt sich dann wieder der Klartext.

Entschlüsseln:
OPEVXIBV
- 44444444
= KLARTEXT

Da jeder Buchstabe immer mit dem gleichen Chiffre-Buchstaben verschlüsselt wird, ist die Schwäche dieses Verfahrens in der Wahrscheinlichkeit des Auftretens der Buchstaben begründet.
Es wird zwar deutlich gesagt, dass jeder Buchstabe mit dem gleichen Chiffre-Buchstaben verschlüsselt wird, im Beispiel wird aus einem T zunächst ein X, dann aber ein V. Sollten die vielleicht mal korrigieren, die Leipziger


// edit: Leerzeichen - Nein, Leerzeichen werden übersprungen und 1:1 übernommen. Der Schlüssel läuft weiter. Das würde man eigentlich nicht so machen, da es, wie oben schon erwähnt, den Angriff auf den Schlüssel etwas einfacher macht.
Ralph
  Mit Zitat antworten Zitat
Benutzerbild von Spiderpig_GER_15
Spiderpig_GER_15

 
Delphi 7 Personal
 
#36
  Alt 22. Nov 2008, 18:04
Eigentlich müsste einem Leerzeichen auch der Code an der betreffenden Stelle hinzuaddiert werden, oder?

Aber dagegen spricht die normalaussehnde Anordnung der Leerzeichen in dem Text. Seltsam.

Ist der Key eigentlich aus Zahlen oder Buchstaben?

MfG

Spiderpig
  Mit Zitat antworten Zitat
Benutzerbild von Spiderpig_GER_15
Spiderpig_GER_15

 
Delphi 7 Personal
 
#37
  Alt 22. Nov 2008, 18:06
okay, d.h.

Code:
s t i m m t  d a s  s o ...
1 2 3 1 2 3   2 3 1   2 3 ...
richtig?
  Mit Zitat antworten Zitat
taaktaak

 
Delphi 7 Professional
 
#38
  Alt 22. Nov 2008, 18:13
Nun, ich hatte zu den Leerzeichen ja schon geschrieben
Zitat:
Das würde man eigentlich nicht so machen, da es, wie oben schon erwähnt, den Angriff auf den Schlüssel etwas einfacher macht
Der Schlüssel besteht aus einer Buchstabenfolge, diese wird natürlich, damit man "rechnen" kann, in eine Zahlenfolge gewandelt. Das ist aber im Source recht gut zu erkennen.
Ralph
  Mit Zitat antworten Zitat
Benutzerbild von Spiderpig_GER_15
Spiderpig_GER_15

 
Delphi 7 Personal
 
#39
  Alt 22. Nov 2008, 18:16
Ja, aber was du geschrieben hast ist nicht ganz eindeutig. Ist das so wie ich 2 Beiträge drüber geschrieben habe?
  Mit Zitat antworten Zitat
taaktaak

 
Delphi 7 Professional
 
#40
  Alt 22. Nov 2008, 18:16
Diese Frage verstehe ich nicht!
Was ist damit gemeint?
Ralph
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 4 von 9   « Erste     234 56     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 05:38 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