随着网络和计算机技术的发展,数据存储和数据交换的安全性变得越来越重要。长期以来,加密技术一直用于数据存储和数据交换。为保证网络数据交换时双方身份的正确性,签证系统也日趋成熟。GPG是一组用于加密数据和创建证书的工具。它是一款完全免费、开源代码、完全兼容PGP的软件产品。GPG软件作为一种用于加密和数字签名的开源工具,与许多Linux发行版一起提供。接下来,让我们看看gpg是如何加解密的。创建密码gpg--gen-key你要输入下一个内容,这些内容,基础英文,还是很好明白root@g140:~#gpg--gen-keygpg(GnuPG)1.4.11;版权所有(C)2010FreeSoftwareFoundation,Inc.这是免费软件:您可以自由更改和重新分发它。在法律允许的范围内不提供任何保证。gpg:目录`/root/.gnupg'createdgpg:new配置文件`/root/.gnupg/gpg.conf'createdgpg:WARNING:optionsin`/root/.gnupg/gpg.conf'arenotyetactiveduringthisrungpg:keyring`/root/.gnupg/secring.gpg'createdgpg:keyring`/root/.gnupg/pubring.gpg'createdPleaseselectwhatkindofkeyyouwant:(1)RSA和RSA(默认)(2)DSA和Elgamal(3)DSA(仅签名)(4)RSA(仅符号)您的选择?RSA密钥的长度可能在1024到4096位之间。您想要什么密钥大小?(2048)Requestedkeysizeis2048bitsPleasespecifiedhowlongthekeyshouldbevalid.0=keydoesnotexpire=keyndayssw=keyexpiresinnweeksm=keyexpiresinnmonthsy=keyexpiresinnyears密钥为val身份证?(0)Keydoesnotexpireall这对吗?(y/N)y您需要一个用户ID来识别您的密钥;该软件根据以下形式的真实姓名、评论和电子邮件地址构建用户ID:“HeinrichHeine(DerDichter)”更改(N)ame、(C)omment、(E)mail或(O)kay/(Q)uit?OYouneedaPassphrasetoprotectyoursecretkey.我们需要生成很多随机字节。在素数生成期间执行一些其他操作(在键盘上键入、移动鼠标??、使用磁盘)是个好主意;这使随机数生成器有更好的机会获得足够的熵。gpg:/root/.gnupg/trustdb.gpg:trustdbcreatedgpg:keyAEAA16F3markedasultimatelytrustedpublicandsecretkeycreatedandsigned.gpg:checkingthetrustdbgpg:3marginal(s)需要,需要1个完整,PGP信任模型gpg:深度:0有效:1签名:0trust:0-,0q,0n,0m,0f,1upub2048R/AEAA16F32013-10-21Keyfingerprint=B93B05F89D6354646DEE6A08EB9ED2BBAEAA16F3uidchenshakesub2048R/02B4138D10生成密钥的过程中有很重要的一步,就是在内存中生成一个随机数。命令如下:ddif=/dev/zeroof=test.dbfbs=9000count=1000k直到生成密钥#p#查看私钥#gpg-k/root/.gnupg/pubring.gpg------------------------pub2048R/AEAA16F32013-10-21uidchenshakesub2048R/02B4038D2013-10-21查看公钥#gpg--list-keys/root/.gnupg/pubring.gpg------------------------pub2048R/AEAA16F32013-10-21uidchenshakesub2048R/02B4038D2013-10-21exportpublickeygpg-ochenshake.gpg-a--exportchenshake其中chenshake为用户IDchenshake.gpg为导出的公钥文件exportprivatekeygpg-ochenshake-private.gpg--export-secret-keyschenshake导入秘钥公钥和私钥的导入是一样的。gpg--importfilenamepublickey(anothermachine)当然你需要通过scp将公钥复制到远程机器#gpg--importchenshake.gpggpg:directory`/root/.gnupg'createdgpg:newconfigurationfile`/root/.gnupg/gpg.conf'createdgpg:WARNING:optionsin`/root/.gnupg/gpg.conf'arenotyetactiveduringthisrungpg:keyring`/root/.gnupg/secring.gpg'createdgpg:keyring`/root/.gnupg/pubring.gpg'createdgpg:/root/.gnupg/trustdb.gpg:trustdbcreatedgpg:keyAEAA16F3:publickey"chenshake"importedgpg:Totalnumberprocessed:1gpg:imported:1(RSA:1)你也可以查看导入的公钥#gpg--list-keys/root/.gnupg/pubring.gpg------------------------pub2048R/AEAA16F32013-10-21uidchenshakesub2048R/02B4038D2013-10-21公钥加密文件。这里我加密cobbler.ks文件。cobbler.ks.gpg文件加密后需要私钥才能查看。#gpg-ocobbler.ks.gpg-erchenshakecobbler.ksgpg:02B4038D:无法保证此密钥属于指定的userpub2048R/02B4038D2013-10-21chenshake主键指纹:B93B05F86EB49D635AEAA16F3Subkey指纹:FCCA50DDC98D644E00FB804C4CD2954402B4038DI不确定密钥是否属于用户ID中指定的人。如果你*真的*知道你在做什么,你可以回答下一个问题。使用是这个键吗?(y/N)y私钥解密私钥查看cobbler.ks.gpg#gpg-ocobbler.ks-dcobbler.ks.gpg你需要一个密码来解锁用户的秘钥:“chenshake”2048位RSA密钥,ID02B4038D,创建于2013-10-21(主密钥IDAEAA16F3)gpg:gpg-agent在此会话中不可用gpg:使用2048位RSA密钥加密,ID02B4038D,创建于2013-10-21“chenshake”你需要输入您在创建密钥时设置的密码。此时,您可以查看加密文件。
