diff options
Diffstat (limited to 'src/lib/libcrypto/des/cbc3_enc.c')
-rw-r--r-- | src/lib/libcrypto/des/cbc3_enc.c | 54 |
1 files changed, 27 insertions, 27 deletions
diff --git a/src/lib/libcrypto/des/cbc3_enc.c b/src/lib/libcrypto/des/cbc3_enc.c index 92a78b05d6..b5db4e14f7 100644 --- a/src/lib/libcrypto/des/cbc3_enc.c +++ b/src/lib/libcrypto/des/cbc3_enc.c | |||
@@ -58,42 +58,42 @@ | |||
58 | 58 | ||
59 | #include "des_locl.h" | 59 | #include "des_locl.h" |
60 | 60 | ||
61 | /* HAS BUGS? DON'T USE - this is only present for use in des.c */ | 61 | /* HAS BUGS! DON'T USE - this is only present for use in des.c */ |
62 | void des_3cbc_encrypt(input, output, length, ks1, ks2, iv1, iv2, enc) | 62 | void DES_3cbc_encrypt(DES_cblock *input, DES_cblock *output, long length, |
63 | des_cblock (*input); | 63 | DES_key_schedule ks1, DES_key_schedule ks2, DES_cblock *iv1, |
64 | des_cblock (*output); | 64 | DES_cblock *iv2, int enc) |
65 | long length; | ||
66 | des_key_schedule ks1; | ||
67 | des_key_schedule ks2; | ||
68 | des_cblock (*iv1); | ||
69 | des_cblock (*iv2); | ||
70 | int enc; | ||
71 | { | 65 | { |
72 | int off=((int)length-1)/8; | 66 | int off=((int)length-1)/8; |
73 | long l8=((length+7)/8)*8; | 67 | long l8=((length+7)/8)*8; |
74 | des_cblock niv1,niv2; | 68 | DES_cblock niv1,niv2; |
75 | 69 | ||
76 | if (enc == DES_ENCRYPT) | 70 | if (enc == DES_ENCRYPT) |
77 | { | 71 | { |
78 | des_cbc_encrypt(input,output,length,ks1,iv1,enc); | 72 | DES_cbc_encrypt((unsigned char*)input, |
79 | if (length >= sizeof(des_cblock)) | 73 | (unsigned char*)output,length,&ks1,iv1,enc); |
80 | memcpy(niv1,output[off],sizeof(des_cblock)); | 74 | if (length >= sizeof(DES_cblock)) |
81 | des_cbc_encrypt(output,output,l8,ks2,iv1,!enc); | 75 | memcpy(niv1,output[off],sizeof(DES_cblock)); |
82 | des_cbc_encrypt(output,output,l8,ks1,iv2, enc); | 76 | DES_cbc_encrypt((unsigned char*)output, |
83 | if (length >= sizeof(des_cblock)) | 77 | (unsigned char*)output,l8,&ks2,iv1,!enc); |
84 | memcpy(niv2,output[off],sizeof(des_cblock)); | 78 | DES_cbc_encrypt((unsigned char*)output, |
79 | (unsigned char*)output,l8,&ks1,iv2,enc); | ||
80 | if (length >= sizeof(DES_cblock)) | ||
81 | memcpy(niv2,output[off],sizeof(DES_cblock)); | ||
85 | } | 82 | } |
86 | else | 83 | else |
87 | { | 84 | { |
88 | if (length >= sizeof(des_cblock)) | 85 | if (length >= sizeof(DES_cblock)) |
89 | memcpy(niv2,input[off],sizeof(des_cblock)); | 86 | memcpy(niv2,input[off],sizeof(DES_cblock)); |
90 | des_cbc_encrypt(input,output,l8,ks1,iv2,enc); | 87 | DES_cbc_encrypt((unsigned char*)input, |
91 | des_cbc_encrypt(output,output,l8,ks2,iv1,!enc); | 88 | (unsigned char*)output,l8,&ks1,iv2,enc); |
92 | if (length >= sizeof(des_cblock)) | 89 | DES_cbc_encrypt((unsigned char*)output, |
93 | memcpy(niv1,output[off],sizeof(des_cblock)); | 90 | (unsigned char*)output,l8,&ks2,iv1,!enc); |
94 | des_cbc_encrypt(output,output,length,ks1,iv1, enc); | 91 | if (length >= sizeof(DES_cblock)) |
92 | memcpy(niv1,output[off],sizeof(DES_cblock)); | ||
93 | DES_cbc_encrypt((unsigned char*)output, | ||
94 | (unsigned char*)output,length,&ks1,iv1,enc); | ||
95 | } | 95 | } |
96 | memcpy(*iv1,niv1,sizeof(des_cblock)); | 96 | memcpy(*iv1,niv1,sizeof(DES_cblock)); |
97 | memcpy(*iv2,niv2,sizeof(des_cblock)); | 97 | memcpy(*iv2,niv2,sizeof(DES_cblock)); |
98 | } | 98 | } |
99 | 99 | ||