@Volker: hört sich gut an, DANKE!

Ja, die bekannten kryptographische Funktionen wie z.B. FIPS 46-2 (AES) sind dokumentiert und öffentlich verfügbar. Nur der (unbekannte) geheime Schlüssel fehlt dem potentiellen Angreifer zur entschlüsselung der verschlüsselten Information.wenn ich mir ein standard-verfahren ausdenke, dann würde nach offenlegung des algorithmus nur noch der schlüssel alleine zwischen den cracker und der entschlüsselung stehen.
„Die Sicherheit eines Kryptosystems darf nicht von der Geheimhaltung des Algorithmus abhängen. Die Sicherheit gründet sich nur auf die Geheimhaltung des Schlüssels.“
Implementierst du in deiner Software einen eigenen Algorythmus, stehen einem potentiellen Angreifer zwei Angriffsverfahren zur Verfügung:da ich ja zusätzlich die möglichkeit habe, den algorithmus geheimzuhalten,
auch in dem ich die decrypt-sequenz im programmcode selber kryptisiere...
sollte das nicht für die meisten belange mehr als ausreichend sein?
Code: Alles auswählen
If OpenLibrary(0,"aes.dll")
Erge.l = GetFunction(0, "AES_Crypt_File")
start = GetTickCount_()
te.s="toto"
key.s = MD5Fingerprint(@te, 4)
InFile.s = "e:\wc3.rar"
EncryptFile.s = "e:\wc3.enc"
DecryptFile.s = "e:\wc3.dec.rar"
CallFunctionFast(Erge, 0, InFile, EncryptFile, key, 8192*2)
CallFunctionFast(Erge,1, EncryptFile, DecryptFile, key, 8192*2)
DeleteFile(DecryptFile)
RenameFile(DecryptFile + ".dec", DecryptFile)
Debug "Milliseconds: "+Str(GetTickCount_()-start)
If MD5FileFingerprint(InFile) = MD5FileFingerprint(DecryptFile)
Debug "ok"
Else
Debug "error"
EndIf
Debug Ergebnis
CloseLibrary(0)
EndIf
Code: Alles auswählen
*te.s="toto"
key.s = MD5Fingerprint(@te, 4)
Code: Alles auswählen
te.s="toto"
key.s = MD5Fingerprint(@te, 4)