A subset of BouncyCastle crypto primitives, refactored to use DirectByteBuffer instead of primitive arrays, to avoid leaving sensitive data in memory due to internal copying and garbage compactification done by the JVM.
- introducted ICryptoZeroable interface
- created CByteArray, CIntArray, and CLongArray classes based on DirectByteBuffer
- modified BouncyCastle classes to use new array types
- Argon2
- Blake2b
- DigestRandomGenerator
- HKDFBytesGenerator
- Poly1305
- Salsa20Engine
- Scrypt
- SHA256Digest
- XSalsa20Engine
None.
(Bouncycastle library is used for tests only).
This project is based on BouncyCastle release 1.69:
https://github.com/bcgit/bc-java
The project is licensed under Apache 2.0 license, which I believe is compatible with the BouncyCastle license LICENSE.html.