一种消息处理方法、系统、设备及计算机可读存储介质与流程

文档序号:34181714发布日期:2023-05-17 09:21阅读:152来源:国知局
一种消息处理方法、系统、设备及计算机可读存储介质与流程

本技术涉及数据安全处理,更具体地说,涉及一种消息处理方法、系统、设备及计算机可读存储介质。


背景技术:

1、rsa(rsa algorithm)公钥加密算法是由ron rivest,adi shamirh和len adleman于1977年开发的,是一个安全且实用的公钥密码算法,既能用于数据的加密也能用于数字签名,是目前应用最广泛的公钥密码算法。该算法已经经受住了多年的传统数学上的密码分析,但由于计算机的发展以及侧信道攻击的兴起,使得搭载该算法的安全芯片在密码设备中的应用面临着严重威胁。

2、目前,对于rsa公钥加密算法的侧信道攻击方法有简单功耗分析spa,差分功耗分析dpa,相关功耗分析cpa以及错误注入攻击fa等。这些攻击均是利用rsa算法在芯片等的密码设备中运算过程中不同的运算步骤而泄露的功耗,时间,电磁以及错误值的信息来恢复密钥,换言之,侧信道攻击会降低现有rsa公钥加密算法对消息的处理安全性。

3、综上所述,如何保证应用rsa公钥加密算法对消息进行处理时的安全性是目前本领域技术人员亟待解决的问题。


技术实现思路

1、本技术的目的是提供一种消息处理方法,其能在一定程度上解决如何保证应用rsa公钥加密算法对消息进行处理时的安全性的技术问题。本技术还提供了一种消息处理系统、设备及计算机可读存储介质。

2、为了实现上述目的,本技术提供如下技术方案:

3、一种消息处理方法,包括:

4、获取待处理的目标消息m;

5、获取对所述目标消息m进行处理时应用的模数n、私钥d、公钥e、第一大素数p、第二大素数q;

6、对所述私钥d进行模p-1运算得到dp=dmod(p-1);对所述私钥d进行模q-1运算得到dq=dmod(q-1);

7、生成随机数r,计算m'=m×rmodn,m'p=m'modp,计算m'q=m'modq,

8、计算invq=q-1modp,s1=invq×(sp-sq),s2=q×s1,s_d1=sq+s2;

9、计算r1=rdmodn;

10、对所述公钥e进行模p-1运算得到ep=emod(p-1);

11、计算mr1=mp×r21modp,s_d2=s_d1modp;

12、

13、若s_d31-mr1的值不等于0,则退出对所述目标消息m的处理;

14、若s_d31-mr1的值等于0,则对所述公钥e进行模q-1运算得到eq=emod(q-1),计算mr2=mq×r22modq,

15、若s_d32-mr2的值不等于0,则退出对所述目标消息m的处理;

16、若s_d32-mr2的值等于0,则计算r1-1=inv(r1)modn,s_d=s_d1×r1-1modn;

17、其中,mod表示取模运算符,s_d表示所述目标消息m的处理结果。

18、优选的,所述生成随机数r,包括:

19、生成长为p比特的所述随机数r。

20、优选的,计算σ=αβmodγ,包括:

21、计算β1=β+r×φ(γ),计算σ=αβ1modγ;

22、其中,φ(γ)表示γ的欧拉函数;α、β、γ表示参与计算的变量,σ表示计算结果。

23、优选的,所述计算σ=αβmodγ,包括:

24、对β1进行随机窗口编码naf_w,窗口w的值随机取2,3,4;

25、预先计算点α3、α5、α7、α9、α11、α13、α15;

26、对β1从右向左计算,在β1的最低比特为1的情况下,随机取w,若w的值为2,则计算naf_w[i]=β1&0x3,β1=β1-naf_w[i];在β1的最低比特为0的情况下,naf_w[i]=0,β1>>1,i++,若w的值为3,则计算naf_w[i]=β1&0x7,β1=β1-naf_w[i];在β1的最低比特为0的情况下,naf_w[i]=0,β1>>1,i++,若w的值为4,则计算naf_w[i]=β1&0xf,β1=β1-naf_w[i];在β1的最低比特为0的情况下,naf_w[i]=0,β1>>1,i++;循环执行上述操作,直至β1的值为0时退出;

27、且对窗口编码naf_w[i],i从最高到降为0的过程中,均在naf_w[i]==0的情况下,计算σ=α2,在naf_w[i]!=0的情况下,计算α=α2,σ=α*naf_w[i];

28、其中,>>表示右移运算。

29、优选的,计算σ=α×β,包括:

30、将α拆分为α=α1+α2;

31、计算σ1=α1×β,σ2=α2×β,σ=σ1+σ2;

32、其中,α、β表示参与计算的变量,σ表示计算结果。

33、优选的,计算σ1=α1×β,包括:

34、计算r×β,(α1-r)×β,σ1=r×β+(α1-r)×β。

35、优选的,计算σ=α×βmodγ,包括:

36、计算r×β,(α-r)×β,σ=r×β+(α-r)×β;

37、其中,α、β、γ表示参与计算的变量,σ表示计算结果。

38、一种消息处理系统,包括:

39、第一获取模块,用于获取待处理的目标消息m;

40、第二获取模块,用于获取对所述目标消息m进行处理时应用的模数n、私钥d、公钥e、第一大素数p、第二大素数q;

41、第一运算模块,用于对所述私钥d进行模p-1运算得到dp=dmod(p-1);对所述私钥d进行模q-1运算得到dq=dmod(q-1);

42、第二运算模块,用于生成随机数r,计算m'=m×rmodn,m'p=m'modp,计算m'q=m'modq,计算invq=q-1modp,s1=invq×(sp-sq),s2=q×s1,s_d1=sq+s2;计算r1=rdmodn;

43、第三运算模块,用于对所述公钥e进行模p-1运算得到ep=emod(p-1);

44、第四运算模块,用于计算mr1=mp×r21modp,s_d2=s_d1modp;

45、第一判断模块,用于若s_d31-mr1的值不等于0,则退出对所述目标消息m的处理;若s_d31-mr1的值等于0,则对所述公钥e进行模q-1运算得到eq=emod(q-1),计算mr2=mq×r22modq,若s_d32-mr2的值不等于0,则退出对所述目标消息m的处理;若s_d32-mr2的值等于0,则计算r1-1=inv(r1)modn,s_d=s_d1×r1-1modn;

46、其中,mod表示取模运算符,s_d表示所述目标消息m的处理结果。

47、一种消息处理设备,包括:

48、存储器,用于存储计算机程序;

49、处理器,用于执行所述计算机程序时实现如上任一所述消息处理方法的步骤。

50、一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现如上任一所述消息处理方法的步骤。

51、本技术提供的一种消息处理方法,获取待处理的目标消息m;获取对目标消息m进行处理时应用的模数n、私钥d、公钥e、第一大素数p、第二大素数q;对私钥d进行模p-1运算得到dp=dmod(p-1);对私钥d进行模q-1运算得到dq=dmod(q-1);生成随机数r,计算m'=m×rmodn,m'p=m'modp,计算m'q=m'modq,计算invq=q-1modp,s1=invq×(sp-sq),s2=q×s1,s_d1=sq+s2;计算r1=rdmodn;对公钥e进行模p-1运算得到ep=emod(p-1);计算mr1=mp×r21modp,s_d2=s_d1modp;若s_d31-mr1的值不等于0,则退出对目标消息m的处理;若s_d31-mr1的值等于0,则对公钥e进行模q-1运算得到eq=emod(q-1),计算mr2=mq×r22modq,若s_d32-mr2的值不等于0,则退出对目标消息m的处理;若s_d32-mr2的值等于0,则计算r1-1=inv(r1)modn,s_d=s_d1×r1-1modn;其中,mod表示取模运算符,s_d表示目标消息m的处理结果。本技术基于crt算法的原理,并通过引入随机数来对rsa公钥加密算法进行了改进,提高了rsa公钥加密算法对侧信道攻击的抵抗能力,保证了应用rsa公钥加密算法对消息进行处理时的安全性。本技术提供的一种消息处理系统、设备及计算机可读存储介质也解决了相应技术问题。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1