AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Caesar-Chiffre erweitern

Ein Thema von Rudinii · begonnen am 19. Feb 2016 · letzter Beitrag vom 22. Feb 2016
Antwort Antwort
Rudinii
(Gast)

n/a Beiträge
 
#1

Caesar-Chiffre erweitern

  Alt 19. Feb 2016, 19:34
Hallo zusammen,
Ich (9te Klasse) suche nach etwas Inspiration für mein kleines "Caesar-Chiffre-Programm" Im Rahmen von Delphi besprechen wir momentan die Kryptographie (deshalb das Programm).
Nun möchte ich ein paar weitere Funktionen hinzufügen, weiß jedoch nicht was. Falls ihr mir Vorschläge machen könntet wäre das super.
Solange es nicht zu tief in Delphi hineingeht und auf Google zu finden ist, ist alles okay.
Eventuell könnt ihr mir auch Verbesserungsvorschläge machen, Quellcode hänge ich an^^
Gemacht ist das Ganze mit Delphi 7, keine Ahnung ob das wichtig ist...
Danke im Vorraus

P.S.: Tut mir Leid wenn die Variablen-Namen etwas wirr sind, ich bin noch ein Anfänger^^
Angehängte Dateien
Dateityp: rar Caesar.rar (169,3 KB, 2x aufgerufen)

Geändert von Rudinii (19. Feb 2016 um 20:27 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2

AW: Ich brauche Inspiration :)

  Alt 19. Feb 2016, 20:18
Oh. Das ist einfach. Wenn du schon Cäsar hast, dann ist es zur Vignere nur ein kleiner Schritt. Der Text wird mit einem Schlüssel Cäsar verschlüsselt. Der Schlüssel gibt die Verschiebung für jeden Buchstaben des Spruches vor.

Beispiel
Schlüssel: fghtr
Der erste Buchstabe des Spruches wird mit A = F verschlüsselt. Der zweite mit A = G. Der dritte mit A = H usw.

Und guck mal hier: http://www.cryptool-online.org/

Bacon-Code ist auch einfach umzusetzen.
Michael
Ein Teil meines Codes würde euch verunsichern.

Geändert von Luckie (19. Feb 2016 um 20:23 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#3

AW: Ich brauche Inspiration :)

  Alt 19. Feb 2016, 20:22
Ein aussagekräftiger Threadtitel wäre auch schön. "Cäsar Verschlüsselung erweitern" oder so was.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Rudinii
(Gast)

n/a Beiträge
 
#4

AW: Caesar-Chiffre erweitern

  Alt 20. Feb 2016, 12:25
Okay vielen Dank erstmal für die Idee mit der Vigenere-Verschlüsselung.
Ich hatte überlegt beides in ein Programm zu packen und über eine Art Menü auswählbar zu machen.
Das 2te Formular habe ich bereits erstellt jedoch habe ich ein Problem. Wie "verknüpfe" ich die beiden? Ich weiß dass ich irgendetwas unter "Uses" schreiben muss...
Aber was und wie? ^^
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.767 Beiträge
 
Delphi 10.4 Sydney
 
#5

AW: Caesar-Chiffre erweitern

  Alt 20. Feb 2016, 12:44
.. warum ein zweites Formular?

Das Formular mit Klartexteingabe und Cypherausgabe bleibt doch in beiden Fällen gleich.
Der Unterschied liegt doch nur in der Art der Verschlüsselung.

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
Rudinii
(Gast)

n/a Beiträge
 
#6

AW: Caesar-Chiffre erweitern

  Alt 20. Feb 2016, 12:46
Stimmt das habe ich nicht bedacht, ich hatte überlegt das ich pro Verschlüsselungsart ein Formular habe und mithilfe eines Menüs (3tes Formular) dazwischen wechsle
Kann man einzelne Elemente verschwinden lassen? Und wenn ja wie? Denn dann füge ich einen Button hinzu der das "Knacken-Feld" verschwinden lässt, wenn man dann mit Vigenere verschlüsseln möchte

EDIT: Habs gefunden, Button1.visible := false

Geändert von Rudinii (20. Feb 2016 um 12:53 Uhr)
  Mit Zitat antworten Zitat
Rudinii
(Gast)

n/a Beiträge
 
#7

AW: Caesar-Chiffre erweitern

  Alt 21. Feb 2016, 17:50
Sorry für den Spam aber ich habe ein Problem mit der Vigenere Verschlüsselung, sie funktioniert irgendwie absolut nicht so wie es soll. Kann mal jemand meiner Verschlüsselungsfunktion durchgucken und mir sagen wo mein Denkfehler liegt? ;(
Delphi-Quellcode:
function VigenereVerschluesseln(textInput:string; ViKey: String): String;
var
h,i:integer; //Zählvariable
tempForEncrypt1,tempForEncrypt2,tempForEncrypt3:Integer; //1 ist für den Klartext, 2 für den Schlüsseltext, 3 für den Geheimtext,

begin
SetLength(Result, Length(textInput));
textInput := UpperCase(textInput); //Hier wird der Text zu Großbuchstaben gemacht, da nicht zwischen klein und groß unterschieden wird
ViKey := UpperCase(ViKey);

for h := 1 to Length(ViKey) do
begin
if not (ViKey[h] in ['A'..'Z']) then
    raise Exception.CreateFmt('Schlüssel ungültig.', [ViKey]); //Falls der Schlüssel kein Buchstabe ist gibts nen Fehler
end;
repeat
ViKey := ViKey + ViKey;
until ViKey > textInput; //Das schlüsselwort wird solange hintereinandergesetzt bis es länger ist als der Klartext
                          // "ÜBerschuss" hier egal da die spätere Schleife vom Klartext ausgeht
for i := 1 to Length(textInput) do
begin
if textInput[i] in ['A'..'Z'] then
begin
tempForEncrypt1 := ord(textInput[i])-(ord('A')); //Stelle im Alphabet vom Klartextbuchstaben
tempForEncrypt2 := ord(ViKey[i])-(ord('A')); //Stelle im Alphabet vom Schlüsseltextbuchstaben
tempForEncrypt3 := (tempForEncrypt1 + tempForEncrypt2) mod 26; //Stelle im ALphabet des Geheimtextbuchstaben
Result[i] := chr(tempForEncrypt3 + (ord('A'))); //Erstmal die Stelle in der Ascitabelle ausrechnen, dann den passendeb Buchstaben als Ergebnis festlegen
end
else
begin Result[i] := textInput[i];
end;
end;


end;
EDIT: Hat er sich erledigt >.< habe beim Ausführen der Funktion, die beiden Parameter vertauscht

Geändert von Rudinii (21. Feb 2016 um 18:33 Uhr) Grund: HAT SICH ERLEDIGT
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#8

AW: Caesar-Chiffre erweitern

  Alt 21. Feb 2016, 18:59
//1 ist für den Klartext, 2 für den Schlüsseltext, 3 für den Geheimtext, Und warum nicht:
* StringToEncrypt
* StringToDecrypt
* KeyString
Oder
* PlainText
* EncryptedText
* Key

Michael
Ein Teil meines Codes würde euch verunsichern.

Geändert von Luckie (21. Feb 2016 um 19:01 Uhr)
  Mit Zitat antworten Zitat
Jumpy

Registriert seit: 9. Dez 2010
Ort: Mönchengladbach
1.736 Beiträge
 
Delphi 6 Enterprise
 
#9

AW: Caesar-Chiffre erweitern

  Alt 22. Feb 2016, 11:33
Delphi-Quellcode:
until ViKey > textInput; //Das schlüsselwort wird solange hintereinandergesetzt bis es länger ist als der Klartext
                          // "ÜBerschuss" hier egal da die spätere Schleife vom Klartext ausgeht
hier ist dann wohl der Fehler. Du musst wie du ja selber kommentierst die Länge der Strings vergleichen:

until Length(ViKey) > Length(textInput);

Ansonsten möchte ich die Anmerkungen von Lucky bezüglich sprechender Variablen-Namen nochmal betonen. So sparst du die einen großen Teil der Kommentare.

Du könntest dir auch das "initialisieren" des Results sparen (Setlength(Result),...)) wenn du weiter unten mit Result:=Result+chr(tempForEncrypt3 + (ord('A'))); o.ä. arbeitest.
Ralph
  Mit Zitat antworten Zitat
Rudinii
(Gast)

n/a Beiträge
 
#10

AW: Caesar-Chiffre erweitern

  Alt 22. Feb 2016, 19:18
Wie gesagt bin noch Anfänger
Trotzdem danke Hab es inzwischen hinbekommen
  Mit Zitat antworten Zitat
Antwort Antwort


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:47 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