一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种数据加密方法及相关组件与流程

2022-09-03 01:11:37 来源:中国专利 TAG:


1.本发明涉及信息安全技术领域,特别是涉及一种数据加密方法及相关组件。


背景技术:

2.在网络通讯系统隐私和安全保护方面,待传输数据存在被主动攻击或被动攻击的风险,而数据加密技术是一种十分有效的抵抗数据攻击的方法,目前已广泛应用于投票系统、密文数据库的检索以及云计算等需要数据加密的场合中。
3.常见的加密算法包括依赖于哈希算法的哈希加密算法,但该方法本身的算法设置机制较为复杂,具体的,针对加密方对明文的加密过程,需要进行大量的哈希计算,以生成加密摘要信息,再将原始数据及加密摘要信息一起发送至解密方,解密方在对上述数据解密时,需要进行大量的冗余校验,也即根据所述原始数据与加密方进行同样的大量的哈希计算,并判断得到的数据与所述加密摘要信息是否一致,才能验证出原始数据是否被篡改,以便后续使用,可见,该方法耗费了过高的计算成本及验证成本。
4.为此,如何寻找一种有效地保证信息安全的加密方法成为当前亟待解决的问题。


技术实现要素:

5.本发明的目的是提供一种数据加密方法及相关组件,预先设计好一种数据同态加密算法,该算法包括特定的密钥确定规则、对应的加密规则及对应的解密规则,在保证了信息传输的安全性的基础上,降低了计算成本,且省去了验证成本。
6.为解决上述技术问题,本发明提供了一种数据加密方法,应用于加密终端,所述数据加密方法包括:
7.获取解密终端根据预先设计好的数据同态加密算法确定并公布的公钥及对应的加密规则,其中,所述公钥为所述解密终端根据所述数据同态加密算法的密钥确定规则确定;
8.所述密钥确定规则为:所述解密终端确定互不相同的第一素数p及第二素数q;将所述p和所述q相乘得到第一数据n;从a1的素因子中选择一个第三素数α1,从a2的素因子中选择一个第四素数α2,其中,所述a1=p-1;所述a2=q-1;确定所述第三素数α1及所述第四素数α2相乘得到的结果为私钥α;基于所述第一数据n、所述第一素数p、所述第二素数q、所述第三素数α1及所述第四素数α2确定与所述私钥α对应的公钥;
9.确定当前待加密传输的明文;
10.根据所述公钥及所述加密规则对所述明文进行加密,以得到密文。
11.优选的,基于所述第一数据n、所述第一素数p、所述第二素数q、所述第三素数α1及所述第四素数α2确定与所述私钥α对应的公钥,包括:
12.s21:基于所述第一数据n,从1至n-1之间的整数中选择一个整数作为第二数据a;
13.s22:计算所述第一素数p的平方得到第三数据p2;
14.计算所述第三素数α1与所述第一素数p的乘积得到第四数据α1p;
15.计算所述第二素数q的平方得到第五数据q2;
16.计算所述第四素数α2与所述第二素数q的乘积得到第六数据α2q;
17.s23:基于所述第一素数p,从1至所述p之间的整数中选择一个整数作为第七数据g1,其中所述g1的选择满足第一选取关系式;
18.所述第一选取关系式为:
[0019][0020]
且其中,mod表示取模运算;
[0021]
s24:判断所述g1模所述p2的阶是否为所述第四数据α1p;若是,进入s25;若否,返回s23以重新确定新的第七数据g1;
[0022]
s25:基于所述第二素数q,从1至所述q之间的整数中选择一个整数作为第八数据g2,其中所述g2的选择满足第二选取关系式;
[0023]
所述第二选取关系式为:
[0024][0025]
s26:判断所述g2模所述q2的阶是否为所述第六数据α2q;若是,进入s27;若否,返回s26以重新确定新的第八数据g2;
[0026]
s27:基于所述第七数据g1、所述第三数据p2、所述第八数据g2及所述第五数据q2建立第一线性同余方程组并应用中国剩余定理进行求解,以得到第九数据g;
[0027]
所述第一线性同余方程组为:
[0028][0029]
s28:确定所述第一数据n、第二数据a及所述第九数据g为公钥。
[0030]
优选的,根据所述公钥及所述加密规则对所述明文进行加密,以得到密文,包括:
[0031]
基于所述第一数据n,从0至n之间的整数中选择一个整数作为第十数据k;
[0032]
基于所述第一数据n确定第一集合其中,所述第一集合中的集合元素为{0,1,...,(n-1)};
[0033]
确定所述第一集合中的各个集合元素中与n互素的第一集合元素;
[0034]
从所述第一集合元素中选择一个作为第十一数据r;
[0035]
基于所述第一数据n、所述第十数据k、所述第十一数据r、所述第二数据a、所述第九数据g、第二预设关系式及第三预设关系式,对所述明文m进行加密以得到密文,其中,0≤m<n2,所述密文包括基于所述第二预设关系式确定的第十二数据c1及基于所述第三预设关系式确定的第十三数据c2;
[0036]
所述第二预设关系式为:c1=g
(k rn)
mod n2;
[0037]
所述第三预设关系式为:c2=m(1 kan)mod n2。
[0038]
优选的,基于所述第一数据n、所述第十数据k、所述第十一数据r、所述第二数据a、所述第九数据g及第二预设关系式确定所述密文中的第十二数据c1,具体包括:
[0039]
基于所述第一数据n、所述第十数据k及所述第十一数据r计算第十四数据s1=k r*n;
[0040]
根据预先存储的幂次-同余值对应关系中的各幂次s2,分别计算所述s1与各所述s2之间的差值;
[0041]
确定与所述差值为正数且最小的所述差值对应的标准幂次s2,并依照所述标准幂次s2从所述幂次-同余值对应关系中确定与所述标准幂次s2对应的同余值
[0042]
基于所述同余值t、所述第九数据g、所述第十四数据s1、所述标准幂次s2、及第四预设关系式确定所述密文中的第十二数据c1;
[0043]
所述第四预设关系式为:
[0044]
为解决上述技术问题,本发明还提供了一种数据解密方法,应用于解密终端,所述数据解密方法包括:
[0045]
确定互不相同的第一素数p及第二素数q;将所述p和所述q相乘得到第一数据n;从a1的素因子中选择一个第三素数α1,从a2的素因子中选择一个第四素数α2,其中,所述a1=p-1;所述a2=q-1;确定所述第三素数α1及所述第四素数α2相乘得到的结果为私钥α;基于所述第一数据n、所述第一素数p、所述第二素数q、所述第三素数α1及所述第四素数α2确定与所述私钥α对应的公钥;
[0046]
获取加密终端发送的密文,所述密文为所述加密终端根据所述公钥及预先设计好的数据同态加密算法的加密规则对待传输的明文进行加密后得到;
[0047]
根据所述公钥、与所述公钥对应的私钥α及所述数据同态加密算法的解密规则,对所述密文进行解密,以得到所述明文。
[0048]
优选的,所述公钥包括第一数据n、第二数据a及第三数据g;所述密文包括第四数据c3及第五数据c4;
[0049]
根据所述公钥、与所述公钥对应的私钥α及所述数据同态加密算法的解密规则,对所述密文进行解密,以得到所述明文,包括:
[0050]
基于所述私钥α、所述第一数据n、所述第三数据g及第一预设关系式对所述第四数据c3进行处理,以得到第六数据ck;
[0051]
所述第一预设关系式为:
[0052][0053]
其中,mod表示取模运算;
[0054]
基于所述第二数据a、所述第六数据ck、所述第一数据n及第二预设关系式对所述第五数据c4进行处理,以得到所述明文e;
[0055]
所述第二预设关系式为:e=c4*(1 ck(n-a)n)mod n2。
[0056]
优选的,基于所述私钥α、所述第一数据n、所述第三数据g及第一预设关系式对所述第四数据c3进行处理,以得到第六数据ck,具体包括:
[0057]
计算所述第一素数p的平方得到第七数据p2;
[0058]
计算所述第二素数q的平方得到第八数据q2;
[0059]
基于所述第四数据c3、所述私钥α、所述第七数据p2及第三预设关系式求得第九数据
[0060]
所述第三预设关系式为:
[0061][0062]
其中,mod表示取模运算;
[0063]
基于所述第四数据c3、所述私钥α、所述第八数据q2及第四预设关系式求得第十数据
[0064]
所述第四预设关系式为:
[0065][0066]
基于所述第九数据所述第七数据p2、所述第十数据及所述第八数据q2建立第二线性同余方程组并应用中国剩余定理进行求解,以得到第十一数据
[0067]
所述第二线性同余方程组为:
[0068][0069]
基于所述第三数据g、所述私钥α、所述第七数据p2及第五预设关系式求得第十二数据
[0070]
所述第五预设关系式为:
[0071][0072]
基于所述第三数据g、所述私钥α、所述第八数据q2及第六预设关系式求得第十三数据
[0073]
所述第六预设关系式为:
[0074][0075]
基于所述第十二数据所述第七数据p2、所述第十三数据及所述第八数据q2建立第三线性同余方程组并应用中国剩余定理进行求解,以得到第十四数据
[0076]
所述第三线性同余方程组为:
[0077][0078]
基于所述第一数据n、所述第十一数据所述第十四数据及第七预设关系式得到第六数据ck;
[0079]
所述第七预设关系式为:
[0080]
为解决上述技术问题,本发明还提供了一种数据加密系统,应用于加密终端,所述数据加密系统包括:
[0081]
密钥获取单元,用于获取解密终端根据预先设计好的数据同态加密算法确定并公布的公钥及对应的加密规则,其中,所述公钥为所述解密终端根据所述数据同态加密算法
的密钥确定规则确定;
[0082]
所述密钥确定规则为:所述解密终端确定互不相同的第一素数p及第二素数q;将所述p和所述q相乘得到第一数据n;从a1的素因子中选择一个第三素数α1,从a2的素因子中选择一个第四素数α2,其中,所述a1=p-1;所述a2=q-1;确定所述第三素数α1及所述第四素数α2相乘得到的结果为私钥α;基于所述第一数据n、所述第一素数p、所述第二素数q、所述第三素数α1及所述第四素数α2确定与所述私钥α对应的公钥;
[0083]
明文确定单元,用于确定当前待加密传输的明文;
[0084]
加密单元,用于根据所述公钥及所述加密规则对所述明文进行加密,以得到密文。
[0085]
为解决上述技术问题,本发明还提供了一种数据解密系统,应用于解密终端,所述数据解密系统包括:
[0086]
密钥确定单元,用于确定互不相同的第一素数p及第二素数q;将所述p和所述q相乘得到第一数据n;从a1的素因子中选择一个第三素数α1,从a2的素因子中选择一个第四素数α2,其中,所述a1=p-1;所述a2=q-1;确定所述第三素数α1及所述第四素数α2相乘得到的结果为私钥α;基于所述第一数据n、所述第一素数p、所述第二素数q、所述第三素数α1及所述第四素数α2确定与所述私钥α对应的公钥;
[0087]
密文获取单元,用于获取加密终端发送的密文,所述密文为所述加密终端根据所述公钥及预先设计好的数据同态加密算法的加密规则对待传输的明文进行加密后得到;
[0088]
解密单元,用于根据所述公钥、与所述公钥对应的私钥α及所述数据同态加密算法的解密规则,对所述密文进行解密,以得到所述明文。
[0089]
为解决上述技术问题,本发明还提供了一种数据处理装置,包括:
[0090]
存储器,用于存储计算机程序;
[0091]
处理器,用于执行如上述所述的数据加密方法的步骤。
[0092]
本发明提供了一种数据加密方法及相关组件,首先,预先设计好一种数据同态加密算法,该算法包括特定的密钥确定规则、对应的加密规则及对应的解密规则,基于该特定的密钥确定规则可以安全可靠地确定一对密钥,即所述公钥及私钥,私钥作为私有数据不会公开,也即只有拥有私钥的解密终端能够破解应用对应的公钥及加密规则加密的密文,算法的安全可靠性高。具体的,加密终端可以直接对当前待加密传输的明文根据获取到的公钥及对应的加密规则进行加密,无需计算作为加密摘要信息的大量的哈希值,降低了计算成本;且解密终端在获取到待解密的密文时,可以直接依据密钥及对应的解密规则进行解密,而无需进行繁琐的加密摘要信息的验证步骤,省去了验证成本,最终保证了信息传输的安全性。
附图说明
[0093]
为了更清楚地说明本发明实施例中的技术方案,下面将对现有技术和实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0094]
图1为本发明提供的一种数据加密方法的流程图;
[0095]
图2为本发明提供的一种数据解密方法的流程图;
[0096]
图3为本发明提供的一种数据加密系统的结构示意图;
[0097]
图4为本发明提供的一种数据解密系统的结构示意图;
[0098]
图5为本发明提供的一种数据处理装置的结构示意图。
具体实施方式
[0099]
本发明的核心是提供一种数据加密方法及相关组件,预先设计好一种数据同态加密算法,该算法包括特定的密钥确定规则、对应的加密规则及对应的解密规则,在保证了信息传输的安全性的基础上,降低了计算成本,且省去了验证成本。
[0100]
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0101]
请参照图1,图1为本发明提供的一种数据加密方法的流程图。
[0102]
该数据加密方法,应用于加密终端,数据加密方法包括:
[0103]
s11:获取解密终端根据预先设计好的数据同态加密算法确定并公布的公钥及对应的加密规则,其中,公钥为解密终端根据数据同态加密算法的密钥确定规则确定;
[0104]
密钥确定规则为:解密终端确定互不相同的第一素数p及第二素数q;将p和q相乘得到第一数据n;从a1的素因子中选择一个第三素数α1,从a2的素因子中选择一个第四素数α2,其中,a1=p-1;a2=q-1;确定第三素数α1及第四素数α2相乘得到的结果为私钥α;基于第一数据n、第一素数p、第二素数q、第三素数α1及第四素数α2确定与私钥α对应的公钥;
[0105]
s12:确定当前待加密传输的明文;
[0106]
s13:根据公钥及加密规则对明文进行加密,以得到密文。
[0107]
本实施例中,考虑到现有技术中为了实现数据的加密传输以保证数据安全,通常会采用的方法有哈希加密算法,但该方法中包括了大量的哈希值计算及相应的验证步骤,耗费了过高的计算成本和验证成本。为解决上述技术问题,本技术提供了一种数据加密方法,依照预先设计好的数据同态加密算法可以保证拥有公钥及对应的加密规则的加密终端安全地将待传输的明文传输至解密终端。
[0108]
首先需要说明的是,这里的加密终端包括但不限于服务器和客户端等有信数据加密需求的实体装置,在此不作特别的限定。于是,对于解密终端来说,其根据预先设计好的数据同态加密算法确定了一对密钥,并将公钥及加密规则作为公有信息对该加密终端进行公布,而这里的私钥将作为私有信息由生成这对密钥的解密终端保存,解密终端掌握公钥、对应的私钥、对应的加密规则及解密规则,而加密终端仅能掌握解密终端公布的公钥及加密规则,且掌握公钥想要求解出对应的私钥是非常困难的,保证了该方案的安全性。
[0109]
具体的,针对该密钥确定规则需要说明的是:解密终端确定互不相同的第一素数p及第二素数q,在实际应用中对于这里的第一素数p和第二素数q可以选择的尽量大一些,第一素数p和第二素数q的数值越大,加密的安全性越高。将p和q相乘可以得到第一数据n,随后,从a1的素因子中选择一个第三素数α1,从a2的素因子中选择一个第四素数α2,并确定第三素数α1及第四素数α2相乘得到的结果为私钥α,这里易证的是,假定选取标定数据λ,其中该λ为a1与a2之间的最小公倍数,则本技术中确定的私钥α小于所述λ,且私钥α与第一数据n
之间的最大公约数为1,于是基于paillier算法易知,依照上述密钥确定规则确定的密钥满足语义安全,也就是说使用本技术提供的数据同态加密算法得到的密文不会泄露明文的其他信息。
[0110]
于是随后,该加密终端可以确定当前待加密的明文,并根据获取到的公钥及对应的加密规则对明文进行加密,以得到密文。还需要说明的是,该加密终端随后可以将得到的密文发送至解密终端,即完成了明文的加密传输,而掌握公钥、私钥及对应的解密规则的解密终端可以直接对其解密得到明文。
[0111]
综上,本技术提供了一种数据加密方法,预先设计好一种数据同态加密算法,该算法包括特定的密钥确定规则、对应的加密规则及对应的解密规则,基于该特定的密钥确定规则可以安全可靠地确定一对密钥,即所述公钥及私钥,私钥作为私有数据不会公开,也即只有拥有私钥的解密终端能够破解应用对应的公钥及加密规则加密的密文,算法的安全可靠性高。且加密终端对当前待加密传输的明文进行加密的过程,无需计算作为加密摘要信息的大量的哈希值,降低了计算成本。
[0112]
在上述实施例的基础上:
[0113]
作为一种优选的实施例,基于第一数据n、第一素数p、第二素数q、第三素数α1及第四素数α2确定与私钥α对应的公钥,包括:
[0114]
s21:基于第一数据n,从1至n-1之间的整数中选择一个整数作为第二数据a;
[0115]
s22:计算第一素数p的平方得到第三数据p2;
[0116]
计算第三素数α1与第一素数p的乘积得到第四数据α1p;
[0117]
计算第二素数q的平方得到第五数据q2;
[0118]
计算第四素数α2与第二素数q的乘积得到第六数据α2q;
[0119]
s23:基于第一素数p,从1至p之间的整数中选择一个整数作为第七数据g1,其中g1的选择满足第一选取关系式;
[0120]
第一选取关系式为:
[0121][0122]
且其中,mod表示取模运算;
[0123]
s24:判断g1模p2的阶是否为第四数据α1p;若是,进入s25;若否,返回s23以重新确定新的第七数据g1;
[0124]
s25:基于第二素数q,从1至q之间的整数中选择一个整数作为第八数据g2,其中g2的选择满足第二选取关系式;
[0125]
第二选取关系式为:
[0126][0127]
s26:判断g2模q2的阶是否为第六数据α2q;若是,进入s27;若否,返回s26以重新确定新的第八数据g2;
[0128]
s27:基于第七数据g1、第三数据p2、第八数据g2及第五数据q2建立第一线性同余方程组并应用中国剩余定理进行求解,以得到第九数据g;
[0129]
第一线性同余方程组为:
[0130][0131]
s28:确定第一数据n、第二数据a及第九数据g为公钥。
[0132]
本实施例中,给出了解密终端确定公钥的方式,具体步骤见s21-s28,此处不再赘述。需要说明的是,作为对于s24及s26步骤的说明,以s24步骤为例,之所以要判断g1模p2的阶是否为第四数据α1p,在于可能存在一个更小的数据f,也满足(g1)f=1modp2,有这样一个f存在则说明我们此时对于第七数据g1的选择并不恰当,因此需要返回s23以重新确定新的第七数据g1,而贴近应用实际,要想验证g1模p2的阶是否为第四数据α1p,只需验证和(g1)
p
modp2是否为1即可。对于s26步骤的设计动因同理,不再赘述。
[0133]
此外,通过上述步骤确定的公钥及对应的私钥α之间满足如下关系式,保证了该数据同态加密算法的语义安全:
[0134]
(g)
αn
=1 mod n2[0135]
进一步的作为对第九数据g的选取的合理性的证明,首先易得所以同理,因此有(g)
αn
=1 mod n2,其中,α=α1*α2。作为对g的阶就是αn的验证,假设存在0<h≤αn,使得(g)h=1 mod n2,易得(g)h=1 mod p2,因此(g1)h=(g)hmod p2,得到h是α1p的倍数,同理得到h是α2q的倍数,所以h是αn的倍数,因此只有h=αn。
[0136]
可见,通过上述方式可以可靠地确定用于数据加密的公钥,可操作性强。
[0137]
作为一种优选的实施例,根据公钥及加密规则对明文进行加密,以得到密文,包括:
[0138]
基于第一数据n,从0至n之间的整数中选择一个整数作为第十数据k;
[0139]
基于第一数据n确定第一集合其中,第一集合中的集合元素为{0,1,...,(n-1)};
[0140]
确定第一集合中的各个集合元素中与n互素的第一集合元素;
[0141]
从第一集合元素中选择一个作为第十一数据r;
[0142]
基于第一数据n、第十数据k、第十一数据r、第二数据a、第九数据g、第二预设关系式及第三预设关系式,对明文m进行加密以得到密文,其中,0≤m<n2,密文包括基于第二预设关系式确定的第十二数据c1及基于第三预设关系式确定的第十三数据c2;
[0143]
第二预设关系式为:
[0144]
c1=g
(k rn)
mod n2;
[0145]
第三预设关系式为:
[0146]
c2=m(1 kan)mod n2。
[0147]
本实施例中,给出了加密终端根据公钥及对应的加密规则进行数据加密的方式。具体步骤如上述所述,此处不再赘述。需要说明的是,这里对于待加密的数据,即明文m,存在数据范围限定,即0≤m<n2。可见,通过该种方式进行数据加密相较于其他的加密方式能够以更少的模幂运算实现对数据的加密,保证了加密速度,可操作性更强。
[0148]
作为一种优选的实施例,基于第一数据n、第十数据k、第十一数据r、第二数据a、第
九数据g及第二预设关系式确定密文中的第十二数据c1,具体包括:
[0149]
基于第一数据n、第十数据k及第十一数据r计算第十四数据s1=k r*n;
[0150]
根据预先存储的幂次-同余值对应关系中的各幂次s2,分别计算s1与各s2之间的差值;
[0151]
确定与差值为正数且最小的差值对应的标准幂次s2,并依照标准幂次s2从幂次-同余值对应关系中确定与标准幂次s2对应的同余值
[0152]
基于同余值t、第九数据g、第十四数据s1、标准幂次s2、及第四预设关系式确定密文中的第十二数据c1;
[0153]
第四预设关系式为:
[0154][0155]
本实施例中,发明人进一步考虑到在进行信息加密过程中,可以对该加密规则的计算速度做进一步的提升。具体的,由于对第十二数据c1的计算过程中仍然涉及到一定的幂次计算,该加密终端可以预先存储有幂次-同余值对应关系,该对应关系中包含多个幂次,及与各个幂次对应的同余值。于是,首先计算出第十四数据s1,分别计算该s1与存储的各幂次s2之间的差值,确定与差值为正数且最小的差值对应的幂次为标准幂次s2,于是可以从幂次-同余值对应关系中找到该标准幂次s2对应的同余值t。需要说明的是,这里也可以选取与差值为负数且最大的差值对应的幂次为标准幂次s2,但此时还要在该标准幂次s2对应的同余值的基础上进行较为复杂的求逆运算,因而达不到本条实施例中的初衷。
[0156]
在此基础上,基于同余值t、第九数据g、第十四数据s1、标准幂次s2、及第四预设关系式确定密文中的第十二数据c1,本质上相当于在该同余值t的基础上再进行幂次运算,相对的,不需要计算大量的幂次运算,省去了很多的计算时间。
[0157]
请参照图2,图2为本发明提供的一种数据解密方法的流程图。
[0158]
该数据解密方法,应用于解密终端,包括:
[0159]
s31:确定互不相同的第一素数p及第二素数q;将p和q相乘得到第一数据n;从a1的素因子中选择一个第三素数α1,从a2的素因子中选择一个第四素数α2,其中,a1=p-1;a2=q-1;确定第三素数α1及第四素数α2相乘得到的结果为私钥α;基于第一数据n、第一素数p、第二素数q、第三素数α1及第四素数α2确定与私钥α对应的公钥;
[0160]
s32:获取加密终端发送的密文,密文为加密终端根据公钥及预先设计好的数据同态加密算法的加密规则对待传输的明文进行加密后得到;
[0161]
s33:根据公钥、与公钥对应的私钥α及数据同态加密算法的解密规则,对密文进行解密,以得到明文。
[0162]
首先需要说明的是,这里的解密终端包括但不限于服务器及客户端等实体终端,在此不作特别的限定。解密终端包括预先设计好的数据同态加密算法,该算法包括密钥确定规则、加密规则及解密规则三个部分,可见,本技术提供的数据同态加密算法既可以满足加密终端对待传输的明文的加密传输,也可以满足解密终端对加密终端依据公钥及对应的加密规则对明文进行加密后发送的密文,依照该数据同态加密算法的解密规则进行解密。
[0163]
具体的,这里对于s31步骤,在实际应用中第一素数p和第二素数q可以选择的大一些,第一素数p和第二素数q的数值越大,加密的安全性越高。而对应的加密规则即为上述各
个实施例中所述的加密规则,因此不再赘述。
[0164]
此外,按照本技术中的数据同态加密算法的加密规则及解密规则的设置易得,该算法满足乘法同态,即可以实现先解密后相乘在取模意义上等价于先相乘后解密,可以满足解密终端的一些特殊需求,也即作为特殊的情况,某些解密终端想要对明文进行数据处理但又不想要得到对该明文进行加密后的密文的信息处理方破解该数据,那么依照本技术提供的数据同态加密算法,解密终端可以不将所述公钥及对应的加密规则对该信息处理方公开,而只将加密后的密文发送给信息处理方进行数据处理,此时由于该数据同态加密算法满足的乘法同态而无需解密直接进行数据处理,得到的处理后的数据再发送给该解密终端,这样对于解密终端来说,则既不会泄露明文又实现了数据处理。以待处理的明文为n1及n2为例,依照本技术中的数据同态加密算法满足的乘法同态,有如下关系式成立:
[0165]
d(w(n1)w(n2))=n1n
2 mod n2;
[0166]
其中,d(w(n1)w(n2))表示对w(n1)w(n2)的解密,w(n1)表示对n1的加密。
[0167]
综上,本技术提供了一种数据解密方法,解密终端在获取到待解密的密文时,可以直接依据密钥及对应的解密规则进行解密,而无需进行繁琐的加密摘要信息的验证步骤,省去了验证成本,最终保证了信息传输的安全性。
[0168]
作为一种优选的实施例,公钥包括第一数据n、第二数据a及第三数据g;密文包括第四数据c3及第五数据c4;
[0169]
根据公钥、与公钥对应的私钥α及数据同态加密算法的解密规则,对密文进行解密,以得到明文,包括:
[0170]
基于私钥α、第一数据n、第三数据g及第一预设关系式对第四数据c3进行处理,以得到第六数据ck;
[0171]
第一预设关系式为:
[0172][0173]
其中,mod表示取模运算;
[0174]
基于第二数据a、第六数据ck、第一数据n及第二预设关系式对第五数据c4进行处理,以得到明文e;
[0175]
第二预设关系式为:
[0176]
e=c4*(1 ck(n-a)n)mod n2。
[0177]
本实施例中,给出了解密终端依靠公钥、与公钥对应的私钥α及对应的解密规则进行解密的方式,具体步骤见上述所述,此处不再赘述。可见,通过上述方式可以可靠地实现对数据的解密,且相对的,不需要进行大量的模幂运算,保证了解密速度,可操作性和实用性强。
[0178]
作为一种优选的实施例,基于私钥α、第一数据n、第三数据g及第一预设关系式对第四数据c3进行处理,以得到第六数据ck,具体包括:
[0179]
计算第一素数p的平方得到第七数据p2;
[0180]
计算第二素数q的平方得到第八数据q2;
[0181]
基于第四数据c3、私钥α、第七数据p2及第三预设关系式求得第九数据
[0182]
第三预设关系式为:
[0183][0184]
其中,mod表示取模运算;
[0185]
基于第四数据c3、私钥α、第八数据q2及第四预设关系式求得第十数据
[0186]
第四预设关系式为:
[0187][0188]
基于第九数据第七数据p2、第十数据及第八数据q2建立第二线性同余方程组并应用中国剩余定理进行求解,以得到第十一数据
[0189]
第二线性同余方程组为:
[0190][0191]
基于第三数据g、私钥α、第七数据p2及第五预设关系式求得第十二数据
[0192]
第五预设关系式为:
[0193][0194]
基于第三数据g、私钥α、第八数据q2及第六预设关系式求得第十三数据
[0195]
第六预设关系式为:
[0196][0197]
基于第十二数据第七数据p2、第十三数据及第八数据q2建立第三线性同余方程组并应用中国剩余定理进行求解,以得到第十四数据
[0198]
第三线性同余方程组为:
[0199][0200]
基于第一数据n、第十一数据第十四数据及第七预设关系式得到第六数据ck;
[0201]
第七预设关系式为:
[0202]
本实施例中,发明人进一步考虑到如果解密终端的存储空间足够,则同样可以依据上述实施例中所述的预先存储有幂次-同余值对应关系的方式简化本技术中解密规则中的幂次运算,但存在一些解密终端可能本身的存储空间比较小,不便存储上述对应关系,则本条实施例中给出了另外一种简化本技术中解密规则中的幂次运算的方式。具体的,实际操作中,对于(c3)
α
及g
α
可以只计算一次并存储,以便计算对应的数据时使用即可,于是可以理解的是,以第十一数据的计算为例,实验可知按照本条实施例中计算第九数据第十数据并应用中国剩余定理求得第十一数据的计算量,小于直接计算(c3)
α
mod n2的
计算量。最终实现了对第六数据ck的计算过程实现简化,具体的过程见上述步骤,此处不再赘述。
[0203]
还需要说明的是,对于加密终端,若其存储空间也有限,不能依据上述预先存储有幂次-同余值对应关系的方式简化本技术中加密规则中的幂次运算,但又有简化幂次计算的需求,虽然其不能直接获取到第一素数p及第二素数q以免泄漏私钥,但是在其应用加密规则进行加密时为了简化对于第十二数据c1的计算量,可以在该加密终端中加装一个类似于黑箱的程序,该程序可以在不泄漏第一素数p及第二素数q的基础上直接应用本条实施例中简化幂次计算的逻辑实现输出,比如输入第九数据g、第一数据n、第十数据k、第十一数据r即可以得到所述第十二数据c1,而该黑箱中内部执行的程序逻辑即为本条实施例所述的应用中国剩余定理进行的简化步骤。
[0204]
请参照图3,图3为本发明提供的一种数据加密系统的结构示意图。
[0205]
该数据加密系统,应用于加密终端,包括:
[0206]
密钥获取单元41,用于获取解密终端根据预先设计好的数据同态加密算法确定并公布的公钥及对应的加密规则,其中,公钥为解密终端根据数据同态加密算法的密钥确定规则确定;
[0207]
密钥确定规则为:解密终端确定互不相同的第一素数p及第二素数q;将p和q相乘得到第一数据n;从a1的素因子中选择一个第三素数α1,从a2的素因子中选择一个第四素数α2,其中,a1=p-1;a2=q-1;确定第三素数α1及第四素数α2相乘得到的结果为私钥α;基于第一数据n、第一素数p、第二素数q、第三素数α1及第四素数α2确定与私钥α对应的公钥;
[0208]
明文确定单元42,用于确定当前待加密传输的明文;
[0209]
加密单元43,用于根据公钥及加密规则对明文进行加密,以得到密文。
[0210]
对于本发明中提供的数据加密系统的介绍请参照上述数据加密方法的实施例,此处不再赘述。
[0211]
请参照图4,图4为本发明提供的一种数据解密系统的结构示意图。
[0212]
该数据解密系统,应用于解密终端,包括:
[0213]
密钥确定单元51,用于确定互不相同的第一素数p及第二素数q;将p和q相乘得到第一数据n;从a1的素因子中选择一个第三素数α1,从a2的素因子中选择一个第四素数α2,其中,a1=p-1;a2=q-1;确定第三素数α1及第四素数α2相乘得到的结果为私钥α;基于第一数据n、第一素数p、第二素数q、第三素数α1及第四素数α2确定与私钥α对应的公钥;
[0214]
密文获取单元52,用于获取加密终端发送的密文,密文为加密终端根据公钥及预先设计好的数据同态加密算法的加密规则对待传输的明文进行加密后得到;
[0215]
解密单元53,用于根据公钥、与公钥对应的私钥α及数据同态加密算法的解密规则,对密文进行解密,以得到明文。
[0216]
对于本发明中提供的数据解密系统的介绍请参照上述数据解密方法的实施例,此处不再赘述。
[0217]
请参照图5,图5为本发明提供的一种数据处理装置的结构示意图。
[0218]
该数据处理装置,包括:
[0219]
存储器61,用于存储计算机程序;
[0220]
处理器62,用于执行如上述所述的数据加密方法的步骤。
[0221]
对于本发明中提供的数据处理装置的介绍请参照上述数据加密方法及数据解密方法的实施例,此处不再赘述。
[0222]
需要说明的是,当该数据处理装置执行的是数据加密方法的步骤时,其本质上进行的是对待加密的明文加密;当该数据处理装置执行的是数据解密方法的步骤时,其本质上进行的是对待解密的密文的解密。
[0223]
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
[0224]
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0225]
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
[0226]
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其他实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献