diff options
| author | Steven Fackler <[email protected]> | 2016-04-29 21:17:17 -0700 |
|---|---|---|
| committer | Steven Fackler <[email protected]> | 2016-04-29 21:17:17 -0700 |
| commit | a7bade104c6af263149236a9d8a31e9a758c9a97 (patch) | |
| tree | e314e81874da1e73b8552be667bdaeefa33fb123 /openssl/src | |
| parent | Add accessors for x509 subject alt names (diff) | |
| parent | Remove des_cfb and des_ofb, since they appear on limit platforms (diff) | |
| download | rust-openssl-a7bade104c6af263149236a9d8a31e9a758c9a97.tar.xz rust-openssl-a7bade104c6af263149236a9d8a31e9a758c9a97.zip | |
Merge pull request #381 from chaaz/master
Add 1DES symm ciphers (des-cbc, des-ecb, des-cfb, des-ofb)
Diffstat (limited to 'openssl/src')
| -rw-r--r-- | openssl/src/crypto/symm.rs | 25 | ||||
| -rw-r--r-- | openssl/src/crypto/symm_internal.rs | 3 |
2 files changed, 28 insertions, 0 deletions
diff --git a/openssl/src/crypto/symm.rs b/openssl/src/crypto/symm.rs index c0e845dc..935980f3 100644 --- a/openssl/src/crypto/symm.rs +++ b/openssl/src/crypto/symm.rs @@ -37,6 +37,9 @@ pub enum Type { AES_256_CFB128, AES_256_CFB8, + DES_CBC, + DES_ECB, + RC4_128, } @@ -362,4 +365,26 @@ mod tests { 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); + } } diff --git a/openssl/src/crypto/symm_internal.rs b/openssl/src/crypto/symm_internal.rs index 5c457f3f..ba01e1c1 100644 --- a/openssl/src/crypto/symm_internal.rs +++ b/openssl/src/crypto/symm_internal.rs @@ -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_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), } } |