一种传送和处理数据的方法及系统与流程

文档序号:18125061发布日期:2019-07-10 09:51阅读:140来源:国知局
一种传送和处理数据的方法及系统与流程

本发明涉及数据处理领域,尤其是涉及一种传送和处理数据的方法及相应的传送和处理数据的系统。



背景技术:

目前,中小银行相对大型银行的业务种类相近,对IT系统同样有较高的要求,但自身资源有限,于数据处理能力不足,在IT系统建设运维方面存在资金和技术能力等方面的欠缺,若进行设备升级,则会面临资金短缺、转型周期过长等状况,在这种情况下,最好的办法是基于云平台的IT系统托管。

例如,大型金融IT企业或云服务提供商为中小银行提供云平台,以满足其业务服务,如更新账户金额、记录交易、交易流水等。有时候,中小银行为了方便数据计算,省去将加密数据解密为明文进行运算、再将计算结果加密的步骤,故在云平台中的关于客户金额等的敏感数据均采用明文存储,极不利于客户数据安全与隐私保护。

除此之外,在其它类似的情况下,也可能存在本地数据与运算平台(尤其是云运算平台)之间传送和处理数据时的数据安全问题。



技术实现要素:

本发明的主要目的是提供一种传送和处理数据的方法及相应的传送和处理数据的系统,可以很大限度地保证数据安全,使得计算平台虽然能计算数据,但却无法得知数据的具体含义。

根据本发明的一个方面,提供了一种传送和处理数据的方法,所述方法包括以下步骤:

S1:生成密钥;

S2:利用已经生成的所述密钥,对明文数据进行加密处理,得到密文数据;

S3:将已经得到的所述密文数据传送给运算平台;

S4:从所述运算平台处获得密文数据运算结果,并将所述密文数据运算结果解密为明文数据运算结果。

进一步地,所述运算平台为云运算平台。

进一步地,在S1中,生成密钥矩阵;在S2中,明文数据被编码为明文矩阵,利用已经生成的所述密钥矩阵,对所述明文矩阵进行加密处理,得到密文矩阵。

进一步地,在S2中,明文数据被编码为一个三角矩阵;其中,取自于实数集中的明文数据被隐藏于三角矩阵的左上角,三角矩阵的其他元素随机取自于实数集中。

进一步地,

加密域为矩阵范围,

密钥矩阵为H,定义如下:

其中的Hi定义如下:

其中,i=1-4,

hij∈R(i=1,…,4,j=1,…,9)为随机数,并且H是可逆的。

进一步地,在S4中,在进行解密时,首先校验接收的所述密文数据运算结果是否有误。

进一步地,校验密钥为K,定义如下:

加密的明文数据为m∈R,随机数ri∈R(i=1,…,17),则明文矩阵为:

其中,

那么,密文矩阵为:

C=EncH(m)=HMH-1

在进行解密时,利用下面的公式检查接收的所述密文数据运算结果是否正确:

((H-1CH)11)11=(K-1(H-1CH)21K)11。

并且,根据本发明的另一个方面,提供了一种传送和处理数据的系统,所述系统包括:

密钥生成模块,用于生成密钥;

加密模块,用于利用已经生成的所述密钥,对明文数据进行加密处理,得到密文数据;

传送模块,用于将已经得到的所述密文数据传送给运算平台;

解密模块,用于从所述运算平台处获得密文数据运算结果,并将所述密文数据运算结果解密为明文数据运算结果。

进一步地,所述运算平台为云运算平台。

进一步地,所述密钥生成模块用于生成密钥矩阵;所述加密模块用于将明文数据编码为明文矩阵,然而利用已经生成的所述密钥矩阵,对所述明文矩阵进行加密处理,从而得到密文矩阵。

进一步地,所述加密模块用于将明文数据编码为一个三角矩阵;其中,取自于实数集中的明文数据被隐藏于三角矩阵的左上角,三角矩阵的其他元素随机取自于实数集中。

进一步地,

加密域为矩阵范围,

密钥矩阵为H,定义如下:

其中的Hi定义如下:

其中,i=1-4,

hij∈R(i=1,…,4,j=1,…,9)为随机数,并且H是可逆的。

进一步地,所述解密模块用于在进行解密时,首先校验接收的所述密文数据运算结果是否有误。

进一步地,

校验密钥为K,定义如下:

加密的明文数据为m∈R,随机数ri∈R(i=1,…,17),则明文矩阵为:

其中,

那么,密文矩阵为:

C=EncH(m)=HMH-1

在进行解密时,利用下面的公式检查接收的所述密文数据运算结果是否正确:

((H-1CH)11)11=(K-1(H-1CH)21K)11。

本发明提出的传送和处理数据的方法及相应的传送和处理数据的系统,其优点及效果是:

可以很大限度地保证数据安全,使得计算平台虽然能计算数据,但却无法得知数据的具体含义。例如,大型金融IT企业或云运算服务提供商的运算平台只能获知中小银行放置于此的敏感数据的密文,对于其相对明文却无从知晓,故它们提供的运算服务对于用户而言相对较安全。

附图说明

图1是根据本发明实施例的传送和处理数据的方法的流程图;

图2是根据本发明实施例的传送和处理数据的系统的组成框图。

具体实施方式

下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。

图1是根据本发明实施例的传送和处理数据的方法的流程图。如图1所示,在该实施例的传送和处理数据的方法中,包括以下步骤:

S1:生成密钥;

S2:利用已经生成的所述密钥,对明文数据进行加密处理,得到密文数据;

S3:将已经得到的所述密文数据传送给运算平台;

S4:从所述运算平台处获得密文数据运算结果,并将所述密文数据运算结果解密为明文数据运算结果。

本发明提出了一个基于非交换环(例如矩阵)的无噪声对称全同态加密方案。具体地,在上述方法中:

参与加密的明文数据可以为整数,整数的范围视编译器所支持的范围而定,一般而言可支持double类型的整数数据长度。

在加密阶段,明文可以被编码为一个三角矩阵作为明文矩阵,其中,取自于实数集中的明文被隐藏于三角矩阵的左上角,三角矩阵的其他元素随机取自于实数集中。使密钥矩阵和明文矩阵做相应运算以得到密文矩阵,我们可以看出该算法既实现了同态加,又实现了同态乘,并且每次加密的结果都是不确定的。此外,加密方案不仅是安全的而且在计算成本以及明文、密文长度处理方面还是十分高效的。由于该方案的新颖的加密方式,使得检查密文正确性成为可能,也是正因为有了这个检查机制的存在,该方案便可抵御非适应性选择密文攻击。

可校验的同态加密算法的核心基于上面所描述的算法,同样地,在该加密方案中,所基于的加密的域为矩阵范围,也即,该加密方法是通过基于矩阵的运算而得出的。

加密的密钥矩阵为H,定义如下

其中的Hi定义如下:

其中,i=1-4,

hij∈R(i=1,…,4,j=1,…,9)为随机数,并且H是可逆的。实际上,从概率角度来讲,矩阵H中的元素是从一个范围较大的集合中随机所选取的,所以这时的H为可逆的。

校验密钥为K,定义如下

加密的明文为m∈R,随机数ri∈R(i=1,…,17),则明文矩阵为

其中,

那么,密文矩阵为

C=EncH(m)=HMH-1 (8)

解密时,接受密文者可以检查接收数据是否正确

((H-1CH)11)11=(K-1(H-1CH)21K)11 (9)

明文m=((H-1CH)11)11是矩阵H-1CH左上方矩阵块中的左上方元素,即为

m=(Y1C1H1+Y1C2H3+Y2C3H1+Y2C4H3)11 (10)

当式(9)成立时,表示当前接收者收到的密文是正确的,式(9)左边表示如下

((H-1CH)11)11=((H-1(HMH-1)H)11)11 (11)

=((M)11)11

=(M1)11

=m

式(9)右边表示如下

(K-1(H-1CH)21K)11=(K-1(H-1(HMH-1)H)21K)11 (12)

=(K-1(M)21K)11

=(K-1(KM2K-1)K)11

=(M2)11

=m

所以,当接收者收到密文后,可用式(9)进行检查,如果等式成立,则表示收到的密文无误。

运算时,假定C1和C2是分别是明文m1和m2对应的密文,并用和分别表示m1对应的明文矩阵中左上角和右下角出现的包含明文的矩阵,用和分别表示m2对应的明文矩阵中左上角和右下角出现的包含明文的矩阵。定义运算和运算如下

公式(13)即为矩阵的加法,公式(14)即为矩阵的乘法。

加法的同态特性可由下式看出

由此,我们可以得到

乘法的同态性可有下式看出

其中,

由此,我们可以得到

接下来,将对上文提到的整数上同态加密方案进行安全性分析。我们定义加密密钥H的逆矩阵H-1如下所示

密文定义为

其中每一个元素ci(i=1,…,9)表示如下

c1=h1my1+h1r1y4+h2r3y4+h1r2y7+h2r4y7+h3r5y7 (20)

c2=h1my2+h1r1y5+h2r3y5+h1r2y8+h2r4y8+h3r5y8 (21)

c3=h1my3+h1r1y6+h2r3y6+h1r2y9+h2r4y9+h3r5y9 (22)

c4=h4my4+h4r1y4+h5r3y4+h4r2y7+h5r4y7+h6r5y7 (23)

c5=h4my5+h4r1y5+h5r3y5+h4r2y8+h5r4y8+h6r5y8 (24)

c6=h4my6+h4r1y6+h5r3y6+h4r2y9+h5r4y9+h6r5y9 (25)

c7=h7my7+h7r1y4+h8r3y4+h7r2y7+h8r4y7+h9r5y7 (26)

c8=h7my8+h7r1y5+h8r3y5+h7r2y8+h8r4y8+h9r5y8 (27)

c9=h7my9+h7r1y6+h8r3y6+h7r2y9+h8r4y9+h9r5y9 (28)

同时,明文也可以被表示成如下形式

m=y1c1h1+y2c4h1+y3c7h1+y1c2h4+y2c5h4+y3c8h4+y1c3h7+y2c6h7+y3c9h7 (29)

其中yi,cj,hk∈R。

当一个攻击者被允许访问加密预言机而不是解密预言机,因为攻击者在访问解密预言机时也许会通过建立相关的密文问答机制来获得每一个秘密参数。

在公式(29)中,因为y1,y2,y3,h1,h7,h7是由随机数产生,所以它们的取值是不确定的,如此我们可以假定环R是交换环,即乘法运算中乘除与被乘数的位置可以调换,我们在计算mi时,就可以将的yicjhk顺序调换为cjyihk,那么攻击者就可解得出下(30)式关于y1h1,…,y3h7的线性等式

mi=ci1y1h1+ci4y2h1+ci7y3h1+ci2y1h4+ci5y2h4+ci8y3h4+ci3y1h7+ci6y2h7+ci9y3h7(30)

其中,y1h1,…,y3h7是待定系数,攻击者可以通过不同的ci2与得到的结果mi来确定y1h1,…,y3h7的线性关系,我们需要注意的是,y1h1,…,y3h7在加密过程中可被视为加密密钥,因此,无疑这样就泄露了密钥,那么该方案当R为一个阿贝尔环,即交换环时,比如说数域,在抵御线性攻击方面就是不安全的。

我们接下来可以讨论一个基于非交换环的全同态加密方案的密钥的安全性。从式子(20)到(29)我们可以看出,如若产生攻击,则攻击者会试图从式子(20)到(28)中分离密钥,那么我们可以主要讨论解密的安全性,即公式(5.12)的安全性。在询问加密预言机后,攻击者可以得到如下相应的等式,

m1=y1c11h1+y2c14h1+y3c17h1+y1c12h4+y2c15h4+y3c18h1+y1c13h7+y2c16h7+y3c19h7(31)

m2=y1c21h1+y2c24h1+y3c27h1+y1c22h4+y2c25h4+y3c28h4+y1c23h7+y2c26h7+y3c29h7(32)

mq=y1cq1h1+y2cq4h1+y3cq7h1+y1cq2h4+y2cq5h4+y3cq8h4+y1cq3h7+y2cq6h7+y3cq9h7(33)

上式中,cij是攻击者已知的,但是yl,cij,hk是非交换的,因为该全同态加密方案是不确定的,即使送往询问预言机的信息是相同的,所得到的密文也是随机的。在选择明文攻击中,解得解密密钥等同于在非交换环上求解二次多元多项式方程问题,而可验证的全同态加密方案正是解决了这一难题,通过接收信息者收到消息后进行密文验证,就可知道收到消息是否有效,便保证了数据的安全性。

图2是根据本发明实施例的传送和处理数据的系统的组成框图。如图2所示,在该实施例的传送和处理数据的系统中,包括:

密钥生成模块,用于生成密钥;

加密模块,用于利用已经生成的所述密钥,对明文数据进行加密处理,得到密文数据;

传送模块,用于将已经得到的所述密文数据传送给运算平台;

解密模块,用于从所述运算平台处获得密文数据运算结果,并将所述密文数据运算结果解密为明文数据运算结果。

在所述系统中,各个模块执行的动作对应于前述传送和处理数据的方法中的各个步骤,此处不在赘述。

如上所述,本发明提供的数据加密方法优选为全同态加密方法。所谓全同态加密,简单讲就是将明文加密后进行运算得到的结果即为将明文作相对应运算得到的结果相一致的算法。本发明提供的技术方案有以下5个优点和特点:

1)无噪声,加密过程涉及到的随机生成的随机数不增加任何计算复杂度,故也无需在电路节点进行更新,以削减噪声;

2)基于非交换环,该处所提到的非交换环即为矩阵,当做乘法运算的两个矩阵交换前后位置后,得到的结果矩阵在绝大多数情况下全然不同,甚至在有些时候做乘法的两个矩阵交换位置,并不能得到一个结果矩阵;

3)该方案在计算成本以及生成的明文、密文尺寸方面来讲还是相对效率较高的,因为减少了噪声的处理,无需采用自举或者模数运算等降噪机理,更无需担心噪声的持续增长,故计算效率也是有明显的提升;

4)接收者可以检查密文的有效性,信息接受者可通过某种方式检查收到的密文来核查当前密文是否有效,这也使得该方案可以有效地抵御选择明文攻击;

5)可抵御非适应性选择密文攻击,即为IND-CCA1安全,任何攻击者若不通过询问加密预言机,将无法构建一个有效的密文。

从而,利用本发明提供的传送和处理数据的方法及相应的传送和处理数据的系统,可以很大限度地保证数据安全,使得计算平台虽然能计算数据,但却无法得知数据的具体含义。

在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。

在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。

类似地,应当理解,为了精简本发明并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。

本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。

此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。

本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。

应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

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