GPG(pgp)加解密

GPG(pgp)加解密,第1张

一、介绍

我们都知道,互联网是不安全的,但其上所使用的大部分应用,如Web、Email等一般都只提供明文传输方式(用https、smtps等例外)。所以,当我们需要传输重要文件时,应该对当中的信息加密。非对称密码系统是其中一种常见的加密手段。而在基于PGP方式加密的中文介绍少之又少,所以萌生了写一个完整教程的想法,当然本文部分资料是我搜遍网络整理出来的,并不能保证百分之百的原创

GnuPG 是一个用来进行非对称加密(PGP)的免费软件,简称GPG(是不是有的童鞋已经被PGP和GPG给搞昏了? )。先说说什么是非对称加密。传统的加密手段往往是使用同一个密码进行加密和解密。例如你加密时用的密码是“abc”, 则解密时也要使用“abc”才行。这样就存在一个问题,你不能够把一段加密信息发送给你的朋友。试想,如果采用这种加密方式把信息发送给你的朋友时,你的 朋友必须要知道你的密码才能把你的信息解密出来。但你如何保证你的朋友是绝对可靠的呢?也就是说,如果你的朋友把你的密码告诉了别人,你的密码就不再安全 了。
非对称加密采用的是另一种思想。它会给你产生两个密钥,一个称为“公钥”,另一个称为“私钥”。公钥是可以公开的,你尽管把它传给别 人;私钥你一定要保管好不让其他任何人知道。当某人得到你的公钥后,他就可以给你发送加密信息了。具体来说,他把他要发给你的信息用你的公钥加密后发给 你,加密的信息只能用你的私钥去解密。这样,因为世界上除了你以外没有别人知道你的私钥,所以即使别人看到发送给你的加密信息他也无法解密,甚至连发送者 本人也不行。因为他不知道你的私钥。简单说来,就是用公钥去加密;用对应的私钥去解密。想给谁发送加密信息,首先要得到他的公钥。
支持非 对称加密的软件有多种,最著名的可能是美国的PGP了,不过它是个商业软件,价格不便宜。对于加密软件,我反对使用破解软件,因为如果信息需要加密的话, 肯定是非常重要的信息,破解软件无法保证加密的安全可靠。因此我建议使用免费开源的GnuPG软件进行信息的加密和解密。

二、使用:

1.生成密钥对
要使用GnuPG加密,首先需要创建密钥对,执行:

# gpg --gen-key
gpg (GnuPG) 1.4.5; Copyright (C) 2006 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  ←只有1可以用于加密,其他种类只能用于签名
DSA 密钥对会有 1024 位。
ELG-E 密钥长度应在 1024 位与 4096 位之间。
您想要用多大的密钥尺寸?(2048)  ←选择密码的位数,位数越大,越安全,但速度越慢
您所要求的密钥尺寸是 2048 位
请设定这把密钥的有效期限。
0 = 密钥永不过期
<n>  = 密钥在 n 天后过期
<n>w = 密钥在 n 周后过期
<n>m = 密钥在 n 月后过期
<n>y = 密钥在 n 年后过期
密钥的有效期限是?(0) 0  ←根据实际情况选择密钥期限
密钥永远不会过期
以上正确吗?(y/n)y  ←确认

您需要一个用户标识来辨识您的密钥;本软件会用真实姓名、注释和电子邮件地址组合
成用户标识,如下所示:
“Heinrich Heine (Der Dichter) <heinrichh@duesseldorf.de>”

真实姓名:Hyphen Wang  ←请填入真实姓名,后面会用到
电子邮件地址:gpgencrypt@linuxfly.org  ←邮件作为标记之一,不能重复
注释:Use for GPG Encrypt  ←仅是注释而已
您选定了这个用户标识:
“Hyphen Wang (Use for GPG Encrypt) <gpgencrypt@linuxfly.org>”

更改姓名(N)、注释(C)、电子邮件地址(E)或确定(O)/退出(Q)?O  ←输入“O”确认
您需要一个密码来保护您的私钥。  ←输入两次用于访问私钥的密码,紧记,不能公开或丢失

我们需要生成大量的随机字节。这个时候您可以多做些琐事(像是敲打键盘、移动
鼠标、读写硬盘之类的),这会让随机数字发生器有更好的机会获得足够的熵数。
++++++++++...++++++++++..++++++++

随机字节不够多。请再做一些其他的琐事,以使 *** 作系统能搜集到更多的熵数!
(还需要274字节)  ←运行一些的程序,以便在内存中获得更多随机数
我们需要生成大量的随机字节。这个时候您可以多做些琐事(像是敲打键盘、移动
鼠标、读写硬盘之类的),这会让随机数字发生器有更好的机会获得足够的熵数。
+++++++++++++++++++++++++.+++++.+++++.++++++++++.+++<+++++..+++++^^^
gpg: 密钥 A3942296 被标记为绝对信任  ←密钥ID
公钥和私钥已经生成并经签名。

gpg: 正在检查信任度数据库
gpg: 需要 3 份勉强信任和 1 份完全信任,PGP 信任模型
gpg: 深度:0 有效性:  2 已签名:  0 信任度:0-,0q,0n,0m,0f,2u
pub   1024D/A3942296 2008-12-19
密钥指纹 = E95E 1F77 6C4E 33BD 740C  19AB EEF9 A67E A394 2296
uid                  Hyphen Wang (Use for GPG Encrypt) <gpgencrypt@linuxfly.org>
sub   2048g/911E677B 2008-12-19

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/2081897.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-07-22
下一篇 2022-07-22

发表评论

登录后才能评论

评论列表(0条)

保存