根据象棋的博弈原理而整理出一个全新的信息文件加密算法——二维化信息的三维化加密算法。该加密算法在信息加密前,对所有可能用到的原始信息进行二维化处理,建立原始信息表。在信息加密时,找出明文在原始信息表中对应二维坐标的分量信息,再将这些二维信息按一定的规则对应存放在一个三维化表格中而形成密文。解密则按加密时信息存放的顺序取出信息即可。
一、二维化信息的三维化加密算法基本原理
对传统信息文件加密过程中的原始信息可以看成一维化信息,再进行一系列的复杂的数学变换或置换而得到。本文开始从加密信息的原始信息着手,先将信息进行二维化处理,再对信息进行三维化加密,最终形成密文。
1、信息二维化处理
信息二维化,即先建立一个二维化表格,将所有可能用于信息传输的信息放在这个表格中,称这个表格为原始信息表。再给该表建立一套二维坐标,使得其中每个原始信息都有一组相对应的坐标地址,而坐标地址又分行地址和列地址,即行信息和列信息。
为了后续处理方便,二维化表格建立时采用正方形表格,即a行a列的表格能存放a2个原始信息。对二维化表格坐标的建立采用两位数的n进制数描述,即能描述n2个行和列的信息,其中n2=a。对于a2个原始信息放进该二维表格中没有任何限制,即最大叮以生成a2!份不同的原始信息表。如n为3时能表示9行9列(00.01,02,10,11,12,20,21,22),能表示81个原始信息。对这相同的81个原始信息有81!种不同的存放方案。又如n为10时能表示100行100列信息,能表示1万个原始信息,即有104!种不同的存放方案。
2、信息三维化加密
在信息加密过程中首先模拟象棋原理建立一个三维表格,再将棋谱演变为口令,最后根据口令按一定的规则将明文信息放到‘维表格中而完成信息加密。
1)三维表格
采用n×n×h的三维表格,此处的n和原始信息表中n进制数的n是一致的,h称之为深度,即象棋棋局中棋子在某个位置出现的最大次数演变而来。
2)口令
口令为任意一段语言信息,该语言信息在原始信息表中都能找到每个字的行信息和列信息,不能找到的字在加密和解密过程都可自动忽略。
3)加密规则
在口令信息中每个字行和列信息都是两位数的信息,再将该两位数按位拆开成两个一位的数,如:一个字信息为(x1,y1, x2,y2)。该行信息(x1,y1)和列信息(x2,y2)。最后
拆分之后为(x1,y1),(x2,y2),它们刚好在n×n的二维表格中对应两个位置坐标。如把行对应的位置和列对应的位置作为棋游中一步棋起子和落子的位置,则该口令中一个字就是
一步棋。一个口令字对应一个明文信息,即口令字行信息对应的位置存放一个明文信息的行信息,列信息对应的位置存放该明文信息的列信息。
一个明文信息在二维衷格中存放I咛两个位置,即n×n×h的三维表格最多只能存放n×n×h/2个明文信息,一套加密系统形成之后n是固定的,而h可以自由变化,明文信息越多,h越大,即h在明文信息加密时根据明文信息量决定,只需保证明文信息个数n×n×h/2。
加密时,明文信息与口令信息一一对应,当n令信息长度不够时,可以充分使用口令。根据口令信息在三维表格中指定的位置存放明文信息,按明文信息先后顺次存放时,当三维表格中某个位置存放信息龟已经等于h时,将该信息存放在紧跟在后面信息量小于h的位置,到最后一个位置时自动返回从第一位置开始寻找小于h的位置存放。所有的明文信息存放完毕之后,如果明文信息数最<n×n×h/2,在所有小于h的位置补允垃圾信息,使其所有的位置信息量都达到h。最后去掉表格,形成最终的密文信息。
垃圾信息填写符合原始信息表中的坐标表示范围即可。这些信息不是明文信息中的内容,对明文没有任何意义,但对该加密过程中密文信息格式规整化,同时垃圾信息存在给破解者带来更大的迷惑性。
3、信息解密
信息解密者不用知道加密者使用的深度h,当解密者接到密文之后,根据n×n的表格将密义信息均匀划分n2等份,按顺序依次放入n×n的表格中,从而形成三维化表格信息。
根据口令信息顺序,按加密时存放信息的方法依次取出明文信息,当取出一个信息时,在三维表格中自动删除该信息。口令长度不够时,自动重复使用口令。根据口令寻找的位置已经没有信息时,在紧跟该位置的后面位置寻找信息,到最后一个位置时自动返同从第一位置开始寻找。当表格中所有信息取完时,停止取信息操作。最后根据取出的信息每四位数为一个明文信息在原始信息表中查询该明文原始信息,即实现信息解密。
二、二维化信息的三维化加密算法的应用
1、信息二维化处理
在实例中以n=7为例。当n=7时,它能表示49行和49列即2401个原始信息。从而可以建立一个2401个常用汉字的原始信息表。表中每个字都有一组二维坐标(行信息和列信息),坐标表示采用两位数的7进制数描述。
如要对下面的明文信息进行加密:
静夜思 李白
床前明月光疑是地上霜
举头望明月低头思故乡
如果存在一个这样的原始信息表,上述明文信息在原始信息表中的分量(坐标)信息查询如下(前两位数为行信息,后两位数为列信息):
静52 30夜31 04 思24 25李13 46白06 16床14 12前25 15 明35 60月02 60光31 56疑66 66是24 02地06 64上01 16霜63 14举33 04头05 41 望45 40明02 60月02 60低31 66头05 41 思24 25故30 03乡01 32
2、信息三维化加密
1)三维表格的建立
当n=7时建立一个7×7×h的三维表格,需加密的明文信息有25个字,取h =2。如表1所示。
2)口令
寻找一段任意的文字为口令,如“请找出唐诗”。假如口令在原始信息表巾的分量信息为“请”(55 04),“找”(10 05),“出”(13 66),‘“唐”(41 23),‘‘诗”(15 32)(前两位数为行,后两位数为列)。
3)信息加密
口令按顺序每一个字对应明文信息中一个字,口令可以重复使用。如下:
静5230(请5504) 夜3104(找1005) 思2425(出1366)李1346(唐4123) 白0616(诗1532)床1412(请5504) 前2515(找1005) 明3560(出1366) 月0260(唐4123)光31 6(诗1532)疑6666(请5504) 是2402(找1005) 地0664(出1366) 上0116(唐4123)霜6314(诗1532)举3304(请5504) 头0541(找1005) 望4540(出1366) 明0260(唐4123) 月0260(诗1532)低3166(请5504) 头0541(找1005) 恩2425(出1366)故3003(唐4123)乡0132(诗1532)
口令中一个字信息的行信息中两个数字分别为需加密的明文信息的行信息在表1中的行和列坐标,口令中该字信息中列信息的两个数字分别对应明文信息的列信息在表1中5行5列坐标。如明文信息:“静”5230对应口令:“请”5504即将静字的行信息52填入表I中5行5列的位置,静宇的列信息30填入表l中0行4列的位置。依此类推,同一个位置内信息先存放的放在E面,后存放的放在下面,当一个位置信息存放个数达到2时,将该信息存放性紧跟在后面信息量小于2的位置,如表2所示。
从表2可以看出,由于还有许多位置未填满,在未填满的位置随机填写符合原始信息表的坐标信息,如表3所示。
最后表3的信息为加密后的信息。去掉表格,信息按顺序排列得最终密文信息。如:
6440252344524023301204156602312524040541 24350645063 1630266054124011246601660031552134225244216561 41603213621043242211 13020102306530130006665436422421516J 24130133521466333121421201054132163006052560
3、信息解密
当解密者接到密文之后,根据7×7的表格将密文信息均划分7的2次方等份,按顺序依次放入表1中,得到表3。
根据加密口令,如“请找出唐诗”。找出该口令在原始信息表中的坐标信息为(请5504),(找1005),(出1366),(唐4123),(诗1532),(请5504)。;口令可以简单看成以两位数字为单位的55 04 10 05 13 66 41 23 15 32一个序列,每两位数字的第一个数字为行,第二个数字为列,在图中取出一个二位数字信息。该口令序列可以重复使用。根据口令序列,每取出一个信息,将该信息在表3中删除。
如口令序列执行完两次后得到:5230 3104 24251346 0616 1412 2515 3560 0260 3156序列,表3就演变成表4。
根据口令取出所有的数值后得序列:
5230 3104 2425 1346 0616 1412 2515 35600260 3156 6666 2402 0664 01 16 6314 3304 0541_4540 0260 0260 3166 0541 2425 3003 0132_2112 1552 1323 6542 2513 4224 4262 1044 3043_2422 1211 1300 0652 61654 3642 0124 2151_6140 2413 0133 0541 3216 3023 0605
根据上面序列按前两位数字为行信息,后两位数字为列信息,在原始信息表中查询得到这样文字:静夜思 李白 床前明月光,疑是地上霜,举头望明月,低头思故乡。
**************(*为垃圾信息产生的随机文字)
三、密钥方案
为了保密通信,必须有密钥才能保密,密钥的分配有两种方案。
1、以口令为密钥
通信过程中传送的是密文信息,原始信息表可以公开,以方便表中信息随时更新。
密钥长度不限,如果有不在原始信息表中的字,自动忽略该字。由语言文字组成的口令是无限的,因此不存在密钥用完的可能。正因为如此,用它来实现一次一密也很有可能,通信双方只要约定用一本相同的书就可以。以书中一句话或多句话为一次密钥,第二次用后面的一句话或后面的多句话,……这样通信还能很好记录通信次数,如果信息接收方在第5次接到信息时用第5次密钥不能解开密文但是用第7次密钥解开,就能证明在通信过程中丢失两次信息,通信方法存在不安全因素。
2、以原始信息表为密钥
通信过程中传送的是密文信息和口令,当然口令只能以语言文字形式出现或只能以口令在原始信息表中坐标信息出现,口令不能交叉用两种形式出现,其中只以语言文字形式出现为最佳。那密钥的数量就是从我们语言文字中选出K=a2个字按顺序排列组合Abk,b就是语言范围。即使确定了原始信息K.原始信息表也有K!种不同组合。
小知识指二维坐标
二维坐标可以解释为在平面内两条相互垂直且有公共原点的数轴组成的坐标系即二维坐标。