Noise-Java 是 Noise 协议 的一种纯 Java 实现,旨在作为参考实现。该代码根据 MIT 许可证条款分发。
此库使用纯 Java 编写,利用 Java 加密扩展(JCE)提供加密原语和基础架构。当平台的 JDK 不支持某种原语时,Noise-Java 会提供纯 Java 的备用实现。
以下算法在标准 JDK 中通常可用,如果存在,Noise-Java 将尝试使用它们:
某些 JDK 安装限制了 256 位 AES 密钥的使用。您可能需要为 JDK 安装 “Unlimited Strength Policy Files” 以绕过此限制。或者,Noise-Java 中 AESGCM 的纯 Java 备用实现没有任何此类限制。
如果您有更好的加密原语实现,可以修改 “Noise” 类中的 createDH()、createCipher() 和 createHash() 函数来集成您的版本。
包文档包含有关 Noise-Java 库中类的更多信息。
有关此库的更多信息、报告错误、贡献或提出改进建议,请通过电子邮件联系作者 Rhys Weatherley。