5 个稳定版本
使用旧的 Rust 2015
3.2.5 | 2019 年 7 月 23 日 |
---|---|
3.2.4 | 2019 年 7 月 19 日 |
3.2.2 | 2019 年 6 月 23 日 |
3.2.1 |
|
3.2.0 | 2019 年 6 月 18 日 |
#1652 in 密码学
531 每月下载量
1MB
27K SLoC
注意:已更新到 Rust 2018
注意:此库版本需要 Rust 1.31+ 版本以支持 64 位整数和 Rust 2018。
现在 AMCL 版本 3 以 cargo crate 的形式分发。
使用命名空间来区分不同的曲线。
要构建库并查看其实际效果,请将此目录及其子目录中的所有文件复制到一个新的根目录。
然后例如执行
cargo rustc --release --features "bn254 bls383 bls24 bls48 ed25519 nist256 goldilocks rsa2048"
这将创建一个针对当前默认目标(32位或64位)的库构建。
(要测试32位环境,您可以遵循 Web Assembly(wasm)的 rust readme 指令)
接下来,将库从 target/release/libamcl.rlib 复制到根目录并执行
rustc TestALL.rs --extern amcl=libamcl.rlib
rustc TestBLS.rs --extern amcl=libamcl.rlib
rustc BenchtestALL.rs --extern amcl=libamcl.rlib
rustc TestNHS.rs --extern amcl=libamcl.rlib
最后执行这些程序。
要将 amcl 功能添加到您自己的程序中,在 Cargo.toml 文件中添加依赖项。例如,要使用曲线 bls48,添加以下依赖项
[dependencies]
amcl = { version = "0.2.0", optional = true, default-features = false, features = ["bls48"]}
如果已发布到 crates.io,或
amcl = { version = "0.2.0", optional = true, default-features = false, features = ["bls48"], path="your_amcl_location" }
并在源代码中使用所需曲线的原始数据
use amcl::bls48::{ECP, ECP8}; //您需要的任何原始数据
功能列表
-
椭圆曲线
- ed25519
- c25519
- nist256
- brainpool
- anssi
- hifive
- goldilocks
- nist384
- c41417
- nist521
- nums256w
- nums256e
- nums384w
- nums384e
- nums512w
- nums512e
- secp256k1
-
配对友好椭圆曲线
- bn254
- bn254CX
- bls383
- bls381
- fp256BN
- fp512BN
- bls461
- bls24
- bls48
-
RSA
- rsa2048
- rsa3072
- rsa4096