#aggregation #private #aggregate #computation #scalable #distributed #robust

prio

Prio聚合系统核心的实现:https://crypto.stanford.edu/prio/

44个版本

0.16.6 2024年7月19日
0.16.3 2024年4月25日
0.16.2 2024年3月19日
0.15.3 2023年10月3日
0.2.0 2020年10月1日

#68 in 加密学

Download history 2161/week @ 2024-04-30 1668/week @ 2024-05-07 2147/week @ 2024-05-14 1494/week @ 2024-05-21 1615/week @ 2024-05-28 1462/week @ 2024-06-04 1873/week @ 2024-06-11 1281/week @ 2024-06-18 799/week @ 2024-06-25 945/week @ 2024-07-02 1523/week @ 2024-07-09 1549/week @ 2024-07-16 1423/week @ 2024-07-23 1249/week @ 2024-07-30 1191/week @ 2024-08-06 818/week @ 2024-08-13

5,137 monthly downloads
8 crates 中使用

MPL-2.0 许可证

1MB
17K SLoC

libprio-rs

Latest Version Docs badge

纯Rust实现Prio,一个用于私人、稳健和可扩展计算聚合统计的系统。

暴露通知私人分析

此crate被用于暴露通知私人分析系统。这在不同地方被称为Prio v2。有关更多信息,请参阅prio-serverENPA 白皮书

可验证分布式聚合函数

此crate还实现了一个名为"Prio3"的可验证分布式聚合函数(VDAF),在vdaf模块中实现,允许Prio在IETF PPM工作组开发的分布式聚合协议(DAP)中使用。此支持将与DAP和VDAF规范一起不断发展。

草案版本和发布分支

main分支处于持续开发中,通常位于VDAF草案之间。libprio使用稳定发布分支来维护不同VDAF草案的实现。crate prio 版本 x.y.z 从相应的 release/x.y 分支发布。我们尽量保持Rust SemVer 兼容性,这意味着API中断只发生在小版本增加时(例如,0.10到0.11)。

crate版本 Git分支 VDAF草案版本 DAP草案版本 符合规范吗? 状态
0.8 发布/0.8 draft-irtf-cfrg-vdaf-01 draft-ietf-ppm-dap-01 自2023年3月28日起不再维护
0.9 发布/0.9 draft-irtf-cfrg-vdaf-03 draft-ietf-ppm-dap-02draft-ietf-ppm-dap-03 截至 2022 年 9 月 22 日不再维护
0.10 发布/0.10 draft-irtf-cfrg-vdaf-03 draft-ietf-ppm-dap-02draft-ietf-ppm-dap-03 截至 2023 年 11 月 14 日不再维护
0.11 发布/0.11 draft-irtf-cfrg-vdaf-04 不适用 不再维护
0.12 发布/0.12 draft-irtf-cfrg-vdaf-05 draft-ietf-ppm-dap-04 截至 2024 年 6 月 24 日不再维护
0.13 发布/0.13 draft-irtf-cfrg-vdaf-06 draft-ietf-ppm-dap-05 不再维护
0.14 发布/0.14 draft-irtf-cfrg-vdaf-06 draft-ietf-ppm-dap-05 不再维护
0.15 发布/0.15 draft-irtf-cfrg-vdaf-07 draft-ietf-ppm-dap-07 截至 2024 年 6 月 24 日不再维护
0.16 主要 draft-irtf-cfrg-vdaf-08 draft-ietf-ppm-dap-09 支持

货物特性

此 crate 定义以下功能标志

名称 默认功能? 描述 Semver 稳定?
crypto-dependencies 启用对各种 RustCrypto crate 的依赖,并使用它们来实现 XofTurboShake128 以支持 VDAFs。
实验性 某些实验性 API 由此功能保护。
多线程 启用某些使用 rayon 进行小工具评估并行化的 Prio3 VDAF 实现。
测试工具 启用 VDAF 用户和 VDAF 实现者的测试工具。
wasm-compat 启用 getrandom/js 功能。在 JavaScript 环境中,这对于 wasm32-unknown-unknown 目标是必需的。

未标记为 "Semver 稳定" 的功能可能会在未来补丁版本中发生破坏性更改,作为语义版本化的例外。

依赖关系

~2–5.5MB
~92K SLoC