Linux_GPG加解密文件
下载GPG
GPG官方下载地址: https://gnupg.org/download/index.html
我所使用的是kali_Linux,选择的是
请自行选择适合的版本下载,解压即可使用
也可以输入命令安装
|
要使用 GPG,你首先需要有一个 GPG 密钥。
GPG 密钥是你在后面的教程中用来加密(或解密)文件的东西。它也是用来识别你的身份的,你的名字和电子邮件也会与密钥绑定。
GPG 密钥的工作原理是使用两个文件,一个私钥和一个公钥。这两个密钥是相互联系的,并且 GPG 的所有功能都需要使用它们,特别是对文件加密和解密。
当你用 GPG 加密一个文件时,它使用的是私钥。然后,这个新的加密文件只能用配对的公钥进行解密。
私钥,顾名思义,是以私下的、不给任何人看的方式来存储的密钥。
另一方面,公钥是用来给其他人的,或者你希望能够解密你的文件的任何人。
这就是 GPG 的加密方法的主要作用。它允许你对文件进行本地加密,然后允许其他人确保他们收到的文件实际上是由你发送的。因为他们能够解密文件的唯一方法是使用你的公钥,而这只有在文件首先使用你的私钥加密的情况下才有效。
反之,其他人可以用你的公钥对文件进行加密,而唯一能够解密的方法是用你的私钥。因此,允许其他人公开发布文件,而不用担心除了你以外的人能够阅读它们。(LCTT 译注:另外一个常见的用例是你用你的私钥对公开发布的文件进行签名,别人使用你的公钥通过验证你的签名而确信文件是你发布的、并没有被篡改。但本文没有涉及这个用例。)
换句话说,如果一个文件是用私钥加密的,它只能用相应的公钥解密。而如果一个文件是用公钥加密的,它只能用相应的私钥解密。
生成GPG密钥
运行下面指令
|
根据你的选择填写密钥类型,密钥长度,有效期限,姓名和邮箱
输入O确定时,会让你输入密码,这个是可选项
如果不想填就直接点确定,选择”是的,保护不是必须的”
然后就会生成密钥对
这里我们看不到私钥,可以终端输入下面指令查看
|
GPG加密文件
首先创建要加密的文件(类型不限)test.txt
要发送加密文件给别人,你需要有接收者的公钥,用接收者的公钥加密文件,这样只有接收者才能解密文件。具体怎么获得密钥由你自己决定。 你可以让他们直接把公钥发送给你, 也可以通过密钥服务器来获取。
收到对方公钥文件后,导入公钥到 GPG 中。
|
这些公钥与你自己创建的密钥一样,自带了名称和电子邮件地址的信息。
现在可以开始加密要发送的文件了。GPG 需要知道这个文件的接收者和发送者。输入下面指令, 这里-e
标志告诉 GPG 你想要加密文件,-r
标志指定接收者。
|
得到.gpg
后缀的加密文件
如果你有多个密钥,可以用下面指令加密,-u
参数指定发送者
|
GPG解密文件
收到对方用我们自己的公钥加密的.gpg文件后,使用下面命令解密
|
例如我要解密用我的公钥加密的.gpg文件 1.txt.gpg 直接终端输入gpg -d 1.txt.gpg
删除密钥
删除密钥有三个选项:
–delete-keys、–delete-secret-keys和–delete-secret-and-public-key
–delete-keys表示从公钥钥匙圈上删除密钥,也就是一同删除公钥和对应的私钥。在分批模式(batch mode)下,密钥必须使用指纹表示,或者使用–yes选项。
–delete-secret-keys表示从私钥钥匙圈上删除密钥。
–delete-secret-and-public-key和–delete-keys一样,但是如果私钥存在的话,会先移除私钥。在分批模式下,密钥必须使用指纹表示。
例如我要删除我的公钥中的testname
公钥,就输入下面的语句
|
要删除testname
私钥,就输入下面语句
|
参考链接: