当前位置: 首页 > 专利查询>易胜燕专利>正文

一种基于前位密钥的数据加密方法、装置及介质制造方法及图纸

技术编号:36541439 阅读:18 留言:0更新日期:2023-02-01 16:41
本申请公开一种基于前位密钥的数据加密方法、系统及装置,通过采用前位明文密钥Kp和/或前位密文密钥Kc,依次对明文中每个字符按照“(明文字符+密钥字符+前位明文密钥字符实值+前位密文密钥字符实值+

【技术实现步骤摘要】
一种基于前位密钥的数据加密方法、装置及介质
[0001]

[0002]本申请涉及信息安全
,尤其涉及一种数据加密方法、装置及介质。

技术介绍

[0003]维吉尼亚密码是使用一系列恺撒密码组成密码字母表的加密算法,属于多表密码的一种简单形式。在恺撒密码中,明文中的所有字母都在字母表上向后(或向前)按照一个固定数目进行偏移后被替换成密文,例如,当偏移量是3的时候,所有的字母A将被替换成D,B变成E,以此类推。而维吉尼亚密码则是由多个偏移量不同的恺撒密码组成。
[0004]维吉尼亚密码破译过程为首先通过卡西斯基试验、弗里德曼试验得到密钥长度,然后按照密钥长度对密文拆分成多组恺撒密码,最后使用频率分析法得到密钥。上述介绍摘自百度百科“维吉尼亚密码”、“恺撒密码”。
[0005]根据上述介绍可知,在获取到足够多的密文数据后,可以通过频率分析法进行破译。

技术实现思路

[0006]为了提高加密信息被频率分析法破译的难度,本申请在借鉴维吉尼亚密码基础上进行了改进,公开一种基于前位密钥的数据加密方法、装置及介质。
[0007]本申请解决其技术问题所采用的技术方案包含以下流程及步骤: a1、数据加密流程(如图1所示) a1.1、选择指定字符集(例如,ASCII、GB2312、Unicode等)或自编字符集范围,并按字符集编码顺序从0开始递增1标记每个字符位置索引,例如,为便于描述与理解,本申请举例使用自编字符集范围A

Z用0

25标记每个字符位置索引;a1.2、随机字符生成器生成随机字符步骤S01:生成预先设定规则的随机字符串R,其预先设定规则可以为:生成以指定字符串结尾的随机字符串R(例如,以字符串“O”/“W”/“AO”/“REN”结尾)/生成指定字符数量的随机字符串R(例如,字符数量为5)等,作用是数据解密流程中可以识别拆分随机字符串R、第一明文P1部分; a1.3、将随机字符串R与第一明文P1按先后顺序拼接在一起S02,输出包含拼接随机字符串的第二明文P2; a1.4、加密步骤S03: a1.4.1、制作一张二维表,分为标题行与内容行,密钥集合Klist中包含预先设定的一个或多个子项(例如,某一子项可能为密钥K/前位明文密钥Kp/第二前位明文密钥Kp/前位密文密钥Kc/第二前位密文密钥Kc等),且密钥集合Klist中至少包含前位明文密钥Kp或前位密文密钥Kc子项,每个单元格填充一个字符,标题行每行依次填充密钥集合Klist中各子项;将第二明文P2填充到二维表内容行中的单元格内;
a1.4.2、依次对内容行中第二明文P2的每个单元格填充字符按照“(明文字符+密钥字符+前位明文密钥字符实值+前位密文密钥字符实值+

) mod 字符集字符总数=密文字符”加密算法进行计算,最终输出密文C; a2、数据解密流程(如图2所示) a2.1、选择与数据加密流程相同的字符集,后续同a1.1步骤;a2.2、解密步骤S04:a2.2.1、制作一张二维表、标题行填充密钥集合Klist同a1.4.1步骤,将密文C填充到二维表内容行中的单元格内; a2.2.2、依次对内容行中密文C的每个单元格填充字符按照“(密文字符

密钥字符

前位明文密钥字符实值

前位密文密钥字符实值
‑…
) mod 字符集字符总数=明文字符”解密算法进行计算,输出第二明文P2;a2.3、删除第二明文P2中拼接的随机字符串步骤S05:删除第二明文P2中首次匹配预先设定规则(例如,a1.2示例中预先设定以字符串“O”/“W”/“AO”/“REN”结尾)的随机字符串R,最终输出第一明文P1。
[0008]可知的,上述“mod”为求模运算符,例如,28 mod 26=2,6 mod 26=6,

6 mod 26=20。
[0009]可知的,上述加密算法/解密算法中,密钥字符/前位明文密钥字符实值/前位密文密钥字符实值等是否存在,根据密钥集合Klist中相应子项是否存在而定。
[0010]可知的,上述加密算法/解密算法中,所述“明文字符”为第二明文P2中的某位字符,其同一列对应的标题行密钥K中字符为“密钥字符”、标题行前位明文密钥Kp中字符为“前位明文密钥字符”、标题行前位密文密钥Kc中字符为“前位密文密钥字符”。所述“前位明文密钥字符”作用是获取第二明文P2中某位字符之前的字符串倒序第几位的字符(从0开始计数),若超过之前字符串字符总数则循环重复计数,所得字符即为“前位明文密钥字符实值”;所述“前位密文密钥字符”作用是获取密文C中某位字符之前的字符串倒序第几位的字符(从0开始计数),若超过之前字符串字符总数则循环重复计数,所得字符即为“前位密文密钥字符实值”。也可以采用“前位明文密钥字符或前位密文密钥字符mod 之前字符串字符总数=之前字符串倒序第几位”计数算法快速计算。
[0011]例如,图3示例中,若已知第二明文P2“NIHAO
…”
,第5位字符为“O”(位置索引=14),其之前4位字符串为“NIHA”(对应密文C为“LUIX”),第5位字符“O”同一列对应的标题行密钥K中字符为密钥字符“U”(位置索引=20)、标题行前位明文密钥Kp中字符为前位明文密钥字符“D”(位置索引=3)、标题行前位密文密钥Kc中字符为前位密文密钥字符“S”(位置索引=18)。根据上述计数算法,将上述示例前位明文密钥字符“D”代入求解:“3 mod 4=3”,第二明文P2“NIHA”的倒序第3位为“N”,求得“前位明文密钥字符实值”为“N”(位置索引=13);将上述示例前位密文密钥字符“S”代入求解:“18 mod 4=2”,密文C“LUIX”的倒序第2位为“U”,求得“前位密文密钥字符实值”为“U”(位置索引=20)。根据上述加密算法,将上述示例代入求解:“(14+20+13+20) mod 26=15”,求得第5位“密文字符”为“P”(位置索引=15)。图4示例中,根据上述解密算法(与加密算法同理不再详述),若已知密文C“LUIXP
…”
(其之前4位字符串“LUIX”对应第二明文P2为“NIHA”),将上述示例代入求解:“(15

20

13

20) mod 26=14”,求得第5位“明文字符”为“O”(位置索引=14)。
[0012]进一步的,密钥集合Klist中包含前位明文密钥Kp和前位密文密钥Kc子项。
[0013]进一步的,在数据加密/解密流程中,第二明文P2中的随机字符串R部分与第一明文P1部分使用不同的数据加密方法,例如,随机字符串R部分使用恺撒密码进行处理,第一明文P1部分按照“(明文字符+密钥字符+前位明文密钥字符实值) mod 字符集字符总数=密文字符”加密算法进行计算。
[0014]进一步的,数据加密流程中,随机字符串R和第一明文P1的字符总数>=预设最本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于前位密钥的数据加密方法,其特征在于,包括:a1、数据加密流程a1.1、选择指定字符集或自编字符集范围,并按字符集编码顺序从0开始递增1标记每个字符位置索引;a1.2、随机字符生成器生成随机字符步骤(S01):生成预先设定规则的随机字符串(R);a1.3、将随机字符串(R)与第一明文(P1)按先后顺序拼接在一起(S02),输出包含拼接随机字符串的第二明文(P2);a1.4、加密步骤(S03):a1.4.1、制作一张二维表,分为标题行与内容行,密钥集合(Klist)中包含预先设定的一个或多个子项,且密钥集合(Klist)中至少包含前位明文密钥(Kp)或前位密文密钥(Kc)子项,每个单元格填充一个字符,标题行每行依次填充密钥集合(Klist)中各子项;将第二明文(P2)填充到二维表内容行中的单元格内;a1.4.2、依次对内容行中第二明文(P2)的每个单元格填充字符按照“(明文字符+密钥字符+前位明文密钥字符实值+前位密文密钥字符实值+

) mod 字符集字符总数=密文字符”加密算法进行计算,最终输出密文(C);a2、数据解密流程a2.1、选择与数据加密流程相同的字符集,后续同a1.1步骤;a2.2、解密步骤(S04):a2.2.1、制作一张二维表、标题行填充密钥集合(Klist)同a1.4.1步骤,将密文(C)填充到二维表内容行中的单元格内;a2.2.2、依次对内容行中密文(C)的每个单元格填充字符按照“(密文字符

密钥字符

前位明文密钥字符实值

前位密文密钥字符实值
‑…
) mod 字符集字符总数=明文字符”解密算法进行计算,输出第二明文(P2);a2.3、删除第二明文(P2)中拼接的随机字符串步骤(S05):删除第二明文(P2)中首次匹配预先设定规则的随机字符串(R),最终输出第一明文(...

【专利技术属性】
技术研发人员:荣恩齐易胜燕孙宏远苏琪苏天皓杨博
申请(专利权)人:易胜燕
类型:发明
国别省市:

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

1