‘壹’ 如何用PGP加密
PGP采用公匙加密体系,用加密算法
生成两个密匙,分别作为公匙和私匙。公匙用来加密,是公开的。私匙用来解密,自己保存。
下面介绍PGP的使用:
1
首先生成你的PGP密匙。在DOS命令行输入:
pgp-kg
2
程序会提示你一步步进行密匙生成工作:
①选择密匙长度。建议用1024位,安全性相当有保障。
②输入用户名。要尽量避免混淆。
③选择口令。和所有密码一样,尽量取得难猜一点。PGP是区分口令大小写的,在生成过程中程序为了得到随机数,会请你随意地在键盘上敲一系列的键,注意尽量多敲些不同的键,时间间隔不要太短。
现在你就拥有自己的一对PGP密匙了。文件SECRING
PGP是私匙,PUBRING
PGP是公匙。
3
PGP的基本命令
①加密命令:
pgp-e[a]源文件收件人ID[其他收件人ID]
用公匙环中收件人的公匙加密源文件,得到密文。加上a参数后将得到7bits编码的密文(
asc后缀),否则是二进制形式密文(
pgp后缀)。
②解密命令:
pgp[-d][-p]密文
-d参数用来保留密文(缺省删除密文),-p参数用来恢复源文件加密时的文件名。
‘贰’ 什么是PGP
PGP(Pretty Good Privacy),是一个基于RSA公匙加密体系的邮件加密软件。可以用它对邮件保密以防止非授权者阅读,它还能对邮件加上数字签名从而使收信人可以确认邮件的发送者,并能确信邮件没有被篡改。它可以可以提供一种安全的通讯方式,而事先并不需要任何保密的渠道用来传递密匙。它采用了一种RSA和传统加密的杂合算法,用于数字签名的邮件文摘算法,加密前压缩等,还有一个良好的人机工程设计。它的功能强大,有很快的速度。而且它的源代码是免费的。 实际上PGP的功能还包括: PGP可以用来加密文件,还可以用PGP代替UUencode 生成RADIX 64 格式(就是MIME 的 BASE 64格式)的编码文件。 PGP 的创始人是美国的 Phil Zimmermann。他的创造性在于他把RSA公匙体系的方便和传统加密体系的高速度结合起来,并且在数字签名和密匙认证管理机制上有巧妙的设计。因此PGP成为几乎最流行的公匙加密软件包。 1.首先简要介绍PGP加密系统的流程。 PGP加密系统是采用公开密钥加密与传统密钥加密相结合的一种加密技术。它使用一对数学上相关的钥匙,其中一个(公钥)用来加密信息,另一个(私钥)用来解密信息。 PGP采用的传统加密技术部分所使用的密钥称为“会话密钥”(sek)。每次使用时,PGP都随机产生一个128位的IDEA会话密钥,用来加密报文。公开密钥加密技术中的公钥和私钥则用来加密会话密钥,并通过它间接地保护报文内容。 PGP中的每个公钥和私钥都伴随着一个密钥证书。它一般包含以下内容: 密钥内容(用长达百位的大数字表示的密钥) 密钥类型(表示该密钥为公钥还是私钥) 密钥长度(密钥的长度,以二进制位表示) 密钥编号(用以唯一标识该密钥) 创建时间 用户标识 (密钥创建人的信息,如姓名、电子邮件等) 密钥指纹(为128位的数字,是密钥内容的提要表示密钥唯一的特征) 中介人签名(中介人的数字签名,声明该密钥及其所有者的真实性,包括中介人的密钥编号和标识信息) PGP把公钥和私钥存放在密钥环(KEYR)文件中。PGP提供有效的算法查找用户需要的密钥。 PGP在多处需要用到口令,它主要起到保护私钥的作用。由于私钥太长且无规律,所以难以记忆。PGP把它用口令加密后存入密钥环,这样用户可以用易记的口令间接使用私钥。 PGP的每个私钥都由一个相应的口令加密。PGP主要在3处需要用户输入口令: 需要解开受到的加密信息时,PGP需要用户输入口令,取出私钥解密信息 当用户需要为文件或信息签字时,用户输入口令,取出私钥加密 对磁盘上的文件进行传统加密时,需要用户输入口令 2.以上介绍了PGP的工作流程,下面将简介与PGP相关的加密、解密方法以及PGP的密钥管理机制。 PGP是一种供大众使用的加密软件。电子邮件通过开放的网络传输,网络上的其他人都可以监听或者截取邮件,来获得邮件的内容,因而邮件的安全问题就比较突出了。保护信息不被第三者获得,这就需要加密技术。还有一个问题就是信息认证,如何让收信人确信邮件没有被第三者篡改,这就需要数字签名技术。RSA公匙体系的特点使它非常适合用来满足上述两个要求:保密性(Privacy)和认证性(Authentication)。 RSA(Rivest-Shamir-Adleman)算法是一种基于大数不可能质因数分解假设的公匙体系。简单地说就是找两个很大的质数,一个公开即公钥,另一个不告诉任何人,即私钥。这两个密匙是互补的,就是说用公匙加密的密文可以用私匙解密,反过来也一样。 假设甲要寄信给乙,他们互相知道对方的公匙。甲就用乙的公匙加密邮件寄出,乙收到后就可以用自己的私匙解密出甲的原文。由于没别人知道乙的私匙,所以即使是甲本人也无法解密那封信,这就解决了信件保密的问题。另一方面由于每个人都知道乙的公匙,他们都可以给乙发信,那么乙就无法确信是不是甲的来信。这时候就需要用数字签名来认证。 在说明数字签名前先要解释一下什么是“邮件文摘”(message digest)。邮件文摘就是对一封邮件用某种算法算出一个最能体现这封邮件特征的数来,一旦邮件有任何改变这个数都会变化,那么这个数加上作者的名字(实际上在作者的密匙里)还有日期等等,就可以作为一个签名了。PGP是用一个128位的二进制数作为“邮件文摘”的,用来产生它的算法叫MD5(message digest 5)。 MD5是一种单向散列算法,它不像CRC校验码,很难找到一份替代的邮件与原件具有同样的MD5特征值。 回到数字签名上来,甲用自己的私匙将上述的128位的特征值加密,附加在邮件后,再用乙的公匙将整个邮件加密。这样这份密文被乙收到以后,乙用自己的私匙将邮件解密,得到甲的原文和签名,乙的PGP也从原文计算出一个128位的特征值来和用甲的公匙解密签名所得到的数比较,如果符合就说明这份邮件确实是甲寄来的。这样两个安全性要求都得到了满足。 PGP还可以只签名而不加密,这适用于公开发表声明时,声明人为了证实自己的身份,可以用自己的私匙签名。这样就可以让收件人能确认发信人的身份,也可以防止发信人抵赖自己的声明。这一点在商业领域有很大的应用前途,它可以防止发信人抵赖和信件被途中篡改。 PGP用的实际上是RSA和传统加密的杂合算法。因为RSA算法计算量极大在速度上不适合加密大量数据,PGP实际上用来加密的不是RSA本身,而是采用了一种叫IDEA的传统加密算法。传统加密,一般说来说就是用一个密匙加密明文,然后用同样的密匙解密。这种方法的代表是DES,也就是乘法加密,它的主要缺点就是密匙的传递渠道解决不了安全性问题,不适合网络环境邮件加密需要。IDEA的加(解)密速度比RSA快得多,所以实际上PGP是以一个随机生成密匙(每次加密不同)用IDEA算法对明文加密,然后用RSA算法对该密匙加密。这样收件人同样是用RSA解密出这个随机密匙,再用IDEA解密邮件本身。这样的链式加密就做到了既有RSA体系的保密性,又有IDEA算法的快捷性。PGP利用这种链式加密,既保证了保密性,又保证了加密的速度。 PGP最核心的功能是:文件加密、通信加密和数字签名。下面将简介一些PGP辅助功能,它们虽然不是整个加密系统的核心,但却起到了协调各部分和方便用户的作用。这儿主要介绍PGP的密钥管理机制。 一个成熟的加密体系必然要有一个成熟的密匙管理机制配套。公匙体制的提出就是为了解决传统加密体系的密匙分配过程难以保密的缺点。如果密匙是通过网络传送,那么网络上其他人就可以通过监听得到。举个例子:Novell Netware 的老版本中,用户的密码是以明文在线路中传输的,这样监听者轻易就获得了他人的密码。当然 Netware 4.1 中数据包头的用户密码现在是加密的了。对PGP来说公匙本来就要公开,就没有防监听的问题。但公匙的发布中仍然存在安全性问题,例如公匙的被篡改(Public Key Tampering),这可能是公匙密码体系中最大的漏洞。必须有一种机制保证用户所得到的公钥是正确的,而不是别人伪造的。下面举一个例子来说明这个问题,以及如何正确地用PGP堵住这个漏洞。
‘叁’ PGP&GPG key是什么,有什么用
GPG和PGP是两种加密软件,你可以通过公钥在网上安全的传播自己的文件。我前些日子使用了GPG,感觉很方便,使用中也遇到了一些问题。所以把我的使用经过写出来,目的是让初次使用GPG的朋友少走弯路。 先说说GPG的获得吧,GPG是开放源代码的软件,是完全免费的,大家可以到www.gnupg.org下载。如果使用 Mandrakelinux或Debian发行版可以直接下载。我使用的是Mandrakelinux,只要在终端中输入urpmi gpgp就可以下载和安装。 安装好后我们在终端下输入:gpg --help 可以看到GPG的版本信息和帮助。这表示GPG已经装好了。 下面我们来生成密钥,键入:gpg --gen-key 这时将出现几个选项,需要我们来选择: gpg (GnuPG) 1.4.0; Copyright (C) 2004 Free Software Foundation, Inc. This program comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to redistribute it under certain conditions. See the file COPYING for details. 请选择您要使用的密钥种类: (1) DSA 和 ElGamal (默认) (2) DSA (仅用于签字) (5) RSA (仅用于签字) 您的选择? 这个我们一般选择1,gpg默认的也是1。 SA keypair will have 1024 bits. ELG-E keys may be between 1024 and 4096 bits long. What keysize do you want? (2048) 这个是密钥的长度,一般输入1024 请设定这把密钥的有效期限。 0 = 密钥永不过期 = 密钥在 n 天后过期 w = 密钥在 n 周后过期 m = 密钥在 n 月后过期 y = 密钥在 n 年后过期 密钥的有效期限是?(0) 这个是指定密钥的有效期,你可以自己选择。 您需要一个用户标识来辨识您的密钥;本软件会用真实姓名、注释和电子邮件地址组合 成用户标识,如下所示: “Heinrich Heine (Der Dichter) ” 真实姓名: 电子邮件地址: 注释: 这个是用户标识,你可以输入自己常用的email地址。 请输入密码: 这个需要为你的私钥指定一个保护密码,这个一定要保护好,要不然你的加密文件就会被别人轻易解开了。 好了现在GPG已经产生了你的公钥和私钥。 现在说说GPG能为我们做什么,如果你想给你的朋友发送一篇论文,而不希望第三人看到。你可以这样操作。 在终端输入:gpg --encrypt -r Bob [文件名] Bob表示为这个收件人签字及加密 〔文件名〕为需要加密的文件名。 然后你可以把你的公钥发给你的朋友。导出公钥的方法是:gpg --export>name.asc 你的朋友只要吧你的公钥导入他的GPG,就可以解密你发给他的文件了: 解密方法是 gpg --decrypt [加过密的文件]>〔已经解密的文件〕 >为重定向符,意思是把gpg --decrypt [加过密的文件]的结果保存到〔已经解密的文件〕文件中,这要就可以看到你发的原文了。
‘肆’ pgp主要基于什么算法来实现加密解密
点击 解密 PGP信息 6) 输入密码后,点击 确定 7) 邮件内容签名被认证和被解密二结果分析 1 PGP主要基于什么算法来实现加密解密? PGP主要基于非对称加密算法 因为RSA算法计算量很大而且在速度上也不适合加密大量数据,所以PGP实际上用来加密... 在使用上几乎没有什么差别。但是事实上它们是完全不同的,主要体现在格式上
‘伍’ pgp如何打开
PGP后缀的文件是经过PGP Desktop加密的文件。
下载PGP Desktop,安装之后可打开。
PGP(Pretty Good Privacy),是一个基于RSA公钥加密体系的邮件加密软件。可以用它对邮件保密以防止非授权者阅读,它还能对邮件加上数字签名从而使收信人可以确认邮件的发送者,并能确信邮件没有被篡改。它可以提供一种安全的通讯方式,而事先并不需要任何保密的渠道用来传递密匙。它采用了一种RSA和传统加密的杂合算法,用于数字签名的邮件文摘算法,加密前压缩等,还有一个良好的人机工程设计。它的功能强大,有很快的速度。
参考资料:http://ke..com/link?url=NO2V_5_6bPh3lPOPAxbfkwAgOL-ZL6FMBT9I1sFE9v-2PMrY4RiWi-h-FwqY6WvnA_10bh7k5p7yZkVZihr5UK
‘陆’ 谁知道加密软件PGP的加密原理是什么
PGP是一个基于RSA公匙加密体系的邮件加密软件。可以用它对你的邮件保密以防止非授权者阅读,它还能对你的邮件加上数字签名从而使收信人可以确信邮件是你发来的。它让你可以安全地和你从未见过的人们通讯,事先并不需要任何保密的渠道用来传递密匙。它采用了:审慎的密匙管理,一种RSA和传统加密的杂合算法,用于数字签名的邮件文摘算法,加密前压缩等,还有一个良好的人机工程设计。它的功能强大有很快的速度。而且它的源代码是免费的。
实际上PGP的功能还不止上面说的:;PGP可以用来加密文件,还可以用PGP代替UUencode;生成;RADIX;64;格式(就是MIME;的;BASE;64格式)的编码文件。
PGP;的创始人是美国的;Phil;Zimmermann。他的创造性在于他把RSA公匙体系的方便和传统加密体系的高速度结合起来,并且在数字签名和密匙认证管理机制上有巧妙的设计。因此PGP成为几乎最流行的公匙加密软件包。
PGP是一种供大众使用的加密软件。加密是为了安全,私密权是一种基本人权。在现代社会里,电子邮件和网络上的文件传输已经成为生活的一部分。邮件的安全问题就日益突出了,大家都知道在Internet上传输的数据是不加密的。如果你自己不保护自己的信息,第三者就会轻易获得你的隐秘。;还有一个问题就是信息认证,如何让收信人确信邮件没有被第三者篡改,就需要数字签名技术。RSA公匙体系的特点使它非常适合用来满足上述两个要求:
保密性(Privacy)和认证性(Authentication)。
RSA(Rivest-Shamir-Adleman)算法是一种基于大数不可能质因数分解假设的公匙体系。简单地说就是找两个很大的质数,一个公开给世界,一个不告诉任何人。一个称为“公匙”,另一个叫“私匙”(Public;key;&;Secretkey;or;Private;key)。这两个密匙是互补的,就是说用公匙加密的密文可以用私匙解密,反过来也一样。假设甲要寄信给乙,他们互相知道对方的公匙。甲就用乙的公匙加密邮件寄出,乙收到后就可以用自己的私匙解密出甲的原文。由于没别人知道乙的私匙所以即使是甲本人也无法解密那封信,这就解决了信件保密的问题。另一方面由于每个人都知道乙的公匙,他们都可以给乙发信,那么乙就无法确信是不是甲的来信。认证的问题就出现了,这时候数字签名就有用了。
在说明数字签名前先要解释一下什么是“邮件文摘”(message;digest),单地讲就是对一封邮件用某种算法算出一个能体现这封邮件“精华”的数来,一旦邮件有任何改变这个数都会变化,那么这个数加上作者的名字(实际上在作者的密匙里)还有日期等等,就可以作为一个签名了。确切地说PGP是用一个128位的二进制数作为“邮件文摘”的,用来产生它的算法叫MD5(message;digest;5),MD5的提出者是Ron;Rivest,PGP中使用的代码是由Colin;Plumb编写的,MD5本身是公用软件。所以PGP的法律条款中没有提到它。MD5是一种单向散列算法,它不像CRC校验码,很难找到一份替代的邮件而与原件具有一样的“精华”。
回到数字签名上来,甲用自己的私匙将上述的128位的“精华”加密,附加在邮件上,再用乙的公匙将整个邮件加密。这样这份密文被乙收到以后,乙用自己的私匙将邮件解密,得到甲的原文和签名,乙的PGP也从原文计算出一个128位的 “精华”来再用甲的公匙解密签名得到的数比较,如果符合就说明这份邮件确实是甲寄来的。这样两个要求都得到了满足。
PGP还可以只签名而不加密,这适用于公开发表声明时,声明人为了证实自己的身份(在网络上只能如此了),可以用自己的私匙签名。这样就可以让收件人能确认发信人的身份,也可以防止发信人抵赖自己的声明。这一点在商业领域有很大的应用前途,它可以防止发信人抵赖和信件被途中篡改。
那么为什么说PGP用的是RSA和传统加密的杂合算法呢?因为RSA算法计算量极大在速度上不适合加密大量数据,所以PGP实际上用来加密的不是RSA本身,而是采用了一种叫IDEA的传统加密算法。我先解释一下什么叫传统加密,简单地说就是用一个密匙加密明文,然后用同样的密匙解密。这种方法的代表是DES(US;Fed eral;DataEncryption;Standard),也就是乘法加密,它的主要缺点就是密匙的传递渠道解决不了安全性问题,不适合网络环境邮件加密需要。
IDEA;是一个有专利的算法,专利持有者是ETH和一个瑞士公司:Ascom-Tech;AG。
‘柒’ 密码技术(十三)之PGP
————密码技术的完美组合
PGP是于1990年穗衡左右由菲利普.季默曼(Philip Zimmermann)个人编写的密码软件,现在依然在世界上被广泛使用。PGP这个名字是Pretty Good Privary(很好的隐私)的缩写。
PGP可以在Windows、Mac OS X、Linux等很多平台上运行,版本包括商用版和免费版。此外还有一个GNU遵照OpenGPG(RFC4880)规范编写的叫作GnuPG(GNU privacy Guard)的自由软件。
这里介绍的主要是根据PGP Command Line User's Guide 10.3 以及GnuPG2.1.4的内容编写的。在详细功能以及所支持的算法方面,PGP和GunPG有所区别,而且不同的版本之间也会有所不同,这里介绍统一PGP为准。
OpenPGP是对密文和数字签名格式进行定义的标准规格(RFC1991、RFC2440、RFC4880、RFC5581、RFC6637)。
1996年的RFC1991中对PGP的消息格式进行了定义。2007年的闷毕RFC4880中新增了对RSA和DSA的支持。2012年的RFC6637中新增了对椭圆曲线密码(ECC)的支持,并且还支持基于Curve P-256、P-384和P-521三种椭圆曲线的椭圆曲线DSA和椭圆曲线Diffie-Hellman密钥交换。
RFC6637中新增了用于比较密码学强度的平衡的对照表。由这张表可知,例如当我们选用256比特的椭圆曲线密码算法时,相应低应该选用256比特的散列散发以及密钥长度为128比特的对称密码算法。
GNU Privacy Guard(GnuPG、GPG)是一款基于OpenPGP标准开发的密码学软件,支持加密、数字签名、密钥个管理、S/MIME、ssh等多种功能。GnuPG是基于GNU GPL协议发布的一款自由软件,因此任何人都可以自由的使用它。GnuPG本身是一款命令行攻击,但它也经常被集成到其他应用软件中。
GnuPG 分为stable、modern和classic三个系列。
略
PGP的加密过程,如图所示,消息经过混合密码系统进行加密,然后转换成报文数据(文本数据)。
这里的内容,和前面提到的混合密码系统的结构基本上是一样的,差异在于这里还包括了消息的压缩以及二进制——>文本转换(转换为ASCII radix-64)这两个步骤。
在上图中,消息与相对应的签名进行拼合,并最终转换成报文数据(文本数据)。顺便提一下,对于是否要将报文数据转换成文本数据,在PGP是可以选择的。
上图展示了对消息生成数字签名以及对消息进行压缩和加密这两个过程,并将两者的结果拼合在一起形成报文数据(文本数据)。对于是否要将报文数据转换成文本数据,在PGP中是可以选择猜罩做的。
在使用PGP时,确认自己所得到的公钥是否真的属于正确的人是非常重要的,因为公钥可能会通过中间人攻击被替换。
证书就是由认证机构对公钥所施加的数字签名,通过验证这个数字签名就可以确认公钥合法性。
然而,PGP中却没有使用认证机构,而二十采用了一种叫作 信任网 (web of trust)的方法。在这种方法中,PGP用户会互相对对方的公钥进行数字签名。
信任网的要点是“不依赖认证机构”,而是建立每个人之间的信任关系。换言之,就是能够自己决定要信任哪些公钥。
该系列的主要内容来自《图解密码技术第三版》
我只是知识的搬运工
文章中的插图来源于原着