summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto/des/cbc3_enc.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/libcrypto/des/cbc3_enc.c')
-rw-r--r--src/lib/libcrypto/des/cbc3_enc.c54
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 */
62void des_3cbc_encrypt(input, output, length, ks1, ks2, iv1, iv2, enc) 62void DES_3cbc_encrypt(DES_cblock *input, DES_cblock *output, long length,
63des_cblock (*input); 63 DES_key_schedule ks1, DES_key_schedule ks2, DES_cblock *iv1,
64des_cblock (*output); 64 DES_cblock *iv2, int enc)
65long length;
66des_key_schedule ks1;
67des_key_schedule ks2;
68des_cblock (*iv1);
69des_cblock (*iv2);
70int 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