我正在开发一个需要在 LAN 环境中加密其所有流量的应用程序,因此加密速度很重要,并且需要减少 CPU 时间以使应用程序自身拥有更多的 CPU 周期。因此,由于我不是密码学家,所以我试图了解除了自己动手之外我现有的选择是什么。
我现在正在尝试获取所有半有效选项的综合列表,以便能够测量和测试它们:
- TLS -- 不算快,也许可以调整密码
- SSH -- 维护 ssh 隧道可能是一种负担
- UDT -- 应该是高性能的,可选的加密方式如何?
- CurveCP -- 由 DJB 提供,所以加密很好,传输部分不确定
- MinimaLT -- DJB 贡献了加密技术,其他人负责传输
- IPSec -- 配置不简单
我还错过了什么?
最佳答案
使用 TLS。提供商听说过它并且加速已经存在的可能性相当高。 SSH 也是一个选项,但它通常用于管理。
关于其他选项:
- UDT -- 应该是高性能,可选的加密如何?好问题,快速搜索没有找到太多信息,所以避免。
- CurveCP -- 由 DJB 提供,因此加密很好,不确定传输部分任何主要由 DJB 完成的事情都需要对密码学有大学水平的理解。
- MinimaLT -- DJB 贡献了加密技术,其他人负责传输。见上文。主要文档似乎是关于 MinimalLT 的论文。
- IPSec -- 配置不简单 并且可能安全级别错误。我个人会避免,在云提供商上设置可能很棘手。
就是这样,最终传输级安全性似乎总是倾向于 TLS。
如果您希望快速实现和高安全级别,请尝试使用 AES 和 ECDSA/ECDH(E) 的密码套件。
关于encryption - 加密传输有哪些选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25520369/