基于SHA与XOR的快速加密算法

2011-11-02 09:44广东李俊杰
职业技术 2011年2期
关键词:明文加密算法密文

广东 李俊杰

基于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的初值。

(三)执行算法主循环。每一次处理一个512位的分组。

(四)输出。第L分组的输出OVL即是160位的报文摘要,HSHA为压缩函数,如:图2。

图2 利用SHA-1算法产生报文摘要

三、加密过程

基于SHA与XOR的加密算法加密过程的关键步骤是对密钥K进行Hash运算,利用SHA-1算法产生160位的摘要,再与明文M进行XOR。步骤如下:

(一)任取任意长的密钥K,使用Hash函数进行运算:h=H(K)。

(二)对输入明文M按160位进行分组,并以分组为单位进行处理。

(三)每个分组都与H(K)进行按位XOR运算,最后运算结果连接起来形成密文C,如:图3。

图3 加密过程

四、解密过程

(一)取得密钥K,使用Hash函数进行计算:h=H(K)。

(二)对输入密文C按160位进行分组,并以分组为单位进行处理。

(三)每个分组都与H(K)进行按位XOR运算,最后运算结果连接起来形成明文M,如:图4。

图4 解密过程

五、测试

选择密钥K=“abc”,H(K)=a9993e364706816aba3e25717850c26c9cd0d89d;明文M=“汕尾职业技术学院abc123”,由C=XOR(M,H(K))加密得密文C=605ef08491b653df0682ef84a9f716d6fdb2bbac9baa;由M=XOR(C,H(K))解密得同一明文M,测试正确。

(作者单位:汕尾职业技术学院)

(编辑 李艳华)

猜你喜欢
明文加密算法密文
一种支持动态更新的可排名密文搜索方案
基于模糊数学的通信网络密文信息差错恢复
密钥共享下跨用户密文数据去重挖掘方法*
基于整数矩阵乘法的图像加密算法
基于混沌系统和DNA编码的量子图像加密算法
奇怪的处罚
混沌参数调制下RSA数据加密算法研究
一种基于密文分析的密码识别技术*
奇怪的处罚
基于小波变换和混沌映射的图像加密算法