diff options
| author | Charlie Ozinga <[email protected]> | 2016-04-14 03:44:43 -0600 |
|---|---|---|
| committer | Charlie Ozinga <[email protected]> | 2016-04-14 03:44:43 -0600 |
| commit | 2062d48dd2fa5645889f2fda06c84de7bf546806 (patch) | |
| tree | 04e974455e4a753cb304f6a593f6def883c4c443 /openssl/src/crypto/symm.rs | |
| parent | Update for nightly changes (diff) | |
| download | rust-openssl-2062d48dd2fa5645889f2fda06c84de7bf546806.tar.xz rust-openssl-2062d48dd2fa5645889f2fda06c84de7bf546806.zip | |
Add 1DES symm ciphers (des-cbc, des-ecb, des-cfb, des-ofb)
1DES is well and truly dead for actual sensitive information, (its
keysize is too small for modern purposes), but it can still find use in
backwards compatiblity or educational applications.
Diffstat (limited to 'openssl/src/crypto/symm.rs')
| -rw-r--r-- | openssl/src/crypto/symm.rs | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/openssl/src/crypto/symm.rs b/openssl/src/crypto/symm.rs index c0e845dc..dfba7053 100644 --- a/openssl/src/crypto/symm.rs +++ b/openssl/src/crypto/symm.rs @@ -37,6 +37,11 @@ pub enum Type { AES_256_CFB128, AES_256_CFB8, + DES_CBC, + DES_ECB, + DES_CFB, + DES_OFB, + RC4_128, } @@ -362,4 +367,48 @@ 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); + } + + #[test] + fn test_des_cfb() { + + let pt = "54686973206973206120746573742e"; + let ct = "10577dc484ebfe7679121dff761797"; + let key = "7cb66337f3d3c0fe"; + let iv = "0001020304050607"; + + cipher_test(super::Type::DES_CFB, pt, ct, key, iv); + } + + #[test] + fn test_des_ofb() { + + let pt = "54686973206973206120746573742e"; + let ct = "10577dc484ebfe76be391c7b8a6b9d"; + let key = "7cb66337f3d3c0fe"; + let iv = "0001020304050607"; + + cipher_test(super::Type::DES_OFB, pt, ct, key, iv); + } } |