SkillAgentSearch skills...

MemSafeCrypto

A subset of BouncyCastle crypto primitives, refactored to use DirectByteBuffer.

Install / Use

/learn @andy-goryachev/MemSafeCrypto
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

MemSafeCrypto

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.

Summary of Changes

  • introducted ICryptoZeroable interface
  • created CByteArray, CIntArray, and CLongArray classes based on DirectByteBuffer
  • modified BouncyCastle classes to use new array types

Supported Primitives

  • Argon2
  • Blake2b
  • DigestRandomGenerator
  • HKDFBytesGenerator
  • Poly1305
  • Salsa20Engine
  • Scrypt
  • SHA256Digest
  • XSalsa20Engine

Dependencies

None.

(Bouncycastle library is used for tests only).

Original Code

This project is based on BouncyCastle release 1.69:

https://github.com/bcgit/bc-java

Projects That Use MemSafeCrypto

Access Panel

DirCrypt

Passwørd Safe

SecDB

License

The project is licensed under Apache 2.0 license, which I believe is compatible with the BouncyCastle license LICENSE.html.

Related Skills

View on GitHub
GitHub Stars31
CategoryDevelopment
Updated8mo ago
Forks1

Languages

Java

Security Score

87/100

Audited on Jul 8, 2025

No findings