[发明专利]一种基于七阶幻立方的明文加密方法和系统有效
申请号: | 201510829880.8 | 申请日: | 2015-11-25 |
公开(公告)号: | CN105281894B | 公开(公告)日: | 2018-10-23 |
发明(设计)人: | 饶竹一;张云翔 | 申请(专利权)人: | 深圳供电局有限公司 |
主分类号: | H04L9/06 | 分类号: | H04L9/06;H04L9/00 |
代理公司: | 深圳汇智容达专利商标事务所(普通合伙) 44238 | 代理人: | 潘中毅;熊贤卿 |
地址: | 518000 广东省深圳市*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 七阶幻 立方 明文 加密 方法 系统 | ||
1.一种基于七阶幻立方的明文加密方法,其特征在于,所述方法包括:
a、获取用于加密的密钥,且根据所述获取到的密钥生成一七阶幻立方的初始坐标,并进一步以所述生成的初始坐标为起点逐渐构建出所述七阶幻立方;其中,所述密钥由一定长度的二进制数组成;所述七阶幻立方由具有1至7层的7*7矩阵形成,且其所设置的坐标变量包括行数、列数和层数;
b、确定明文,并根据所述构建完毕后的七阶幻立方,对所述明文进行重新排序,得到密文;
c、获取所述明文根据ASCII码排列成矩形后形成的S盒,并根据所述获取到的S盒,将所述得到的密文进一步进行字符置换加密后输出;
其中,所述步骤a具体包括:
a1、获取长度为9的二进制数作为用于加密的密钥,并将所述获取到的密钥均分成3个等长的二进制数,且将所述3个等长的二进制数依次转变成十进制后,作为一七阶幻立方初始坐标中坐标变量为行数、列数和层数分别对应的值;其中,当所述3个等长的二进制数之中任一为二进制数000时,则将所述二进制数000转变成十进制的值修订为7;
a2、在所述七阶幻立方中,根据所述初始坐标中坐标变量为行数、列数和层数分别对应的值,找到相对应的位置并赋值为1,且以所述初始坐标的位置作为起点开始构建所述七阶幻立方;
a3、获取当前起点的位置及其对应的赋值,并进入预设的计算模式中,计算出下一起点位置,且将所述当前起点的赋值加1后赋予所述计算出的下一起点位置上;
a4、判断所述计算出的下一起点位置上的赋值是否小于343;
a5、如果是,则将所述计算出的下一起点位置作为当前起点,返回步骤a3;
a6、如果否,则确定所述计算出的下一起点位置作为终点,使得所述七阶幻立方构建完毕;
其中,所述步骤a3具体包括:
a31、获取当前起点的位置及其对应的赋值;
a32、判断所述当前起点坐标中行数值减2是否小于1;
a33、如果是,则将所述当前起点坐标中行数值减2加7后,作为所述下一起点坐标中行数值;如果否,则将所述当前起点坐标中行数值减2后,作为所述下一起点坐标中行数值;
a34、继续判断所述当前起点坐标中列数值加1是否大于7;
a35、如果是,则将所述当前起点坐标中列数值加1减7后,作为所述下一起点坐标中列数值;如果否,则将所述当前起点坐标中列数值加1后,作为所述下一起点坐标中列数值;
a36、获取所述当前起点坐标中层数值,并将所述当前起点坐标中层数值作为所述下一起点坐标中层数值,且与所述下一起点坐标中行数值及列数值形成所述下一起点的判断坐标;
a37、判断所述下一起点的判断坐标在所述七阶幻立方上是否有赋值;
a38、如果否,则将所述判断坐标作为所述下一起点位置,并将所述当前起点的赋值加1后赋予所述下一起点位置上;
a39、如果是,则当所述判断坐标中层数值加1大于7时,将所述判断坐标中层数值加1减7后,作为所述下一起点坐标中新层数值;或当所述判断坐标中层数值加1小于或等于7时,将所述判断坐标中层数值加1后,作为所述下一起点坐标中新层数值;
根据所述下一起点坐标中行数值、列数值及新层数值,得到所述下一起点位置,并将所述当前起点的赋值加1后赋予所述下一起点位置上;
其中,所述步骤b具体包括:
b1、获取一定长度的明文,并检测所述获取到的明文长度大小情况;
b2、当检测到所述明文长度小于343时,则在所述获取到的明文尾部和/或头部进行字符补充,使其长度达到343后作为明文;或当检测到所述获取到的明文长度等于343时,直接将所述获取到的明文作为明文;
b3、确定所述明文中每一字符及每一字符对应的排列序号,且根据所述确定的每一字符对应的排列序号,在所述七阶幻立方中依序查询到其上赋值与字符的排列序号相等同时分别对应的位置,并依序提取所述明文中的字符分别赋予所述依序查询到的对应位置上,形成一具有字符的七阶幻立方;
b4、在所述形成的具有字符的七阶幻立方中,根据先层数从小到大、其次同层上行数从小到大、最后同层同行上列数从小到大的顺序,依序提取所述形成的具有字符的七阶幻立方中的每一字符后组合成密文;
其中,所述步骤c具体包括:
c1、根据ASCII码,将所述明文中所有字符随机排列成一矩形后,形成S盒,并根据所述明文中每一字符的排列顺序,依序获取所述S盒内对应于所述明文中每一字符的矩形坐标;
c2、获取所述密文中每一字符分别对应所述七阶幻立方的坐标,并将所述密文的长度作为置换步长;
c3、获取当前置换步长,并判断所述当前置换步长是否为0;
c4、如果否,则所述当前置换步长等于所述密文的长度时,获取所述密文中需置换的头字符在所述S盒中对应的矩阵坐标及其在所述七阶幻立方中的坐标,并进一步导入预设的第一坐标变换公式中进行转换,得到所述头字符对应的新矩阵坐标,且根据所述得到的头字符对应的新矩阵坐标,在所述S盒中获取对应的置换字符来替换所述密文中的头字符后,将所述当前置换步长减1,返回步骤c3;或
所述当前置换步长小于所述密文的长度时,获取所述密文中需置换的当前字符及其前一字符在所述S盒中分别对应的矩阵坐标,以及所述当前字符在所述七阶幻立方中的坐标,并进一步导入预设的第二坐标变换公式中进行转换,得到所述当前字符对应的新矩阵坐标,且根据所述得到的当前字符对应的新矩阵坐标,在所述S盒中获取对应的置换字符来替换所述密文中的当前字符后,将所述当前置换步长减1,返回步骤c3;
C5、如果是,则所述密文置换完成,并将所述置换完成后的密文输出。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳供电局有限公司,未经深圳供电局有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510829880.8/1.html,转载请声明来源钻瓜专利网。