Suche einfache Verschlüsselung

Hallo,

ich schreibe gerade ein kleines Programm, das u.a. auch ein vom Benutzer eingegebenes Passwort in einer Datei speichert. Allerdings möchte ich nicht, dass das im Klartext dort gespeichert wird. Nur, ich kenne mich kaum in Verschlüsselung aus. Daher suche ich eine Header-Datei mit Implementierung, die eine einfache Ver- und Entschlüsselung bereitstellt. Es muss kein komplizierter Algorithmus sein und die Funktionen sollte auch nicht allzu schwer einzubinden sein. Ideal wäre einfach eine Funktion, die einen übergebenen String verschlüsselt und eine, die den wieder in Klartext umwandelt.

Kennt da jemand Lösungen oder Links?

Vielen Dank für die Hilfe, Robert

Hi,

am allereinfachsten suchst Du Dir ein nettes Passwort (Key), dass Du im Programm festlegst. Dann nimmst Du das erste Zeichen Deines Textes, den Du verschlüsseln willst (Klartext) und das erste Zeichen des Keys und verXORst das ganze. Das Ergebnis schreibst Du z.B. als Hexzahl in eine Datei. Für das zweite Zeichen des Klartextes nimmst Du das zweite Zeichen des Keys, usw. Wenn Du beim letzten Zeichen des Keys angekommen bist, nimmst Du wieder das erste Zeichen.
Beim entschlüsseln einfach wieder verXORn, dann hast Du den Klartext.
Das ganze lässt sich sehr schnell implementieren und ist nicht ganz so einfach zu entschlüsseln wie eine Verschiebechiffre (Buchstabentauschen).

Viele Grüsse,

Herb

ich schreibe gerade ein kleines Programm, das u.a. auch ein
vom Benutzer eingegebenes Passwort in einer Datei speichert.
Allerdings möchte ich nicht, dass das im Klartext dort
gespeichert wird. Nur, ich kenne mich kaum in Verschlüsselung
aus. Daher suche ich eine Header-Datei mit Implementierung,
die eine einfache Ver- und Entschlüsselung bereitstellt. Es
muss kein komplizierter Algorithmus sein und die Funktionen
sollte auch nicht allzu schwer einzubinden sein. Ideal wäre
einfach eine Funktion, die einen übergebenen String
verschlüsselt und eine, die den wieder in Klartext umwandelt.

Hi,
gerade bei Deiner Anwendung ist es nicht ratsam, ein umkehrbares Verfahren einzusetzen. Wenn Du nur eine Hashfunktion anwendest und den Hashwert speicherst, und wenn die Hashfunktion nicht umkehrbar ist, dann ist das Paßwort sicher aufgehoben. Bei der Zugangsprüfung interessiert Dich nicht, welches Paßwort der Benutzer hat; Du berechnest mit dem gleichen Algorithmus die Benutzereingabe und vergleichst das Ergebnis mit dem gespeicherten Wert.

Kennt da jemand Lösungen oder Links?

Hier ist ein Link auf eine MD5-Implementierung; auf der Seite (http://www.s-direktnet.de/homepages/neumann/crypt/de…) findet man nähere Beschreibungen dazu.
http://www.s-direktnet.de/homepages/neumann/Data/Mic…

Übrigens ist ein XOR-Verfahren wie unten dargestellt absolut unsicher; er läßt sich zwar leicht implementieren, aber auch sehr leicht knacken.

Gruß

J.

Hallo,

hmm, auf den Einweg-Hash hätte ich auch kommen können. Ist eine gute Idee.
Ich habe übrigens nicht behauptet, dass das XOR Verfahren absolut sicher ist. Es ist halt nur etwas schwerer zu knacken als eine Verschiebechiffre. Wirklich sicher ist nur ein One-Time Pad. Und da gibt es das Problem des Schlüsseltauschs.

Viele Grüsse,

Herb

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo,

Bei der Zugangsprüfung interessiert Dich nicht, welches Paßwort
der Benutzer hat; Du berechnest mit dem gleichen Algorithmus
die Benutzereingabe und vergleichst das Ergebnis mit dem
gespeicherten Wert.

Vielen Dank für den Hinweis. Allerdings habe ich mein Anliegen falsch ausgedrückt. Das Passwort soll nur einmalig eingegeben werden, nicht bei jeder Zugangsprüfung erneut. Hintergrund: ich schreibe einen kleinen Mailclient. Dabei gibt der Benutzer einmalig sein POP-Passwort ein, das wird (wie auch immer) in einer Datei gespeichert und beim Starten des Programms wieder ausgelesen. Daher würde der Einweg-Hash-Modus ja hier nicht funktionieren, oder?

Viele Grüße, Robert

Hi Robert,
dann schau Dir mal (ich glaube, auf der gleichen Site) das DES-Verfahren an. Das ist umkehrbar und bei ausreichender Schlüssellänge sicher.

Gruß

J.