gpg、sha512sum或md5sum验证包完整性

gpg、sha512sum或md5sum验证包完整性PGP 签名 asc 文件 PGP 英语 PrettyGoodPr 中文翻译 优良保密协议 是一套用于消息加密 验证的应用程序 采用 IDEA 的散列算法作为加密与验证之用 以 RSA 公钥 amp a

大家好,欢迎来到IT知识分享网。

PGP签名(.asc文件)

PGP(英语:Pretty Good Privacy,中文翻译“优良保密协议”)是一套用于消息加密、验证的应用程序,采用IDEA的散列算法作为加密与验证之用,以RSA公钥&私钥及AES(Advanced Encryption Standard)等加密算法为基础。
[外链图片转存失败(img-REfEzXX7-78)(https://i.imgur.com/hb5VYGK.png)]
[外链图片转存失败(img-BuBJCqz0-79)(https://i.imgur.com/9Te1FAN.png)]
PGP加密由一系列散列、数据压缩、对称密钥加密,以及公钥加密的算法组合而成。每个步骤支持几种算法,可以选择一个使用。每个公钥均绑定唯一的用户名和/或者E-mail地址。这个系统的第一个版本通常称为可信Web或X.509系统;X.509系统使用的是基于数字证书认证机构的分层方案,该方案后来被加入到PGP的实现中。

当前的PGP加密版本通过一个自动密钥管理服务器来进行密钥的可靠存放。

机密性

PGP可以用来发送机密消息。这是通过对称的一组密钥-公钥组合来实现的。消息采用对称加密算法加密,采用一组对称密钥。每个对称密钥只使用一次,所以也叫做会话密钥。会话密钥通过接收方的公钥来加密保护,因此只需确保仅接收方能解密会话密钥即可。加密的消息和加密的会话密钥一起发送给接收方。

数字签名

PGP支持消息认证和完整性检测。完整性检测被用来检查消息在传输过程中是否变更过(即验证消息完整性),而消息认证则是被用来决定消息是否确由某特定的人或实体发出(即数字签名验证)。在PGP中,这些特性默认是和消息加密同时开启的,而且同样可以被应用到明文的验证。发送者只需使用PGP为消息创建一个数字签名(签名算法采用RSA或DSA算法)。具体步骤为:PGP以数据或信息创建一个散列(参见消息摘要),然后使用发送者的私钥利用散列生成数字签名。

散列(.md5或.sha*文件)

sha是什么?

sha 为 安全散列算法(英语:Secure Hash Algorithm,缩写为SHA)是一个密码散列函数家族,是FIPS所认证的安全散列算法。能计算出一个数字消息所对应到的,长度固定的字符串(又称消息摘要)的算法。且若输入的消息不同,它们对应到不同字符串的机率很高。

SHA家族的五个算法,分别是SHA-1、SHA-224、SHA-256、SHA-384,和SHA-512,由美国国家安全局(NSA)所设计,并由美国国家标准与技术研究院(NIST)发布;是美国的政府标准。后四者有时并称为SHA-2。SHA-1在许多安全协定中广为使用,包括TLS和SSL、PGP、SSH、S/MIME和IPsec,曾被视为是MD5(更早之前被广为使用的杂凑函数)的后继者。

md5是什么?

md5 为 消息摘要算法(英语:MD5 Message-Digest Algorithm),一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(hash value),用于确保信息传输完整一致。MD5由美国密码学家罗纳德·李维斯特(Ronald Linn Rivest)设计,于1992年公开,用以取代MD4算法。

参考:xuyaowen

实例检验

PGP

[外链图片转存失败(img-VA6BUL1w-79)(https://i.imgur.com/EzwVi4o.png)]

首先下载一个软件包,并复制其附带的PGP和sha,然后放在一个目录下打开CLI。

$ gpg --verify apache-tomcat-9.0.16-windows-x64.zip.asc apache-tomcat-9.0.16-windows-x64.zip gpg: Signature made 2019年02月 5日 0:32:50 gpg: using RSA key A9C5DF4D22E99998D9875A5110C01C5A2F6059E7 gpg: Can't check signature: No public key 

这是提示没有公匙,根据它提供的RSA key,可以通过连接服务器(内置链接)获得。

$ gpg --receive-keys A9C5DF4D22E99998D9875A5110C01C5A2F6059E7 gpg: key 10C01C5A2F6059E7: 38 signatures not checked due to missing keys gpg: key 10C01C5A2F6059E7: public key "Mark E D Thomas <markt@apache.org>" imported gpg: no ultimately trusted keys found gpg: Total number processed: 1 gpg: imported: 1 

然后验证成功

$ gpg --verify apache-tomcat-9.0.16-windows-x64.zip.asc gpg: assuming signed data in 'apache-tomcat-9.0.16-windows-x64.zip' gpg: Signature made 2019年02月 5日 0:32:50 gpg: using RSA key A9C5DF4D22E99998D9875A5110C01C5A2F6059E7 gpg: Good signature from "Mark E D Thomas <markt@apache.org>" [unknown] gpg: WARNING: This key is not certified with a trusted signature! gpg: There is no indication that the signature belongs to the owner. Primary key fingerprint: A9C5 DF4D 22E9 9998 D987 5A51 10C0 1C5A 2F60 59E7 

也可以验证文件的哈希值,将输出与SHA文件比较

$ gpg --print-md sha512 apache-tomcat-9.0.16-windows-x64.zip apache-tomcat-9.0.16-windows-x64.zip: 3F9063CF BE78F6BD AF5015F4 914D1918E1F38311 CAECBEBE A76FD311 CBD01A2BE8AD1D18 9B0B3B0A C6A12C4F AFCAA192 6B3A3ABD 94046FDD 6D2EE473 
SHA

以sha512为例(将文件放在一个文件夹或者在其它文件夹但得提供路径):

$ sha512sum -c apache-tomcat-9.0.16-windows-x64.zip.sha512 apache-tomcat-9.0.16-windows-x64.zip: OK 

稍稍改动压缩包的内容(随便加一个文件进去),看看会怎样

$ sha512sum -c apache-tomcat-9.0.16-windows-x64.zip.sha512 apache-tomcat-9.0.16-windows-x64.zip: FAILED sha512sum: WARNING: 1 computed checksum did NOT match 

果然,它发现原始文件被修改了。

GnuPG下载链接

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/158918.html

(0)
上一篇 2024-11-27 20:45
下一篇 2024-11-27 21:00

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信