5个版本

0.1.4 2023年3月25日
0.1.3 2021年3月13日
0.1.2 2021年3月2日
0.1.1 2020年2月13日
0.1.0 2020年2月13日

#686认证

Download history 1/week @ 2024-03-10 34/week @ 2024-03-31

220 每月下载

MIT 许可证

19KB
273 代码行

Milenage-rs

crates.io Rust GitHub

由ETSI SAGE提出的3G认证的MILENAGE认证算法。

参见3GPP TS 35.205 (通用)3GPP TS 35.206 (算法规范)3GPP TS 35.208 (设计一致性测试数据)

使用示例

#[macro_use]
extern crate hex_literal;
extern crate milenage;
use milenage::Milenage;

fn main() {
        // Use Test set 2 from 3GPP 35.208
        let k = hex!("465b5ce8b199b49faa5f0a2ee238a6bc");
        let op = hex!("cdc202d5123e20f62b6d676ac72cb318");
        let rand = hex!("23553cbe9637a89d218ae64dae47bf35");

        let mut m = Milenage::new_with_op(k, op);
        let (res, ck, ik, ak) = m.f2345(&rand);
        
        assert_eq!(m.res.unwrap(), hex!("a54211d5e3ba50bf"));
        // or
        assert_eq!(res, hex!("a54211d5e3ba50bf"));
        assert_eq!(ck, hex!("b40ba9a3c58b2a05bbf0d987b21bf8cb"));
        assert_eq!(ik, hex!("f769bcd751044604127672711c6d3441"));
        assert_eq!(ak, hex!("aa689c648370"));
}

依赖项

~0.8–1.3MB
~28K SLoC