summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto/des/str2key.c
diff options
context:
space:
mode:
authorbeck <>1999-09-29 04:37:45 +0000
committerbeck <>1999-09-29 04:37:45 +0000
commitde8f24ea083384bb66b32ec105dc4743c5663cdf (patch)
tree1412176ae62a3cab2cf2b0b92150fcbceaac6092 /src/lib/libcrypto/des/str2key.c
parentcb929d29896bcb87c2a97417fbd03e50078fc178 (diff)
downloadopenbsd-de8f24ea083384bb66b32ec105dc4743c5663cdf.tar.gz
openbsd-de8f24ea083384bb66b32ec105dc4743c5663cdf.tar.bz2
openbsd-de8f24ea083384bb66b32ec105dc4743c5663cdf.zip
OpenSSL 0.9.4 merge
Diffstat (limited to 'src/lib/libcrypto/des/str2key.c')
-rw-r--r--src/lib/libcrypto/des/str2key.c34
1 files changed, 13 insertions, 21 deletions
diff --git a/src/lib/libcrypto/des/str2key.c b/src/lib/libcrypto/des/str2key.c
index 3365c1bcf3..24841452f1 100644
--- a/src/lib/libcrypto/des/str2key.c
+++ b/src/lib/libcrypto/des/str2key.c
@@ -58,11 +58,9 @@
58 58
59#include "des_locl.h" 59#include "des_locl.h"
60 60
61extern int des_check_key; 61OPENSSL_EXTERN int des_check_key;
62 62
63void des_string_to_key(str, key) 63void des_string_to_key(const char *str, des_cblock *key)
64char *str;
65des_cblock (*key);
66 { 64 {
67 des_key_schedule ks; 65 des_key_schedule ks;
68 int i,length; 66 int i,length;
@@ -89,21 +87,17 @@ des_cblock (*key);
89 } 87 }
90 } 88 }
91#endif 89#endif
92 des_set_odd_parity((des_cblock *)key); 90 des_set_odd_parity(key);
93 i=des_check_key; 91 i=des_check_key;
94 des_check_key=0; 92 des_check_key=0;
95 des_set_key((des_cblock *)key,ks); 93 des_set_key(key,ks);
96 des_check_key=i; 94 des_check_key=i;
97 des_cbc_cksum((des_cblock *)str,(des_cblock *)key,(long)length,ks, 95 des_cbc_cksum((unsigned char*)str,key,length,ks,key);
98 (des_cblock *)key);
99 memset(ks,0,sizeof(ks)); 96 memset(ks,0,sizeof(ks));
100 des_set_odd_parity((des_cblock *)key); 97 des_set_odd_parity(key);
101 } 98 }
102 99
103void des_string_to_2keys(str, key1, key2) 100void des_string_to_2keys(const char *str, des_cblock *key1, des_cblock *key2)
104char *str;
105des_cblock (*key1);
106des_cblock (*key2);
107 { 101 {
108 des_key_schedule ks; 102 des_key_schedule ks;
109 int i,length; 103 int i,length;
@@ -154,16 +148,14 @@ des_cblock (*key2);
154 } 148 }
155 if (length <= 8) memcpy(key2,key1,8); 149 if (length <= 8) memcpy(key2,key1,8);
156#endif 150#endif
157 des_set_odd_parity((des_cblock *)key1); 151 des_set_odd_parity(key1);
158 des_set_odd_parity((des_cblock *)key2); 152 des_set_odd_parity(key2);
159 i=des_check_key; 153 i=des_check_key;
160 des_check_key=0; 154 des_check_key=0;
161 des_set_key((des_cblock *)key1,ks); 155 des_set_key(key1,ks);
162 des_cbc_cksum((des_cblock *)str,(des_cblock *)key1,(long)length,ks, 156 des_cbc_cksum((unsigned char*)str,key1,length,ks,key1);
163 (des_cblock *)key1); 157 des_set_key(key2,ks);
164 des_set_key((des_cblock *)key2,ks); 158 des_cbc_cksum((unsigned char*)str,key2,length,ks,key2);
165 des_cbc_cksum((des_cblock *)str,(des_cblock *)key2,(long)length,ks,
166 (des_cblock *)key2);
167 des_check_key=i; 159 des_check_key=i;
168 memset(ks,0,sizeof(ks)); 160 memset(ks,0,sizeof(ks));
169 des_set_odd_parity(key1); 161 des_set_odd_parity(key1);