1.一种汉字的加密方法,其特征在于,包括如下几个步骤:(1)转码:将某段汉字逐字转换数值型数据[Pi1,Pi2],得到区数值序列P1={P11,P21,...,Pi1,....,PL1}和位数值序列P2={P12,P22,...,Pi2,....,PL2},其中数值序列P1、P2的长度与该段汉字的长度一致,记为L;
(2)产生混沌序列:
首先利用外部加密密钥(α、β),按照如下所示公式分别计算得到混沌系统的初值x1、参数μ、初始迭代步数m和抽取间隔n1、n2,令
则
x1=mod(kp1+α,0.99998)+0.00002,μ=β+mod(kp1,4-β),
其中,α∈(0,1),β∈[3.75,4),从而保证x1∈(0,1),μ∈[3.75,4),m∈[410,476]的整数,n1∈[1,13]的整数,n2∈[1,19]的整数,可见混沌系统的初值x1、参数μ、初始迭代步数m和抽取间隔n1、n2不仅与外部密钥α、β有关,而且会随着待加密的该段汉字变化;
然后由初值x1和参数μ,对如下公式所示的Logistic混沌系统进行迭代,k表示迭代次数(k=1,2,...),xk+1表示第k次迭代得到的混沌信号,xk+1=μ×xk×(1-xk)
得到混沌序列X,从第m个元素开始每隔n1个元素取1个,从而形成长度为L的混沌序列Y,并从第m个元素开始每隔n2个元素取1个,从而形成长度为L的混沌序列Z;
(3)区、位数值序列置乱:
将混沌序列Y按升序排序,根据序列Y排序前、后的位置变化置乱规则,对区数值序列P1={P11,P21,...,Pi1 ,....,PL1}进行置乱,得到置乱后的区数值序列同时将混沌序列Z按升序排序,根据序列Z排序前、后的位置变化置乱规则,对位数值序列P2={P12,P22,...,Pi2,....,PL2}进行置乱,得到置乱后的位数值序列(4)转码:将置乱后的区数值序列 和置乱后的位数值序列 进行数值与汉字的转换,得到对应的属于GB2312汉字集的序列C,即为该段汉字的加密密文,其中序列C的长度为且
2.根据权利要求1所述的一种汉字的加密方法,其特征在于:步骤(1)中所述的将某段汉字逐字转换成数值型数据[Pi1,Pi2],其中某段汉字来自于GB2312字符集中双字节编码的
6763个汉字;逐字转换成数值型数据[Pi1,Pi2]是指采用unicode2native(·)函数,将单个汉字转换为区位码数值数据,表示为[区数值数据,位数值数据]。
3.根据权利要求1所述的一种汉字的加密方法,其特征在于:步骤(4)中所述的将置乱后的区数值序列 和置乱后的位数值序列 进行数值与汉字的转换,其转换关系表述如下:设定一个空字符序列C,将置乱后的区数值序列 和置乱后的位数值序列 中各对应元素依次进行如下运算,
首先进行判断,如果 且 那么在字符序列C中添加1个空格,即C=[C,”],并设
然后利用native2unicode(·)函数将区位码数值数据转换为单个汉字,并添加到字符序列C中,即
4.一种汉字的解密方法,其特征在于,包括如下几个步骤:(1)转码:将某段待解密汉字密文 逐字转换成数值型数据[Ri1,Ri2],得到区数值序列和位数值序列 其中数值序列R1、R2的长度为 某段待解密汉字密文的长度为
(2)产生混沌序列:
首先利用外部解密密钥 按照如下所示公式分别计算得到混沌系统的初值参数 初始迭代步数 和抽取间隔
令
则
其中, 从而保证 的整
数, 的整数, 的整数,可见混沌系统的初值 参数 初始迭代步数和抽取间隔 不仅与外部密钥 有关,而且会随着待解密密文变化;
然后由初值 和参数 对如下公式所示的Logistic混沌系统进行迭代,k表示迭代次数(k=1,2,...), 表示第k次迭代得到的混沌信号,得到混沌序列 从第 个元素开始每隔 个元素取1个,从而形成长度为 的混沌序列 并从第 个元素开始每隔 个元素取1个,从而形成长度为 的混沌序列(3)区、位数值序列反置乱:
将混沌序列 按升序排序,根据序列 排序前、后的位置变化置乱规则,对区数值序列进行反置乱,得到反置乱后的区数值序列同时将混沌序列 按升序排序,根据序列 排序前、后的位置变化置乱规则,对位数值序列 进行反置乱,得到反置乱后的位数值序列
(4)转码:将反置乱后的区数值序列 和反置乱后的位数值序列 进行数值与汉字的转换,得到对应的属于GB2312汉字集的序列PP,即为该段密文解密后恢复的汉字,其中序列PP的长度为
5.根据权利要求4所述的一种汉字的解密方法,其特征在于:步骤(1)中所述的将某段待解密汉字密文 逐字转换成数值型数据[Ri1,Ri2],其转换关系表述如下:首先将某段待解密密文 转换为数值序列R,即
然后从数值序列R中逐个查找是否有数值为32的元素,如果有,则将后一元素数值加1,并删除该数值为32的元素;
最后将数值序列R中邻近两两元素组合,得到单个密文汉字转换而成的区位码数值型数据[Ri1,Ri2],从而得到区数值序列 和位数值序列
6.根据权利要求4所述的一种汉字的解密方法,其特征在于:步骤(4)中所述的将反置乱后的区数值序列 和反置乱后的位数值序列 进行数值与汉字的转换,是指将反置乱后的区数值序列 和反置乱后的位数值序列中对应元素组合,将组合数据 依次进行数值与汉字的转换 (其中 ) ,即 并 判断将 且
的5种情况下数值与汉字转换结果直接置为空格符号。