基于SHA与XOR的快速加密算法
2011-11-02广东李俊杰
广东 李俊杰
基于SHA与XOR的快速加密算法
广东 李俊杰
在信息系统中很多重要数据需要加密,各种加密算法如AES、DES、IDEA等都在广泛应用,一种基于SHA与XOR的加密算法可以实现信息快速安全加密。
SHA;XOR;加密算法;Hash函数
在信息系统中,信息的存储和传输容易被非法使用和篡改,因此,加密技术对这些信息存储、传输将带来很好的保护作用。一种基于SHA与XOR的加密算法能大大提高了加密速度和效率。
一、加密技术
加密技术包括两个元素:算法和密钥。算法是将普通的文本(或者可以理解的信息)与一串数字(密钥)的结合,产生不可理解的密文的步骤,密钥是用来对数据进行编码和解码的数字串。
传统的加密算法如下:对于明文空间M中的每一个明文M,加密算法E在密钥K的控制下将明文M加密成密文C:C=E(M,K),而解密算法D在密钥K的控制下将密文C解密出同一明文M:M=D(C,K)。
一种基于SHA与XOR的快速加密算法如下:密钥K使用Hash函数进行转换h=H(K),算法E、D都使用XOR,即:加密为C=XOR(M,H(K)),解密为M=XOR(C,H(K))。
二、Hash函数
Hash函数将任意长的报文M映射为定长的Hash码h,其形式为:h=H(M),Hash码也称报文摘要。SHA(Secure Hash Algorithm)是美国国家安全局设计,美国国家标准与技术研究院发布的一系列密码散列函数。其SHA-1的输入可以是任意长的报文,输出160位的报文摘要。该算法对输入按512位进行分组,并以分组为单位进行处理。SHA-1算法步骤如下:
(一)填充报文。填充报文的目的是使报文长度与448模512同余(即长度≡448 mod 512),如:图1。

图1 报文填充
(二)初始化缓冲区。Hash函数的中间结果和最终结果保存于160位的缓冲区(A,B,C,D,E)中,IV=缓冲区ABCDE的初值。……
