一种基于不重复密钥对字符进行伪装、解伪装的方法技术

技术编号:17200567 阅读:22 留言:0更新日期:2018-02-04 01:52
本发明专利技术公开了一种基于不重复密钥对字符进行伪装、解伪装的方法,其特征在于包括以下步骤:S100:载入明文;S200:构建密钥字典;S300:确定所述密钥块号;S400:生成明文字符的UNICODE编码;S500:将所述UNICODE编码转换为4字节Hex编码0xyYhH,其中,所述Hex编码不足4字节时,以0填充低字节;S600:利用所述Hex编码对所述明文字符进行伪装并输出伪装字符;S700:判断是否完成所有明文字符的伪装,如果是,执行步骤S800,否则,执行步骤S300;S800:将所述明文字符的伪装字符顺序合并,输出伪装文;通过逆向的方法可将伪装文进行解伪装并输出明文。

【技术实现步骤摘要】
一种基于不重复密钥对字符进行伪装、解伪装的方法
本专利技术属于信息安全
,涉及一种数据伪装、解伪装的方法,尤其涉及一种基于不重复密钥对字符进行伪装、解伪装的方法。
技术介绍
随着计算机网络、计算机信息及计算机技术的高速发展,信息的安全性和保密性已经越来越多地受到人们的高度重视。数据加密技术是一种应用较为广泛、效果较为理想的信息安全技术,而数据伪装在本质上也是一种数据加密技术,其不同之处在于,明文字符的伪装是将明文以一定的方式进行加密或者变换之后,仍以可读的形式展现在用户的面前,这样使得普通用户无法区分数据是否为伪装数据,使得数据更加具有迷惑性。现有技术中,传统的加密方法由于其规律性,很容易被破译,又如传统的RSA和DES数据加密算法,由于其算法复杂或安全性问题,也需要一种简单、高效、不易破译的伪装算法;此外,现有技术中还没有对明文字符进行伪装的技术方案。
技术实现思路
本专利技术针对现有技术的不足和上述问题,提出了一种基于不重复密钥对字符进行伪装的方法,通过查找并生成字符的UNICODE编码并将其转换为Hex编码,对Hex编码进行拆分和变换,生成明文字符的伪装字符,达到伪装字符的目的;通过本专利技术提出的方法,伪装后的字符仍以可读的形式展现在用户的面前,这样使得普通用户无法区分字符是否为伪装字符,使得数据更加具有迷惑性;此外,通过本专利技术提出的方法,解决了现有技术中尚无对明文进行伪装的技术方案的问题;所述方法包括以下步骤:S100:载入明文;S200:构建密钥字典,包括以下步骤:S201:将密钥字符以16个字符为一行且16个字符为一列,形成16*16的密钥字符矩阵;S202:将各个所述密钥字符矩阵顺序编号为密钥块号N,其中,N为大于或等于0的整数;S300:确定所述密钥块号:随机选取所述密钥块号N,确定所对应的所述密钥字符矩阵为所用密钥;S400:生成明文字符的UNICODE编码;S500:将所述UNICODE编码转换为4字节Hex编码0xyYhH,其中,所述Hex编码不足4字节时,以0填充低字节;S600:利用所述Hex编码对所述明文字符进行伪装并输出伪装字符,包括以下步骤:S601:将4字节的所述Hex编码0xyYhH拆分为低2字节0xyY和高2字节0xhH,其中,y、Y、h、H均为十六进制数;S602:获取低字节伪装字符:所述0xyY中,低字节0xy表示所述密钥块号N所对应的所述密钥字符矩阵的第y行,高字节0xY表示所述密钥块号N所对应的所述密钥字符矩阵的第Y列,获取所述密钥字符矩阵的坐标位置(y,Y)的字符为所述低字节伪装字符,所述密钥字符矩阵的行、列均以0开始计数;S603:判断所述0xY除以2的余值是否为0,如果是,执行步骤S604,否则,执行步骤S605;S604:获取所述密钥字符矩阵的坐标位置(y,Y)及(y,Y+1)的字符为所述低字节伪装字符;S605:获取高字节伪装字符:所述0xhH中,低字节0xh表示所述密钥块号N所对应的所述密钥字符矩阵的第h行,高字节0xH表示所述密钥块号N所对应的所述密钥字符矩阵的第H列,获取所述密钥字符矩阵的坐标位置(h,H)的字符为所述高字节伪装字符;S606:判断所述0xH除以2的余值是否为0,如果是,执行步骤S607,否则,执行步骤S608;S607:获取所述密钥字符矩阵的坐标位置(h,H)及(h,H+1)的字符为所述高字节伪装字符;S608:输出所述明文字符的伪装字符:将所述低字节伪装字符和所述高字节伪装字符顺序合并,输出所述明文字符的伪装字符;S700:判断是否完成所有明文字符的伪装,如果是,执行步骤S800,否则,执行步骤S300。S800:将所述明文字符的伪装字符顺序合并,输出伪装文。优选地,所述密钥字典中的所述密钥字符为任意具有UNICODE编码的字符。优选地,所述密钥字典中的所述密钥字符各不相同。同时,本专利技术提供了一种基于不重复密钥对字符进行解伪装的方法,通过对伪装字符的逆向的过程和方法,进行解伪装并输出明文字符;所述方法包括以下步骤:S001:载入伪装文;S002:构建密钥字典,包括以下步骤:S0021:将密钥字符以16个字符为一行且16个字符为一列,形成16*16的密钥字符矩阵;S0022:将各个所述密钥字符矩阵顺序编号为密钥块号N,其中,N为大于或等于0的整数;S003:顺序获取伪装字符;S004:获取明文字符的Hex编码,包括以下步骤:S0041:确定所述伪装字符所在密钥块号N及在所述密钥块号N所对应的所述密钥字符矩阵的坐标位置(y,Y),其中,y,Y均为十六进制数;S0042:判断所述坐标位置(y,Y)中的列坐标的值Y除以2的余值是否为0,如果是,执行步骤S0043,否则,执行步骤S0044;S0043:输出低字节伪装字符的Hex编码为0xyY,向后偏移2个伪装字符,获取到下一伪装字符,执行步骤S0045;S0044:输出低字节伪装字符的Hex编码为0xyY,获取下一伪装字符;S0045:获取当前伪装字符在所述密钥块号N所对应的所述密钥字符矩阵的坐标位置(h,H),其中,h,H均为十六进制数;S0046:判断所述坐标位置(h,H)中的列坐标的值H除以2的余值是否为0,如果是,执行步骤S0047,否则,执行步骤S0048;S0047:输出高字节伪装字符的Hex编码为0xhH,向后偏移2个伪装字符,获取到下一伪装字符,执行步骤S0049;S0048:输出高字节伪装字符的Hex编码为0xhH,获取下一伪装字符;S0049:将所述低字节伪装字符的Hex编码和所述高字节伪装字符的Hex编码顺序合并为0xyYhH并输出作为所述明文字符的Hex编码;S005:将所述Hex编码转换为UNICODE编码;S006:生成所述UNICODE编码对应的明文字符;S007:是否完成所有伪装字符的解伪装,如果是,执行步骤S008,否则,执行步骤S004;S008:将所述明文字符顺序合并,输出明文。优选地,所述密钥字典中的所述密钥字符为任意具有UNICODE编码的字符。优选地,所述密钥字典中的所述密钥字符各不相同。本专利技术的有益效果是:伪装后的字符仍以可读的形式展现在用户的面前,使得数据更加具有迷惑性;此外,通过本专利技术提出的方法,解决了现有技术中还没有对明文进行伪装的技术方案的问题。附图说明图1为本专利技术中对明文字符进行伪装的主流程图;图2为本专利技术中实施例的密钥示意图;图3为本专利技术中步骤S600的具体流程图;图4为本专利技术中对伪装字符进行解伪装的主流程图;图5为本专利技术中步骤S004的具体流程图。具体实施方式下面结合附图和实施例对本专利技术作进一步阐述。因《千字文》所载字符各不相同,因此,本实施例中,选用《千字文》所载字符作为密钥字符。如图1所示,一种基于不重复密钥对字符进行伪装的方法,包括以下步骤:S100:载入明文:输入需要伪装的明文;S200:构建密钥字典,包括以下步骤:S201:将密钥字符以16个字符为一行且16个字符为一列,形成16*16的密钥字符矩阵:如图2所示,选用《千字文》所载字符作为密钥字符,由于《千字文》字符数为1000,按每个16*16的密钥字符矩阵进行分块,需要补充24个不同的字符来凑齐1024个字符,以满足256的整数倍,因此,本实施例中,将本文档来自技高网...
一种基于不重复密钥对字符进行伪装、解伪装的方法

【技术保护点】
一种基于不重复密钥对字符进行伪装的方法,其特征在于包括以下步骤:S100:载入明文;S200:构建密钥字典,包括以下步骤:S201:将密钥字符以16个字符为一行且16个字符为一列,形成16*16的密钥字符矩阵;S202:将各个所述密钥字符矩阵顺序编号为密钥块号N,其中,N为大于或等于0的整数;S300:确定所述密钥块号:随机选取所述密钥块号N,确定所对应的所述密钥字符矩阵为所用密钥;S400:生成明文字符的UNICODE编码;S500:将所述UNICODE编码转换为4字节Hex编码0xyYhH,其中,所述Hex编码不足4字节时,以0填充低字节;S600:利用所述Hex编码对所述明文字符进行伪装并输出伪装字符,包括以下步骤:S601:将4字节的所述Hex编码0xyYhH拆分为低2字节0xyY和高2字节0xhH,其中,y、Y、h、H均为十六进制数;S602:获取低字节伪装字符:所述0xyY中,低字节0xy表示所述密钥块号N所对应的所述密钥字符矩阵的第y行,高字节0xY表示所述密钥块号N所对应的所述密钥字符矩阵的第Y列,获取所述密钥字符矩阵的坐标位置(y,Y)的字符为所述低字节伪装字符,所述密钥字符矩阵的行、列均以0开始计数;S603:判断所述0xY除以2的余值是否为0,如果是,执行步骤S604,否则,执行步骤S605;S604:获取所述密钥字符矩阵的坐标位置(y,Y)及(y,Y+1)的字符为所述低字节伪装字符;S605:获取高字节伪装字符:所述0xhH中,低字节0xh表示所述密钥块号N所对应的所述密钥字符矩阵的第h行,高字节0xH表示所述密钥块号N所对应的所述密钥字符矩阵的第H列,获取所述密钥字符矩阵的坐标位置(h,H)的字符为所述高字节伪装字符;S606:判断所述0xH除以2的余值是否为0,如果是,执行步骤S607,否则,执行步骤S608;S607:获取所述密钥字符矩阵的坐标位置(h,H)及(h,H+1)的字符为所述高字节伪装字符;S608:输出所述明文字符的伪装字符:将所述低字节伪装字符和所述高字节伪装字符顺序合并,输出所述明文字符的伪装字符;S700:判断是否完成所有明文字符的伪装,如果是,执行步骤S800,否则,执行步骤S300。S800:将所述明文字符的伪装字符顺序合并,输出伪装文。...

【技术特征摘要】
1.一种基于不重复密钥对字符进行伪装的方法,其特征在于包括以下步骤:S100:载入明文;S200:构建密钥字典,包括以下步骤:S201:将密钥字符以16个字符为一行且16个字符为一列,形成16*16的密钥字符矩阵;S202:将各个所述密钥字符矩阵顺序编号为密钥块号N,其中,N为大于或等于0的整数;S300:确定所述密钥块号:随机选取所述密钥块号N,确定所对应的所述密钥字符矩阵为所用密钥;S400:生成明文字符的UNICODE编码;S500:将所述UNICODE编码转换为4字节Hex编码0xyYhH,其中,所述Hex编码不足4字节时,以0填充低字节;S600:利用所述Hex编码对所述明文字符进行伪装并输出伪装字符,包括以下步骤:S601:将4字节的所述Hex编码0xyYhH拆分为低2字节0xyY和高2字节0xhH,其中,y、Y、h、H均为十六进制数;S602:获取低字节伪装字符:所述0xyY中,低字节0xy表示所述密钥块号N所对应的所述密钥字符矩阵的第y行,高字节0xY表示所述密钥块号N所对应的所述密钥字符矩阵的第Y列,获取所述密钥字符矩阵的坐标位置(y,Y)的字符为所述低字节伪装字符,所述密钥字符矩阵的行、列均以0开始计数;S603:判断所述0xY除以2的余值是否为0,如果是,执行步骤S604,否则,执行步骤S605;S604:获取所述密钥字符矩阵的坐标位置(y,Y)及(y,Y+1)的字符为所述低字节伪装字符;S605:获取高字节伪装字符:所述0xhH中,低字节0xh表示所述密钥块号N所对应的所述密钥字符矩阵的第h行,高字节0xH表示所述密钥块号N所对应的所述密钥字符矩阵的第H列,获取所述密钥字符矩阵的坐标位置(h,H)的字符为所述高字节伪装字符;S606:判断所述0xH除以2的余值是否为0,如果是,执行步骤S607,否则,执行步骤S608;S607:获取所述密钥字符矩阵的坐标位置(h,H)及(h,H+1)的字符为所述高字节伪装字符;S608:输出所述明文字符的伪装字符:将所述低字节伪装字符和所述高字节伪装字符顺序合并,输出所述明文字符的伪装字符;S700:判断是否完成所有明文字符的伪装,如果是,执行步骤S800,否则,执行步骤S300。S800:将所述明文字符的伪装字符顺序合并,输出伪装文。2.根据权利要求1所述的一种基于不重复密钥对字符进行伪装的方法,其特征在于,所述密钥字典中的所述密钥字符为任意具有UN...

【专利技术属性】
技术研发人员:梁效宁聂学良
申请(专利权)人:四川巧夺天工信息安全智能设备有限公司
类型:发明
国别省市:四川,51

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1