Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Algorithmen, Datenstrukturen und Klassendesign (https://www.delphipraxis.net/78-algorithmen-datenstrukturen-und-klassendesign/)
-   -   theorie password abhängige auswahl der cipher (https://www.delphipraxis.net/171096-theorie-password-abhaengige-auswahl-der-cipher.html)

Oswin32 19. Okt 2012 20:48

theorie password abhängige auswahl der cipher
 
hi ich habe ein paar theoretische fragen

ich denke gerade darüber nach wie man passwort bzw gehashte passphrase byteweise bei jedem verschlüsselungsblock auswählt bzw ändert nehmen wir mal an ich verschlüssel immer ein array [0..1023] of byte mit 3 verschiedenen ciphern z.b. (twofish serpent und aes) und wähle bei jedem block eine andere reinfolge

z.b.
1. twofish serpent aes
2. aes serpent twofish
3. serpent twofish aes
usw usw

was meint ihr wie soll ich das realisieren

vorgefertigte reinfolgen benutzen und per case reihenfolge auswählen sind ja nur 6 möglichkeiten so könnte ich ja sowas wie case (key[x] mod 6) of machen?

oder eine whileschleife und modulus 1.. 1 für nimm das verfahren und 0 für gehe zum nächsten cipher

hintergrund ist die verstärkung der verschlüsselung.. ich weis selbst ein cipher ist stark genug und je mehr ich nehme desto langsamer wird es.. aber bei mir gehts gerade nur um die verstärkung meiner verschlüsselung egal um welchen preis :)

und was auch noch wichtig wär ist dies ein besserer schutz als nur eine feste reihenfolge zu nutzen oder ist es ein sicherheitsproblem..? oder wie wäre es wenn ´man einen zweiten hash (anderes verfahren) nutzt ?

ich denke mir es würde bei beiden fällen sicherer werden

WM_CLOSE 19. Okt 2012 21:13

AW: theorie password abhängige auswahl der cipher
 
Ist in einem der Verschlüsselungsverfahren eine Lücke könnten die anderem mit kompromittiert werden.
Besser wäre es IMHO den ganzen Block mehrmals hintereinander zu verschlüsseln. Die Reihenfolge in Abhängigkeit des Passworts.
Trotzdem denke ich nicht, dass es die Sicherheit wesentlich erhöht.
Schwachstellen sind da öfter die Passworteingabe an sich, oder ein teilweise bekannter Plaintext.
Oder wie beim Verschlüsselungs-Trojaner schlicht Programmfehler.

r2c2 20. Okt 2012 19:57

AW: theorie password abhängige auswahl der cipher
 
So wird das nix. Insbesondere wirds nicht sicherer.

Was du da machst, ist eigentlich nichts anderes, als auf sichere Verfahren nochmal die Idee von Vigenere (bzw. ne Abwandlung davon) draufzuklatschen. Du machst deine Haustür ja auch nicht dadurch sicherer, dass du vors eigentliche Türschloss nochmal n "Tagebuchvorhängeschloss" packst.

Im Gegenteil: Deine Idee könnte sogar dazu führen, dass das Ergebnis *unsicherer* wird. Ich hab das jetzt nicht vollständig durchdacht, aber womöglich könnte man über einen Chosen-Plaintext-Angriff den Key ermitteln oder zumindest Rückschlüsse darauf ziehen und so den Keyspace verringern. Angenommen ich bringe dich dazu, eine Datei mit lauter 0en zu verschlüsseln. Im Endergebnis wird sich ein gewisses Muster abbilden, da sich die Blöcke ja wiederholen und der Key die Reihenfolge der Cypher bestmmt. Daraus könnte man vermutlich Rückschlüsse auf den Key ziehen.

Und das ist jetzt nur das, was mir so auf die Schnelle eingefallen ist. Kryptographie ist kompliziert. Unter anderem deshalb, weil man nicht einfach davon ausgehen kann, dass das verketten von sicheren Verfahren sicher ist. Leider kann eine unglückliche Verkettung dau führen, dass alles unsicher wird.

Was du dir stattdessen besser mal angucken solltest: Du scheinst mir den ECB-Mode zu verwenden. Das ist i.d.R. schonmal in Fehler. Durch dir mal die unterschiedlcihen Betriebsmodi von Blockchiffren an.

Und wenn Sicherheit wirklich eine Anforderung ist (und du nicht nur "spielen" oder eher lernen willst): Vergiss mal das mit dem Selbstimplementieren von Krypto gleich mal ganz. Warum? Darum.

Wenn du aber was über Kryptographie lernen willst, schnapp dir lieber ein gutes Buch (oder zur Not die Wikipedia). Wenn du "spielen", "spielend lernen", "praktisch lernen" etc. willst: Implementier mal lieber RSA oder die Enigma oder knack die Enigma oder WEP. Daraus lernst du mehr. Lass dich aber nicht dazu verleiten, zu denken, dass das irgendwie "sicher" wäre. Wenn du was Sicheres brauchst, nimm fertiges Zeug von Leuten, die das *wirklich* können. Und selbst dann ist es auch nicht ganz trivial, das Zeug in einer sicheren Art und Weise zu benutzen.


mfg

Christian


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:27 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