一种后量子PGP加密方法、加密装置、解密方法及解密装置与流程

文档序号:19182752发布日期:2019-11-20 01:10阅读:712来源:国知局
一种后量子PGP加密方法、加密装置、解密方法及解密装置与流程

本发明涉及一种加密方法及装置,特别涉及一种后量子pgp加密方法、加密装置、解密方法及解密装置。



背景技术:

pgp(prettygoodprivacy)是一套用于消息加密、验证的方法,采用idea的散列算法作为加密与验证之用。

pgp加密由一系列散列、数据压缩、对称密钥加密,以及公钥加密的算法组合而成。每个步骤支持几种算法,可以选择一个使用。每个公钥均绑定唯一的用户名和/或者e-mail地址。pgp可以用来发送机密消息。这是通过对称的一组密钥-公钥组合来实现的。消息采用对称加密算法加密,采用一组对称密钥。每个对称密钥只使用一次,所以也叫做会话密钥。会话密钥通过接收方的公钥来加密保护,因此只需确保仅接收方能解密会话密钥即可。加密的消息和加密的会话密钥一起发送给接收方。

但是,量子计算机已经逐渐成为rsa等公钥密码的重大威胁,并且可以大幅降低对称密码的安全性。量子计算机的快速发展,使pgp加密的安全性大幅降低,阻碍了pgp加密的广泛应用。



技术实现要素:

本发明的目的是针对量子计算机的发展导致pgp加密的安全性降低的问题,提供一种后量子pgp加密方法、加密装置、解密方法及解密装置。

本发明实施例中,提供了一种后量子pgp加密方法,其特征在于,包括:

使用哈希函数hash对消息m进行计算,生成摘要m1,m1=hash(m);

将消息发送者的idida和时间戳ts附加在摘要m1上,得到m2=m1+ida+ts;

随机生成发送者的私钥ska,并基于私钥生成公钥pka,其中,私钥ska被发送者保管,公钥pka公开;

使用私钥ska和签名生成函数rainbow生成签名s=rainbow(ska,m2);

使用压缩函数pkzip对消息m进行压缩,得到m3=pkzip(m|s);

生成消息加密密钥k1和消息解密密钥k2;

使用消息加密密钥k1和消息加密函数simplematrix对压缩后的消息m3加密,得到加密后的消息c1=simplematrix(k1,m3);

使用接收者的公钥pka和密钥加密函数rainbow-1对消息解密密钥k2加密,得到加密后的消息解密密钥c2=rainbow-1(pka,k2);

发送c1、c2到接收者。

本发明实施例中,哈希函数hash对消息m进行计算的过程如下:

将消息m采用二进制m来表示;

使用100...000和64比特表示的m的长度填充m,即m′=pad(m);

m被分成512比特的块,即m(1),m(2),...,m(n)

64个常数被使用,标识为w0,w1,...,w63;

8个变量被使用,即a=0x6a09e667、b=0xbb67ae85、c=0x3c6ef372、d=0xa54ff53a、e=0x510e527f、f=0x9b05688c、g=0x1f83d9ab、h=0x5be0cd19;

在每一个块中基于上一个块的计算结果计算64轮迭代运算,最后一个块的计算结果即哈希值。

本发明实施例中,签名生成函数rainbow计算签名的过程如下:

生成消息的签名,首先计算

接着,计算

最后,计算签名

本发明实施例中,还提供了一种后量子pgp加密装置,其采用上述的后量子pgp加密方法。

本发明实施例中,还提供了一种后量子pgp解密方法,其包括

使用私钥skb和密钥解密函数rainbow对消息解密密钥c2进行解密,得到解密密钥k2=rainbow(skb,c2);

使用解密密钥k2和消息解密函数simplematrix-1对加密后的消息c1进行解密,得到m3=simplematrix-1(k2,c1);

使用解压函数对m3进行解压,m|s=pkzip-1(m3);

使用发送者的公钥pka验证签名,m2(m1+ida+ts)=rainbow-1(pka,s);

使用哈希函数hash生成摘要,m1′=hash(m);

对比m1′、m1,如果相同签名为真,否则为假。

本发明实施例中,密钥解密函数rainbow使用私钥解密密钥的过程如下:

进行解密,首先计算

接着,计算

最后,计算明文

本发明实施例中,消息解密函数simplematrix-1使用私钥解密消息的过程如下:

(1)计算x=s-1(w);s′是m×m的矩阵:

(2)计算y(y1,y2,...,yn)=f-1(x),e′1表示以下矩阵:

(3)e′2表示以下矩阵:

(4)如果e′1是可逆的,计算它的逆;

(5)基于b×e′1-1×e′2-c=0,构造变量为y1,y2,...,yn的线性方程组;

(6)求解线性方程组;

(7)如果e′1是不可逆的,但是e′2可逆的,计算它的逆;

(8)基于c×e′2-1×e′1-b=0,构造变量为y1,y2,...,yn的线性方程组;

(9)求解线性方程组;

(10)如果e′1、e′2都不可逆,a′=a(y)可逆;

(11)基于a′-1×e′1-b=0,a′-1×e′2-c=0,构造变量为y1,y2,...,yn的线性方程组;

(12)求解线性方程组;

(13)如果e′1、e′2、a′=a(y)都不可逆,解密失败;

(14)计算明文z=t′-1y.t′是n×n的矩阵。

本发明实施例中,还提供了一种后量子pgp解密装置,其采用上述的后量子pgp解密方法。

与现有技术相比较,在本发明的后量子pgp加密方法及加密装置,将消息发送者的id和时间戳附加在摘要上,并使用私钥和签名生成函数生成签名,基于pgp实现了即时通信的不可篡改性、不可否认性,能够支持大规模的安全通信,具有安全级别高、抗量子计算、不可篡改、不可否认性的特点。

附图说明

图1是本发明实施例示出的一种后量子pgp加密方法的流程示意图。

图2是本发明实施例示出的加密过程的流程示意图。

图3是本发明实施例示出的解密过程的流程示意图。

具体实施方式

如图1所示,本发明的后量子pgp加密方法及解密方法用于网络中两个用户(用户a和用户b)的通信过程。用户a的消息m经过本发明的后量子pgp加密方法后生成加密后的消息c1和消息解密密钥c2,并发送给用户b。在用户b端,采用本发明的后量子pgp解密方法进行解密并验证。

如图2所示,本发明实施例提供的后量子pgp加密方法,其包括如下加密步骤:

使用哈希函数hash对消息m进行计算,生成摘要m1,m1=hash(m);

将消息发送者的idida和时间戳ts附加在摘要m1上,得到m2=m1+ida+ts;

随机生成发送者的私钥ska,并基于私钥生成公钥pka,其中,私钥ska被发送者保管,公钥pka公开;

使用私钥ska和签名生成函数rainbow生成签名s=rainbow(ska,m2);

使用压缩函数pkzip对消息m进行压缩,得到m3=pkzip(m|s)。

生成消息加密密钥k1和消息解密密钥k2;

使用消息加密密钥k1和消息加密函数simplematrix对压缩后的消息m3加密,得到加密后的消息c1=simplematrix(k1,m3);

使用接收者的公钥pka和密钥加密函数rainbow-1对消息解密密钥k2加密,得到加密后的消息解密密钥c2=rainbow-1(pka,k2);

发送c1、c2到接收者。

上述后量子pgp加密方法的加密步骤中,哈希函数hash对消息m进行计算的过程如下:

将消息m采用二进制m来表示;

使用100...000和64比特表示的m的长度填充m,即m′=pad(m);

m被分成512比特的块,即m(1),m(2),...,m(n)

64个常数被使用,标识为w0,w1,...,w63;

8个变量被使用,即a=0x6a09e667、b=0xbb67ae85、c=0x3c6ef372、d=0xa54ff53a、e=0x510e527f、f=0x9b05688c、g=0x1f83d9ab、h=0x5be0cd19;

在每一个块中基于上一个块的计算结果计算64轮迭代运算,最后一个块的计算结果即哈希值。

上述后量子pgp加密方法的加密步骤中,签名生成函数rainbow计算签名的过程如下:

生成消息的签名,首先计算

接着,计算

最后,计算签名

进一步地,本发明实施例中,还提供了一种后量子pgp加密装置,其采用上述的后量子pgp加密方法。

如图3所示,本发明实施例提供了的后量子pgp解密方法包括如下解密步骤:

使用私钥skb和密钥解密函数rainbow对消息解密密钥c2进行解密,得到解密密钥k2=rainbow(skb,c2);

使用解密密钥k2和消息解密函数simplematrix-1对加密后的消息c1进行解密,得到m3=simplematrix-1(k2,c1);

使用解压函数对m3进行解压,m|s=pkzip-1(m3);

使用发送者的公钥pka验证签名,m2(m1+ida+ts)=rainbow-1(pka,s);

使用哈希函数hash生成摘要,m1′=hash(m);

对比m1′、m1,如果相同签名为真,否则为假。

上述后量子pgp解密方法的解密步骤中,密钥解密函数rainbow使用私钥解密密钥的过程如下:

进行解密,首先计算

接着,计算

最后,计算明文

上述后量子pgp解密方法的解密步骤中,消息解密函数simplematrix-1使用私钥解密消息的过程如下:

(1)计算x=s-1(w);s′是m×m的矩阵:

(2)计算y(y1,y2,...,yn)=f-1(x),e′1表示以下矩阵:

(3)e′2表示以下矩阵:

(4)如果e′1是可逆的,计算它的逆;

(5)基于b×e′1-1×e′2-c=0,构造变量为y1,y2,...,yn的线性方程组;

(6)求解线性方程组;

(7)如果e′1是不可逆的,但是e′2可逆的,计算它的逆;

(8)基于c×e′2-1×e′1-b=0,构造变量为y1,y2,...,yn的线性方程组;

(9)求解线性方程组;

(10)如果e′1、e′2都不可逆,a′=a(y)可逆;

(11)基于a′-1×e′1-b=0,a′-1×e′2-c=0,构造变量为y1,y2,...,yn的线性方程组;

(12)求解线性方程组;

(13)如果e′1、e′2、a′=a(y)都不可逆,解密失败;

(14)计算明文z=t′-1y.t′是n×n的矩阵。

进一步地,本发明实施例中,还提供了一种后量子pgp解密装置,其采用上述的后量子pgp解密方法。

综上所述,本发明的后量子pgp加密方法及加密装置,将消息发送者的id和时间戳附加在摘要上,并使用私钥和签名生成函数生成签名,基于pgp实现了即时通信的不可篡改性、不可否认性,能够支持大规模的安全通信,具有安全级别高、抗量子计算、不可篡改、不可否认性的特点。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

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