刘氏高强度公开加密算法是我国学者刘尊全教授在计算机密码学领域的一项新的研究成果和发明,已正式获得美国专利。该项发明试图克服当前使用的计算机密码体制(如DES、RSA等)的缺点,在国际上首次解决了数据加密算法中的一类NP问题,可获得极高的加密强度,从而第一次构造出在当今世界不可破译的计算机密码体制!为各类用户提供了一种大众化的信息安全工具,并具有稳定的使用周期和强大的生命力、“一个真正可以作为标准的公开加密算法密码体制”。那么,我今天就给大家简单的介绍一下刘氏加密算法。

刘氏加密算法设计原理

刘氏加密算法采用可变长度的密钥、非规则函数作用域、一次性非线性整型函数完成加解密变换,不采用迭代和循环。其设计原理体现在:

随机映象

通过密钥选取和构造加解密函数的在明文、密文序列中的作用域,实现随机分割线性序列的逻辑地址编码。

随机格式

在密钥控制下随机构造映象内的明文、密文各元素之间的相关性,选取随机函数的基本模式。

随机函数

先在密钥控制下随机构造一个或多个整型多项式作为简单函数Fi(i=1,.....n),其变元由随机格式内的明文、密文元素决定,系数由密钥决定;再由这些简单函数Fi构造成复合函数F。F可以有多种不同形式,如:

F=F1+F2+F3....+Fn

F=F1*F2+F3....+Fn

.....

F=F1*Fn+F3*Fn-1 +....

其中,密钥决定的系数个数多于明文元素与密文元素之和,以便导致攻击者求解具有不可解性的多变元方程。

刘氏加密算法的数学描述及实施步骤:

1、选择块的大小N把明文序列顺序地分割成若干个由N个字母元素组成的块,每个明文块对应一个N维明文向量X,可加密成一个N维的密文向量:

其中块内各明文元素的逻辑地址排列顺序由密钥决定。

2、选定的一组映射参数A、Zt,生成第t块的映射。

加密函数:Y1=AXt+Zt

解密函数:Xt=A-1(Yt-Zt)

这里A是一个可逆N×N映射矩阵,A-1是A的逆:

Zt是随块的不同而变化的一个随机向量,t代表第t个块或向量,

其中Bi是常数,R(t,Ci)是t的伪随机函数,Ci是R的初始值:

3、用户之间秘密地共用一个密钥K,结构为

K=[N,A,B,C]

4、另一种不需对A求逆的快速算法。在密钥的控制下把明文向量随机划分成基础明文向量元素的子集{X5}与非基础明文向量元素的子集{Xr},Zt也划分成对应的两部分{Zs)与{Zr}。

{Xs}∈{Xi},{Zs}∈{Zi},S=S1,S2....Sn

{Xi}={Xs}u{Xr},{Zi}={Zs}u{Zr},R=R1,R2...Rn

1<N’≤N

当I=S时,Zs与明文向量无关,每个密文元素Ys只与一个明文元素Xs相关(这种设计将很容易受到映射表攻击),密文映射定义为Ys=As5Xs _Zs(t)=BsR(t,Cs)

当i=r时,基础明文向量子集{Xs}参与求Yr的线性运算,Xr求Zr的非线性运算,密文映射定义为Yr=As5Xs __Zr(t)=BrG(Xr,t)

G(Xr,t)=XrH(t)

H(t)是块t的非线性函数。解密时,先求解{Xs),再运用{Xs}求解Xr。

小知识之NP:

网络处理器(Network Processor,简称NP),根据国际网络处理器会议(Network Processors Conference)的定义:网络处理器是一种可编程器件,它特定的应用于通信领域的各种任务,比如包处理、协议分析、路由查找、声音/数据的汇聚、防火墙、QoS等。