发明内容
本发明实施例提供一种公钥加密通信方法和装置,以实现安全性更高的公钥加密通信方式。
本发明实施例的第一方面提供一种公钥加密通信方法,包括:
第一设备根据第一公钥对随机信息进行加密,得到第一密文;所述第一设备根据第二公钥对明文信息进行加密,得到第二密文;所述明文信息为所述第一设备待发送给第二设备的未加密数据;所述第一公钥采用多项式形式表示,所述第一公钥根据***参数,在截断多项式环上计算得到;所述第二公钥采用多项式形式表示,所述第二公钥在截断多项式环上随机选取;所述随机信息在截断多项式环上随机选取;
所述第一设备将所述第一密文和所述第二密文发送给第二设备。
结合第一方面,在第一方面的第一种可能的实现方式中,所述随机信息包括第一随机多项式和第二随机多项式;所述第一设备根据第一公钥和随机信息进行加密,得到第一密文,具体包括:
所述第一设备根据所述第一公钥、所述第一随机多项式、所述第二随机多项式,在模第一***参数的第一截断多项式环上计算得到所述第一密文。
结合第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,所述明文信息表示为模第二***参数的第二截断多项式环上的多项式;所述第一设备根据第二公钥对明文信息进行加密,得到第二密文,具体包括:
所述第一设备根据所述第二公钥、所述第一随机多项式、所述第二随机多项式和所述明文信息,在所述模第二***参数的第二截断多项式环上计算得到所述第二密文。
结合第一方面的第一种可能的实现方式,在第一方面的第三种可能的实现方式中,所述第一设备根据所述第一公钥、所述第一随机多项式、所述第二随机多项式,在模第一***参数的第一截断多项式环上计算得到所述第一密文,具体包括:
根据c1=r1h1+r2在第一截断多项式环上计算得到所述第一密文,所述h1为所述第一公钥,所述r1为所述第一随机多项式,所述r2为所述第二随机多项式,所述第一截断多项式环为所述q1为所述第一***参数。
结合第一方面的第二种可能的实现方式,在第一方面的第四种可能的实现方式中,所述第一设备根据所述第二公钥、所述第一随机多项式、所述第二随机多项式和所述明文信息,在所述模第二***参数的第二截断多项式环上计算得到所述第二密文,具体包括:
根据c2=r1h2+r2+M在第二截断多项式环上计算得到所述第二密文,所述h2为所述第二公钥,所述r1为所述第一随机多项式,所述r2为所述第二随机多项式,所述第二截断多项式环为所述q2为所述第二***参数。
结合第一方面的第二种至第三种任一种可能的实现方式,在第一方面的第五种可能的实现方式中,所述第一公钥根据第一***参数、第三随机多项式、第四随机多项式,在所述模第一***参数的所述第一截断多项式环上计算得到,所述第三随机多项式在所述模第一***参数的第一截断多项式环和模第三***参数的模的第三截断多项式环上同时具有逆元,所述第四随机多项式在所述的模第一***参数的所述第一截断多项式环上具有逆元。
结合第一方面的第五种可能的实现方式,在第一方面的第六种可能的实现方式中,所述第一公钥根据在第一截断多项式环上计算得到,所述p为所述第三***参数,所述f为所述第三随机多项式,所述为所述第三随机多项式在所述模第一***参数的第一截断多项式环上的逆元,所述g为所述第四随机多项式,q1为所述第一***参数,所述第一截断多项式环为
结合第一方面的第二种可能的实现方式,在第一方面的第七种可能的实现方式中,所述第二公钥在所述第二截断多项式环上随机选取,所述第二截断多项式环为
本发明实施例的第二方面提供一种公钥加密通信方法,包括:
第二设备接收第一设备发送的第一密文和第二密文;
所述第二设备根据第一私钥、第二私钥和所述第一密文计算得到第二随机多项式,根据第三私钥得到第一随机多项式,所述第一私钥采用多项式形式表示,所述第一私钥在截断多项式环上随机选取;所述第二私钥采用多项式形式表示,所述第二私钥为所述第一私钥在截断多项式环上的逆元;所述第三私钥采用多项式形式表示,所述第三私钥根据***参数的逆元和截断多项式上具有逆元的多项式计算得到;
所述第二设备根据所述第一随机多项式、所述第二随机多项式、所述第二密文和第二公钥,得到明文信息;所述明文信息为所述第一设备待发送给所述第二设备的未加密数据;所述第二公钥采用多项式形式表示,所述第二公钥在截断多项式环上随机选取。
结合第二方面,在第二方面的第一种可能的实现方式中,所述第二设备根据第一私钥、第二私钥和所述第一密文计算得到第二随机多项式,具体包括:
所述第二设备根据所述第一密文、所述第一私钥在模第一***参数的第一截断多项式环上计算得到过程参数;
所述第二设备根据所述过程参数、所述第二私钥在模第三***参数的第三截断多项式环上得到所述第二随机多项式。
结合第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,所述根据第三私钥得到第一随机多项式,具体包括:
所述第二设备根据所述过程参数和所述第三私钥,在所述模第一***参数的所述第一截断多项式环上计算得到所述第一随机多项式。
结合第二方面的第二种可能的实现方式,在第二方面的第三种可能的实现方式中,所述第二设备根据所述第一随机多项式、所述第二随机多项式、所述第二密文和第二公钥,得到明文信息,具体包括:
所述第二设备根据所述第一随机多项式、所述第二随机多项式、所述第二密文和第二公钥,在模第二***参数的第二截断多项式环上计算得到所述明文信息。
结合第二方面的第一种可能的实现方式,在第二方面的第四种可能的实现方式中,所述第二设备根据所述第一密文、所述第一私钥在模第一***参数的第一截断多项式环上计算得到过程参数,具体包括:
所述第二设备根据s=fc1在模第一***参数的第一截断多项式环上计算得到所述过程参数,f为所述第一私钥,c1为所述第一密文。
结合第二方面的第四种可能的实现方式,在第二方面的第五种可能的实现方式中,所述第二设备根据所述过程参数、所述第二私钥在模第三***参数的第三截断多项式环上得到所述第二随机多项式,具体包括:
所述第二设备根据sp=s(modp)以及在第三***参数的模的第三截断多项式环上计算得到所述第二随机多项式,所述p为所述第三***参数,为所述第二私钥,s为所述过程参数,所述第三截断多项式环为Zp[X]/XN-1。
结合第二方面的第四种可能的实现方式,在第二方面的第六种可能的实现方式中,所述第二设备根据所述过程参数和所述第三私钥,在所述模第一***参数的所述第一截断多项式环上计算得到所述第一随机多项式,具体包括:
根据sp=s(modp)以及r1=(s-sp)G在第一截断多项式环上计算得到所述第一随机多项式,s为所述过程参数,q1为所述第一***参数,p为所述第三***参数,G为所述第三私钥,所述第一截断多项式环为
结合第二方面的第三种可能的实现方式,在第二方面的第七种可能的实现方式中,所述第二设备根据所述第一随机多项式、所述第二随机多项式、所述第二密文和第二公钥,在模第二***参数的第二截断多项式环上计算得到所述明文信息,具体包括:
根据M=c2-r1h2-r2在第二截断多项式环上计算得到所述明文信息,所述c2为所述第二密文,所述r1为所述第一随机多项式,所述r2为所述第二随机多项式,所述h2为所述第二公钥。
结合第二方面的第二种可能的实现方式,在第二方面的第八种可能的实现方式中,所述第一私钥为第三随机多项式,第二私钥为所述第三随机多项式在所述模第三***参数的第三截断多项式环上的逆元,所述第三私钥根据所述第三***参数的逆、第四随机多项式在所述第一***参数的模的第一截断多项式环上的逆元计算得到。
结合第二方面的第八种可能的实现方式,在第二方面的第九种可能的实现方式中,所述第三私钥根据在所述模第一***参数的所述第一截断多项式上计算得到,p-1为第三***参数模所述第一***参数的逆,q1为所述第一***参数,为第四随机多项式在所述第一截断多项式环上的逆元,g为所述第四随机多项式。
本发明实施例的第三方面提供一种公钥加密通信装置,包括:
加密单元,用于根据第一公钥和随机信息进行加密,得到第一密文;还用于根据第二公钥对明文信息进行加密,得到第二密文;所述明文信息为所述第一设备待发送给第二设备的未加密数据;所述第一公钥采用多项式形式表示,所述第一公钥根据***参数,在截断多项式环上计算得到;所述第二公钥采用多项式形式表示,所述第二公钥在截断多项式环上随机选取;所述随机信息在截断多项式环上随机选取;
收发单元,将所述第一密文和所述第二密文发送给第二设备。
结合第三方面,在第三方面的第一种可能的实现方式中,所述随机信息包括第一随机多项式和第二随机多项式;所述加密单元具体用于:
根据所述第一公钥、所述第一随机多项式、所述第二随机多项式,在模第一***参数的第一截断多项式环上计算得到所述第一密文。
结合第三方面的第一种可能的实现方式,在第三方面的第二种可能的实现方式中,所述明文信息表示为模第二***参数的第二截断多项式环上的多项式;所述加密单元还具体用于:
根据所述第二公钥、所述第一随机多项式、所述第二随机多项式和所述明文信息,在所述模第二***参数的第二截断多项式环上计算得到所述第二密文。
结合第三方面的第一种可能的实现方式,在第三方面的第三种可能的实现方式中,所述加密单元用于根据所述第一公钥、所述第一随机多项式、所述第二随机多项式,在模第一***参数的第一截断多项式环上计算得到所述第一密文,具体用于:
根据c1=r1h1+r2在第一截断多项式环上计算得到所述第一密文,所述h1为所述第一公钥,所述r1为所述第一随机多项式,所述r2为所述第二随机多项式,所述第一截断多项式环为所述q1为所述第一***参数。
结合第三方面的第二种可能的实现方式,在第三方面的第四种可能的实现方式中,所述加密单元用于根据所述第二公钥、所述第一随机多项式、所述第二随机多项式和所述明文信息,在所述模第二***参数的第二截断多项式环上计算得到所述第二密文,具体用于:
根据c2=r1h2+r2+M在第二截断多项式环上计算得到所述第二密文,所述h2为所述第二公钥,所述r1为所述第一随机多项式,所述r2为所述第二随机多项式,所述第二截断多项式环为所述q2为所述第二***参数。
结合第三方面的第二种至第三种任一种可能的实现方式,在第三方面的第五种可能的实现方式中,所述第一公钥根据第一***参数、第三随机多项式、第四随机多项式,在所述模第一***参数的所述第一截断多项式环上计算得到,所述第三随机多项式在所述模第一***参数的第一截断多项式环和模第三***参数的第三截断多项式环上同时具有逆元,所述第四随机多项式在所述模第一***参数的所述第一截断多项式环上具有逆元。
结合第三方面的第五种可能的实现方式,在第三方面的第六种可能的实现方式中,所述第一公钥根据在第一截断多项式环上计算得到,所述p为所述第三***参数,所述f为所述第三随机多项式,所述为所述第三随机多项式在所述模第一***参数的第一截断多项式环上的逆元,所述g为所述第四随机多项式,q1为所述第一***参数,所述第一截断多项式环为
结合第三方面的第二种可能的实现方式,在第三方面的第七种可能的实现方式中,所述第二公钥在所述第二截断多项式环上随机选取,所述第二截断多项式环为
本发明实施例的第四方面提供一种公钥加密通信装置,包括:
收发单元,用于接收第一设备发送的第一密文和第二密文;
解密单元,用于根据第一私钥、第二私钥和所述第一密文计算得到第二随机多项式,根据第三私钥得到第一随机多项式,所述第一私钥采用多项式形式表示,所述第一私钥在截断多项式环上随机选取;所述第二私钥采用多项式形式表示,所述第二私钥为所述第一私钥在截断多项式环上的逆元;所述第三私钥采用多项式形式表示,所述第三私钥根据***参数的逆元和截断多项式上具有逆元的多项式计算得到;
所述解密单元,还用于根据所述第一随机多项式、所述第二随机多项式、所述第二密文和第二公钥,得到明文信息;所述明文信息为所述第一设备待发送给所述第二设备的未加密数据;所述第二公钥采用多项式形式表示,所述第二公钥在截断多项式环上随机选取。
结合第四方面,在第四方面的第一种可能的实现方式中,所述解密单元具体用于:
根据所述第一密文、所述第一私钥在模第一***参数的第一截断多项式环上计算得到过程参数;
根据所述过程参数、所述第二私钥在模第三***参数的第三截断多项式环上得到所述第二随机多项式。
结合第四方面的第一种可能的实现方式,在第四方面的第二种可能的实现方式中,所述解密单元还具体用于:
所述第二设备根据所述过程参数和所述第三私钥,在所述模第一***参数的所述第一截断多项式环上计算得到所述第一随机多项式。
结合第四方面的第二种可能的实现方式,在第四方面的第三种可能的实现方式中,所述解密单元还具体用于:
根据所述第一随机多项式、所述第二随机多项式、所述第二密文和第二公钥,在模第二***参数的第二截断多项式环上计算得到所述明文信息。
结合第四方面的第一种可能的实现方式,在第四方面的第四种可能的实现方式中,所述解密单元根据所述第一密文、所述第一私钥在模第一***参数的第一截断多项式环上计算得到过程参数,具体用于:
根据s=fc1在模第一***参数的第一截断多项式环上计算得到所述过程参数,f为所述第一私钥,c1为所述第一密文。
结合第四方面的第四种可能的实现方式,在第四方面的第五种可能的实现方式中,所述解密单元根据所述过程参数、所述第二私钥在模第三***参数的第三截断多项式环上得到所述第二随机多项式,具体用于:
根据sp=s(modp)以及在第三***参数的模的第三截断多项式环上计算得到所述第二随机多项式,所述p为所述第三***参数,为所述第二私钥,s为所述过程参数,所述第三截断多项式环为Zp[X]/XN-1。
结合第四方面的第四种可能的实现方式,在第四方面的第六种可能的实现方式中,所述解密单元根据所述过程参数和所述第三私钥,在所述模第一***参数的所述第一截断多项式环上计算得到所述第一随机多项式,具体用于:
根据sp=s(modp)以及r1=(s-sp)G在第一截断多项式环上计算得到所述第一随机多项式,s为所述过程参数,q1为所述第一***参数,p为所述第三***参数,G为所述第三私钥,所述第一截断多项式环为
结合第四方面的第三种可能的实现方式,在第四方面的第七种可能的实现方式中,所述解密单元根据所述第一随机多项式、所述第二随机多项式、所述第二密文和第二公钥,在模第二***参数的第二截断多项式环上计算得到所述明文信息,具体用于:
根据M=c2-r1h2-r2在第二截断多项式环上计算得到所述明文信息,所述c2为所述第二密文,所述r1为所述第一随机多项式,所述r2为所述第二随机多项式,所述h2为所述第二公钥。
结合第四方面的第二种可能的实现方式,在第四方面的第八种可能的实现方式中,所述第一私钥为第三随机多项式,第二私钥为所述第三随机多项式在所述模第三***参数的第三截断多项式环上的逆元,所述第三私钥根据所述第三***参数的逆、第四随机多项式在所述模第一***参数的第一截断多项式环上的逆元计算得到。
结合第四方面的第八种可能的实现方式,在第四方面的第九种可能的实现方式中,所述第三私钥根据在所述模第一***参数的所述第一截断多项式上计算得到,p-1为第三***参数模所述第一***参数的逆,q1为所述第一***参数,为第四随机多项式在所述模第一***参数的第一截断多项式环上的逆元,g为所述第四随机多项式。
本发明实施例公钥加密通信方式,通过第一设备根据第一公钥对随机信息进行加密,得到第一密文,并根据第二公钥对明文信息进行加密,得到第二密文,其中,所述明文信息为所述第一设备待发送给第二设备的未加密数据;所述第一公钥采用多项式形式表示,所述第一公钥根据***参数,在截断多项式环上计算得到;所述第二公钥采用多项式形式表示,所述第二公钥在截断多项式环上随机选取;所述随机信息在截断多项式环上随机选取;所述第一设备将所述第一密文和所述第二密文发送给第二设备,相当于将随机信息作为共享密钥并对该随机信息实现了一次加密,再使用公钥和随机信息对明文信息进行加密,实现了安全性更高的公钥加密通信方式。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明公钥加密通信方法实施例一的流程图,如图1所示,本实施例的方法可以包括:
S101、第一设备根据第一公钥对随机信息进行加密,得到第一密文;所述第一设备根据第二公钥对明文信息进行加密,得到第二密文;所述明文信息为所述第一设备待发送给第二设备的未加密数据;所述第一公钥采用多项式形式表示,所述第一公钥根据***参数,在截断多项式环上计算得到;所述第二公钥采用多项式形式表示,所述第二公钥在截断多项式环上随机选取;所述随机信息在截断多项式环上随机选取。
S102、所述第一设备将所述第一密文和所述第二密文发送给第二设备。
在本发明提供的公钥加密通信方法的各种实施方式中,公钥通信的发送端和接收端的设备可以分别称为第一设备和第二设备,公钥通信中第一设备待发送给第二设备的的未加密数据可以称为明文信息。所述第一公钥和所述第二公钥可以由所述公钥通信的密钥生成设备生成,所述密钥生成设备可以是第二设备或其他可信的第三方设备,所述第一设备在准备向第二设备发送加密数据之前,从所述密钥生成设备获取与所述第二设备进行加密通信所需的所述第一公钥和所述第一公钥,即所述第二设备的公钥证书,所述密钥生成设备同时生成与所述第一公钥和第二公钥配对的第一私钥、第二私钥和第三私钥。所述公钥信息存储于公钥基础设施(PublicKeyInfrastructure,简称PKI)颁发的公钥证书中。
所述第一公钥可以采用多项式形式表示,所述第一公钥可以根据***参数,在截断多项式环上计算得到。
其中,***参数是指在公钥通信的过程中密钥生成设备、发送端的第一设备和接收端的第一设备基于安全性和计算效率的考虑预先设置的一组参数。截断多项式环是指系数为整数的单变量的N-1次多项式的集合。用于计算第一公钥的截断多项式环可以根据本次公钥通信采用的***参数确定。
所述第二公钥可以采用多项式形式表示,所述第二公钥在截断多项式环上随机选取。
其中,用于选取第二公钥的截断多项式环可以根据本次公钥通信采用的***参数确定。所述随机信息可以由所述第一设备根据安全性和加密效率的要求在截断多项式环上随机选取,也就是说,所述随机信息可以为任意单变量多项式。所述单变量多项式的系数可以组成一个向量,所述系数的向量的范数大小与加密效率成反比,因此,所述第一设备可以优选所述系数的向量的范数最小的单变量多项式作为所述随机信息。
所述第一设备使用所述第一公钥对所述随机信息进行加密得到的第一密文,和所述第一设备根据所述第二公钥和所述随机信息对所述明文信息进行加密得到的第二密文为一对多项式。
所述第一设备根据第一公钥对随机信息进行加密得到第一密文,类似于通信双方先进行一次共享密钥协商,把共享密钥嵌入到一类单向陷门函数中,用于实现概率加密,得到所述第一密文的加密方式携载所述随机信息,所述随机信息相当于通信双方的共享密钥。所述第一设备根据第二公钥对明文信息进行加密得到第二密文,类似于使用共享密钥实现一次一密的加密,所述第二密文携载明文信息,得到所述第二密文的加密模式而不会泄露所述明文信息。利用数学方法可以证明本发明的这种公钥通信方法相比于现有技术的NTRU算法具有更高的安全性。一种安全性评估方法可描述如下:在一定攻击模式下,攻击者随机选取两个明文m1和m2,密码算法随机选取其中一个明文mb进行加密得到密文c,b为1或2,攻击者若能够从c以不可忽略概率判断出b=1或b=2,相当于攻击者正确猜出哪一个明文被加密得到密文c,则攻击者成功攻破该加密算法的语义安全性。应用上面的方法对本发明的加密方式的安全性进行验证,由于本发明是通过构造两次基于多项式的单向陷门函数进行两次加密,攻击者攻破算法的语义安全性的概率是可忽略的,而现有技术的NTRU加密算法其语义安全性被攻破的概率是不可忽略的,因此,通过数学方法可以评估出本发明相对于现有技术具有更高的安全性。
本发明实施例公钥加密通信方式,通过第一设备根据第一公钥对随机信息进行加密,得到第一密文,并根据第二公钥对明文信息进行加密,得到第二密文,其中,所述明文信息为所述第一设备待发送给第二设备的未加密数据;所述第一公钥采用多项式形式表示,所述第一公钥根据***参数,在截断多项式环上计算得到;所述第二公钥采用多项式形式表示,所述第二公钥在截断多项式环上随机选取;所述随机信息在截断多项式环上随机选取;所述第一设备将所述第一密文和所述第二密文发送给第二设备,相当于将随机信息作为共享密钥并对该随机信息实现了一次加密,再使用公钥和随机信息对明文信息进行加密,实现了安全性更高的公钥加密通信方式。
可选的,图1所示方法实施例一包括一种可选的实施方式,与图1所示方法不同的是:
S101中的所述随机信息可以包括第一随机多项式和第二随机多项式。
相应地,S101中所述第一设备根据第一公钥和随机信息进行加密,得到第一密文,可以具体包括:
S101-1、所述第一设备根据所述第一公钥、所述第一随机多项式、所述第二随机多项式,在模第一***参数的第一截断多项式环上计算得到所述第一密文。
S101中的所述明文信息可以表示为模第二***参数的第二截断多项式环上的多项式。
相应地,S101中所述第一设备根据第二公钥对明文信息进行加密,得到第二密文,可以具体包括:
S101-2、所述第一设备根据所述第二公钥、所述第一随机多项式、所述第二随机多项式和所述明文信息,在所述模第二***参数的第二截断多项式环上计算得到所述第二密文。
其中,S101-1中的所述第一公钥可以由所述密钥生成设备根据第一***参数、第三随机多项式、第四随机多项式,在所述第一截断多项式环上计算得到。其中,所述第三随机多项式和所述第四随机多项式可以由所述密钥生成设备随机选取,所述第三随机多项式的取值范围应满足在所述模第一***参数的第一截断多项式环和模第三***参数的第三截断多项式环上同时具有逆元;所述第四随机多项式的取值范围为在所述第一截断多项式环上具有逆元的多项式。
S101-2中的所述第二公钥可以由所述密钥生成设备随机选取,所述第二公钥的取值范围为第二截断多项式环上的任意多项式。
举例来说,所述第一公钥可以根据在第一截断多项式环上计算得到,其中,所述h1为所述第一公钥,所述p为所述第三***参数,所述f为所述第三随机多项式,所述为所述第三随机多项式在所述模第一***参数的第一截断多项式环上的逆元,所述g为所述第四随机多项式,所述第一截断多项式环为
所述S101-1中的所述第一密文可以根据c1=r1h1+r2在第一截断多项式环上计算得到,其中,所述h1为所述第一公钥,所述r1为所述第一随机多项式,所述r2为所述第二随机多项式,所述第一截断多项式环为所述q1为所述第一***参数。
所述S101-2中的所述第二密文可以根据c2=r1h2+r2+M在第二截断多项式环上计算得到,所述h2为所述第二公钥,所述r1为所述第一随机多项式,所述r2为所述第二随机多项式,所述第二截断多项式环为所述q2为所述***第二参数。
在上述实施方式中,S101-1中的所述第一***参数、S101-2中的所述第二***参数以及第四***参数N均可以由所述密钥生成设备根据安全性和密钥生成的性能要求预先设置。可选的,对于最高级别的安全性,第四***参数N可以选取503。优选的,所述第一***参数和第二***参数为两个奇素数,且所述第二***参数等于第一***参数加2,即q2=q1+2,例如,q1为239,q2为241;或者,q1为269,q2为271。
需要说明的是,截断多项式环是指系数为整数的单变量的N-1次多项式的集合,通常可表示为Z[X]/XN-1,S101-1中所述的模第一***参数的第一截断多项式环是指所述截断多项式环模所述第一***参数得到的截断多项式环,类似地,所述模第三***参数的第三截断多项式环Zp[X]/XN-1是指所述截断多项式环模所述第三***参数得到的截断多项式环。另外,模多项式的运算是指一个多项式除以一个模多项式,模多项式的运算结果是该多项式除以模多项式所得的余多项式,例如,一个多项式模多项式XN-1的运算结果为该多项式除以多项式XN-1的余多项式。
进一步地,为了减少计算量,本发明所述模运算只取绝对最小完全剩余系内的模运算结果,例如,一个自然数模3最小完全剩余系内的运算结果为-1、0、1,而不是0、1、2。相应地,所述第一随机多项式和所述第二随机多项式的选取时,可以在截断多项式环Z[X]/XN-1上选择系数为+1或-1或0的多项式,其中,系数为+1的项数约为N/3个,系数为-1的项数约为N/3-1个,剩余的项的系数为0。
本实施例,通过所述第一设备将所述第一密文和所述第二密文发送给第二设备,以使所述第二设备根据所述第一密文和第二密文以及与所述第一公钥和第二公钥对应的第一私钥和第二私钥和第三私钥进行解密,得到明文信息,相当于将随机信息作为共享密钥并对该随机信息实现了一次加密,再使用公钥和随机信息对明文信息进行加密,实现了安全性更高的公钥加密通信方式。并且,本发明的加密方法与其他可证明安全性的加密方式相比,加密速度、解密速度以及密文扩展比方面都有一定提升。
图2为本发明公钥加密通信方法实施例二的流程图,如图2所示,本实施例的方法可以包括:
S201、第二设备接收第一设备发送的第一密文和第二密文。
S202、所述第二设备根据第一私钥、第二私钥、第一***参数和所述第一密文计算得到第二随机多项式,根据第三私钥、得到第一随机多项式,所述第一私钥采用多项式形式表示,所述第一私钥在截断多项式环上随机选取;所述第二私钥采用多项式形式表示,所述第二私钥为所述第一私钥在截断多项式环上的逆元;所述第三私钥采用多项式形式表示,所述第三私钥根据***参数的逆元和截断多项式上具有逆元的多项式计算得到。
S203、所述第二设备根据所述第一随机多项式、所述第二随机多项式、所述第二密文和第二公钥,得到明文信息;所述明文信息为所述第一设备待发送给所述第二设备的未加密数据;所述第二公钥采用多项式形式表示,所述第二公钥在截断多项式环上随机选取。
其中,第二设备接收第一设备发送的所述第一密文和所述第二密文为加密后的数据,所述第一密文和所述第二密文可以为一对多项式。
所述第一私钥可以采用多项式形式表示,所述第一私钥可以在截断多项式环上随机选取;所述第二私钥可以采用多项式形式表示,所述第二私钥可以为所述第一私钥在截断多项式环上的逆元;所述第三私钥可以采用多项式形式表示,所述第三私钥可以根据***参数的逆元和截断多项式上具有逆元的多项式计算得到。
其中,***参数是指在公钥通信的过程中密钥生成设备、发送端的第一设备和接收端的第一设备基于安全性和计算效率的考虑预先设置的一组参数。截断多项式环是指系数为整数的单变量的N-1次多项式的集合。
用于选取第一私钥的截断多项式环、用于选取第二私钥的截断多项式环和用于选取第三私钥的截断多项式环,可以分别根据本次公钥通信采用的***参数确定。所述第二设备在接收所述第一设备发送的加密后的数据之前,从公钥通信的密钥生成设备获取解密需要的私钥信息和公钥信息。所述密钥生成设备可以是第二设备或其他可信任的第三方设备,所述第一私钥、所述第二私钥、所述第三私钥和第二公钥可以由所述公钥通信的密钥生成设备生成,所述密钥生成设备生成的第一私钥、第二私钥和第三私钥与所述第一公钥和第二公钥匹配。
所述第二设备根据第一私钥、第二私钥、第一***参数和所述第一密文计算得到第二随机多项式,根据第三私钥得到第一随机多项式的过程,类似于通信双方协商共享密钥,根据第一私钥和第二私钥、第一密文解出单向陷门函数对应的第二随机多项式,以及根据第三私钥解出第一随机多项式,相当于从所述第一密文中获取通信双方的共享密钥。其中,所述单向陷门函数为所述第一设备在加密数据时使用的,且所述***参数与所述第一设备在加密数据时使用的相同。
因此,所述第二设备根据所述第一设备在加密过程使用的单向陷门函数、第一私钥、第二私钥、第一***参数、第三私钥和所述第一密文可以计算得到第二随机多项式和第一随机多项式。所述第二设备可以根据所述第一设备加密过程使用的单向陷门函数、第一随机多项式、第二随机多项式、第二公钥和所述第二密文计算得到所述明文信息。
本发明实施例所示方法的安全性与图1所示方法相同,具体可参考实施例一中的安全性证明过程,此处不再赘述。
可选的,图2所示方法实施例二包括一种可选的实施方式,与图2所示方法不同的是:
S202中的所述第二设备根据第一私钥、第二私钥和所述第一密文计算得到第二随机多项式,可以具体包括:
S202-1、所述第二设备根据所述第一密文、所述第一私钥在模第一***参数的第一截断多项式环上计算得到过程参数。
S202-2、所述第二设备根据所述过程参数、所述第二私钥在模第三***参数的第三截断多项式环上得到所述第二随机多项式。
S202中的所述根据第三私钥得到第一随机多项式,可以具体包括:
S202-3、所述第二设备根据所述过程参数和所述第三私钥,在所述模第一***参数的所述第一截断多项式环上计算得到所述第一随机多项式。
S203中的所述第二设备根据所述第一随机多项式、所述第二随机多项式、所述第二密文和第二公钥,得到明文信息,可以具体包括:
S203-1、所述第二设备根据所述第一随机多项式、所述第二随机多项式、所述第二密文和第二公钥,在模第二***参数的第二截断多项式环上计算得到所述明文信息。
其中,所述第一私钥为第三随机多项式,第二私钥为所述第三随机多项式在所述模第三***参数的第三截断多项式环上的逆元,所述第三私钥根据所述第三***参数的逆、第四随机多项式在所述模第一***参数的第一截断多项式环上的逆元计算得到。
其中,所述第三随机多项式和所述第四随机多项式由所述密钥生成设备随机选取,所述第三随机多项式的取值范围为在所述第一截断多项式和模第三***参数的第三截断多项式环上同时具有逆元的多项式;所述第四随机多项式的取值范围为在所述模第一***参数的所述第一截断多项式环上具有逆元的多项式。
需要说明的是,上述各个***参数及其对应的各个截断多项式环以及模运算的结果要求,与实施例一相同,此处不再赘述。
举例来说,S202-1中所述过程参数可以根据s=fc1在模第一***参数的第一截断多项式环上计算得到,其中,s为所述过程参数,f为所述第一私钥,c1为所述第一密文。
S202-2中所述第二随机多项式可以根据sp=s(modp)以及在模第三***参数的第三截断多项式环上计算得到,其中,r2为所述第二随机多项式,p为所述第三***参数,为所述第二私钥,s为所述过程参数,所述第三截断多项式环为Zp[X]/XN-1。
S202-3中所述第一随机多项式可以根据sp=s(modp)以及r1=(s-sp)G在第一截断多项式环上计算得到,其中,s为所述过程参数,q1为所述第一***参数,p为所述第三***参数,G为所述第三私钥,所述第一截断多项式环为
其中,所述第三私钥可以根据在所述模第一***参数的所述第一截断多项式环上计算得到,p-1为第三***参数模所述第一***参数的逆,q1为所述第一***参数,g为所述第四随机多项式,为第四随机多项式在所述第一截断多项式环上的逆元。
S203-1中所述明文信息可以根据M=c2-r1h2-r2在第二截断多项式环上计算得到,其中,所述c2为所述第二密文,所述r1为所述第一随机多项式,所述r2为所述第二随机多项式,所述h2为所述第二公钥,q2为所述第二***参数。
本实施例,通过所述第二设备接收第一设备发送的第一密文和第二密文,并根据第一私钥、第二私钥、第一***参数、第三私钥和所述第一密文计算得到第二随机多项式和第一随机多项式,再根据所述第一随机多项式、所述第二随机多项式、所述第二密文和第二公钥,得到明文信息。实现了可证明安全性的公钥加密通信方式。并且,本申请的加密方法与其他可证明安全性的加密方式相比,加密速度、解密速度以及密文扩展比方面都有一定提升。
下面采用几个具体的实施例,对图1-2所示方法实施例的技术方案进行详细说明。
图3为本发明公钥加密通信方法实施例三的流程图,本实施例对采用图1-2所述的公钥加密通信方法的发送端的第一设备和接收端的第二设备的交互过程进行说明,如图3所示,本实施例的方法可以包括:
S301、第一设备根据第一公钥和随机信息进行加密,得到第一密文;所述第一设备根据第二公钥对明文信息进行加密,得到第二密文。
其中,所述明文信息为所述第一设备待发送给第二设备的未加密数据;所述随机信息在截断多项式环上随机选取。
所述第一公钥和所述第二公钥由密钥生成设备生成,密钥生成设备可以是第二设备或者其他可信的第三方设备,其中,所述第一公钥采用多项式形式表示,所述第一公钥根据***参数,在截断多项式环上计算得到;所述第二公钥采用多项式形式表示,所述第二公钥在截断多项式环上随机选取。
可选的,所述明文信息可以表示为模第二***参数的第二截多项式环上的多项式。
S302、所述第一设备向所述第二设备发送所述第一密文和所述第二密文。
S303、所述第二设备根据第一私钥、第二私钥、第一***参数和所述第一密文计算得到第二随机,根据第三私钥、得到第一随机多项式。
其中,所述第一私钥、所述第二私钥和所述第三公钥由密钥生成设备生成,密钥生成设备可以是第二设备或者其他可信的第三方设备,其中,所述第一私钥可以采用多项式形式表示,所述第一私钥可以在截断多项式环上随机选取;所述第二私钥可以采用多项式形式表示,所述第二私钥可以为所述第一私钥在截断多项式环上的逆元;所述第三私钥可以采用多项式形式表示,所述第三私钥可以根据***参数的逆元和截断多项式上具有逆元的多项式计算得到。
S304、所述第二设备根据所述第一随机多项式、所述第二随机多项式、所述第二密文和第二公钥,得到明文信息。
进一步地,在步骤301之前,还包括:
S300、所述密钥生成设备根据第一***参数、第二***参数、第三***参数、第四***参数计算第一公钥、所述第二公钥、第一私钥、第二私钥和第三私钥。
其中,所述第一公钥可以采用多项式形式表示,所述第一公钥根据***参数,在截断多项式环上计算得到;所述第二公钥采用多项式形式表示,所述第二公钥在截断多项式环上随机选取;
所述第一私钥采用多项式形式表示,所述第一私钥在截断多项式环上随机选取;所述第二私钥采用多项式形式表示,所述第二私钥为所述第一私钥在截断多项式环上的逆元;所述第三私钥采用多项式形式表示,所述第三私钥根据***参数的逆元和截断多项式上具有逆元的多项式计算得到。
可选的,所述第一设备可以通过PKI查找所述第二设备的公钥。
本实施例的技术方案和技术效果与图1-2所示的公钥加密通信方法相同,此处不再赘述。
本实施例,通过所述第一设备将所述第一密文和所述第二密文发送给第二设备,所述第二设备根据所述第一密文和第二密文以及与所述第一公钥和第二公钥对应的第一私钥和第二私钥和第三私钥进行解密,得到明文信息,实现了可证明安全性的公钥加密通信方式。
图4为图3所示方法中步骤300的一种可选的实施方式的处理示意图,如图4所示,本实施例的执行主体为密钥生成设备,所述密钥生成设备可以是所述第二设备或者所述第三方设备,本实施例的方法可以包括:
S401、确定***参数q1、q2、p、N。
其中,所述q1为所述第一***参数,所述q2为所述第二***参数,所述所述p为所述第三***参数,所述N为所述第四***参数,所述***参数根据安全性和加密性能设置。优选的,S401中确定的***参数q1、q2、p、N,可以优选q1和q2为两个奇素数,且q2=q1+2。例如,q1可以为239,q2可以为241;或者,q1可以为269,q2可以为271。另外,对于最高级别的安全性,N可以优选为503。
S402、根据***参数q1、q2、p、N确定第一截断多项式环第二截断多项式环和第三截断多项式环Zp[X]/XN-1。
其中,所述第一截断多项式环为模q1的截断多项式的集合,所述第二截断多项式环为模q2的截断多项式的集合,所述第三截断多项式环为模p的截断多项式的集合。
S403、确定第三随机多项式f的取值范围Lf和第四随机多项式g的取值范围Lg。
其中,所述取值范围可以根据安全性和加密性能的需要设置。例如,为达到更高的私钥的安全性,选取多项式f时,可以在截断多项式环Z[X]/XN-1上选择系数为+1或-1或0的多项式,其中,系数为+1的项数约为N/3个,系数为-1的项数约为N/3-1个,剩余的项的系数为0。
S404、随机选取第三随机多项式f∈Lf和第四随机多项式g∈Lg,其中,f在第三截断多项式环Zp[X]/XN-1和第一截断多项式环中分别有逆元和g在第一截断多项式环中有逆元
其中,第三随机多项式f为第一私钥,为第二私钥。
S405、在第一截断多项式环上计算第一公钥
S406、计算p模q1的逆元p-1。
S407、在第一截断多项式环上计算第三私钥
S408、在第二截断多项式环上随机选取第二公钥h2。
在步骤408之后,密钥生成设备公布q1、q2、p、N,其中h1、h2为第二设备的公钥。
本实施例的技术方案和技术效果与图1-3所示的公钥加密通信方法相同,此处不再赘述。
图5为图3所示方法中步骤301的一种可选的实施方式的处理示意图,如图5所示,本实施例的执行主体为第一设备,本实施例的方法可以包括:
S501、根据***参数q1、q2、p、N确定第一截断多项式环第二截断多项式环和第三截断多项式环Zp[X]/XN-1。
其中,所述q1为所述第一***参数,所述q2为所述第二***参数,所述p为所述第三***参数,所述N为所述第四***参数,所述***参数q1、q2、p、N可以由图4所示方法获得;所述第一截断多项式环为模q1的截断多项式的集合,所述第二截断多项式环为模q2的截断多项式的集合,所述第三截断多项式环为模p的截断多项式的集合。
S502、在第三截断多项式环上确定第一随机多项式r1的取值范围和第四随机多项式r2的取值范围
其中,所述取值范围可以根据安全性和加密性能的需要设置。
S503、在第一截断多项式环上计算第一密文c1=r1h1+r2。
其中,所述h1为第一公钥,所述h1可以由图4所示方法获得。
S504、将明文信息M表示为第二截断多项式环上的多项式。
S505、在第二截断多项式环上计算第二密文c2=r1h2+r2+M。
其中,所述h2为第二公钥,所述***参数h2可以由图4所示方法获得。
S506、得到所述明文信息M对应的密文c=(c1,c2)。
本实施例的技术方案和技术效果与图1-4所示的公钥加密通信方法相同,此处不再赘述。
图6为图3所示方法中步骤303和步骤304的一种可选的实施方式的处理示意图,如图6所示,本实施例的执行主体为第二设备,本实施例的方法可以包括:
S601、根据***参数q1、q2、p、N确定第一截断多项式环第二截断多项式环和第三截断多项式环Zp[X]/XN-1。
其中,所述q1为所述第一***参数,所述q2为所述第二***参数,所述p为所述第三***参数,所述N为所述第四***参数,所述***参数q1、q2、p、N可以由图4所示方法获得;所述第一截断多项式环为模q1的截断多项式的集合,所述第二截断多项式环为模q2的截断多项式的集合,所述第三截断多项式环为模p的截断多项式的集合。
S602、在第一截断多项式环上计算过程参数s=fc1,并计算过程参数模p得到的余数sp=s(modp)。
其中,所述f为所述第一私钥,所述c1为所述第一密文,所述f、c1可以由图1-4所示方法获得。
S603、在第三截断多项式环上计算第二随机多项式
其中,所述为所述第二私钥,所述可以由图4所示方法获得。
S604、在第一截断多项式环上计算第一随机多项式r1=(s-sp)G。
其中,所述G为所述第三私钥,所述G可以由图4所示方法获得。
S605、在第二截断多项式环上计算明文信息M=c2-r1h2-r2。
其中,所述h2为所述第二公钥,所述c2为所述第二密文,所述h2、c2可以由图4所示方法获得。
本实施例的技术方案和技术效果与图1-5所示的公钥加密通信方法相同,此处不再赘述。
可选的,本发明实施例还提供一种可选的实施方式,与图4-图6所示方法不同的是,图4所示方法中步骤S405可以采用S405-1所示的方法实现:
S405-1、在第一截断多项式环上计算第一公钥
其中,所述为所述第三随机在所述模第一***参数的第一截断多项式环上的逆元,所述g为所述第四随机多项式,q1为所述第一***参数,所述第一截断多项式环为
相应地,图5所示方法中步骤S503可以采用S503-1所示的方法实现:
S503-1、在第一截断多项式环上计算第一密文c1=pr1h1+r2。
其中,所述h1为第一公钥,所述h1可以由步骤S405-1所示方法获得。
本实施例技术方案的其他步骤与图4-6所示的公钥加密通信方法相同,此处不再赘述。
不仅如此,在一些资源受限的场景中,本发明提供的加密方式仍能够提供更高的安全性。本发明的加密方法与现有的其他可证明安全性的加密方式相比,在加密速度、解密速度以及密文扩展比方面也具有一定优势,具体比较如下:
本发明的公钥加密通信方法的加密速度优于NTRU算法。为方便比较本发明和NTRU算法所需要的加密工作的计算量,设待加密明文为Nlog2plog2q2比特长。本发明每次可加密Nlog2q2比特长的明文,故需加密log2p次。在本发明中,每次加密需要先在模q1的截断多项式环上计算c1=r1h1+r2,而加法的计算量可以忽略,因此,需要大约一次环上的多项式乘法运算,然后在模q2的截断多项式环上计算c2=r1h2+r2+M,因此也需要大约一次环上的多项式乘法运算。而这里q2=q1+2,因此大约需要两次环上的多项式乘法运算。故加密Nlog2plog2q2比特长的明文加密,本发明的方案需要约2log2p次环上的多项式乘法运算。NTRU原始算法每次可加密Nlog2p比特长的明文,故加密Nlog2plog2q2比特长的明文NTRU需加密log2q2≈log2q1次。NTRU每次加密需要作环Zq[X]/XN-1上的计算其计算量大约是一次环上的多项式乘法运算。因此,加密Nlog2plog2q2比特长的明文NTRU需要约log2q1次环上的多项式乘法运算。加密给定长度的明文,本发明和NTRU算法的计算量之比大约为2log2p:log2q1,在参数选取p=3,q1=239下,该比值约为0.4,也就是说,本发明的加密速度约为NTRU的2.5倍。
另外,本发明的公钥加密通信方法的解密速度优于NTRU算法。为方便比较本发明和NTRU算法所需要的解密工作的计算量,设待解密的密文对应的明文信息的长度为对Nlog2plog2q2比特。本发明需要log2p次解密,每次解密需要两次环上的乘法运算s=fc1和r1=(s-sp)G,一次环上的乘法以及大约一次环上乘法M=c2-r1h2-r2,而一次环上的乘法运算相当于log2 2p:log2 2q1≈0.04次(考虑p=3,q1=239)环上的乘法运算。因此,本发明解密Nlog2plog2q2比特长明文对应的密文大约需要3.04次环上的乘法运算。因此,对Nlog2plog2q2比特长明文对应的密文进行解密,本发明需要约3.04log2p次环上的乘法运算。而NTRU算法对Nlog2plog2q2比特长明文对应的密文进行解密需要运行log2q2≈log2q1次解密算法。NTRU每次解密需要一次环Zq[X]/XN-1上的乘法运算a=fc和一次环Zp[X]/XN-1上的乘法运算因此,NTRU每次解密需要约1.04次环上的乘法运算。于是,对Nlog2plog2q2比特长明文对应的密文进行解密,NTRU需要约1.04log2q1次环上的乘法运算。本发明和NTRU所需计算量之比为3.04log2p:1.04log2q1≈0.59(考虑p=3,q1=239),也就是说,对Nlog2plog2q2比特长明文对应的密文进行解密,本发明的解密速度大约为NTRU的1.70倍。
并且,本发明的公钥加密通信方法的密文扩展比小于NTRU算法。本发明加密的明文长度若表示为Nlog2q2比特,则加密后的密文长度为c1是Nlog2q1比特长,c2为Nlog2q2比特长,本发明的密文扩展为N(log2q1+log2q2):Nlog2q2<2:1。而NTRU的明文长度若表示为Nlog2p比特长,其加密后的密文为Nlog2q比特长,其密文扩展是Nlog2q:Nlog2p=logpq:1,在参数选取p=3,q=128,256,512的情况下,密文扩展分别约为4.42:1,5.05:1,5.68:1。因此,本发明较之NTRU具有更小的密文扩展。
图7为本发明公钥加密通信装置实施例一的结构示意图,本实施例的装置可以是第一设备,即公钥通信的发送端,如图7所示,本实施例的装置1可以包括:加密单元11和收发单元12,其中,加密单元11用于根据第一公钥和随机信息进行加密,得到第一密文;还用于根据第二公钥对明文信息进行加密,得到第二密文;所述明文信息为所述第一设备待发送给第二设备的未加密数据;所述第一公钥采用多项式形式表示,所述第一公钥根据***参数,在截断多项式环上计算得到;所述第二公钥采用多项式形式表示,所述第二公钥在截断多项式环上随机选取;所述随机信息在截断多项式环上随机选取;收发单元12用于将所述第一密文和所述第二密文发送给第二设备。
可选的,所述随机信息包括第一随机多项式和第二随机多项式;所述加密单元11具体用于:
根据所述第一公钥、所述第一随机多项式、所述第二随机多项式,在模第一***参数的第一截断多项式环上计算得到所述第一密文。
相应的,所述明文信息表示为模第二***参数的第二截断多项式环上的多项式;所述加密单元11还具体用于:
根据所述第二公钥、所述第一随机多项式、所述第二随机多项式和所述明文信息,在所述模第二***参数的第二截断多项式环上计算得到所述第二密文。
其中,所述第一公钥根据第一***参数、第三随机多项式、第四随机多项式,在所述模第一***参数的所述第一截断多项式环上计算得到,所述第三随机多项式在所述模第一***参数的第一截断多项式环和模第三***参数的第三截断多项式环上同时具有逆元,所述第四随机多项式在所述模第一***参数的所述第一截断多项式环上具有逆元。所述第二公钥在所述第二截断多项式环上随机选取。
进一步地,所述加密单元11用于根据所述第一公钥、所述第一随机多项式、所述第二随机多项式,在第一***参数的模的第一截断多项式环上计算得到所述第一密文,具体用于:
根据c1=r1h1+r2在第一截断多项式环上计算得到所述第一密文,所述h1为所述第一公钥,所述r1为所述第一随机多项式,所述r2为所述第二随机多项式,所述第一截断多项式环为所述q1为所述第一***参数。
所述加密单元11用于根据所述第二公钥、所述第一随机多项式、所述第二随机多项式和所述明文信息,在所述模第二***参数的第二截断多项式环上计算得到所述第二密文,具体用于:
根据c2=r1h2+r2+M在第二截断多项式环上计算得到所述第二密文,所述h2为所述第二公钥,所述r1为所述第一随机多项式,所述r2为所述第二随机多项式,所述第二截断多项式环为所述q2为所述第二***参数。
其中,所述第一公钥根据在第一截断多项式环上计算得到,所述p为所述第三***参数,所述f为所述第三随机多项式,所述为所述第三随机多项式在所述模第一***参数的第一截断多项式环上的逆元,所述g为所述第四随机多项式,q1为所述第一***参数,所述第一截断多项式环为所述第二公钥在所述第二截断多项式环上随机选取,所述第二截断多项式环为
本实施例的装置,可以用于执行图1-6所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
图8为本发明公钥加密通信装置实施例二的结构示意图,本实施例的装置可以是第二设备,即公钥通信的接收端,如图8所示,本实施例的装置2可以包括:收发单元11和解密单元12,其中,收发单元11用于接收第一设备发送的第一密文和第二密文,解密单元12,用于根据第一私钥、第二私钥和所述第一密文计算得到第二随机多项式,根据第三私钥得到第一随机多项式,所述第一私钥采用多项式形式表示,所述第一私钥在截断多项式环上随机选取;所述第二私钥采用多项式形式表示,所述第二私钥为所述第一私钥在截断多项式环上的逆元;所述第三私钥采用多项式形式表示,所述第三私钥根据***参数的逆元和截断多项式上具有逆元的多项式计算得到;所述解密单元12,还用于根据所述第一随机多项式、所述第二随机多项式、所述第二密文和第二公钥,得到明文信息;所述明文信息为所述第一设备待发送给所述第二设备的未加密数据;所述第二公钥采用多项式形式表示,所述第二公钥在截断多项式环上随机选取。
可选的,所述解密单元12具体用于:
根据所述第一密文、所述第一私钥在模第一***参数的第一截断多项式环上计算得到过程参数;
根据所述过程参数、所述第二私钥在模第三***参数的第三截断多项式环上得到所述第二随机多项式。
所述解密单元12还具体用于:
所述第二设备根据所述过程参数和所述第三私钥,在所述模第一***参数的所述第一截断多项式环上计算得到所述第一随机多项式。
所述解密单元12还具体用于:
根据所述第一随机多项式、所述第二随机多项式、所述第二密文和第二公钥,在模第二***参数在第二截断多项式环上计算得到所述明文信息。
其中,所述第一私钥为第三随机多项式,第二私钥为所述第三随机多项式在所述模第三***参数的第三截断多项式环上的逆元,所述第三私钥根据所述第三***参数的逆、第四随机多项式在所述模第一***参数的第一截断多项式环上的逆元计算得到。
举例来说,所述解密单元12根据所述第一密文、所述第一私钥在第一***参数的模的第一截断多项式环上计算得到过程参数,可以具体用于:
根据s=fc1在模第一***参数的第一截断多项式环上计算得到所述过程参数,f为所述第一私钥,c1为所述第一密文。
并且,所述解密单元12根据所述过程参数、所述第二私钥在第三***参数的模的第三截断多项式环上得到所述第二随机多项式,可以具体用于:
根据sp=s(modp)以及在模第三***参数的第三截断多项式环上计算得到所述第二随机多项式,所述p为所述第三***参数,为所述第二私钥,s为所述过程参数,所述第三截断多项式环为Zp[X]/XN-1。
相应的,所述解密单元12根据所述过程参数和所述第三私钥,在所述模第一***参数的所述第一截断多项式环上计算得到所述第一随机多项式,可以具体用于:
根据sp=s(modp)以及r1=(s-sp)G在第一截断多项式环上计算得到所述第一随机多项式,s为所述过程参数,q1为所述第一***参数,p为所述第三***参数,G为所述第三私钥,所述第一截断多项式环为
然后,所述解密单元12根据所述第一随机多项式、所述第二随机多项式、所述第二密文和第二公钥,在模第二***参数的第二截断多项式环上计算得到所述明文信息,可以具体用于:
根据M=c2-r1h2-r2在第二截断多项式环上计算得到所述明文信息,所述c2为所述第二密文,所述r1为所述第一随机多项式,所述r2为所述第二随机多项式,所述h2为所述第二公钥。
本实施例的装置,可以用于执行图1-6所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。