一种PGP加密邮件快速破译方法和装置
技术领域
本发明涉及信息安全技术领域,具体涉及一种PGP加密邮件快速破译方法和装置。
背景技术
鉴于TCP/IP协议的不安全性,故在互联网上进行电子邮件商务往来、文件传输存在着诸多不安全的因素。怎样保护数据在传送的过程中不被篡改或窃取,确保电子邮件的安全性是一个迫切需要解决的问题。PGP(Pretty Good Privacy)是最常用的邮件加密软件。
PGP是一个基于RSA、SHA-1及AES等加密算法的加密软件系列。美国标准技术研究院唯一认可使用的电子邮件加密系统仅有两个,PGP邮件加密软件是其中之一,该软件已得到了广大用户的认同。PGP的个人版分为桌面版和免费版两种。桌面版功能更加强大,可以用于商业用途;免费版可以网上下载,该版本可以加密和签名电子邮件且可以被任何人以使用。PGP源代码是免费的。
PGP有多种版本,其中PGP 10.0.2是最终版。由于受赛门铁克公司收购的影响,从10.0.2版本以后,PGP版本的独立安装包形式不再被单独放出,它是以安全插件等形式集成在诺顿等赛门铁克公司的各种安全产品里。当前,绝大多数网民使用的PGP版本是10.0.2。
加密保护是一把双刃剑。一方面,它保障了被加密的信息难以外泄。另外一方面,这种端对端的加密模式给一些犯罪分子提供了有机可趁,他们通过加密邮件从事一些非法活动,从而导致了那些影响国家安全和社会稳定、妨碍市场经济秩序和社会管理秩序、侵犯他人财产、腐败交易、破坏网络安全等网上犯罪活动难以侦查和取证。所以,PGP加密邮件破解技术的研究对于泄漏国家秘密、恐怖活动等犯罪活动的事前防范和事后调查取证具有重大意义。
PGP加密,这里以邮件加密简单说下工作原理。假如A发送给B,A首先使用自己的私钥SA对邮件进行签名,然后生成一个会话密钥K,对签名后的邮件进行加密,并使用B的公钥PB对会话密钥K进行加密,最后把加密后的会话密钥K和加密邮件发送给B。
B收到邮件和加密K后,首先输入口令生成对称加密密钥,对私钥环中的私钥参数进行解密,然后使用自己的私钥SB对加密K进行解密,然后使用K对加密邮件进行解密,并使用A的公钥PA对邮件签名进行验证。
可见要想破解PGP加密的邮件,需要知道接收方的私钥参数,但是私钥参数保存在私钥环文件中,而且一般是基于口令进行保护,因此如果能够得到接收方的私钥环文件,则破解转换为对口令短语的破解,而且现在主要的攻击方法就是对基于口令保护的加密进行破解。上海交通大学论文:<<基于口令短语的PGP破解研究和实现>>,还有上海通用识别技术研究所论文:<<PGP加密邮件破解技术研究>>,这两篇论文中都给出了口令破解的大致思路,但是他们提供的方法,对于每个口令短语都需要进行解密、hash计算和比较操作,没有充分利用其它已知信息,破解效率不是很高。
发明内容
本发明的目的是为了解决现有技术中的上述缺陷,提供一种PGP加密邮件快速破译方法,该方法主要是利用私钥参数的部分已知信息,增加一次口令短语验证,只有通过第一次口令短语验证后,才进行hash计算和比较。
另外本发明还提供一种PGP软件快速破解装置,该装置根据通过从私钥环中提取的参数,调用相应的模块,进行第一次口令验证和第二次口令验证,加速破解速度。
根据公开的实施例,本发明的第一方面公开了一种PGP加密邮件快速破译方法,所述的快速破译方法包括:
S1、私钥参数解析步骤,从待破解的私钥环文件中,提取出破解需要的参数和密文,其中,破解需要的参数包括私钥对应的长度skrLen和salt值、加密的私钥参数;
S2、对称加密算法密钥计算步骤,根据输入口令password和提取的salt值,然后使用哈希算法生成解密所需要的对称加密算法密钥key;
S3、解密步骤,利用密钥key和解密算法,对加密的私钥参数的前N个字节进行解密,获取解密的数据skrData,根据私钥参数的数据结构,从解密的数据skrData中取出破解出来的私钥参数长度deSkrLen;
S4、第一次口令验证步骤,利用对称加密算法密钥计算步骤计算的对称加密算法密钥key,对部分加密私钥参数进行解密,然后根据解密出的私钥参数长度指示,和已经提取的长度skrLen进行比较,确定待验证口令是不是可能正确的口令,若验证通过则转入下一步骤,否则,放弃下面的二次口令验证操作,尝试下一个口令;
S5、第二次口令验证步骤,对剩余的私钥参数进行解密,并对解密后的私钥参数进行哈希计算,得到其对应的哈希值,然后和在对称加密算法密钥key中提取的哈希值进行比较,如果二者相等,则说明口令短语二次验证通过,破解成功,上报正确的口令短语。
进一步地,所述的快速破译方法在步骤S5之后还包括:
S6、如果步骤S5中的二次口令短语验证没有通过,则尝试下一个口令短语,继续进行步骤S2-S5的处理,直到获得正确的口令短语。
进一步地,所述的N为4的整数倍。
进一步地,所述的S3、解密步骤中解密算法为AES256算法。
根据公开的实施例,本发明的第二方面公开了一种PGP加密邮件快速破译装置,所述的快速破译装置包括依次连接的私钥参数解析单元、对称加密算法密钥计算单元、解密单元、第一次口令验证单元和第二次口令验证单元,其中,
所述的私钥参数解析单元,用于从待破解的私钥环文件中,提取出破解需要的参数和密文,其中,破解需要的参数包括私钥对应的长度skrLen和salt值、加密的私钥参数;
所述的对称加密算法密钥计算单元,用于根据输入口令password和提取的salt值,然后使用哈希算法生成解密所需要的对称加密算法密钥key;
所述的解密单元,用于利用密钥key和解密算法,对加密的私钥参数的前N个字节进行解密,获取解密的数据skrData,根据私钥参数的数据结构,从解密的数据skrData中取出破解出来的私钥参数长度deSkrLen;
所述的第一次口令验证单元,利用对称加密算法密钥计算单元计算的对称加密算法密钥key,对部分加密私钥参数进行解密,然后根据解密出的私钥参数长度指示,和已经提取的长度skrLen进行比较,确定待验证口令是不是可能正确的口令,若验证通过则转入所述的第二次口令验证单元,否则,放弃下面的二次口令验证操作,尝试下一个口令;
所述的第二次口令验证单元,用于对剩余的私钥参数进行解密,并对解密后的私钥参数进行哈希计算,得到其对应的哈希值,然后和在对称加密算法密钥key中提取的哈希值进行比较,如果二者相等,则说明口令短语二次验证通过,破解成功,上报正确的口令短语。
进一步地,所述的第二次口令验证单元,在二次口令短语验证没有通过,则尝试下一个口令短语。
本发明相对于现有技术具有如下的优点及效果:
1、本发明可以显著减少口令验证中哈希计算的次数,降低计算量。
2、本发明第一次验证只需要对私钥参数部分数据进行解密,然后就可以进行第一次口令验证,可以减少解密计算量。
3、本发明通过两次计算量的减少,加快了破解速度,提升破解效率。
附图说明
图1是本发明中公开的一种PGP加密邮件快速破译方法的流程步骤图;
图2是本发明中公开的一种PGP加密邮件快速破译装置的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
如附图1所示,本实施例公开了一种PGP加密邮件快速破译方法的流程,该破译方法包括:
S1、私钥参数解析步骤,从待破解的私钥环文件中,提取出破解需要的参数和密文,其中,破解需要的参数包括私钥对应的长度skrLen和salt值、加密的私钥参数;
S2、对称加密算法密钥计算步骤,根据输入口令password和提取的salt值,然后使用哈希算法生成解密所需要的对称加密算法密钥key;
S3、解密步骤,利用密钥key和解密算法,对加密的私钥参数的前N个字节进行解密,N为4的整数倍,获取解密的数据skrData,根据私钥参数的数据结构,从解密的数据skrData中取出破解出来的私钥参数长度deSkrLen。
S4、第一次口令验证步骤,利用对称加密算法密钥计算步骤计算的对称加密算法密钥key,对部分加密私钥参数进行解密,然后根据解密出的私钥参数长度指示,和已经提取的长度skrLen进行比较,确定待验证口令是不是可能正确的口令,若验证通过则转入下一步骤,否则,口令短语第一次验证失败,放弃下面的二次口令验证操作,尝试下一个口令;
S5、第二次口令验证步骤,对剩余的私钥参数进行解密,并对解密后的私钥参数进行哈希计算,得到其对应的哈希值,然后和在对称加密算法密钥key中提取的哈希值进行比较,如果二者相等,则说明口令短语二次验证通过,破解成功,上报正确的口令短语。
S6、如果步骤S5中的二次口令短语验证没有通过,则尝试下一个口令短语,继续进行步骤S2-S5的处理,直到获得正确的口令短语。
实施例二
本实施例考虑PGP加密邮件使用AES256算法对私钥参数进行保护,具体的PGP加密邮件快速破译方法如下:
R1、获取接收方的私钥环,从私钥环中提取破解所需参数,主要有私钥对应的长度skrLen和salt值、加密的私钥参数。
R2、根据输入口令password和提取的salt值,然后使用哈希算法生成解密所需要的密钥key。
R3、利用密钥key和AES256算法,对加密的私钥参数的前N个字节进行解密,N为4的倍数,本实施例中取N=4,获取解密的数据skrData,skrData占用4个字节。
R4、根据私钥参数的数据结构,从解密的数据skrData中取出破解出来的私钥参数长度deSkrLen。
R5、把deSkrLen和skrLen进行比较,如果deSkrLen大于skrLen,则认为口令短语第一次验证失败,放弃下面的二次口令验证操作,尝试下一个口令。
R6、如果deSkrLen小于等于skrLen,则认为第一次口令短语验证通过,进行步骤R7的处理。
R7、对剩余的私钥参数进行解密,并对解密后的参数进行哈希计算,得到其对应的哈希值,然后和在对称加密算法密钥key中提取的哈希值进行比较,如果二者相等,则说明口令短语二次验证通过,破解成功,上报正确的口令短语。
R8、如果步骤R7中的二次口令短语验证没有通过,则尝试下一个口令短语,继续进行步骤R2-R7的处理,直到获得正确的口令短语。
实施例三
如附图2所示,本实施例公开了一种PGP加密邮件快速破译装置,所述的快速破译装置包括依次连接的私钥参数解析单元、对称加密算法密钥计算单元、解密单元、第一次口令验证单元和第二次口令验证单元,其中,
所述的私钥参数解析单元,用于从待破解的私钥环文件中,提取出破解需要的参数和密文,其中,破解需要的参数包括私钥对应的长度skrLen和salt值、加密的私钥参数;
所述的对称加密算法密钥计算单元,用于根据输入口令password和提取的salt值,然后使用哈希算法生成解密所需要的对称加密算法密钥key;
所述的解密单元,用于利用密钥key和解密算法,对加密的私钥参数的前N个字节进行解密,获取解密的数据skrData,根据私钥参数的数据结构,从解密的数据skrData中取出破解出来的私钥参数长度deSkrLen;
所述的第一次口令验证单元,利用对称加密算法密钥计算单元计算的对称加密算法密钥key,对部分加密私钥参数进行解密,然后根据解密出的私钥参数长度指示,和已经提取的长度skrLen进行比较,确定待验证口令是不是可能正确的口令,若验证通过则转入下一步骤,否则,放弃下面的二次口令验证操作,尝试下一个口令;
所述的第二次口令验证单元,用于对剩余的私钥参数进行解密,并对解密后的私钥参数进行哈希计算,得到其对应的哈希值,然后和在对称加密算法密钥key中提取的哈希值进行比较,如果二者相等,则说明口令短语二次验证通过,破解成功,上报正确的口令短语。
在具体的实施方式中,所述的第二次口令验证单元,在二次口令短语验证没有通过,则尝试下一个口令短语。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。