(des_string_to_key, des_string_to_2keys): avoid weak keys

git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@9915 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
Assar Westerlund
2001-05-11 16:05:53 +00:00
parent 5b86a85130
commit f7acaf3cfb

View File

@@ -92,6 +92,8 @@ des_cblock (*key);
des_set_odd_parity((des_cblock *)key);
i=des_check_key;
des_check_key=0;
if(des_is_weak_key((des_cblock *)key))
(*key)[7] ^= 0xF0;
des_set_key((des_cblock *)key,ks);
des_check_key=i;
des_cbc_cksum((des_cblock *)str,(des_cblock *)key,(long)length,ks,
@@ -158,9 +160,13 @@ des_cblock (*key2);
des_set_odd_parity((des_cblock *)key2);
i=des_check_key;
des_check_key=0;
if(des_is_weak_key((des_cblock *)key1))
(*key1)[7] ^= 0xF0;
des_set_key((des_cblock *)key1,ks);
des_cbc_cksum((des_cblock *)str,(des_cblock *)key1,(long)length,ks,
(des_cblock *)key1);
if(des_is_weak_key((des_cblock *)key2))
(*key2)[7] ^= 0xF0;
des_set_key((des_cblock *)key2,ks);
des_cbc_cksum((des_cblock *)str,(des_cblock *)key2,(long)length,ks,
(des_cblock *)key2);