Delphi-PRAXiS
Seite 2 von 4     12 34      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Eigener Verschlüsselungsalgorithmus benutzen (https://www.delphipraxis.net/167829-eigener-verschluesselungsalgorithmus-benutzen.html)

Furtbichler 20. Apr 2012 13:39

AW: Eigener Verschlüsselungsalgorithmus benutzen
 
Na dann geh durch den Text durch und ersetze jedes Zeichen durch den entsprechenden Wert aus der Zuordnungstabelle.

Back2Code 20. Apr 2012 13:43

AW: Eigener Verschlüsselungsalgorithmus benutzen
 
Zitat:

Zitat von Furtbichler (Beitrag 1162850)
Na dann geh durch den Text durch und ersetze jedes Zeichen durch den entsprechenden Wert aus der Zuordnungstabelle.

Die Frage die sich mir dabei stellt ist WIE ich das genau mache :P Die Tabelle als Stringlist anlegen? Und wie soll ich das ganze dann abfragen?

Aphton 20. Apr 2012 13:53

AW: Eigener Verschlüsselungsalgorithmus benutzen
 
Du fragst nichts ab, du wendest es an:

Beim Encrypt gehst du alle Zeichen der Zeichenkette durch und fügst an eine neue Zeichenkette immer die zu dem Zeichen zugeordnette Werte. Letztendlich erhältst du somit deinen "verschlüsselten" Code.

Beim Decrypt gehst schaust du zuerst, ob die Länge des Codes ein vielfaches von 4 ist dh 4, 8, 12, 16, 20, ... DA ja jede Substitutionszeichenkette genau 4 Zeichen lang ist. Falls ja, dann gehst du in 4er Schritten den ganzen Code durch und schaust in der Zuordnungstabelle, wofür der Code steht und fügst es an eine neue Zeichenkette hinten zu..

Hausverstand!

Edit: Wie bereits schon angemerkt - monoalphabetische Substitutionsalgorithmen sind imho schnell geknackt.
Ich würd da einfach eine Buchstabenhäufigkeits/Zeichenkettenhäufigkeits - Analyse machen und schauen, mit welcher Sprache es Übereinstimmungen gibt. Dadurch kann ich dann die mir noch leere Zuordnungstabelle ausfüllen...

mkinzler 20. Apr 2012 13:54

AW: Eigener Verschlüsselungsalgorithmus benutzen
 
Jedes Zeichen wäre schlecht, da das Abbildungsziel mehr als ein Zeichen ist.
Statt ersetzen Zielstrings an neuen String anhängen.

Back2Code 20. Apr 2012 13:56

AW: Eigener Verschlüsselungsalgorithmus benutzen
 
Zitat:

Zitat von Aphton (Beitrag 1162856)
Du fragst nichts ab, du wendest es an:

Beim Encrypt gehst du alle Zeichen der Zeichenkette durch und fügst an eine neue Zeichenkette immer die zu dem Zeichen zugeordnette Werte. Letztendlich erhältst du somit deinen "verschlüsselten" Code.

Beim Decrypt gehst schaust du zuerst, ob die Länge des Codes ein vielfaches von 4 ist dh 4, 8, 12, 16, 20, ... DA ja jede Substitutionszeichenkette genau 4 Zeichen lang ist. Falls ja, dann gehst du in 4er Schritten den ganzen Code durch und schaust in der Zuordnungstabelle, wofür der Code steht und fügst es an eine neue Zeichenkette hinten zu..

Hausverstand!

Theorie ist klar, Praxis nicht. Hab noch nicht das nötige Wissen um jetzt einfach los zulegen. Wie gehe ich meine Tabelle durch? Wie speichere ich die Tabelle am besten?

Aphton 20. Apr 2012 14:03

AW: Eigener Verschlüsselungsalgorithmus benutzen
 
Das klang aber nicht so.

Außerdem müsstest dann noch präziser werden.
Besser wäre (für mich) diese Formulierung:
~Ich will Methode X durchführen/implementieren, weiß leider nicht, wie ich Punkt 2 realisiere..

Momentan willst du ja, dass man dir alles schön aufm Silbertablett vorserviert (auch wenns nicht der Fall ist, liest sich das so)

Edit:
Die Tabelle, die du einfach als ein 2 dimensionalles Arrays zuerst iwo initialisiert hast, gehste mit einer einfachen Schleife durch - ich überlasse es dir, dich für eine bestimmte zu entscheiden

Klaus01 20. Apr 2012 14:08

AW: Eigener Verschlüsselungsalgorithmus benutzen
 
Die Tabelle besteht aus Datensätzen (plainCharacter -> cipherText)
dann bietet sich ein Record an:

Delphi-Quellcode:
TDataSet = record
  plainChar : ansiChar;
  cipherText: ansiString[4];
end;
Da Du eine bestimmet Anzahl an Zeichen hast, kannst Du diese in einem Array halten.

Delphi-Quellcode:
TZuordnungstabelle = Array[0..35] of TDataSet;
Speichern durch das Array iterieren und jeden Datensatz in eine Datei/TFileStream schreiben.
Auslesen geht es dann umgekehrt.

Grüße
Klaus

simmi 20. Apr 2012 14:18

AW: Eigener Verschlüsselungsalgorithmus benutzen
 
Hallo,

ich fand die Überschrift recht interessant, kann aber gar keine Verschlüsselung erkennen. Es handelt sich doch nur um den Austausch eines Zeichens durch eine genau definierte Zeichenkette. Heißt bei genug Text kann man die Struktur erkennen und relativ schnell die Bedeutung zusammen sortieren.

Aber viel leicht ist es ja auch nur eine Übung.

Eine Hilfe für die Umsetzung findest Du http://www.delphi-treff.de/tutorials...ng/ueberblick/ hier. Schaue auch mal in Deine Hilfe, dort gibt es für einfache Schleifenanweisungen auch Beispiele.

Back2Code 20. Apr 2012 14:26

AW: Eigener Verschlüsselungsalgorithmus benutzen
 
Danke für die vielen Antworten. Ich werde mir wohl erstmals Records anschauen müssen denn damit hab ich noch gar nichts gemacht.

Ja es ist eine Übung für mich :-)

Klaus01 20. Apr 2012 14:27

AW: Eigener Verschlüsselungsalgorithmus benutzen
 
Zitat:

Zitat von simmi (Beitrag 1162867)
...

ich fand die Überschrift recht interessant, kann aber gar keine Verschlüsselung erkennen. Es handelt sich doch nur um den Austausch eines Zeichens durch eine genau definierte Zeichenkette.

Auch der Austausch von Zeichen durch andere ist eine Verschlüsselung (siehe Caesar-Verschlüsselung).
Wenn auch eine sehr schwache..

Grüße
Klaus


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:50 Uhr.
Seite 2 von 4     12 34      

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