8 releases (5 breaking)
0.6.3 | Sep 23, 2024 |
---|---|
0.6.2 |
|
0.5.3 | Dec 14, 2023 |
0.4.0 | Dec 5, 2023 |
0.1.6 | Dec 2, 2023 |
#1765 in Cryptography
56 downloads per month
Used in neuedu-cryptos-wasm
145KB
2K
SLoC
Neuedu-Cryptos
lib.rs
:
此密码库实现了中华人民共和国国家密码管理局发布的商用密码算法。
This cryptographic library implements the ShangMi algorithms
which issued by the State Cryptography Administration of the People's Republic of China.
支持算法列表(Available Algoruthms)
-
密码杂凑算法(Cryptographic Hash Algoruthms)
- SM3 - SM3密码杂凑算法(ShangMi 3 Cryptographic Hash Algoruthm)
- MD5 - MD5消息摘要算法流式计算器(MD5 Message-Digest Algorithm)
- SHA-1 - 安全散列算法1(Secure Hash Algorithm 1)
- SHA-2 - 安全散列算法2(Secure Hash Algorithm 2)
- 了解更多(Learn More)
-
分组密码算法(Block Cipher Algoruthms)
- SM4 - SM4分组密码算法(ShangMi 4 Block Cipher Algoruthm)
- 了解更多(Learn More)
-
消息鉴别码算法(Message Authentication Code Algoruthms)
- HMAC - 密钥杂凑消息鉴别码(Keyed-Hash Message Authentication Code)
- 了解更多(Learn More)
支持分组工作模式列表(Available Operation Modes for Block Cipher)
- ECB - 电码本(Electronic Codebook)
- CBC - 密文分组链接(Cipher Block Chaining)
- CFB - 密文反馈(Cipher Feedback)
- OFB - 输出反馈(Output Feedback)
- 了解更多(Learn More)
示例(Examples)
- 使用密文分组链接工作模式的SM4分组密码算法的流式加密计算(SM4-CBC Encryption Stream Mode Calculate)
#
use neuedu_cryptos::block_ciphers::{BlockCipherImpl, Operation, OperationMode, SM4};
use neuedu_cryptos::common::PaddingMethod;
#
let mut instance = SM4::new(
KEY,
Operation::Encrypt,
Some(OperationMode::CBC(IV.into())),
Some(PaddingMethod::Method1),
)?;
let mut cipher = Vec::<u8>::new();
cipher.append(&mut instance.update(&PLAIN_MESSAGE)?);
cipher.append(&mut instance.r#final()?);
#
#
- 基于SM3密码杂凑算法的密钥杂凑消息鉴别码的块式计算(HMAC-SM3 Block Mode Calculate)
#
use neuedu_cryptos::macs::hmac_sm3;
let mac = hmac_sm3(b"key", b"message")?;
#
#