主权项 |
一种数值型数据的加密方法,其特征在于:包括如下几个步骤:(1)将数值型数据转化成字符与数值型数据完全一样的字符串;(2)根据自定义的数值字符与四位二进制对应关系,将字符串的每个字符依次转化成4位二进制,然后按次序组合成比特流D<sub>1</sub>,统计其中‘0’和‘1’的数量分别记为m和n,所述的对应关系为:‘0’→0000;‘1’→0001;‘2’→0010;‘3’→0011;‘4’→0100;‘5’→0101;‘6’→0110;‘7’→0111;‘8’→1000;‘9’→1001;‘+’→1010;‘‑’→1011;‘e’→1100;‘E’→1101;‘.’→1110;(3)由如下方程分别计算得加密密钥Z<sub>1</sub>、Z<sub>2</sub>和S:Z<sub>1</sub>=mod(sin(m)×sin(n)+z<sub>10</sub>,1)Z<sub>2</sub>=4‑mod(sin(m)×sin(n)+z<sub>20</sub>,(4‑3.5699456))<img file="FDA0000537019190000013.GIF" wi="1237" he="100" />其中m≠iπ,n≠iπ,且i为整数,可见加密密钥不仅与初值Z<sub>10</sub>、Z<sub>20</sub>和S<sub>0</sub>相关,而且和待加密的数值型数据有关;(4)由Logistic混沌映射方程:x<sub>k+1</sub>=μ·x<sub>k</sub>·(1‑x<sub>k</sub>)产生混沌序列X,其中Logistic混沌映射的初值x<sub>0</sub>取为Z<sub>1</sub>,参数μ取为Z<sub>2</sub>,混沌序列X的长度至少为(m+n)·(S+1)‑S,从中每隔S个元素取1个,从而形成长度为m+n的混沌序列Y,将序列Y按升序排序,按其置乱规则对比特流D<sub>1</sub>按位置乱,得到比特流D<sub>2</sub>;(5)根据自定义的四位二进制编码方式与可见密文字符对应关系,将置乱后的比特流D<sub>2</sub>转化成可见字符序列,获得与明文数值型数据长度相等的密文字符串,所述的对应关系为:0000→‘0’;0001→‘1’;0010→‘2’;0011→‘3’;0100→‘4’;0101→‘5’;0110→‘6’;0111→‘7’;1000→‘8’;1001→‘9’;1010→‘A’;1011→‘B’;1100→‘C’;1101→‘D’;1110→‘E’;1111→‘F’。 |