System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及数据安全,尤其涉及一种数据加密方法、数据解密方法、装置、电子设备及计算机可读存储介质。
技术介绍
1、随着互联网通信技术的发展,积累的信息量越来越多,特别是涉及到个人隐私或企事业等机密信息,在传输过程中均需要加密。
2、相关技术中,常用的加/解密方式为:在系统环境变量中配置密钥,每次加密或解密数据时,从操作系统环境变量中获取密钥进行加/解密。但是,目前配置的密钥都是固定不变的,而随着使用时间的延长,密钥泄露或被破解的风险也会增加,一旦加密后的敏感数据密文被泄露,则可以利用该泄露的密钥进行解密并获取敏感数据,从而导致数据安全性下降的问题。
3、因此,如何对数据进行有效保护,以提高数据传输的安全性,是目前有待解决的技术问题。
技术实现思路
1、本专利技术提供一种数据加密方法、数据解密方法、装置、电子设备及计算机可读存储介质,以至少解决相关技术中由于加密后的数据被泄露,利用该泄露的密钥进行解密来获取敏感数据,导致数据传输的安全性降低的技术问题。本专利技术的技术方案如下:
2、根据本专利技术实施例的第一方面,提供一种数据加密方法,所述方法应用于密钥管理系统,包括:
3、响应于接收到数据发送端申请生成初始秘钥,为所述数据发送端生成初始密钥;
4、利用所述初始密钥对所述数据发送端待发送的明文数据进行加密,得到第一密文;
5、基于所述初始密钥生成第二密钥;
6、利用所述第二秘钥对所述第一密文进行加密
7、基于所述第二秘钥的密钥标识对所述第二密文进行加密,生成最终密文;
8、将所述最终密文发送给数据发送端,以使所述数据发送端将所述最终密文发送给数据接收端。
9、可选的,所述基于所述初始密钥生成第二密钥包括:
10、利用散列函数将初始密钥转换成固定长度的二进制字符串;
11、获取一个真随机值,将所述真随机值转换成相同长度的二进制序列;
12、将相同长度的所述二进制字符串与所述二进制序列进行逻辑运算;
13、将逻辑运算得到的结果作为第二密钥。
14、可选的,所述将相同长度的所述二进制字符串与所述二进制序列进行逻辑运算,包括:
15、将相同长度的所述二进制字符串与所述二进制序列进行异或操作;
16、将两个相同长度的二进制对应位的数进行比较;
17、如果相同,则将比较结果位设置为0,如果不同,则将比较结果位设置为1。
18、可选的,所述基于所述第二秘钥的密钥标识对所述第二密文进行加密,生成最终密文,包括:
19、按照设定的密文结构利用所述第二秘钥的秘钥标识长度、密钥标识、所述第二密文的长度以及所述第二密文,生成最终密文。
20、可选的,所述方法还包括:
21、接收到所述数据接收端发送的最终密文;
22、获取所述最终密文的初始加密的第一密文和初始秘钥;
23、利用所述初始密钥对所述第一密文进行解密,得到明文数据。
24、可选的,所述获取所述最终密文的初始加密的第一密文和初始秘钥,包括:
25、基于所述最终密文获取最终秘钥的密钥标识和最终秘钥;
26、基于最终秘钥对所述最终密文进行解密,得到二次加密的第二密文;
27、利用所述最终密钥,对二次加密的第二密文进行解密,得到一次加密的第一密文;
28、根据最终密钥与真随机值之间的对应关系,查找对应的真随机值;
29、将所述真随机值转换成二进制序列;
30、对所述二进制序列与所述最终密钥进行逻辑处理,得到二进制字符串;
31、利用散列函数对二进制字符串进行转换处理,得到初始密钥。
32、根据本专利技术实施例的第二方面,提供一种数据加密方法,所述方法应用于数据发送端,包括:
33、向密钥管理系统申请初始秘钥,以使密钥管理系统为所述数据发送端生成初始密钥;
34、向所述密钥管理系统申请使用所述初始秘钥进行数据加密,以使所述密钥管理系统利用所述初始密钥对待发送的明文数据进行加密,得到第一密文;基于所述初始密钥生成第二密钥;利用所述第二秘钥对所述第一密文进行加密,得到第二密文;基于所述第二秘钥的密钥标识对所述第二密文进行加密,生成最终密文;
35、将所述最终密文发送给数据接收端。
36、根据本专利技术实施例的第三方面,提供一种数据解密方法,所述方法应用于数据接收端,包括:
37、接收到数据接收端发送的最终密文;
38、将所述最终密文发送给密钥管理系统,以便所述密钥管理系统在接收到所述数据接收端发送的最终密文;获取所述最终密文的初始加密的第一密文和初始秘钥;利用所述初始密钥对所述第一密文进行解密,得到明文数据。
39、根据本专利技术实施例的第四方面,提供一种数据加密装置,所述装置应用于密钥管理系统,包括:
40、第一生成模块,用于响应于接收到数据发送端申请生成初始秘钥,为所述数据发送端生成初始密钥;
41、第一加密模块,用于利用所述初始密钥对所述数据发送端待发送的明文数据进行加密,得到第一密文;
42、第二生成模块,用于基于所述初始密钥生成第二密钥;
43、第二加密模块,用于利用所述第二秘钥对所述第一密文进行加密,得到第二密文;
44、第三加密模块,用于基于所述第二秘钥的密钥标识对所述第二密文进行加密,生成最终密文;
45、发送模块,用于将所述最终密文发送给数据发送端,以使所述数据发送端将所述最终密文发送给数据接收端。
46、可选的,所述第二生成模块包括:
47、第一转换模块,用于利用散列函数将初始密钥转换成固定长度的二进制字符串;
48、第一获取模块,用于获取一个真随机值,将所述真随机值转换成相同长度的二进制序列;
49、逻辑运算模块,用于将相同长度的所述二进制字符串与所述二进制序列进行逻辑运算;
50、确定模块,用于将逻辑运算得到的结果作为第二密钥。
51、可选的,所述逻辑运算模块包括:
52、异或操作模块,用于将相同长度的所述二进制字符串与所述二进制序列进行异或操作;
53、比较模块,用于将两个相同长度的二进制对应位的数进行比较;
54、设置模块,用于在所述比较模块比较的对应为的数相同时,将比较结果位设置为0,以及,在比较的对应位的数不同时,将比较结果位设置为1。
55、可选的,所述第三加密模块包括,具体用于按照设定的密文结构利用所述第二秘钥的秘钥标识长度、密钥标识、所述第二密文的长度以及所述第二密文,生成最终密文。
56、可选的,所述装置还包括:
57、接收模块,用于接收到所述数据接收端发送的最终密文;
本文档来自技高网...【技术保护点】
1.一种数据加密方法,其特征在于,所述方法应用于密钥管理系统,包括:
2.根据权利要求1所述的数据加密方法,其特征在于,所述基于所述初始密钥生成第二密钥包括:
3.根据权利要求2所述的数据加密方法,其特征在于,所述将相同长度的所述二进制字符串与所述二进制序列进行逻辑运算,包括:
4.根据权利要求1所述的数据加密方法,其特征在于,所述基于所述第二秘钥的密钥标识对所述第二密文进行加密,生成最终密文,包括:
5.根据权利要求1至4任一项所述的数据加密方法,其特征在于,所述方法还包括:
6.根据权利要求5所述的数据加密方法,其特征在于,所述获取所述最终密文的初始加密的第一密文和初始秘钥,包括:
7.一种数据加密方法,其特征在于,所述方法应用于数据发送端,包括:
8.一种数据解密方法,其特征在于,所述方法应用于数据接收端,包括:
9.一种数据加密装置,其特征在于,所述装置应用于密钥管理系统,包括:
10.一种数据加密装置,其特征在于,所述装置应用于数据发送端,包括:
11
12.一种电子设备,其特征在于,包括:
13.一种计算机可读存储介质,其特征在于,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如权利要求1至7中任一项所述的数据加密方法或如权利要求8所述的数据解密方法。
...【技术特征摘要】
1.一种数据加密方法,其特征在于,所述方法应用于密钥管理系统,包括:
2.根据权利要求1所述的数据加密方法,其特征在于,所述基于所述初始密钥生成第二密钥包括:
3.根据权利要求2所述的数据加密方法,其特征在于,所述将相同长度的所述二进制字符串与所述二进制序列进行逻辑运算,包括:
4.根据权利要求1所述的数据加密方法,其特征在于,所述基于所述第二秘钥的密钥标识对所述第二密文进行加密,生成最终密文,包括:
5.根据权利要求1至4任一项所述的数据加密方法,其特征在于,所述方法还包括:
6.根据权利要求5所述的数据加密方法,其特征在于,所述获取所述最终密文的初始加密的第一密文和初始秘钥,包括:
...【专利技术属性】
技术研发人员:梁伟,
申请(专利权)人:中国电信股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。