本文介绍了使用WASM实现BBS+签名(一种短而匿名的群签名)的技术方案。BBS+签名基于双线性映射,允许群组成员在不暴露签名者身份的情况下进行签名,同时保证签名有效性、匿名性、可追溯性、不可链接性和抗合谋性。文章还提供了使用Crypt-WASM集成JavaScript的示例代码,展示了如何生成密钥对、签名消息和验证签名。
文章讨论了后量子密码(PQ)的必要性和优势,即使量子计算机没有实际出现,新的PQ标准也比传统的密码算法更安全、更有弹性且更灵活。当前广泛使用的公钥密码术存在风险,而后量子密码通过基于多种数学难题构建算法、采用现代设计和提供使用案例灵活性来解决这些问题,从而实现密码多样化和现代化。
本文介绍在以太坊密码学是如何工作的?什么是公钥和私钥,以及如何使用它们
本文介绍了Fiat-Shamir变换在零知识证明(ZKPs)和多方计算(MPC)中的重要性,并强调了正确实现该变换的挑战。为了帮助开发者避免常见错误,Trail of Bits发布了一个名为Decree的Rust库,该库旨在简化Fiat-Shamir transcript的规范和强制执行,并通过Inscribe trait确保包含上下文信息。
本文批判了几种常见的密码学误用,即所谓的“YOLO”构造,包括 YoloMultiHash、YoloMAC 和 YoloPBKDF。
相比于脚本式的多签名构造,MuSig 有两大长处。第一,交易体积更小(因此矿工手续费更少)。第二,MuSig 也提升了隐私性。
Trail of Bits 公开披露了多个零知识证明系统(包括 PlonK 和 Bulletproofs)实现中的严重漏洞,这些漏洞由 Fiat-Shamir 转换的不安全实现引起,允许恶意用户伪造随机语句的证明。
Constantine是一个高性能密码学库,专注于区块链协议和零知识证明系统。它提供常数时间实现的密码学原语,支持多种椭圆曲线和协议,包括以太坊BLS签名、KZG承诺等,并提供Nim、C、Rust、Go等多种语言的接口。该库旨在提供快速、紧凑和强化的椭圆曲线密码学解决方案。
本文讨论了在公民身份管理中使用BBS+签名实现选择性披露身份信息的方案。文章指出,政府应提供身份验证而非拥有公民身份,英国政府目前在这方面存在问题。文章介绍了BBS+签名技术,它允许签名者在不泄露全部信息的情况下验证部分身份信息,同时使用密码学wasm集成和JavaScript来实现,从而在交易中建立信任并保护隐私。
关于Web3基础设施
本次是对 OpenZeppelin 的 rust-contracts-stylus 代码库进行审计的结果总结。审计范围包括密码学库和合约库,共发现 22 个问题,包括1个高危、2个中危、9个低危问题。密码学库包含算术、曲线、域操作以及Poseidon2、Pedersen哈希算法的实现;合约库实现了ERC-20,ERC-1155等token 标准,以及访问控制,金融等相关合约。
哈希到曲线函数的技术现状,在secp256k1椭圆曲线上的应用,以及一般的哈希到曲线算法背后的一些安全考虑和性能优化。
本文对多种零知识证明(ZKP)框架在哈希函数上的性能进行了基准测试,包括plonky3、stwo、binius、hashcaster和expander。文章详细比较了它们在不同哈希算法(如Blake3、Keccak、Poseidon2等)上的吞吐量、证明大小和内存占用情况,并讨论了优化方向以及各个框架的优缺点。
ICICLE v3.6 发布,主要更新包括:支持 Metal 后端,为 macOS 用户提供 Metal 加速,无需修改代码即可提升性能。改进包括 Metal 后端支持,Sumcheck 增强和 Lattice 推进,并计划在未来版本中添加更多功能和优化。未来将发布 ICICLE v3.7,引入 FRI 支持。
本文介绍了OpenSSL 3.5.0中引入的对量子安全密码算法的支持,包括ML-KEM (FIPS 203), ML-DSA (FIPS 204) 和 SLH-DSA (FIPS 205)。文章展示了如何在Windows环境下编译OpenSSL 3.5,并演示了如何使用这些新的密码算法生成密钥对、签名和验证消息,以及进行了性能基准测试。