mccae
Senfdazugeber
Hallo,
Ich habe da generell eine Frage was Verschlüsselung in Java angeht.
Bis jetzt habe ich jegliche Cipher nur unter Angabe des Algorithmus und des zuvor generierten Keys initialisiert.
Ich möchte nämlich Daten verschlüsselt auf die Platte schreiben.
Am bequemsten geht es für mich mit Sealed Objects welche ich so erstelle:
Nun habe ich etwas über die Verschlüsselungsalgorithmen gelernt und bin auf "Blockmodes" und "Paddingalgorithms" gestoßen.
Ich wurde darauf hingewiesen, ich solle beides je nach Verwendungszweck des Ciphers angeben.
Muss ich das?
Soweit ich weiß, füllt der Paddingalgorithmus bei Blockciphern die fehlenden Bytes damit die Anzahl der Blöcke zum Beispiel bei AES durch eine bestimmte Zahl teilbar sind.
Was den Blockmode (zusammen mit "Initialization-vectors" usw.) angeht, bin ich überfordert.
Im Internet steht was die Modi jeweils machen, doch deren Verwendungszweck ist mir unbekannt.
Vorgeschlagen wurde mir: "AES/ECB/PKCS5Padding".
Was soll ich in diesem Fall nehmen?
Ich weiß nicht welches Padding und welcher Blockmode für welche Situation am besten sind.
Welche Default-Blockmodes und Paddingalgorithmen werden bei Initialisierung eines Ciphers mit "AES" benutzt (Beim standard Cryptographic Provider)?
Und: Bei einer Verschlüsselung eines I/O Streams - welche Modi/Paddings wären da zu wählen?
Denn es geht in beiden Fällen immer um Daten mit undefinierter Größe welche verschlüsselt werden müssen.
Könnt ihr mir helfen?
lg,
Martin
Ich habe da generell eine Frage was Verschlüsselung in Java angeht.
Bis jetzt habe ich jegliche Cipher nur unter Angabe des Algorithmus und des zuvor generierten Keys initialisiert.
Ich möchte nämlich Daten verschlüsselt auf die Platte schreiben.
Am bequemsten geht es für mich mit Sealed Objects welche ich so erstelle:
Java:
Cipher cipher = Cipher.getInstance("AES");
cipher.init(Cipher.ENCRYPT_MODE, secretKey);
SealedObject so = new SealedObject(data, cipher);
Nun habe ich etwas über die Verschlüsselungsalgorithmen gelernt und bin auf "Blockmodes" und "Paddingalgorithms" gestoßen.
Ich wurde darauf hingewiesen, ich solle beides je nach Verwendungszweck des Ciphers angeben.
Muss ich das?
Soweit ich weiß, füllt der Paddingalgorithmus bei Blockciphern die fehlenden Bytes damit die Anzahl der Blöcke zum Beispiel bei AES durch eine bestimmte Zahl teilbar sind.
Was den Blockmode (zusammen mit "Initialization-vectors" usw.) angeht, bin ich überfordert.
Im Internet steht was die Modi jeweils machen, doch deren Verwendungszweck ist mir unbekannt.
Vorgeschlagen wurde mir: "AES/ECB/PKCS5Padding".
Was soll ich in diesem Fall nehmen?
Ich weiß nicht welches Padding und welcher Blockmode für welche Situation am besten sind.
Welche Default-Blockmodes und Paddingalgorithmen werden bei Initialisierung eines Ciphers mit "AES" benutzt (Beim standard Cryptographic Provider)?
Und: Bei einer Verschlüsselung eines I/O Streams - welche Modi/Paddings wären da zu wählen?
Denn es geht in beiden Fällen immer um Daten mit undefinierter Größe welche verschlüsselt werden müssen.
Könnt ihr mir helfen?
lg,
Martin
Zuletzt bearbeitet: