Autor Beitrag
delphi-kompane
Hält's aus hier
Beiträge: 10

Win XP

BeitragVerfasst: Mi 12.12.07 11:58 
Hi, zuletzt, habt ihr mir ein paar Tipps gegeben.
Hätte da noch eine Frage.
Wie kann ich eine Verschlüsslung machen, die nicht monoton ist, da mein Lehrer meint, dass man bei einem etwas längeren Text die Verschlüsslung leicht verstehen kann.

Bitte um ein paar Tipps,
danke im voraus.

mfg Markus
golgol
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 58

Win XP Prof. / Linux
C# (VS 2005)
BeitragVerfasst: Mi 12.12.07 12:22 
Naja, das Thema ist recht weit gefast. Am Einfachsten zu Erstellen sind die Verschiebe- bzw. Vertauschverschlüsselungen. Diese sind jedoch extrem unsicher und die Chance, das System zu Erraten wächst mit zunehmender Textlänge - also so wie dein Lehrer das schon gesagt hat. Dazu gehören vor allem
- Cäser Code (alle Buchstaben werden um den Wert '3' - oder was auch immer - verschoben)
- Atbasch-Code (Siehe Adventsgewinnspiel-Ankündigung)

Als das sicherste System gelten die sogenannten One-Time-Pattern. Dabei handel es sich prinzipiell zwar um einen Verschiebealgortihmus, jedoch muss die Schlüssellänge genau so lange sei wie der Originaltext. Jeder Buchstabe des Textes wid dann um die jeweilige Stelle des Schlüssels verschoben. Wenn der Schlüssel rein Zufällig erstellt wurde kann niemand diesen Code knacken. Aber: Er kann halt nur einmal eingesetzt werden und die Vertilung muss absolut sicher sein. Darüber hinaus ist die Datenhaltung ein Problem. Es ist also extrem unpraktikabel und meines Wissens wird dieses System nur für die Waffencodes von Atombomben bei den Amerikanern verwendet...

Dir bleibt also nichts anderes Übring als ein Verfahren zu nehmen, das nach einem bestimmten Schlüsselprinzip arbeitet. Dabei gibt es eine große Reihe von vorgefertigten, die du nehmen kannst (AES, DES, PGP und wie sie alle heißen). Die interne Funktionsweise ist eine nicht triviale Mathematik, ich sage nur zwei Stichworte: Primzahl und ellyptische Kurven (man hab ich die Vorlesung gehasst ;))

Also: Schnapp dir eine zugängliche Bibliothek und verwende einen vorgefertiges Verschlüsselungsalgorithmus - ist imho die einfachste, aber auch sicherste Möglichkeit.

P.S.: Sorry für das viele blabla - war grade so in fahrt ;)
delphi-kompane Threadstarter
Hält's aus hier
Beiträge: 10

Win XP

BeitragVerfasst: Fr 14.12.07 12:57 
Erstmal danke für die Hilfe. Die Caesar-Verschlüsslung ist die leicht zu knackenste Verschlüsslung, die mir bekannt ist und wir auch in der Arbeit benutzten.

Könnte mir evtl. jemand ein genaueres Beispiel zur "sicheren" Verschlüsslung geben.
Muss nicht zu abstrakt sein, da es sich hier nur um ein Testprogramm in der Schule handelt was nicht von Belangen ist.

mfg Markus
golgol
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 58

Win XP Prof. / Linux
C# (VS 2005)
BeitragVerfasst: Fr 14.12.07 13:18 
Die wirklich sicheren Verschlüsselungen sind nunmal leider extrem mathematisch, und ich könnte sie beim besten Willen nicht wiedergeben. Die Frage ist, wie sicher dein Lehrer das ganze haben will. Verschlüsselungsmöglichkeiten gibt es wie Sand am mehr aber die wenigsten leicht nachzuvollziehenden sind nach heutigen Maßstäben wirklich sicher.

Ganz allgemein würde ich dir (dank der einfacheren Handhabung) zu einer symmetrischen Verschlüsselung raten (dabei haben beide "Gesprächspartner" den selben Schlüssel). Meines Wissens gehört sowohl DES als auch tripple-DES zu diesen Kandidaten, bei deren Nachfolger AES bin ich mir schon nicht mehr so sicher.
Wie wäre es mit einem Blockchiffre, bei dem du dir ein Schlüsselwort wählst und anhand dessen die einzelnen Buchstaben des Originaltextes verschiebst. Dabei benutzt du das Schlüsselwort immer wieder - aneinander gehängt halt. Also:

ausblenden Quelltext
1:
2:
3:
4:
HalloollaH
abcdeabcde
----------
icopupnoem


Dabei steigt die "Sicherheit" mit zunehmender Länge des Schlüsselwortes - wobei das Verfahren mit einem entsprechenden Vorrat an Chiffretext leicht geknackt werden kann. Wenn du es noch schwerer machen willst kannst du ja eine "Kaskade" von solchen Blockchiffren nehmen, die du hintereinander hängst, das erhöt die Sicherheit zusätzlich.
elundril
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 3747
Erhaltene Danke: 123

Windows Vista, Ubuntu
Delphi 7 PE "Codename: Aurora", Eclipse Ganymede
BeitragVerfasst: Fr 14.12.07 14:10 
könnte man das wort zu vershlüsseln als MD5 umwandeln und dann mit den MD5 Sting vom Schlüsselwort arbeiten. Dadurch is es doch auch schon schwerer weil es ziemlich lang ist und noch dazu in keinem Wörterbuch ist.

lg elundril

_________________
This Signature-Space is intentionally left blank.
Bei Beschwerden, bitte den Beschwerdebutton (gekennzeichnet mit PN) verwenden.