使用gnupg为文件传送文件加密
Windows系统请安装Gpg4win,mac os 安装GPGTools
安装好后创建一个新的公私钥匙对(key pair)
gpg --gen-key
按提示一步步做到最后,注意*千万*不要忘记或泄漏我们的私匙(passphrase)!
我们假定最后的用户信息为:
You selected this USER-ID:
"sb(sbsb.) <[email protected]>"
创建一个撤销证书(revocation certification)并做好备份
$ gpg --output sb_gpg_revoke.asc --armor --gen-revoke [email protected]
将这份证书(sb_gpg_revoke.asc)保存/备份到安全的位置。
注意在任何时刻我们都可以使用
$ gpg --list-key
查看当前可用的key
导出公匙
$ gpg --output sb_gpg_asc.gpg --armor --export [email protected]
注意这个公匙文件(somebody_gpg_asc.gpg)是需要和别人交换发给别人使用的。我们也可以将此证书发送到某些知名的服务器。
请参见相关文档
现在我们假定需要将文件testfile.txt发送到用户 [email protected]
这里简单的介绍一下PGP的建立过程。
a) 用户A获取用户B的公匙文件,并导入改公匙
b) 用户A签名用户B的公匙文件。
c) 用户A通过用户B的公匙加密文件F,并将加密过后的文件F.asc发送给用户B
d) 用户c获取到文件F.asc,并通过自己的私匙解密文件F.asc并还原为文件F
公匙虽然是公开的,但目前理论上绝对是安全的。其基本原理为任意一个合数都可以分解为多个质数的乘积。比如
8 = 2*2*2
14 = 2*7
但一个数很小的时候我们能很快发现这些互质的数(eg: 39 = 13 * 3),但当这个数很大的时候却很难找到这些互质的数了,如:
995757614766768701903 = 13757413 * 72379713741731
已经基本不可能退出这两个互质的数(不一定是真正的质数,这里仅为做一个简单的演示)了。实际我们采用的数字通常为1024-bit
这样产生的结果即使在目前最快的计算机上计算,至少也需要几千年的时间才可能得出最终的结果。
导入[email protected]的公匙。
$ gpg --import anotherone_gpg_asc.gpg
可以通过
$ gpg --list-key
验证是否导入成功
签名该公匙文件
$ gpg --edit-key [email protected]
$ # fpr
$ sign
# 按要求输入相关签名信息。
$ # check
$ write
通过用户[email protected]的公匙加密需要传送的文件testfile.txt
$ gpg --armor --encrypt testfile.txt
得到文件testfile.txt.asc,将此文件发送到需要接收方。
用户收到文件testfile.txt.asc后,利用自己的私匙解密该文件
$ gpg --decrypt testfile.txt.asc
得到文件testfile.txt
注:测试通过的情况多出了两步,即用户[email protected]也导入了[email protected]的公匙并做了数字签名。
Sort
Archive
- 2023年1月(1)
- 2019年4月(1)
- 2018年12月(2)
- 2014年9月(1)
- 2014年7月(1)
- 2014年5月(4)
- 2013年4月(10)
- 2013年3月(2)
- 2012年11月(10)
- 2012年10月(2)
- 2012年9月(2)
- 2012年8月(9)
- 2012年7月(1)
- 2012年6月(4)
- 2012年5月(4)
- 2012年4月(11)
- 2012年3月(11)
- 2012年1月(16)
- 2011年12月(6)
- 2011年11月(8)
- 2011年10月(8)
- 2011年9月(3)
- 2011年8月(6)
- 2011年7月(3)
- 2011年6月(5)
- 2011年5月(10)
- 2011年4月(4)
- 2011年3月(4)
- 2011年2月(7)
- 2011年1月(16)
- 2010年12月(9)
- 2010年11月(29)
- 2010年10月(14)
- 2010年9月(15)
- 2010年8月(16)
- 2010年7月(22)
- 2010年6月(19)
- 2010年5月(27)
- 2010年4月(21)
- 2010年3月(24)
- 2010年2月(9)
Comment
- Lightning_bear
失效了 - admin
在哪下载? - 王健宇
@红河:CMD命令里... - 红河
台式机安装了蓝牙。但... - M2nT1ger
@LiveOnLov... - LiveOnLove
可以将Tablet ... - 阿生
表示支持了 - M2nT1ger
@无:每种都学啊。 - 无
向您这么厉害,得学习... - M2nT1ger
@被屏蔽的昵称:谢谢...
发表评论: