本申请涉及区块链领域,特别涉及一种加密方法、装置、设备及介质。
背景技术:
1、目前,dilithium算法作为一种近年刚刚兴起的量子签名算法,在新兴技术领域有许多应用场景,比如sm系列算法很多就采用dilithium的原理概念。在使用dilithium算法进行加密时,如何进一步增强其安全性,成为目前急需解决的技术问题。
技术实现思路
1、有鉴于此,本申请的目的在于提供一种加密方法、装置、设备及介质,能够提高运算的复杂度,保护强度更高,提高了加密强度。其具体方案如下:
2、一方面,本申请提供了一种加密方法,包括:
3、获取目标消息,所述目标消息包括待加密信息;所述待加密信息利用第一数组表示,所述目标消息利用第二数组表示;
4、对所述第一数组和所述第二数组进行n轮迭代计算,得到第三数组;其中,在第i轮迭代过程中,计算所述第一数组和所述第二数组之间的相对位置,根据所述相对位置和所述第一数组,计算得到第三数组,将所述第三数组作为第i+1轮的第二数组;
5、利用dilithium算法对所述第三数组进行加密处理,得到所述待加密信息对应的加密结果。
6、具体地,所述利用dilithium算法对所述第三数组进行加密处理,得到所述待加密信息对应的加密结果,包括:
7、对所述第三数组进行截位处理,得到第四数组;
8、利用dilithium算法对所述第四数组进行加密处理,得到所述待加密信息对应的加密结果。
9、具体地,所述利用dilithium算法对所述第四数组进行加密处理,得到所述待加密信息对应的加密结果,包括:
10、对公钥、目标向量和所述第四数组进行连接处理,得到连接结果;
11、对所述连接结果进行哈希计算,得到所述加密结果。
12、具体地,所述相对位置d(t)表示为:
13、d(t)=|cxoriginal(t)-qxcrypt(t)|
14、其中,所述xoriginal(t)为所述第一数组,所述xcrypt(t)为所述第二数组,所述c为第一系数向量,所述q为随机生成的混沌向量;
15、所述根据所述相对位置和所述第一数组,计算得到第三数组,具体为:
16、xcrypt(t+1)=xoriginal(t)-a×d(t)
17、其中,所述xcrypt(t+1)为第三数组,所述a为第二系数向量。
18、另一方面,本申请实施例还提供了一种加密装置,包括:
19、获取单元,用于获取目标消息,所述目标消息包括待加密信息;所述待加密信息利用第一数组表示,所述目标消息利用第二数组表示;
20、计算单元,用于对所述第一数组和所述第二数组进行n轮迭代计算,得到第三数组;其中,在第i轮迭代过程中,计算所述第一数组和所述第二数组之间的相对位置,根据所述相对位置和所述第一数组,计算得到第三数组,将所述第三数组作为第i+1轮的第二数组;
21、加密单元,用于利用dilithium算法对所述第三数组进行加密处理,得到所述待加密信息对应的加密结果。
22、具体地,所述加密单元,用于:
23、对所述第三数组进行截位处理,得到第四数组;
24、利用dilithium算法对所述第四数组进行加密处理,得到所述待加密信息对应的加密结果。
25、具体地,所述加密单元,用于:
26、对公钥、目标向量和所述第四数组进行连接处理,得到连接结果;
27、对所述连接结果进行哈希计算,得到所述加密结果。
28、具体地,所述相对位置d(t)表示为:
29、d(t)=|cxoriginal(t)-qxcrypt(t)|
30、其中,所述xoriginal(t)为所述第一数组,所述xcrypt(t)为所述第二数组,所述c为第一系数向量,所述q为随机生成的混沌向量;
31、所述根据所述相对位置和所述第一数组,计算得到第三数组,具体为:
32、xcrypt(t+1)=xoriginal(t)-a×d(t)
33、其中,所述xcrypt(t+1)为第三数组,所述a为第二系数向量。
34、另一方面,本申请实施例还提供了一种计算机设备,所述计算机设备包括处理器以及存储器:
35、所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;
36、所述处理器用于根据所述程序代码中的指令执行所述的加密方法。
37、另一方面,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储计算机程序,所述计算机程序用于执行所述的加密方法。
38、本申请实施例提供了一种加密方法、装置、设备及介质,获取目标消息,目标消息包括待加密信息;待加密信息利用第一数组表示,目标消息利用第二数组表示;对第一数组和第二数组进行n轮迭代计算,得到第三数组;其中,在第i轮迭代过程中,计算第一数组和第二数组之间的相对位置,根据相对位置和第一数组,计算得到第三数组,将第三数组作为第i+1轮的第二数组;利用dilithium算法对第三数组进行加密处理,得到待加密信息对应的加密结果。可见,第二数组可以作为第一数组的干扰量,进而生成第三数组,后续对第三数组进行加密计算,能够提高运算的复杂度,保护强度更高,提高了加密强度。
1.一种加密方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述利用dilithium算法对所述第三数组进行加密处理,得到所述待加密信息对应的加密结果,包括:
3.根据权利要求2所述的方法,其特征在于,所述利用dilithium算法对所述第四数组进行加密处理,得到所述待加密信息对应的加密结果,包括:
4.根据权利要求1所述的方法,其特征在于,所述相对位置d(t)表示为:
5.一种加密装置,其特征在于,包括:
6.根据权利要求5所述的装置,其特征在于,所述加密单元,用于:
7.根据权利要求6所述的装置,其特征在于,所述加密单元,用于:
8.根据权利要求5所述的装置,其特征在于,所述相对位置d(t)表示为:
9.一种计算机设备,其特征在于,所述计算机设备包括处理器以及存储器:
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质用于存储计算机程序,所述计算机程序用于执行权利要求1-4中任意一项所述的方法。