graviola:为Rust提供高质量、快速、易构建的加密库

graviola:为Rust提供高质量、快速、易构建的加密库

graviola graviola 项目地址: https://gitcode.com/gh_mirrors/gr/graviola

在当今的软件开发领域,安全性已成为不可忽视的重要环节。graviola,这是一个专为Rust语言设计的加密库,以其高质量、快速的性能和易构建的特性,满足了开发者对安全性的高要求。

项目介绍

graviola是一个高质量的加密算法集合,旨在与rustls库配合使用。它集成了s2n-bignum项目的汇编程序,这些程序已经过形式化验证,确保正确执行所需的数学运算。此外,graviola在性能上与其他Rust加密库相媲美或超越,并且在构建过程中无需C编译器、汇编器或其他工具,仅需要Rust编译器即可在不到一秒的时间内完成编译。

项目技术分析

graviola的设计理念是提供高性能的加密算法,同时保持易用性。以下是该项目的一些技术亮点:

  • 高质量:集成了s2n-bignum项目的汇编例程,这些例程已经过形式化验证,确保了加密运算的正确性。
  • 快速:在各种加密算法的性能比较中,graviola的表现优于或与其他库相当。
  • 易构建:构建过程无需额外工具,只需Rust编译器即可快速完成。

graviola目前支持的算法包括:

  • 公钥签名:RSA-PSS签名验证、RSA-PKCS#1签名验证、RSA-PSS签名、RSA-PKCS#1签名、ECDSA on P256 w/ SHA2、ECDSA on P384 w/ SHA2。
  • 哈希算法:SHA256、SHA384 & SHA512、HMAC、HMAC-DRBG。
  • 密钥交换:X25519、P256、P384。
  • AEADs:AES-GCM、chacha20-poly1305和xchacha20-poly1305。

项目技术应用场景

graviola的设计目标是提供在Web上广泛使用的算法,并通过rustls-graviola作为rustls的CryptoProvider使用。这使得graviola非常适合于需要高强度安全性的Web应用和服务,特别是在需要快速、可靠的加密运算的场景中。

项目特点

graviola的特点如下:

  • 构建速度cargo build的构建时间小于一秒,且仅需Rust编译器。
  • 性能竞争力:在性能上与其他加密库如ring、aws-lc-rs和rustcrypto相媲美或超越。
  • 使用形式化验证的汇编程序:从其他项目中使用经形式化验证的汇编代码。
  • 提供广泛使用的算法:旨在提供Web上广泛使用的算法。
  • 易于使用的API:提供了供一般用途使用的公共API。

graviola目前仅支持aarch64x86_64架构,并要求特定的CPU特性。对于aarch64,需要aessha2pmullneon特性;对于x86_64,需要aesssse3avxavx2bmi2pclmulqdq特性。

graviola的代码遵循清晰的架构分层,包括底层(low)的原始加密操作、中层(mid)的构造、协议和编码,以及高层(high)的编码和操作。这样的设计保证了代码的模块化和可维护性。

在许可证方面,graviola采用了Apache-2.0、ISC或MIT-0的混合许可证,与s2n-bignum项目保持一致。

graviola是一个值得关注的开源项目,尤其是对于那些在Rust环境中寻求高质量加密解决方案的开发者。其出色的性能和易用性,使得graviola在安全软件开发领域中具有广阔的应用前景。

graviola graviola 项目地址: https://gitcode.com/gh_mirrors/gr/graviola

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

苏凌献

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值