botan

botan

全面的C++加密与TLS库

Botan是一个功能全面的C++加密库,提供TLS协议实现、X.509证书处理、AEAD密码等核心功能。支持多种加密算法,包括公钥密码、哈希函数和密码模式。具备Python绑定和命令行接口,适用于广泛的安全系统开发。Botan还支持硬件加密模块和后量子密码方案,为C++开发者提供全方位的加密工具。

Botan密码学库C++TLS加密算法Github开源项目

Botan:现代 C++ 的加密和 TLS 库

Botan(日语中牡丹花的意思)是一个以宽松的简化版 BSD <https://botan.randombit.net/license.txt>_许可证发布的 C++ 加密库。

Botan 的目标是成为 C++ 中最佳的加密选择,提供实现各种实用系统所需的工具,如 TLS 协议、X.509 证书、现代 AEAD 密码、PKCS#11 和 TPM 硬件支持、密码哈希以及后量子加密方案。库中包含一个 Python 绑定,还有其他几种语言绑定 <https://github.com/randombit/botan/wiki/Language-Bindings>可用。该库还附带了一个功能丰富的命令行界面 <https://botan.randombit.net/handbook/cli.html>

有关包含功能的更多信息,请参阅文档 <https://botan.randombit.net/handbook>_。

开发工作在 GitHub <https://github.com/randombit/botan>__ 上协调,欢迎贡献。如果您需要帮助,请在 GitHub <https://github.com/randombit/botan/issues>__ 上开启一个 issue。

如果您认为发现了安全问题,请查看安全页面 <https://botan.randombit.net/security.html>_获取联系信息。

|ci_status| |nightly_ci_status| |coverage| |ossfuzz| |repo| |ossf| |cii|

.. |ci_status| image:: https://github.com/randombit/botan/actions/workflows/ci.yml/badge.svg?branch=master :target: https://github.com/randombit/botan/actions/workflows/ci.yml :alt: CI 状态

.. |nightly_ci_status| image:: https://github.com/randombit/botan/actions/workflows/nightly.yml/badge.svg?branch=master :target: https://github.com/randombit/botan/actions/workflows/nightly.yml :alt: 每晚 CI 状态

.. |coverage| image:: https://img.shields.io/coverallsCoverage/github/randombit/botan?branch=master :target: https://coveralls.io/github/randombit/botan :alt: 覆盖率报告

.. |ossfuzz| image:: https://oss-fuzz-build-logs.storage.googleapis.com/badges/botan.svg :target: https://oss-fuzz.com/coverage-report/job/libfuzzer_asan_botan/latest :alt: OSS-Fuzz 状态

.. |repo| image:: https://repology.org/badge/tiny-repos/botan.svg :target: https://repology.org/project/botan/versions :alt: 打包状态

.. |ossf| image:: https://api.securityscorecards.dev/projects/github.com/randombit/botan/badge :target: https://securityscorecards.dev/viewer/?uri=github.com/randombit/botan :alt: OSSF 评分卡

.. |cii| image:: https://bestpractices.coreinfrastructure.org/projects/531/badge :target: https://bestpractices.coreinfrastructure.org/projects/531 :alt: CII 最佳实践声明

发布 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Botan3 发布系列的最新版本是 3.5.0 <https://botan.randombit.net/releases/Botan-3.5.0.tar.xz>_ (签名) <https://botan.randombit.net/releases/Botan-3.5.0.tar.xz.asc>__, 发布于 2024-07-08。

Botan2 发布系列的最新版本是 2.19.5 <https://botan.randombit.net/releases/Botan-2.19.5.tar.xz>_ (签名) <https://botan.randombit.net/releases/Botan-2.19.5.tar.xz.asc>__, 发布于 2024-07-08。请注意,Botan2 目前计划在 2024 年底结束生命周期。

所有发布版本都使用 PGP 密钥 <https://botan.randombit.net/pgpkey.txt>_ 签名。 查看发布说明 <https://botan.randombit.net/news.html>了解新功能。Botan 也可以通过大多数 发行版 <https://github.com/randombit/botan/wiki/Distros> 获得,如 Fedora、Debian、Arch 和 Homebrew。

包含内容 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

传输层安全 (TLS) 协议

  • TLS v1.2/v1.3 和 DTLS v1.2
  • 支持的扩展包括会话票据、SNI、ALPN、OCSP 装订、先加密后 MAC 的 CBC 和扩展主密钥
  • 支持使用证书或预共享密钥 (PSK) 进行身份验证
  • 支持使用现代 AEAD 模式以及传统 CBC 密码套件进行记录加密
  • TLS 1.3 支持使用 Kyber 和 FrodoKEM 进行后量子密钥交换

公钥基础设施

  • X.509v3 证书和 CRL 创建与处理
  • PKIX 证书路径验证,包括名称约束
  • OCSP 请求创建和响应处理
  • PKCS #10 证书请求生成和处理
  • 访问 Windows、macOS 和 Unix 系统证书存储
  • SQL 数据库支持的证书存储

公钥加密

  • RSA 签名和加密
  • DH 和 ECDH 密钥协商
  • 签名方案 ECDSA、DSA、Ed25519、Ed448、ECGDSA、ECKCDSA、SM2、GOST 34.10
  • 后量子签名方案 Dilithium、HSS/LMS、SPHINCS+、XMSS
  • 后量子密钥协商方案 McEliece、Kyber 和 FrodoKEM
  • ElGamal 加密
  • 填充方案 OAEP、PSS、PKCS #1 v1.5、X9.31

密码、哈希、MAC 和校验和

  • 认证加密模式 EAX、OCB、GCM、SIV、CCM、(X)ChaCha20Poly1305
  • 密码模式 CTR、CBC、XTS、CFB、OFB
  • 分组密码 AES、ARIA、Blowfish、Camellia、CAST-128、DES/3DES、IDEA、 Lion、SEED、Serpent、SHACAL2、SM4、Threefish-512、Twofish
  • 流密码 (X)ChaCha20、(X)Salsa20、SHAKE-128、RC4
  • 哈希函数 SHA-1、SHA-2、SHA-3、MD5、RIPEMD-160、BLAKE2b/BLAKE2s、 Skein-512、SM3、Streebog、Whirlpool
  • 密码哈希方案 PBKDF2、Argon2、Scrypt、bcrypt
  • 认证码 HMAC、CMAC、Poly1305、KMAC、SipHash、GMAC、X9.19 DES-MAC
  • 非加密校验和 Adler32、CRC24、CRC32

其他有用功能

  • 完整的 C++ PKCS #11 API 包装器
  • TPM v1.2 设备访问接口
  • 简单的压缩 API,包装 zlib、bzip2 和 lzma 库
  • 系统 RNG 和硬件 RNG 的 RNG 包装器
  • 用户空间 RNG 的 HMAC_DRBG 和熵收集系统
  • SRP-6a 密码认证密钥交换
  • 密钥派生函数,包括 HKDF、KDF2、SP 800-108、SP 800-56A、SP 800-56C
  • HOTP 和 TOTP 算法
  • FE1 格式保留加密方案
  • 门限秘密共享
  • Roughtime 客户端
  • 与 Zfec 兼容的前向纠错编码
  • 编码方案,包括 hex、base32、base64 和 base58
  • NIST 密钥包装
  • 支持 Boost.Asio 的 TLS 客户端流

编辑推荐精选

音述AI

音述AI

全球首个AI音乐社区

音述AI是全球首个AI音乐社区,致力让每个人都能用音乐表达自我。音述AI提供零门槛AI创作工具,独创GETI法则帮助用户精准定义音乐风格,AI润色功能支持自动优化作品质感。音述AI支持交流讨论、二次创作与价值变现。针对中文用户的语言习惯与文化背景进行专门优化,支持国风融合、C-pop等本土音乐标签,让技术更好地承载人文表达。

QoderWork

QoderWork

阿里Qoder团队推出的桌面端AI智能体

QoderWork 是阿里推出的本地优先桌面 AI 智能体,适配 macOS14+/Windows10+,以自然语言交互实现文件管理、数据分析、AI 视觉生成、浏览器自动化等办公任务,自主拆解执行复杂工作流,数据本地运行零上传,技能市场可无限扩展,是高效的 Agentic 生产力办公助手。

lynote.ai

lynote.ai

一站式搞定所有学习需求

不再被海量信息淹没,开始真正理解知识。Lynote 可摘要 YouTube 视频、PDF、文章等内容。即时创建笔记,检测 AI 内容并下载资料,将您的学习效率提升 10 倍。

AniShort

AniShort

为AI短剧协作而生

专为AI短剧协作而生的AniShort正式发布,深度重构AI短剧全流程生产模式,整合创意策划、制作执行、实时协作、在线审片、资产复用等全链路功能,独创无限画布、双轨并行工业化工作流与Ani智能体助手,集成多款主流AI大模型,破解素材零散、版本混乱、沟通低效等行业痛点,助力3人团队效率提升800%,打造标准化、可追溯的AI短剧量产体系,是AI短剧团队协同创作、提升制作效率的核心工具。

seedancetwo2.0

seedancetwo2.0

能听懂你表达的视频模型

Seedance two是基于seedance2.0的中国大模型,支持图像、视频、音频、文本四种模态输入,表达方式更丰富,生成也更可控。

nano-banana纳米香蕉中文站

nano-banana纳米香蕉中文站

国内直接访问,限时3折

输入简单文字,生成想要的图片,纳米香蕉中文站基于 Google 模型的 AI 图片生成网站,支持文字生图、图生图。官网价格限时3折活动

扣子-AI办公

扣子-AI办公

职场AI,就用扣子

AI办公助手,复杂任务高效处理。办公效率低?扣子空间AI助手支持播客生成、PPT制作、网页开发及报告写作,覆盖科研、商业、舆情等领域的专家Agent 7x24小时响应,生活工作无缝切换,提升50%效率!

堆友

堆友

多风格AI绘画神器

堆友平台由阿里巴巴设计团队创建,作为一款AI驱动的设计工具,专为设计师提供一站式增长服务。功能覆盖海量3D素材、AI绘画、实时渲染以及专业抠图,显著提升设计品质和效率。平台不仅提供工具,还是一个促进创意交流和个人发展的空间,界面友好,适合所有级别的设计师和创意工作者。

图像生成AI工具AI反应堆AI工具箱AI绘画GOAI艺术字堆友相机AI图像热门
码上飞

码上飞

零代码AI应用开发平台

零代码AI应用开发平台,用户只需一句话简单描述需求,AI能自动生成小程序、APP或H5网页应用,无需编写代码。

Vora

Vora

免费创建高清无水印Sora视频

Vora是一个免费创建高清无水印Sora视频的AI工具

下拉加载更多