Ich habe eine Java-Anwendung, die AES-256-OCB tut. Dazu wird die BouncyCastle Crypto Library verwendet. Wie es ist, verwendet es die Standard-JCA-Schnittstelle, aber dafür muss eine spezielle Richtliniendatei installiert werden, um Schlüsselgrößen von mehr als 128 Bit zu ermöglichen.OCB-Modus in Bouncy Castle Lightweight API
Dies ist in unserer Umgebung ungeeignet, und es scheint mir, dass wir in der Lage sein können, dies zu umgehen, indem wir BouncyCastles eigene leichte API verwenden. Ich bin jedoch etwas verwirrt von dieser API, und ich war neugierig, wie ich tatsächlich eine Chiffre als AES/OCB/NoPadding instanziiere.
Ich bin normalerweise ziemlich gut beim Lesen der Dokumentation, aber BouncyCastle's ziemlich umfangreiche Optionen haben mich ein bisschen verwirrt.
Wie kann ich ein BlockCipher-Objekt für den 256-Bit-OCB-Modus ohne Padding mithilfe der BouncyCastle Lightweight-API instanziieren und zum Verschlüsseln und Entschlüsseln von Daten verwenden? Ich habe bereits den Schlüssel, IV und Daten als byte[]
s.
auf Stackoverflow Sie wirklich erwartet, es zu versuchen auf eigene Faust zu geben, und wenn etwas lässt Sie nicht in der Lage dann fortfahren können Sie eine bestimmte Frage zu diesem Ding fragen. Natürlich können Sie mit den Klassen OCBBlockCipher und AESEngine beginnen und von dort fortfahren. –
(1) Oracle Java seit 9 (veröffentlicht Aug) und 8u151/152 (Okt) hat Richtlinie unbegrenzt automatisch (> 128, aber es gibt kein AES> 256). (2) Die LWAPI-Testklasse 'org.bouncycastle.crypto.test.OCBTest' hat einige ziemlich einfache (und gut bekannte) Beispiele. –
Bearbeitet, um den Tippfehler zu korrigieren - bedeutet 128-Bit. – Jonas