我正在寻找一种用于 C++ 程序的快速非对称密码算法。我们的应用程序访问存储在存档中的只读数据(自定义格式,有点类似于 tar),我想通过非对称加密存档索引来防止对该存档进行任何修改(我知道这不是一个完美的解决方案和仍然可以使用某些技术提取和重新打包数据)。
存档中的某些单个文件使用对称密码进行加密,并且它们的加密密钥存储在存档索引(标题)中。这就是为什么我想不对称地加密存档头。
密码要求:
1)算法实现应该是平台无关的。
2) 算法应该易于我自己实现,或者它应该在允许与专有应用程序静态链接的库(带有源代码)中可用,这意味着不能使用 GPL/LGPL/病毒许可证。MIT/BSD 许可代码或公共领域代码是可以接受的。
3) 如果库中有 cypher,理想情况下它应该具有较小的内存占用,并且实现应该是紧凑的。我更喜欢使用只实现一个密码而不是成熟的通用密码集合的 C/C++ 库。
最初我想使用 RSA,但它看起来太慢而无法使用,并且没有太多替代方案。
那么,关于我可以使用什么的任何建议?