5个版本
0.1.9 | 2024年6月29日 |
---|---|
0.1.8 | 2024年5月26日 |
0.1.7 | 2024年2月24日 |
0.1.6 | 2024年2月24日 |
0.1.0 | 2024年2月24日 |
#371 in 加密学
307 每月下载量
145KB
3K SLoC
Fractus
Fractus是一个用Rust编写的加密攻击库。它也通过Python提供。
运行
Rust
cargoadd fractus
use fractus::sha2_256;
let m = b"abc";
let h = sha2_256::compute(&m);
let e = b"cde";
let mut c = m.to_vec();
c.extend(sha2_256::padding(m.len()));
c.extend(e);
let e = sha2_256::extend(&h, m.len(), e);
assert_eq!(e, sha2_256::compute(c));
Python
pip install fractus
from fractus import sha2_256
m = b'secret' + b'abc'
h = sha2_256.compute(m)
e = b'test'
assert sha2_256.extend(h, len(m), e) == sha2_256.compute(m + sha2_256.padding(len(m)) + e)
特性
长度扩展攻击
- MD4
- MD5
- SHA0
- SHA1
- SHA2_224
- SHA2_256
- SHA2_512
- Ripemd128
- Ripemd160
- Ripemd256
- Ripemd320
- Whirlpool
依赖
~3–11MB
~115K SLoC