Baike.dev
All toolsAI codingTrendingOpen sourceNewsSubmit
Log in
< Back to tools
T

Tongsuo

> DevOps
Open source

铜锁/Tongsuo is a Modern Cryptographic Primitives and Protocols Library

1.5K stars0 likes0 views
WebsiteGitHub

About

铜锁/Tongsuo is a Modern Cryptographic Primitives and Protocols Library

OpenAtom 铜锁/Tongsuo

铜锁/Tongsuo是一个提供现代密码学算法和安全通信协议的开源基础密码库,为存储、网络、密钥管理、隐私计算等诸多业务场景提供底层的密码学基础能力,实现数据在传输、使用、存储等过程中的私密性、完整性和可认证性,为数据生命周期中的隐私和安全提供保护能力。

铜锁获得了国家密码管理局商用密码检测中心颁发的商用密码产品认证证书,助力用户在国密改造、密评、等保等过程中,更加严谨地满足我国商用密码技术合规的要求。可在此处下载资质原始文件。

特性

铜锁提供如下主要的功能特性:

  • 技术合规能力
    • 符合 GM/T 0028《密码模块安全技术要求》的"软件密码模块安全一级"资质
    • 符合 GM/T 0005-2021《随机性检测规范》
  • 零知识证明(ZKP)
    • Bulletproofs range
    • Bulletproofs R1CS
  • 密码学算法
    • 中国商用密码算法:SM2、SM3、SM4、祖冲之等
    • 国际主流算法:ECDSA、RSA、AES、SHA等
    • 同态加密算法:EC-ElGamal、Paillier等
    • 后量子密码学:ML-KEM(Kyber)、ML-DSA(Dilithium)、SLH-DSA(SPHINCS+)等
  • 安全通信协议
    • 支持GB/T 38636-2020 TLCP标准,即双证书国密通信协议
    • 支持RFC 8998,即TLS 1.3 +国密单证书
    • 支持QUIC API
    • 支持Delegated Credentials功能
    • 支持TLS证书压缩

典型应用

开源应用(Opensource Application)

  • Angie, Angie是一个可以替换掉NGINX的新型Web服务器,我们建议使用铜锁的用户优先选择Angie (We highly recommend you to replace NGINX with Angie to enable Tongsuo's functionality)
  • Apache APISIX
  • Tengine
  • g3proxy,正向代理&基础反向代理
  • g3bench,HTTPS/H2/TLS握手等压测

商业应用 (Commercial Application)

  • 支付宝App
  • OceanBase数据库
  • 阿里云
  • 天威诚信

编译和安装

一般来说,典型的编译和安装过程如下:

./config --prefix=/path/to/install/dir
make
make install

如果是Windows,则需要:

perl Configure enable-ntls
nmake
nmake install

以上将会安装铜锁的头文件、library文件和铜锁二进制程序。如果需要在独立的build目录中编译铜锁以保证源代码仓库的整洁,则可以:

cd tongsuo-build
/path/to/Tongsuo/source/config --prefix=/path/to/dest
make
make install

目前铜锁支持的操作系统有:各种Linux发行版、macOS、Android、iOS和Windows。在这些操作系统上,还需要事先准备好对应的环境:

  • make
  • Perl 5,以及Text::Template模块
  • C编译器
  • C库

铜锁对第三方库的依赖很少,但是目前依然对Perl依赖较大。

如果希望执行自动化测试用例,则需:

make test

在安装的时候,可以选择只安装library文件:

make install_runtime_libs

如果还需要安装头文件以便于基于铜锁开发应用程序,则可以:

make install_dev

也可以只安装铜锁二进制程序和其依赖的铜锁library文件:

make install_programs

铜锁的Configure脚本提供了大量的用于开关各种特性的选项。一般来讲,使用enable-xxx做为对某个特性的开启,而使用no-xxx来关闭某个特性。例如,enable-ntls即开启TLCP,而no-rsa则是不编译RSA算法。

文档

铜锁的相关文档组织在 铜锁文档网站 上。

交流合作

铜锁使用钉钉群进行用户答疑和交流,钉钉群号:44810299

欢迎关注铜锁公众号,获取最新的铜锁动态:

声明

铜锁/Tongsuo 是由开放原子开源基金会(OpenAtom Foundation)孵化及运营的开源项目。

报告安全缺陷

铜锁目前使用蚂蚁集团的威胁搜集系统,请访问如下地址进行安全缺陷的报告:

  • https://security.alipay.com/

注意:对于非安全相关的Bug,请使用GitHub的Issues进行提交。

GitHub Issues· 160 open

View all on GitHub
  • #836

    SSL/TLS protocol 中server只选择NTLS版本,报错no protocols available

    Updated Sep 12, 2026
  • #823

    握手时如何获取到服务端的SSL双证书?

    Updated Sep 10, 2026
  • #841

    The security level of NTLS

    Updated Sep 9, 2026
  • #840

    Path 2 (new) — state_machine (regular), server with -ntls -enable_ntls

    Updated Sep 9, 2026
  • #839

    SM2 静态密钥交换 PMS client_version 未校验(GB/T 38636-2020 6.4.5.8 预主密钥其中 a))

    Updated Sep 7, 2026
  • #838

    TLCP ECDHE 套件 ClientKeyExchange 密钥交换参数缺少 2 字节向量长度前缀(不符合 GB/T 38636-2020 6.4.5.8)

    Updated Sep 7, 2026
  • #837

    正式的8.5.0什么时候发布

    Updated Sep 2, 2026
  • #811

    想问一下大家怎么解决程序间接依赖openssl可能和tongsuo冲突的问题的

    Updated Aug 28, 2026
  • #777

    增加ML-DSA算法AVX2支持

    Updated Aug 28, 2026
  • #792

    SM3,SM4-X86环境下指令集优化是没有集成吗?

    Updated Aug 28, 2026

Highlights

  • •符合 GM/T 0028《密码模块安全技术要求》的"软件密码模块安全一级"资质
  • •符合 GM/T 0005-2021《随机性检测规范》
  • •零知识证明(ZKP)
  • •Bulletproofs range
  • •Bulletproofs R1CS
  • •中国商用密码算法:SM2、SM3、SM4、祖冲之等
  • •国际主流算法:ECDSA、RSA、AES、SHA等
  • •同态加密算法:EC-ElGamal、Paillier等
  • •后量子密码学:ML-KEM(Kyber)、ML-DSA(Dilithium)、SLH-DSA(SPHINCS+)等
  • •支持GB/T 38636-2020 TLCP标准,即双证书国密通信协议

> Tags

Cchinese-cipherscryptographypkisecurity

No comments yet. Be the first to share.

> Details

PublishedAug 1, 2026
UpdatedSep 17, 2026
CategoryDevOps
PricingOpen source

> Related tools

D
Docker
容器化平台,标准化应用交付
G
GitHub Actions
GitHub 原生 CI/CD 工作流
N
Nginx
高性能 Web 服务器与反向代理