科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航



ZDNet>网络频道>ZD评测>系统安全 GunPG简单使用指南

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

"GunPG是一个完全免费的公钥加密技术软件包。在企业网络应用中,使用GunPG对在公共网络或者局域网内传输的信息进行数字签名或加密保护,有利于提高企业网络的安全并降低安全验证成本。"

来源: 2007年10月19日

关键字:公钥加密 软件包 加密保护 数字签名 统安全 GunPG

         GunPG是完全免费的公钥加密技术软件包,其有4个含义

  1、如所有其他GUN产品一样,可以免费获得它。

  2、可以得到它的源代码,并安装GUN库一般公共许可(LGPL)规定,任何人都可以自由修改它并可以重新发布。与一般的公共许可协议(GPL)不同,LGPL也允许商业销售商编写建立在GunPG上的专用软件产品,而无须被迫发布它们的源代码。

  3、避免了如IDEA和RSA这样的受专利制约的算法,因此,不必向任何一方支付许可费就可以使用它。

  4、GnuPG是在德国开发的,因此,它逃避了美国的出口限制。

  在使用GunPG之前,先说说公钥加密技术在什么情况下应用,这里用的语言只是我自己理解的,可能不会很准确,如果需要准确的描述,请查看相关书籍。

  1、生成“钥”时会产生一对“钥”:公钥和私钥。公钥,顾名思义,是公开的“钥”,那么私钥就是自己秘密保留的“钥”。

  2、某人A想要给你发一个消息,但是希望不让其他人知道。那么,他可以使用你公布出来的公钥,对消息进行加密成密文。如果其他人得到密文,则没有办法解密。而如果你得到了密文,你可以使用你保留的私钥对密文进行解密。这个过程即“加密解密”的过程。

  3、你给某人A发送一条消息,但是A可能怀疑这个消息是否真正是你发出的。那么你可以使用你的私钥对这个消息进行标记。而A要验证这个消息真的是你发出的,就可以使用你公布出来的公钥进行验证。这个对消息标记的过程即“数字签名”。

  4、A与B之间存在信任,B与C之间存在信任。那么,要在A与C之间建立信任,则可以……

  需要特别注意的是:

  1、请注意你们得到的公钥是真正来自你认为的那个人的。如果不是,则所有的信任将不复存在。

  2、一般来说,将一个人的私钥保存在多用户系统上不是一个好办法,有可能会被其他用户访问到。你应该始终把私钥保存在一张软盘上(要做备份),当不使用时把两者都锁起来。

 

  实际操作

  使用对方公钥加密信息,并将此信息发送给对方

  1、使用对方公钥对信息进行加密,首先要获得对方公钥,然后使用 gpg -- import 进行导入。

  2、然后应该使用 gpg --sign-key name 对这个公钥进行签名,来告诉 gpg 你能够确认这个公钥是正确并有效的。如果不进行这一步,会出现类似于下面的信息:

  gpg: BB2CFA5A: There is no indication that this key really belongs to the owner

  1024g/BB2CFA5A 2003-12-09 "……(这部分忽略)"

  Primary key fingerprint: ……(这部分忽略)

  Subkey fingerprint: ……(这部分忽略)

  It is NOT certain that the key belongs to the person named

  in the user ID. If you *really* know what you are doing,

  you may answer the next question with yes

  Use this key anyway?

  当然如果输入“y”也可以。但是每次都会提示。

  3、使用下面命令对文件进行加密:

  gpg --encrypt --recipient name --armor secret_file

  如果要加密外加数字签名就要:

  gpg --recipient user_name --sign --encrypt --armor msg_file

  快速参考

  1、生成密钥对:

  gpg --export --armor

  2、提出公钥并显示在屏幕上:

  gpg --export

  3、提取公钥并仅仅使用可打印字符(ASCII):

  gpg --export --armor

  4、从key.asc中导入公钥:

  gpg --import key.asc

  5、列出我的公钥串的所有密钥

  gpg --list-keys

  6、列出公钥串中所有的密钥以及签名(证书)

  gpg --list-sigs

  7、列出我的私钥(可以多于一个)

  gpg --list-secret-keys

  8、提出一个公钥的指纹

  gpg --fingerprint [user]

  9、执行有关用户密钥的操作

  gpg --edit-key user_name

  10、加密文件msg中的信息,而只有user用户可以读取

  gpg --encrypt --armor --recipient user msg_file

  11、对收到的一条信息解密

  gpg --decrypt msg_file

  12、使用我的私钥对一条消息签名,并使输出可以打印

  gpg --sign --armor msg_file

  13、使用我的私钥对消息进行透明签名(保持消息可读)

  gpg --clearsign msg_file

  14、核对我收到的一个签名消息是否来自经过验证的用户

  gpg --verify signed_msg_file

  15、对一条消息进行签名和加密,并使输出可以打印

  gpg --recipient user_name --sign --encrypt --armor msg_file

推广二维码
邮件订阅

如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

重磅专题