https://github.com/andy-goryachev/MemSafeCrypto Skip to content Sign up * Why GitHub? + Features + Mobile + Actions + Codespaces + Packages + Security + Code review + Issues + Integrations + GitHub Sponsors + Customer stories * Team * Enterprise * Explore + Explore GitHub + Learn and contribute + Topics + Collections + Trending + Learning Lab + Open source guides + Connect with others + The ReadME Project + Events + Community forum + GitHub Education + GitHub Stars program * Marketplace * Pricing + Plans + Compare plans + Contact Sales + Education [ ] * # In this repository All GitHub | Jump to | * No suggested jump to results * # In this repository All GitHub | Jump to | * # In this user All GitHub | Jump to | * # In this repository All GitHub | Jump to | Sign in Sign up {{ message }} andy-goryachev / MemSafeCrypto Public * Notifications * Fork 0 * Star 15 * A subset of BouncyCastle crypto primitives, refactored to use DirectByteBuffer. Apache-2.0 License 15 stars 0 forks Star Notifications * Code * Issues 0 * Pull requests 0 * Discussions * Actions * Security * Insights More * Code * Issues * Pull requests * Discussions * Actions * Security * Insights This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository. main Switch branches/tags [ ] Branches Tags Could not load branches Nothing to show {{ refName }} default View all branches Could not load tags Nothing to show {{ refName }} default View all tags 3 branches 0 tags Code Latest commit @andy-goryachev andy-goryachev links ... 488ce2b Feb 11, 2022 links 488ce2b Git stats * 106 commits Files Permalink Failed to load latest commit information. Type Name Latest commit message Commit time lib/bouncycastle initial commit Nov 12, 2021 src/goryachev common update Feb 2, 2022 test/goryachev/memsafecrypto . Jan 23, 2022 todo todo Jan 21, 2022 .classpath initial commit Nov 12, 2021 .gitignore initial commit Nov 12, 2021 .project initial commit Nov 12, 2021 LICENSE Initial commit Nov 14, 2021 README.md links Feb 11, 2022 View code MemSafeCrypto Summary of Changes Supported Primitives Original Code Projects That Use MemSafeCrypto License README.md 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 Original Code This project is based on BouncyCastle release 1.69: https://github.com/bcgit/bc-java Projects That Use MemSafeCrypto SecDB Password Safe Access Panel License The project is licensed under Apache 2.0 license, which I believe is compatible with the BouncyCastle license LICENSE.html. About A subset of BouncyCastle crypto primitives, refactored to use DirectByteBuffer. Topics argon2 xsalsa20 poly1305 blake2b sha256 salsa20 bouncycastle xsalsa20poly1305 salsa20engine Resources Readme License Apache-2.0 License Stars 15 stars Watchers 1 watching Forks 0 forks Languages * Java 100.0% * (c) 2022 GitHub, Inc. * Terms * Privacy * Security * Status * Docs * Contact GitHub * Pricing * API * Training * Blog * About You can't perform that action at this time. You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.