基本
int DES_set_key(const_DES_cblock *key,DES_key_schedule *schedule)
用8字节的key产生schedule.成功返回值为1,否则为0.
注:一个DES key是DES_cblock类型的,有8个bit组成,最后一位为奇校验位.schedule是key的扩展,目的是加速加密过程,它的每个字节的最后一位也是奇校验位.
其他
与密钥相关的函数还有很多,如下:
void DES_random_key(DES_cblock *ret);
int DES_set_key_checked(const_DES_cblock *key,DES_key_schedule *schedule);
void DES_set_key_unchecked(const_DES_cblock *key,DES_key_schedule);
int DES_key_sched(const_DES_cblock *key,DES_key_schedule *schedule);
void DES_set_odd_parity(DES_cblock *key);
int DES_is_weak_key(const_DES_cblock *key);
void DES_string_to_key(const char *str,DES_cblock *key);
void DES_string_to_2keys(const char *str,DES_cblock *key1,DES_cblock *key2);
解释
void DES_random_key(DES_cblock *ret);//产生一个随机的key.
int DES_set_key_c

本文介绍了DES加密算法中密钥key的生成过程,包括DES_set_key函数的作用,以及如何确保key的奇偶校验和非弱密钥属性。还提到了其他相关函数如DES_random_key、DES_set_key_checked等,用于生成和检查密钥的正确性和安全性。
最低0.47元/天 解锁文章
3368

被折叠的 条评论
为什么被折叠?



