Frage von Xearox, 44

Datei Verschlüsselung in Java?

Hallöchen Zusammen,

ich habe mal eine Frage bzgl. einer Verschlüsselung von Dateien in Java.

Und zwar möchte ich gerne mit Java eine Verschlüsselte Datei erstellen welche ein paar Datensätze enthält(Keine Sicherheitsrelevanten Daten). Allerdings möchte ich diese dann mit einer anderen Java Anwendung wieder entschlüsseln können.

Wie kann ich das am Besten realisieren?

Ein Beispiel:

Ich erstelle eine Datei mit Personen Daten, also Vorname, Name, Adresse und eMail Adresse. Diese Datei soll nun Verschlüsselt werden, sodass kein Dritter diese Daten lesen kann. Anschließend möchte ich in einer weiteren Java Anwendung diese Datei wieder einlesen und wieder entschlüsseln um an diese Daten dann wieder weiter zu verwenden.

Ich hab mal vor einiger Zeit gelesen, das diese Ransomware die mit SHA macht und das es einen Öffentlichen und Privaten Schlüssel gibt und man die Dateien nur mit dem Privaten Schlüssel wieder entschlüsseln kann. Könnte ich sowas auch in meinem Fall verwenden? Wenn ja, wie funktioniert das ganze? Habe leider noch keine Erfahrungen sammeln können, wie man das macht.

Ich frage hier nicht explizit nach CodeSnippets, meine Englisch Kenntnisse sollten ausreichen mich dort selber einzulesen. Mir geht es primär nur darum, was ich dafür verwenden sollte.

Ich hoffe, das ich nicht allzu verwirrend geschrieben habe und man meine Frage versteht.

Danke =)

Antwort
von Unkreatiiiev, 44

Das RSA-Verfahren wird gernde genutzt. Hab' mich selbst noch nicht wirklich damit beschäftigt.

Wenn's sehr einfach sein soll, einfach die Bytes per XOR verschlüsseln. Dann kann man den Schlüssel beim Ver- und Entschlüsseln benutzen.

Kommentar von TeeTier ,

Oh, also das sollte man aber nicht tun. Da reichen bereits wenige Byte aus, um einen Statistik-Angriff zu fahren. Tools dafür gibt es zu hauf, und automatisiert wäre so eine Datei dann vermutlich nach 0,00001 Sekunde geknackt.

Allerdings erfordert ein Public-Key-Verfahren wie RSA ein wenig an Grundlagen-Wissen. Ein einfaches "Passwort" zum ver- und entschlüsseln gibt es dabei nämlich nicht.

Ein symmetrisches Verfahren wie AES wäre hingegen für den Fragensteller sehr geeignet. Dabei funktioniert die Ver- und Entschlüsselung herkömmlich mit "Passwort", und die APIs sollten selbst für Einsteiger durchschaubar sein.

(Wobei AES verglichen mit RSA ziemlich ressourcenhungrig ist!)

Generell kann man nur ganz ausdrücklich (möglichst unter Folter- und Strafandrohung) davon abraten, jemanden seinen eigenen Verschlüsselungsalgorithmus entwickeln zu lassen, wenn diese Person nicht gerade über tiefergehendes Wissen verfügt.

Vielleicht kann "NoHumanBeing" noch etwas dazu sagen ... der beschäftigt sich wohl gerade mit linearer Kryptoanalyse und den S-Boxen von AES. :)

Kommentar von Xearox ,

Danke dir für deine sehr Ausführliche Antwort.

Ich habe mir das Verfahren mit RSA angeschaut und es sieht auf den ersten Blick gar nicht so schwer aus als von dir geschrieben.

Nur eine frage hab ich da noch, vielleicht kannst du mir diese auch noch beantworten. Ich habe 2 keys mit dem ich eine Verschlüssele. Einmal der Public Key und einmal der Private Key.

Wo muss ich die Keys einfügen? Also mit einer Java Anwendung erstelle ich eine Verschlüsselte Datei mit dem anderen Programm möchte ich diese Datei wieder entschlüsseln. Mir ist nur nicht ganz klar, wo das Paar Schlüssel hin kommen.

Kommentar von Unkreatiiiev ,

Wenn's sehr einfach sein soll

Keine passende Antwort gefunden?

Fragen Sie die Community

Weitere Fragen mit Antworten