#password #expansion #algorithm

无std vep

可变长度扩展传递函数。(即短密码到长哈希密码)

5个版本 (稳定)

2.1.0 2021年9月7日
2.0.0 2021年9月6日
1.0.1 2021年9月2日
0.1.0 2021年8月22日

#2489 in 密码学


用于 secwords

MIT/Apache

14KB
216

vep

可变长度扩展传递函数。(即短密码到长哈希密码)

CI Crates.io Licensed Twitter

| 文档 | 最新笔记 |

[dependencies]
vep = "2.1.0"

[dependencies]
vep = { version = "2.1.0", default-features = false } # no-std

如何使用

use vep::Vep;
use sha2::{Sha256, Digest}; // can be any hasher(dyn Digest from `digest` crate)

let src = b"hello vep!"; // <- 10 bytes
let expanded = Vep(Sha256::new()).expand(src); // -> 10 * 32 bytes == `320 bytes`

assert_eq!(expanded.len(), Vep::<Sha256>::output_size_calc(src));

固定大小可用

let src = b"hello vep!"; // <- 10 bytes
let result = Vep(Sha256::new()).expand_and_then_reduce(src); // -> 320 bytes -> `32 bytes` (reduced)

assert_eq!(result.len(), Vep::<Sha256>::reduced_size_calc());

* 算法


Vep Image

依赖项

~360KB