3个版本
0.1.2 | 2024年4月24日 |
---|---|
0.1.1 | 2020年6月8日 |
0.1.0 | 2020年4月23日 |
在密码学类别中排名183
每月下载量895
在6个crate中使用了(直接使用3个)
65KB
1.5K SLoC
快速且安全的Base64编码/解码
这个crate提供了一个设计用于抵御软件旁路攻击(如时间攻击和缓存攻击)的Base64编码/解码实现,请参阅文档以获取详细信息。在特定平台上,它还使用SIMD指令,使其非常快。这使得它适用于解码PEM格式的加密私钥等场景。
其API与旧版rustc-serialize crate中的base64实现非常相似,因此在现有项目中使用起来非常方便。
实现
根据运行时的CPU架构,这个crate使用不同安全属性的不同的实现。
- x86与AVX2:所有查找表都使用SIMD指令实现。没有依赖于秘密的内存访问。
- 其他平台:查找限于64字节对齐的查找表。在具有64字节缓存行的平台上,这可能足以防止某些缓存旁路攻击。然而,已知这一点[对所有平台来说都不充分]。
我们热烈欢迎为其他平台提供贡献支持!
贡献
我们感谢社区提交的bug报告和贡献。通过参与这个社区,你同意遵守行为准则。所有贡献都受开发者证书的原始(DCO)的约束。
开发者证书原始(DCO)1.1
通过向此项目做出贡献,我证明
(a)该贡献全部或部分由我创建,我有权在文件中指定的开源许可下提交它;或
(b)该贡献基于以前的工作,据我所知,该工作受适当的开源许可保护,并且我有权在该许可下提交该工作,无论其全部或部分由我创建,均在同一开源许可下(除非我获准在另一许可下提交),如文件中所示;或
(c)该贡献是由其他人员直接提供给我的,该人员已证明(a)、(b)或(c)的内容,并且我没有修改它。
我理解并同意,该项目和贡献是公开的,并且贡献的记录(包括我提交的所有个人信息,包括我的签名)将无限期地保持,并且可以根据本项目或相关开源许可重新分发。
许可
本项目主要在Mozilla公共许可证(MPL)2.0的条款下分发,有关详细信息,请参阅LICENSE。