一种加密方法、装置、设备及介质与流程

文档序号:36485013发布日期:2023-12-25 22:40阅读:37来源:国知局
一种加密方法与流程

本申请涉及区块链领域,特别涉及一种加密方法、装置、设备及介质。


背景技术:

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中任意一项所述的方法。


技术总结
本申请公开了一种加密方法、装置、设备及介质,可应用于区块链领域或金融领域。获取目标消息,目标消息包括待加密信息;待加密信息利用第一数组表示,目标消息利用第二数组表示;对第一数组和第二数组进行N轮迭代计算,得到第三数组;其中,在第i轮迭代过程中,计算第一数组和第二数组之间的相对位置,根据相对位置和第一数组,计算得到第三数组,将第三数组作为第i+1轮的第二数组;利用Dilithium算法对第三数组进行加密处理,得到待加密信息对应的加密结果。可见,第二数组可以作为第一数组的干扰量,进而生成第三数组,后续对第三数组进行加密计算,能够提高运算的复杂度,保护强度更高,提高了加密强度。

技术研发人员:王公桃
受保护的技术使用者:中国银行股份有限公司
技术研发日:
技术公布日:2024/1/15
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1