0xdeadbeef hat gesagt.:
Ich bitte zu bedenken, daß man Java wunderbar decompilieren kann. Dann liegt jeder noch so ausgefuchste (und nach kryptografischen Maßgabenvermutlich eh unsichere) Algorithmus offen. Selbst mit großen Kalibern wie RSA verhält sich das leider so: Der public key muß mitgeliefert werden, um die Daten zu entschlüsseln, also kann jeder mäßig begabte Programmierer die Dateien entschlüsseln.
Es ist also wohl zwecklos, allzuviel Energie in die Verschlüsselung der Dateien zu investieren.
Das mag ja stimmen, aber ich denke es hängt auch immer von der Applikation (Einsatzzweck) und dem Verhältnis Nutzen zu Aufwand ab.
Wie oft habe ich in beruflicher Hinsicht mit kleineren Verschlüsselungen zu tun, bei denen sich bisher kein (0815-) Anwender die von dir skizzierte Mühe des Knackens gemacht hat, gleichwohl das mit ein wenig "Knoff-Hoff" leicht zu machen wäre.
Vordergründig geht es bei vielen einfchen Verschlüsselungen um die Abschreckung der typischen Anwender. Es geht sicherlich nicht darum ausgefuchste programmiererprobte Anwender oder gar Hacker abzuschrecken, zumal derartige Verschlüsselungen solchen Leuten wohl gerade einmal ein müdes Lächeln abringen würden.
Aber vielleicht einmal eine Frage zum Thema:
Ich knobel schon seit einiger Zeit an einem ein wenig komplexeren Verschlüsselungsprinzip für die folgende Aufgabe herum:
Es soll eine relativ einfache, datenbankgestützte Import-Applikation zusammen mit der Datendatei an Kunden ausgeliefert werden. Um Kosten zusparen und sich das Leben auch einfacher zu machen, soll sowohl die Applikation als auch die Datendatei elektronisch versandt werden können, damit der Endanwender den Import selbst ausführen kann.
Allerdings soll bzw. darf der Import nur zusammen mit der gelieferten Importdatei funktionieren. Bei jeder anderen Importdatei muss er den Import verweigern.
Wie würdet ihr das prinzipiell machen?
Ich hatte an einen MD5-Verschlüsselungscode der Datendatei gedacht, der zusammen mit einem Public Key-Code an den Endanwender gesandt wird. Das oben skizzierte grundsätzliche Problem löse ich damit aber auch nicht.