首页 > 编程知识 正文

openssl c,OpenSSl

时间:2023-05-06 21:09:54 阅读:187740 作者:3733

RC5是对称加密算法,由Ronald Rivest在1994年设计的分组加密算法,计算速度快,算法简单,AES作为RC6算法,就是基于RC5而来。

RC5分组是可变的,可以是32,64,128位,密钥长度0到2040位。计算0-255轮,推荐使用的参数为,数据分组64位,密钥长度128位,计算12轮。


void RC5_32_set_key(RC5_32_KEY *key, int len, const unsigned char *data,
    int rounds);

设定RC5 的Key对象。

key: 密钥对象;

len: 长度,密钥长度为128位,所以为16;

data: 密钥数据;

void RC5_32_ecb_encrypt(const unsigned char *in,unsigned char *out,RC5_32_KEY *key,
    int enc);

RC5 ECB加密/解密;

in: 源数据;

out:输出数据;

key: 密钥对象;

enc: 加密/解密模式,RC5_ENCRYPT,加密;RC5_DECRYPT,解密;

void RC5_32_encrypt(unsigned long *data,RC5_32_KEY *key);

RC5加密计算,是被其他函数调用的内部函数;


void RC5_32_decrypt(unsigned long *data,RC5_32_KEY *key);

RC5解密函数,是被其他函数调用的内部函数;


void RC5_32_cbc_encrypt(const unsigned char *in, unsigned char *out,
            long length, RC5_32_KEY *ks, unsigned char *iv,
            int enc);

RC5 cbc模式加密/解密;

in: 源数据;

out:输出数据;

length:数据长度;

ks: 密钥对象;

iv: 初始化向量;

enc: 加密/解密模式,RC5_ENCRYPT,加密;RC5_DECRYPT,解密;


void RC5_32_cfb64_encrypt(const unsigned char *in, unsigned char *out,
              long length, RC5_32_KEY *schedule,
              unsigned char *ivec, int *num, int enc);

RC5的cfb64模式加密解密;

in: 源数据;

out:输出数据;

length:数据长度;

schedule: 密钥对象;

ivec: 初始化向量;

num:初始化向量中多少个字节参与计算;

enc: 加密/解密模式,RC5_ENCRYPT,加密;RC5_DECRYPT,解密;


void RC5_32_ofb64_encrypt(const unsigned char *in, unsigned char *out,
              long length, RC5_32_KEY *schedule,
              unsigned char *ivec, int *num);

RC5的ofb64位模式;

in:源数据;

out: 输出数据;

length: 数据长度;

schedule: 密钥对象;

ivec:初始化向量;

num: 初始化向量中多少个字节参与计算;


版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。