码迷,mamicode.com
首页 > 编程语言 > 详细

RC2加密算法

时间:2015-03-18 15:48:38      阅读:252      评论:0      收藏:0      [点我收藏+]

标签:

1.introduction

RC2是一种传统的私钥块加密算法,曾经被考虑作为DES算法的替代品。输入和输出块大小都是64bits。而密钥是可变的,从1byte到128bytes,现在常用的是8字节。

1.1Algorithm description

字:16比特位;‘+’:加;‘&’:表示比特敏感的与操作;‘XOR’:表示比特敏感的与或操作;‘~’:表示换位补码;‘^’:表示取幂运算;

2.key expansion(密钥扩展)

对于字操作,将规定缓存位置K[0],…,K[63];each K[i] is a 16 bit word

对于比特位操作,将规定缓存位置L[0],…,L[127];each L[i] is an eight-bit字节。

转换公式:K[i] = L[2*i] + 256*L[2*i+1].

密钥扩张的目的就是根据提供的密钥将其扩张成要求的密钥长度。

3.Encryption algorithm(加密算法)

主要是两个操作,mix和mash操作。’x rol k’表示16比特位左转k位,高位补低位。

   3.1 Mix up R[i]

   3.2 Mixing round

   3.3 Mash R[i]

   3.4 Mashing round

   3.5 Encryption operation 

4.Decryption algorithm(解密算法)

   4.1 R-Mix up R[i]

   4.2 R-Mixing round

   4.3 R-Mash R[i]

   4.4 R-Mashing round

   4.5 Decryption operation

 

参考文献:RFC 2268

RC2加密算法

标签:

原文地址:http://www.cnblogs.com/maverick-fu/p/4347064.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!