Merge pull request #381 from chaaz/master
Add 1DES symm ciphers (des-cbc, des-ecb, des-cfb, des-ofb)
This commit is contained in:
commit
a7bade104c
|
|
@ -570,6 +570,9 @@ extern "C" {
|
||||||
pub fn EVP_aes_256_cfb8() -> *const EVP_CIPHER;
|
pub fn EVP_aes_256_cfb8() -> *const EVP_CIPHER;
|
||||||
pub fn EVP_rc4() -> *const EVP_CIPHER;
|
pub fn EVP_rc4() -> *const EVP_CIPHER;
|
||||||
|
|
||||||
|
pub fn EVP_des_cbc() -> *const EVP_CIPHER;
|
||||||
|
pub fn EVP_des_ecb() -> *const EVP_CIPHER;
|
||||||
|
|
||||||
pub fn EVP_BytesToKey(typ: *const EVP_CIPHER, md: *const EVP_MD,
|
pub fn EVP_BytesToKey(typ: *const EVP_CIPHER, md: *const EVP_MD,
|
||||||
salt: *const u8, data: *const u8, datalen: c_int,
|
salt: *const u8, data: *const u8, datalen: c_int,
|
||||||
count: c_int, key: *mut u8, iv: *mut u8) -> c_int;
|
count: c_int, key: *mut u8, iv: *mut u8) -> c_int;
|
||||||
|
|
|
||||||
|
|
@ -37,6 +37,9 @@ pub enum Type {
|
||||||
AES_256_CFB128,
|
AES_256_CFB128,
|
||||||
AES_256_CFB8,
|
AES_256_CFB8,
|
||||||
|
|
||||||
|
DES_CBC,
|
||||||
|
DES_ECB,
|
||||||
|
|
||||||
RC4_128,
|
RC4_128,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -362,4 +365,26 @@ mod tests {
|
||||||
|
|
||||||
cipher_test(super::Type::AES_256_CFB8, pt, ct, key, iv);
|
cipher_test(super::Type::AES_256_CFB8, pt, ct, key, iv);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test_des_cbc() {
|
||||||
|
|
||||||
|
let pt = "54686973206973206120746573742e";
|
||||||
|
let ct = "6f2867cfefda048a4046ef7e556c7132";
|
||||||
|
let key = "7cb66337f3d3c0fe";
|
||||||
|
let iv = "0001020304050607";
|
||||||
|
|
||||||
|
cipher_test(super::Type::DES_CBC, pt, ct, key, iv);
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test_des_ecb() {
|
||||||
|
|
||||||
|
let pt = "54686973206973206120746573742e";
|
||||||
|
let ct = "0050ab8aecec758843fe157b4dde938c";
|
||||||
|
let key = "7cb66337f3d3c0fe";
|
||||||
|
let iv = "0001020304050607";
|
||||||
|
|
||||||
|
cipher_test(super::Type::DES_ECB, pt, ct, key, iv);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -26,6 +26,9 @@ pub fn evpc(t: symm::Type) -> (*const ffi::EVP_CIPHER, u32, u32) {
|
||||||
symm::Type::AES_256_CFB128 => (ffi::EVP_aes_256_cfb128(), 32, 16),
|
symm::Type::AES_256_CFB128 => (ffi::EVP_aes_256_cfb128(), 32, 16),
|
||||||
symm::Type::AES_256_CFB8 => (ffi::EVP_aes_256_cfb8(), 32, 16),
|
symm::Type::AES_256_CFB8 => (ffi::EVP_aes_256_cfb8(), 32, 16),
|
||||||
|
|
||||||
|
symm::Type::DES_CBC => (ffi::EVP_des_cbc(), 8, 8),
|
||||||
|
symm::Type::DES_ECB => (ffi::EVP_des_ecb(), 8, 8),
|
||||||
|
|
||||||
symm::Type::RC4_128 => (ffi::EVP_rc4(), 16, 0),
|
symm::Type::RC4_128 => (ffi::EVP_rc4(), 16, 0),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue