1个稳定版本
1.0.0 | 2022年9月3日 |
---|
#2403 in 加密学
17KB
229 行
ICE-Crypt
Ice-Crypt是ICE(信息隐写引擎)加密算法的Rust实现。
ICE
[ICE]是一种64位私钥分组密码,继承了DES的传统。然而,与DES不同,它被设计成可以抵抗差分和线性密码分析,并且没有密钥补全弱点或弱密钥。此外,其密钥大小可以是64位的任何倍数,而DES密钥则限制在56位。
-- Matthew Kwan,ICE加密算法的作者
使用方法
将此添加到您的 Cargo.toml
[dependencies]
ice-crypt = "1.0.0"
要加密一个简单的消息,您可以使用以下代码
src/main.rs
:
use ice_crypt::IceKey;
fn main() {
let key: Vec<u8> = vec![67, 83, 71, 79, 16, 54, 0, 0, 132, 13, 0, 0, 97, 3, 0, 0];
let message: &str = "My secret message";
// Create a new IceKey instance
let mut icekey = IceKey::new(2);
// Set Private Key
icekey.set(key);
let encrypted_message: Vec<u8> = icekey.encrypt_all(message.as_bytes().to_vec());
let decrypted_message: Vec<u8> = icekey.decrypt_all(encrypted_message);
// Convert to string and remove 0 padding
let mut output = std::str::from_utf8(&decrypted_message).unwrap();
output = output.trim_end_matches('\0');
assert_eq!(message, output);
}
文档
待办事项
原始
ICE加密算法由Matthew Kwan设计和编写,您可以查看他在他的网站上对该算法的C/C++实现。
许可
Ice-Crypt在GNU通用公共许可证(版本3)的条款下分发。
有关详细信息,请参阅LICENSE。