RC5是种比较新的算法,Rivest设计了RC5的一种特殊的实现方式,因此RC5算法有一个面向字的结构:RC5-w/r/b,这里w是字长其值可以是16、32或64对于不同的字长明文和密文块的分组长度为2w位,r是加密轮数,b是密钥字节长度。由于RC5是一个分组长度可变的密码算法,为了便于说明在本文中主要是针对64位的分组w=32进行处理的,下面详细说明了RC5加密解密的处理过程:

1、创建密钥组

RC5算法加密时使用了2r+2个密钥相关的的32位字: ,这里r表示加密的轮数。创建这个密钥组的过程是非常复杂的但也是直接的,首先将密钥字节拷贝到32位字的数组L中(此时要注意处理器是little-endian顺序还是big-endian顺序),如果需要,最后一个字可以用零填充。然后利用线性同余发生器模2初始化数组S:

对于i=1到2(r+1)-1: (本应模 ,本文中令w=32)

其中对于16位字32位分组的RC5,P=0xb7e1 Q=0x9e37

对于32位字和64位分组的RC5,P=0xb7e15163 Q=0x9e3779b9

对于64位字和128位分组,P=0xb7151628aed2a6b Q=0x9e3779b97f4a7c15

最后将L与S混合,混合过程如下:

i=j=0

A=B=0

处理3n次(这里n是2(r+1)和c中的最大值,其中c表示输入的密钥字的个数)

2、加密处理

在创建完密钥组后开始进行对明文的加密,加密时,首先将明文分组划分为两个32位字:A和B(在假设处理器字节顺序是little-endian、w=32的情况下,第一个明文字节进入A的最低字节,第四个明文字节进入A的最高字节,第五个明文字节进入B的最低字节,以此类推),其中操作符<<<表示循环左移,加运算是模 (本应模 ,本文中令w=32)的。

输出的密文是在寄存器A和B中的内容

3、解密处理

解密也是很容易的,把密文分组划分为两个字:A和B(存储方式和加密一样),这里符合>>>是循环右移,减运算也是模 (本应模 ,本文中令w=32)的。

RSA试验室花费了相当的时间来分析64位分组的RC5算法,在5轮后统计特性看起来非常好。在8轮后,每一个明文位至少影响一个循环。对于5轮的RC5,差分攻击需要 个选择明文;对10轮需要 个;对于12轮需要 个;对15轮需要 个。而对于64位的分组只有 个可能的明文,所以对于15轮或以上的RC5的差分攻击是失败的。在6轮后线性分析就是安全的了,Rivest推荐至少12轮,甚至可能是16轮。这个轮数可以进行选择。

相关查询: 有一个 主要是 说明了
最新查询:����˹���Ƕ�ŷ�г� 扭秧歌 C.Wright Industrialist ioocool 奥地利人 轨道枪 成批生产 黄庭坚书法精选 分子运动论 淮安市市区停车场管理办法 也就是说 十分之 尼古拉斯 济美牌坊 水平安定面 炖牛舌尾 serpent 爱荷华州 Quesada tri-Ace 托马斯·劳伦斯 原子弹 为政清廉 gl动漫 雪耳炖木瓜 闸口边防派出所 重晶石 广元新火车站 朕的皇后有点傻 分毫不差 东周列国那锅粥 昌黎县教育局 北京市国家税务局第三直属税务分局 图瓦卢 自我改造 cta 木瓜花生煲生鱼煲 健步如飞 胡昌炽 九龙半岛 国家级 主园区 短杆菌肽 塞德里克 壮族铜鼓铸造技艺 功夫熊猫夺秘籍 乞爱者 Harvelle 土地改革运动 自贡市 黄慧哲 电影语言学 芭蕾舞者 lightly Hostess autophagosome 建材厂 长春市 古丁镇 编委会 当心留意 dh 风韵犹存 小龙凤 中国馆 喻可欣 ̶ѧѧѧ... 卑躬屈膝 国富民强 nebulosus 人民政府 æŽå²šæ¸ é“¶æ¯›å¹ç»µèš§ 湄洲二中 indecent 下回格 流线型设计 瓦伦丁 RC5
友情链接: 知道 电影 百科 好搜 问答 微信 值得买 巨便宜 天天特价 洛阳汽车脚垫 女装 女鞋 母婴 内衣 零食 美妆 汽车 油价 郑州 北京 上海 广州 深圳 杭州 南京 苏州 武汉 天津 重庆 成都 大连 宁波 济南 西安 石家庄 沈阳 南阳 临沂 邯郸 保定 温州 东莞 洛阳 周口 青岛 徐州 赣州 菏泽 泉州 长春 唐山 商丘 南通 盐城 驻马店 佛山 衡阳 沧州 福州 昆明 无锡 南昌 黄冈 遵义
© 2026 haodianxin 百科 豫ICP备14030218号-3 消耗时间:0.019秒 内存0.86MB