非均匀B-样条曲线的加密算法是利用随机生成的节点信息,对非均匀样条曲线形态特征进行调整,从而避免控制点加密曲线散列碰撞问题。由明文生成控制点信息,有效地丰富了非均匀B-样条曲线的几何特征。非均匀B-样条曲线的加密算法计算效率高、散列强度好,能够有效地应用于软件加密过程和身份认证中。
非均匀B-样条曲线的加密算法密钥生成与埋置
密钥一般具备以下3种特性:
(1)由一串固定长度的杂乱无章的字符串表示。
(2)能够随机生成,且尽量唯一。
(3)满足加密算法需要。
在非均匀B-样条曲线的加密算法中,密钥信息用来构建基函数的节点信息,有效调整曲线形态,达到加密曲线形态多样化,从而有效防止密文冲突。专家研究表明,通过调整一个节点使之变大或者变小可以调整B-样条曲线的形状,为B-样条曲线形状调整提供了简便有效的方法。
根据非均匀B-样条曲线基函数要求,密钥序列或密钥变形序列需满足数值非递减,且首尾数值为0和1的特征。在实际编程实现中,可通过以下两个步骤生成密钥。
(1)利用计算机时间获取函数GetSystemTime(&st)获取当前时间,时间包括年/月/日/时/分/秒。
(2)然后对获取的时钟进行变形,映射到N维数值串(N一般取8),且数值满足非递减,为了满足非递减可采取对应字符ASCII值累加,然后除以最大,最后通过对密钥变形得到节点信息串U(u1,u2,…,un),且0=u1≤u2≤…≤un=1。
基于间距的明文变异方法
通常明文是由一串字符组成,该字符串包括字母、数字标点符号或操作符,且字母区分大小写。为了能使明文信息转化为非均匀B-样条曲线的控制点,需要把字符串中的字符转化为坐标点信息(坐标点信息包括横纵坐标值),根据非均匀B-样条曲线的特性,为了构建比较光滑的曲线,控制点应该避免局部交叉,且能保证明文变异是一一对应关系的,从而我们提出的基于间距的明文变异方法是:
假设明文为S =“dfFGE,2WE/Fat”,首先确定起始控制点坐标P0(x0,y0),依次求明文S中各字符对应的ASCII值tn=ASCII(Sn),则P1=(x1,y1)=(x0+ t1,t1),P2=(x2,y2)=(x1+ t2,t2),…,Pn=(xn,yn)=(xn-1+ tn,tn)。使控制点在x轴方向上坐标值累加,避免局部交叉,在y轴方向上保持不变,保持原来的几何形态多变特征。从而明文到控制点数列的映射关系为(P1,P2,…,Pn)= F(S)。
非均匀B-样条曲线的加密算法
由密钥组成非均匀B-样条曲线基函数的节点,0= u1≤u2≤…≤un=1,然后对明文进行基于间距的映射处理,使明文转化为控制点坐标值。根据非均匀B-样条基函数的定义:
利用随机生成密钥,并进行处理得到非均匀B-样条基函数,为了提高非均匀B-样条曲线的加密算法效率,可以设定基函数的次数为有限次(2,6次),并根据非均匀B-样条定义,可求得在该基函数和控制点约束下的非均匀B-样条曲线函数,从而可以从该曲线上获取有用的信息作为密文。根据非均匀B-样条曲线定义(式(1)),得到直角坐标系下x、y分量上的方程为:
由于该曲线是连续的,可以从该曲线上获取无限的坐标点作为密文,根据需求得到密文字符串长度,坐标点可根据t区间的等间距求得。首先获取密文长度L,计算间隔距离S =1/L,密文坐标点为C(xm,ym)=(x(S × m),y(S ×m)),0≤m≤L,然后由密文坐标映射为字符,为了把密文字符串中的字符均匀分布,采用坐标求和然后整体缩放算法,缩放映射为P→M,P为密文坐标点0< m<74,其中0 ~74代表密文的表现形式(大写字母、小写字母和数字),最后通过ASCII转化得到密文。
非均匀B-样条曲线的加密算法
非均匀B-样条曲线的加密算法,属于散列加密算法范畴,能够广泛地应用于软件加密和身份认证领域,非均匀B-样条曲线的加密算法可以根据应用领域不同而进行变形。如下给出算法实现流程及详细实现步骤。
1、输入明文,并对明文进行基于间距的明文变异。
2、根据明文变异信息,生成非均匀B-样条控制点序列。
3、根据时钟信息,随机获取密钥。
4、根据随机密钥生成非均匀B-样条基函数节点序列。
5、通过输入加密次数,构建非均匀B-样条函数,进行基于非均匀B-样条曲线的加密。
6、对曲线加密信息,进行基于坐标值缩放算法的密文处理,获得散列密文,并对密文进行输出。
非均匀B-样条曲线的加密算法加密强度分析
为了适应当前数字化时代对加密算法需要不断创新和更新的需求,非均匀B-样条曲线加密算法有效地利用了样条基函数节点变化对曲线的形态变化影响和算法加密效率比较高的优点。它的加密强度依赖于对密钥的设置长度和对文件加密的输出长度信息。根据非均匀B-样条的局部性特征,密钥作为样条基函数节点信息的变形,密钥的长短势必影响到样条曲线的振荡敏感程度(每个局部都在变化),从而使样条曲线的形态随着密钥的长度增加而丰富。另外,密文作为非均匀B-样条曲线离散点的反映,密文的长度对应着离散点的数量,从而密文越长越能表达曲线几何特征,也越能避免散列碰撞问题。
由于非均匀B-样条曲线的加密算法属于不可逆加密算法,在加密的过程中既要满足加密强度,也要考虑加密时间。对密码的破解一般有两种方法,一种是穷举法,另一种是根据密文和加密算法的加密过程分析进行破译。由于该加密算法属于散列不可逆算法,从而使用穷举法是不可取的。只能在获得加密流程后,通过分析非均匀B-样条的加密算法的加密过程进行解密。非均匀B-样条加密算法的解密关键点在于控制点数及取控制点的规律、取样条次数、取密文长度以及取密文点规律。下表中,我们给出了根据几个关键点对解密时间复杂度的影响。
从非均匀样条函数来看,影响加密时间的主要在于样条次数,非均匀B-样条曲线的加密算法中开放了样条次数的设置,理论上可以选取n次非均匀B-样条进行加密。通过实验表明样条次数控制在2到5之间,加密迅速,适应于软件加密或身份认证需求。在处理器为P43. 0、内存512 M、Windows XP操作系统下进行加密时间测试结果,结果表明,加密效率比较高,适应于软件加密网络化需求。
非均匀B-样条曲线的加密算法有效地利用了非均匀B-样条特征信息,并通过样条曲线丰富的特征信息进行加密散列,在增强加密强度的同时有效地保证了加密效率。非均匀B-样条曲线的加密算法的可扩充性较强,可以通过修改基函数节点布局以及加密长度等信息对加密算法进行扩展,但关于算法散列强度还需进一步的验证和非均匀B-样条的特征信息有待进一步挖掘,从而才能够进一步提高加密强度和效率。
小知识之非均匀B-样条曲线
非均匀B-样条曲线(NURBS),是一种用途广泛的样条曲线,它不仅能够用于描述自由曲线和曲面,而且还提供了包括能精确表达圆锥曲线曲面在内各种几何体的统一表达式。