#密码学
tink
Tink是Google开发的多语言跨平台加密库,提供安全且易用的API,可有效减少常见加密陷阱。该库支持Java、C++、Objective-C、Go和Python等语言,已在Google多个产品中应用。Tink致力于简化开发者在应用中使用加密技术的过程,无需专业加密知识即可安全实现。
CryptoSwift
CryptoSwift是一个纯Swift实现的开源加密库,提供哈希、CRC校验、对称加密、RSA、消息认证等多种加密功能。支持iOS、Android、macOS等平台,API简洁易用,可便捷进行字符串和数据加密。该库支持增量更新和流式处理,性能良好,适用于各类Swift项目的加密需求。
fhe.rs
fhe.rs是一个基于Rust语言的开源Ring-LWE同态加密库,实现了BFV加密方案的RNS变体。该库性能与C++和Go的顶级库相当,由Tancrède Lepoint开发,包含四个公共crate。fhe.rs虽处于beta阶段,但已为Rust生态系统提供了高效的同态加密方案,展现出巨大潜力。
constantine
Constantine是一个面向区块链和零知识证明系统的高性能密码学库。它实现了恒定时间的加密原语,支持多种椭圆曲线和协议,包括以太坊BLS签名和KZG承诺。该库强调安全性、性能和代码紧凑性,提供Rust、Go、C和Nim等多语言接口。Constantine不依赖外部库,有效降低了供应链攻击风险。
fancy-cryptography
本项目收集了实际应用中的高级加密技术案例,涵盖大规模主流部署、概念验证和小众应用。内容包括Android、Apple、Google等科技公司产品中的加密应用,以及区块链和Web3领域的创新。该列表展示了当前加密技术的前沿应用,同时为密码学家提供了需要升级到后量子密码学的方案清单,对密码学研究和实践具有参考价值。
lattigo
Lattigo是一个高性能的Go语言格密码同态加密库,提供优化的环代数算术、RLWE原语以及BFV/BGV和CKKS方案实现。支持跨平台构建和浏览器WASM编译,性能媲美顶级C++库。Lattigo专注于分布式系统和微服务架构中的同态加密应用,充分利用Go语言的并发优势和可移植性。
jasmin
Jasmin是一个开源项目,包含专为高保证和高速密码学设计的编程语言及其编译器。这套工具使开发者能够创建安全高效的密码学代码。项目采用MIT许可证,为密码学研究和应用提供重要资源。相关工具和详细信息可在项目Wiki获取,适合密码学专业人士和爱好者使用。
cryptography
这个开源项目致力于简化密码学概念,涵盖从基础到前沿的多个主题。内容包括对称和非对称加密、散列函数、数字签名等,通过图解和简洁语言呈现。适合有基本数学背景的读者,提供全面的密码学学习资源。项目持续更新,紧跟密码学技术发展。
banning-e2ee-is-stupid
该项目通过186行代码演示如何构建简易的端到端加密工具,展示了在普通消息服务上实现安全通信的可能性。项目旨在说明禁止加密立法的局限性,并以客观的方式呈现加密通信的基本原理和实现方法。通过这个实例,项目引发了对相关政策的思考。