summaryrefslogtreecommitdiffstats
path: root/src/crypto/cipher/e_des.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/crypto/cipher/e_des.c')
-rw-r--r--src/crypto/cipher/e_des.c78
1 files changed, 3 insertions, 75 deletions
diff --git a/src/crypto/cipher/e_des.c b/src/crypto/cipher/e_des.c
index b1d312c..74e1fce 100644
--- a/src/crypto/cipher/e_des.c
+++ b/src/crypto/cipher/e_des.c
@@ -96,31 +96,6 @@ static const EVP_CIPHER des_cbc = {
const EVP_CIPHER *EVP_des_cbc(void) { return &des_cbc; }
-static int des_ecb_cipher(EVP_CIPHER_CTX *ctx, uint8_t *out, const uint8_t *in,
- size_t in_len) {
- if (in_len < ctx->cipher->block_size) {
- return 1;
- }
- in_len -= ctx->cipher->block_size;
-
- EVP_DES_KEY *dat = (EVP_DES_KEY *) ctx->cipher_data;
- size_t i;
- for (i = 0; i <= in_len; i += ctx->cipher->block_size) {
- DES_ecb_encrypt((DES_cblock *) (in + i), (DES_cblock *) (out + i),
- &dat->ks.ks, ctx->encrypt);
- }
- return 1;
-}
-
-static const EVP_CIPHER des_ecb = {
- NID_des_ecb, 8 /* block_size */, 8 /* key_size */,
- 0 /* iv_len */, sizeof(EVP_DES_KEY), EVP_CIPH_ECB_MODE,
- NULL /* app_data */, des_init_key, des_ecb_cipher,
- NULL /* cleanup */, NULL /* ctrl */, };
-
-const EVP_CIPHER *EVP_des_ecb(void) { return &des_ecb; }
-
-
typedef struct {
union {
double align;
@@ -151,57 +126,10 @@ static int des_ede3_cbc_cipher(EVP_CIPHER_CTX *ctx, uint8_t *out,
return 1;
}
-static const EVP_CIPHER des_ede3_cbc = {
- NID_des_ede3_cbc, 8 /* block_size */, 24 /* key_size */,
+static const EVP_CIPHER des3_cbc = {
+ NID_des_cbc, 8 /* block_size */, 24 /* key_size */,
8 /* iv_len */, sizeof(DES_EDE_KEY), EVP_CIPH_CBC_MODE,
NULL /* app_data */, des_ede3_init_key, des_ede3_cbc_cipher,
NULL /* cleanup */, NULL /* ctrl */, };
-const EVP_CIPHER *EVP_des_ede3_cbc(void) { return &des_ede3_cbc; }
-
-
-static int des_ede_init_key(EVP_CIPHER_CTX *ctx, const uint8_t *key,
- const uint8_t *iv, int enc) {
- DES_cblock *deskey = (DES_cblock *) key;
- DES_EDE_KEY *dat = (DES_EDE_KEY *) ctx->cipher_data;
-
- DES_set_key(&deskey[0], &dat->ks.ks[0]);
- DES_set_key(&deskey[1], &dat->ks.ks[1]);
- DES_set_key(&deskey[0], &dat->ks.ks[2]);
-
- return 1;
-}
-
-static const EVP_CIPHER des_ede_cbc = {
- NID_des_ede_cbc, 8 /* block_size */, 16 /* key_size */,
- 8 /* iv_len */, sizeof(DES_EDE_KEY), EVP_CIPH_CBC_MODE,
- NULL /* app_data */, des_ede_init_key , des_ede3_cbc_cipher,
- NULL /* cleanup */, NULL /* ctrl */, };
-
-const EVP_CIPHER *EVP_des_ede_cbc(void) { return &des_ede_cbc; }
-
-
-static int des_ede_ecb_cipher(EVP_CIPHER_CTX *ctx, uint8_t *out,
- const uint8_t *in, size_t in_len) {
- if (in_len < ctx->cipher->block_size) {
- return 1;
- }
- in_len -= ctx->cipher->block_size;
-
- DES_EDE_KEY *dat = (DES_EDE_KEY *) ctx->cipher_data;
- size_t i;
- for (i = 0; i <= in_len; i += ctx->cipher->block_size) {
- DES_ecb3_encrypt((DES_cblock *) (in + i), (DES_cblock *) (out + i),
- &dat->ks.ks[0], &dat->ks.ks[1], &dat->ks.ks[2],
- ctx->encrypt);
- }
- return 1;
-}
-
-static const EVP_CIPHER des_ede_ecb = {
- NID_des_ede_cbc, 8 /* block_size */, 16 /* key_size */,
- 0 /* iv_len */, sizeof(DES_EDE_KEY), EVP_CIPH_ECB_MODE,
- NULL /* app_data */, des_ede_init_key , des_ede_ecb_cipher,
- NULL /* cleanup */, NULL /* ctrl */, };
-
-const EVP_CIPHER *EVP_des_ede(void) { return &des_ede_ecb; }
+const EVP_CIPHER *EVP_des_ede3_cbc(void) { return &des3_cbc; }