Für eine große kostenlose Bibliothek, empfehle ich dringend BouncyCastle. Es ist aktiv gepflegt, hohe Qualität und hat eine schöne Reihe von Codebeispielen. Für die Referenzdokumentation müssen Sie sich mehr auf die allgemeine JCE docs.
verlassen Ich kann nicht sagen, welche Bibliothek wir verwenden, um FIPS-Zertifizierungsanforderungen zu erfüllen. Aber es gibt Alternativen zu CryptoJ, die viel, viel billiger sind.
Im Allgemeinen würde ich empfehlen, einen neuen Schlüssel für jede Nachricht zu generieren, die Sie mit einer symmetrischen Chiffre wie Rijndael verschlüsseln, und dann diesen Schlüssel mit einem asymmetrischen Algorithmus wie RSA zu verschlüsseln. Diese privaten Schlüssel können in einem passwortgeschützten, softwarebasierten Schlüsselspeicher wie PKCS # 12 oder Java's "JKS" gespeichert werden, oder, zur besseren Sicherheit, auf einem "Chipkarten" -Hardware-Token oder einem anderen Krypto-Hardwaremodul.
Rijndael == AES – lImbus