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: 初始化向量中多少个字节参与计算;

Openssl-rc5相关推荐

  1. openssl java使用手册_openssl使用手册

    openSSL有两种运行模式:交互模式和批处理模式. 直接输入openssl回车进入交互模式,输入带命令选项的openssl进入批处理模式. (1) 配置文件 OpenSSL的默认配置文件位置不是很固 ...

  2. Curl安装测试http3——openssl+nghttp3+ngtcp2+curl

    参考链接 (1)原始链接:https://curl.se/docs/http3.html (2)主要参考链接:http://blog.chinaunix.net/uid-405749-id-58444 ...

  3. Linux安全之SSL协议

    SSL(Secure Sockets Layer 安全套接字协议),及其继任者传输层安全(Transport Layer Security,TLS)是为网络通信提供安全及数据完整性的一种安全协议.TL ...

  4. IT运维之安全操作维护手册

    一.概要 IT行业日常运维中,安全工作是其中最重要也是主要的一项工作,且随着近几年对IT行业对安全的更加重视,IT服务的安全稳定,日常工作的安全管理都将是我们必须面对和需要掌握的,本文基于此,整理相关 ...

  5. OpenSSL简介及在Windows、Linux、Mac系统上的编译步骤

    OpenSSL介绍:OpenSSL是一个强大的安全套接字层密码库,囊括主要的密码算法.常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用. SSL是SecureSock ...

  6. openssl常用用法

    2019独角兽企业重金招聘Python工程师标准>>> OpenSSL主要有三个组件构成: openssl: 多用途命令行工具 libcrypto: 加密算法库 libssl: 加密 ...

  7. openssl——初了解

    Openssl OpenSSL是一个开源的.用于SSL/TLS协议的加密工具,是互联网加密传输的核心基础组件,由加拿大的Eric Yang等发起编写的,当前互联网安全传输的大部分场景(如HTTPS)均 ...

  8. SSL与OpenSSL关系介绍

    SSL与OpenSSL关系介绍  OpenSSL简介 SSL是Secure Socket Layer(安全套接层协议)的缩写,可以在Internet上提供秘密性传输.Netscape公司在推出第一个W ...

  9. SSL与OpenSSL介绍

    OpenSSL简介 SSL是Secure Socket Layer(安全套接层协议)的缩写,可以在Internet上提供秘密性传输.Netscape公司在推出第一个Web浏览器的同时,提出了SSL协议 ...

  10. linux之openssl简单介绍

    OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法.常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用. 在OpenSSL被曝出现严重安全漏洞后,发现多 ...

最新文章

  1. R语言ggplot2可视化强制所有的X数值都显示在X轴标签上:x-axis labels with all x-axis values
  2. SpringBoot中通过ConfigurationProperties注解的方式读取application.yml中配置的属性值
  3. Python基本数据类型(二)
  4. About SCCM 2012 UDA(User Device Affinity)
  5. $unit编译单元声明
  6. Django框架基础学习
  7. h5 video全屏播放
  8. oracle出现12505错误的解决步骤
  9. C语言程序设计--宏和预处理
  10. SQL Server-【知识与实战V】视图
  11. 数字电视 机顶盒原理
  12. PDF文件转MOBI怎么转?在线操作轻松完成
  13. 码云上传文件夹_本地上传码云文件
  14. leetcode_83_Remove Duplicates from Sorted List
  15. linux中 kill USR1和USR2 的区别
  16. python-人工智能-遗传算法的实现
  17. 802.11ac 速率 + 信道 + 国家码信道
  18. wifi动不动就断开_WIFI经常自动断网,大多数是因为此原因
  19. 从零开始搭建家庭网络:软路由实战经验分享(一)
  20. 线性回归的神经网络法——机器学习

热门文章

  1. 全球最受欢迎的100个网站 [转载]
  2. BCM设计与开发的简单介绍
  3. DSLR数码单反摄影原理与拍摄技法
  4. IBM X服务器告警面板指示灯说明
  5. pytion基础之OS和文件操作
  6. 目前工作室的现状说明
  7. 硕士剑桥大学计算机工程系排名,剑桥大学世界排名及专业排名汇总(ARWU世界大学排名版)...
  8. 1.HTML介绍在PyCharm中编写HTML
  9. a8 内存 华硕k550d_2019年华硕k550d怎么样-精选word文档 (2页)
  10. Word中选项和内容不在一行,如何用三步一键解决解决