Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Hagens Methode eine Datei zu schützen (https://www.delphipraxis.net/67627-hagens-methode-eine-datei-zu-schuetzen.html)

jus 28. Apr 2006 11:57

Re: Hagens Methode eine Datei zu schützen
 
@negaH
Hallo Hagen, ich hatte gehofft, dass du zurückschreibst. :)

Zitat:

Zitat von negaH
Wieso ? Die meisten sicheren symmetrischen Algorithmen können Daten inplaced verschlüsseln. In meinem damaligem Anti-Cracking-Program habe ich direkt nach "CODESTART" noch 256 Bytes an Zufallsdaten eingebettet. Das "Registrationspasswort" ware ebenfalls per Zufall gewählt. Als Verschlüselungsalgo. hatte ich einen modifizierten RC4 benutzt. Suche mal hier in er CodeLib nach RCx.

Ups, ich hatte noch die verschlüsselten Dateien von einem anderen Beitrag im Kopf. Ich habe nicht berücksichtigt, dass die Dateien nur deswegen größer sind, weil noch Head Daten wie Größe und Salt enthalten. Sorry. :oops:
Da ergibt sich die Frage, ob ich hier den Salt verwenden und mitspeichern soll oder reichen hier wie in deinem Fall 256 Bytes an Zufallsdaten, die ich am Anfang des zu verschüsselnden Codes anhänge und es durch die DEC Verschlüsselung durchjage? Oder beides?

Zitat:

Zitat von negaH
Ich empfehle dir aber in meinem DEC den IDEA Cipher anzuschauen. Dieser Cipher hat asymmetrische Ver- und Entschlüsselungsfunktionen. Mit asymmetrisch sind nicht die bekannten Verfahren gemeint sondern in diesem Fall der fakt das die Verschlüsselungsfunktion nicht die gleiche ist wie die Entschlüsselungsfunktion, und das im matheamtischen Sinne eine inverse Funktion darstellt die das multiplikative Inverse benötigt. Erwähnen tue ich dies weil du nun zb. IDEA zerpflücken könntest und nur die Entschlüsselungsfunktion in deine EXE integrierst, mit leichten Abwandlungen. Nur wer die Ver-schlüsselungsfunktion dazu kennt kann also auch den Schutz deiner EXE reimplementieren und somit einen echten Keygen programmieren.

Gruß Hagen

Meinst du mit dem IDEA "zerpflücken", dass ich sozusagen mit Copy und Paste nur den Entschlüsselungsquelltext aus dem DEC rausnehmen soll und es in meinem Programm integrieren soll, weil sonst Delphi den TCipher_IDEA.DoEncode mitkompiliert? Oder meinst du etwas anderes?
Das mit dem leichten Abwandlungen ist eine Sache für sich, ich wüßte/traue mich nicht ganz wie man den IDEA Algorithmus(procedure IDEACipher) so abzuwandeln, dass es nachher noch funktioniert, weil beim DEC IDEA anscheinend die procedure IDEACipher in TCipher_IDEA.DoDecode und in TCipher_IDEA.DoDecode verwendet wird. :coder2: Vielleicht könntest mir ja helfen. :cyclops:

Danke, dass du Dir die Zeitgenommen hast für mich!

jus

negaH 28. Apr 2006 20:49

Re: Hagens Methode eine Datei zu schützen
 
Was ich meine ist das du dir zb. IDEA als Beispiel anschauen sollst für deine Entscheidung bei der Auswahl des passenden Ciphers. IDEA ist patentiert und dürfte somit erstmal ausfallen. Aber die Idee hinter IDEA solltest du dir mal genauer anschauen.

@Salt:

Ja, wenn du einen Cipher benutzt der einen Feedbackmodus wie CTS/CBC/CFB/OFB benutzt. Das ist wichtig damit die 256 bytes Zufall am Anfang der zu verschlüsselnden daten auch Einfluß auf die nachfolgenden bytes haben. Der richtig Feedbackmodus sorgt also dafür das die 256 Bytes Zufall während der Verschlüsselung auch Auswirkungen auf die Daten danach haben. Also selbst wenn ein Angreifer wüsste das dein Code mit bestimmten Sequenzen beginnt so würde er denoch beim Knacken erstmal die exakten 256 Bytes Zufall finden müssen. Das dürfte unmöglich sein und somit kann er auch nicht an deinen Code rankommen selbst wenn er ihn partiell kennt.

Gruß Hagen

jus 29. Apr 2006 20:01

Re: Hagens Methode eine Datei zu schützen
 
@negaH
Zitat:

Zitat von negaH
Was ich meine ist das du dir zb. IDEA als Beispiel anschauen sollst für deine Entscheidung bei der Auswahl des passenden Ciphers. IDEA ist patentiert und dürfte somit erstmal ausfallen. Aber die Idee hinter IDEA solltest du dir mal genauer anschauen.

Ok, werde ich beherzigen. Ich hoffe nur, dass mir das nicht zu Steil wird. :) Wo gibt es eigentlich gute Unterlagen darüber? Ich habe mal IDEA im im Google eingegeben, das Problem ist nur, dass sehr viele allgemeine Aussagen darüber findet, bisher haben ich das mit dem asymmetrische Ver- und Entschlüsselungsfunktionen noch nicht gefunden. Achja, gibt es gute Bücher über Verschlüsselungen zu empfehlen?

Zitat:

Zitat von negaH
@Salt:

Ja, wenn du einen Cipher benutzt der einen Feedbackmodus wie CTS/CBC/CFB/OFB benutzt. Das ist wichtig damit die 256 bytes Zufall am Anfang der zu verschlüsselnden daten auch Einfluß auf die nachfolgenden bytes haben. Der richtig Feedbackmodus sorgt also dafür das die 256 Bytes Zufall während der Verschlüsselung auch Auswirkungen auf die Daten danach haben. Also selbst wenn ein Angreifer wüsste das dein Code mit bestimmten Sequenzen beginnt so würde er denoch beim Knacken erstmal die exakten 256 Bytes Zufall finden müssen. Das dürfte unmöglich sein und somit kann er auch nicht an deinen Code rankommen selbst wenn er ihn partiell kennt.

Gruß Hagen

Du hast im vorherigen Beitrag mir den Tipp gegeben mit RCx. Wenn ich den RCx Beitrag richtig verstanden habe, so enthält RCx schon die "Lawineneffektfunktion", dass die anfänglichen Daten Auswirkungen auf den nachfolgenden Ausgabecode haben.

Grüsse,
jus

negaH 30. Apr 2006 16:32

Re: Hagens Methode eine Datei zu schützen
 
Hi

Zitat:

Ich habe mal IDEA im im Google eingegeben, das Problem ist nur, dass sehr viele allgemeine Aussagen darüber findet, bisher haben ich das mit dem asymmetrische Ver- und Entschlüsselungsfunktionen noch nicht gefunden. Achja, gibt es gute Bücher über Verschlüsselungen zu empfehlen?
Vorsicht! ich habe im Falle des IDEA Ciphers mit "asymmetrisch" dessen internen matheamtischen Operationen gemeint, nicht vergleichbar mit den Asymmetrischen Verfahren wir RSA oder Diffie Hellman.
IDEA nutzt intern eine "mathematische Einwegoperation" als Verschlüsselungsfunktion. Somit ergibt sich dazu eine "a-symmetrische" Entschlüselungsfunktion. Dieses Verhalten macht IDEA zu einem aussergewöhnlichen symmetrischen Verfahren, denn die wenigesten Cipher habe diese Eigenschaft. Man könnte es so ausdrücken: wenn man NICHT weis wie man eine solche Entschlüsselungsfunktion invertieren soll so kann man bei nicht bekannter Ver-schlüsselungsfunktion diese Funktion nicht reproduzieren und somit ach keinen Keygen programmieren. Dh. das nötige Wissen bei einem Angreifer ist viel höher als bei anderen sym. Verfahren. Und letzendlich ist Sicherheit immer ein Kampf um das beste und neueste Wissen !

Bücher ? Ich empfehle dir zum Einstieg "Bruce Schneier: Angewandte Kryptographie".

Zitat:

Du hast im vorherigen Beitrag mir den Tipp gegeben mit RCx. Wenn ich den RCx Beitrag richtig verstanden habe, so enthält RCx schon die "Lawineneffektfunktion", dass die anfänglichen Daten Auswirkungen auf den nachfolgenden Ausgabecode haben.
Korrekt. Beachte aber das diese Modifikation durch MICH erfolgte, und ICH eben beiweitem kein Maßstab für einen Kryptoexperten sein kann. Aus meinem Verständnis heraus habe ich nur verschiedene annerkannte Technologien im RCx kombiniert. Das sollte die Sicherheit natürlich erhöhen und ich vertrete auch die Auffassung das es so ist. Aber auch dieser Schritt der Kombination muß mathematisch als beweisbar korrekter Schritt durchgeführt werden. Und exakt diesen Beweis kann ich nicht antreten, dazu ist mein Wissen zu gering. Allerdings kann ich ohne Untertreibung behaupten das viele Cipher auf diese Weise konstruiert wurden, die heute noch sicher sind und ebenfalls keinen speziellen Beweis angetreten haben. Es ist also so das selbst heutzutage Verschlüsselungen quasi im Baukastenprinzip konstruiert werden und die Konstrukteure nicht jeden Baustein im Kontext des gesammten neuen Verfahrens als korrekt beweisen. Diese Erkenntinis führt uns dann auch direkt zu der Behauptung warum Merhfachverschlüsselungen nicht als gleichermaßen sicher eingestuft werden dürfen wie Einfachverschlüsselungen. Wir können die sich gegenseitig beeinflussenden Bausteine bei der Mehrfachverschlüsselungen nicht als sicher beweisen.

Naja, bin schon wieder mal ein Bischen vom Thema abgekommen ;)

Gruß Hagen

jus 1. Mai 2006 23:26

Re: Hagens Methode eine Datei zu schützen
 
@Hagen
Vielen vielen Dank für die vielen Infos und Tips!! Ich muß das ganze erst mal verdauen. :wall: Wahrscheinlich werde ich zunächst mal RCx verwenden und mich dann langsam an den IDEA Algorithmus versuchen zu modifizieren(experimentieren).

Eines was mich zu diesem Thema noch brennend interessieren würde ist das Structured Exception Handling(SEH), was einen verschlüsselten Codebereich vor Überraschung beim Ausführen schützen sollte. Doch wie könnte man sowas hier realisieren? :gruebel:

Grüsse
jus


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:39 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz