红杉 是功能库和命令行工具包 该 实施OpenPGP标准 (RFC-4880),此库由GnuPG项目的三名成员开发,他们决定创建一个新的OpenPGP免费实现。 以Rust语言来提高代码库的安全性和可靠性, 提供了可安全使用内存的工具。
除了提高安全性,红杉 它也试图摆脱GnuPG中的故障,如果不破坏兼容性或对代码库进行大量修改,就无法在主项目中对其进行修复。
例如: GnuPG在组件之间紧密耦合,因此很难进行更改, 它混淆了代码库,使创建完整的单元测试系统变得困难。 gpupg命令行工具包在功能上未与功能库同步,某些操作只能通过实用程序执行。
红杉 引入了带有Git样式子命令支持的sq命令行实用程序 和两个API选项:低级和高级。 有用于C和Python语言的链接。
大部分功能 在标准中描述 OpenPGP支持加密,解密,创建和验证数字签名。
在高级功能中, 据观察,它承认 通过单独提供的数字签名进行验证, 适应与包裹管理器(APT,RPM,货物等)的集成,具有通过阈值和时间限制签名的能力。
低级API复制 尽可能忠实地 OpenPGP的功能和一些相关的扩展, 例如ECC支持和该标准未来版本的草案元素。 唯一的例外是规范的继承部分,可能会对安全性产生负面影响,例如MD5哈希支持。
低级API 还支持无缓冲消息处理。 低级API已经非常接近于OpenPGP标准的完整覆盖范围,并且可以在低级上操作OpenPGP数据(即将推出稳定的1.0版)。
另一方面, 高级API仍在开始发展 到目前为止,它仅涵盖公共密钥存储和通过网络访问等功能。 随着项目的发展,将添加其他特定于域和支持的功能。
埃尔帕克特 还提供了功能强大的包装检查工具 可以在事件开发,调试和分析期间使用。 检测工具与分析仪集成在一起,以可视化方式分析加密消息,数字签名和密钥的结构。
现在 红杉支持的平台是Linux,FreeBSD,Windows,macOS,Android和iOS, 另外,可以使用平台提供的加密服务作为协处理器,用于隔离区域中的计算。
为了提供额外的隔离,通常将使用公钥和私钥的服务分离到单独的进程中。 例如,密钥库是以单独过程的形式开发的。 Cap'n Proto协议用于流程交互。
最后,值得一提的是 最近发布了一个新版本 的版本,最新版本是 红杉0.20.0 在其中 se 添加sequoia-openpgp包 低级程序 sqv(用于gpgv的替换)以验证单独的签名 以及带有无状态OpenPGP CLI实现的sqop实用程序。
Rust语言的要求已提高到1.46版,并且扩展了使用持续集成系统检查更改的方法,并且改进了OpenPGP兼容性测试套件。
如果您想了解更多 关于这个图书馆,您可以在其官方网站上查看详细信息 在下面的链接中。