`

Linux下使用GPG加密解密的说明及示例

gpg 
阅读更多
1、生成密钥对:gpg --gen-key

为用户生成新密钥对。需提供:密钥类型(默认为RSA/RSA);密钥长度(以位为单位,越长越强);过期时间(以防密钥损坏);(通常我都是一路回车过去)接下来的还是要填一填的:名称、电子邮箱、标识密钥所有者的注释;密码短语(必须提供,如果私钥被盗,将无法使用)。

2、列出公钥:gpg --list-keys

列出所拥有的公钥:他们自己的公钥以及从与之通信的其他人那里导入的任何公钥。

3、导出公钥:gpg --export --armor key-id -o file.key

将公钥导出至文件,以便于其他人使用。--armor选项以文本形式显示输出,而非二进制格式。key-id是电子邮箱地址或在--list-keys的pub行中列出的八位十六进制数。

4、导入公钥:gpg --import file.key

从发送给您的密钥文件中导入其他人的公钥

5、加密文件:gpg --encrypt --armor -r key-id file

用key-id的公钥加密消息。如果未提供-r key-id,命令将提示收件人输入。默认输出文件为file.asc.

6、解密文件:gpg --decrypt file

用您的私钥之一解密用公钥加密的消息。

示例:

创建属于您自己的公钥/ 私钥对。

[sjx@server1 ~]$ gpg --gen-key

gpg (GnuPG) 2.0.14; Copyright (C) 2009 Free Software Foundation, Inc.

This is free software: you are free to change and redistribute it.

There is NO WARRANTY, to the extent permitted by law.

Please select what kind of key you want:

(1) RSA and RSA (default)

(2) DSA and Elgamal

(3) DSA (sign only)

(4) RSA (sign only)

Your selection?    Enter

RSA keys may be between 1024 and 4096 bits long.

What keysize do you want? (2048)    Enter

Requested keysize is 2048 bits

Please specify how long the key should be valid.

0 = key does not expire

<n> = key expires in n days

<n>w = key expires in n weeks

<n>m = key expires in n months

<n>y = key expires in n years

Key is valid for? (0)     Enter

Key does not expire at all

Is this correct? (y/N)   y

GnuPG needs to construct a user ID to identify your key.

Real name: shangjx

Email address: shangjx13@gmail.com

Comment: Enter

You selected this USER-ID:

"xiyou<sjx@server1.example.com>"

Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit?    o

You need a Passphrase to protect your secret key.

can't connect to `/home/wxh/.gnupg/S.gpg-agent': No such file or directory

gpg-agent[2008]: directory `/home/wxh/.gnupg/private-keys-v1.d' created

(此时会弹出图形应用程序,输入并验证密钥)

We need to generate a lot of random bytes. It is a good idea to perform

some other action (type on the keyboard, move the mouse, utilize the

disks) during the prime generation; this gives the random number

generator a better chance to gain enough entropy.

We need to generate a lot of random bytes. It is a good idea to perform

some other action (type on the keyboard, move the mouse, utilize the

disks) during the prime generation; this gives the random number

generator a better chance to gain enough entropy.

gpg: key CA83F5AF marked as ultimately trusted

public and secret key created and signed.

gpg: checking the trustdb

gpg: 3 marginal(s) needed, 1 complete(s) needed, PGP trust model

gpg: depth: 0 valid: 1 signed: 0 trust: 0-, 0q, 0n, 0m, 0f, 1u

pub 2048R/CA83F5AF 2011-08-15

Key fingerprint = F886 17A2 F832 B545 6E27 B424 E539 26BF CA83 F5AF

uid

xiyou<sjx@server1.example.com>

sub 2048R/DB58BFCE 2011-08-15

若要导出密钥,请在上面的输出中查找密钥ID 。可以在上面的pub 2048R/ 输出的后面找到。在给示例中

密钥ID 是CA83F5AF 。以下示例将显示使用该密钥ID 的命令。

●导出您的公钥,与合作伙伴共享。

[wxh@server1 ~]$ gpg -a -o ~/pub.key --export CA83F5AF

●将导出的公钥复制到合作伙伴的server2 上。

[wxh@server1 ~]$ scp pub.key server2.example.com:~

●导入合作伙伴的公钥。

[wxh@server2 ~]$ gpg --import pub.key

gpg: directory `/home/wxh/.gnupg' created

gpg: new configuration file `/home/wxh/.gnupg/gpg.conf' created

gpg: WARNING: options in `/home/wxh/.gnupg/gpg.conf' are not yet active during this run

gpg: keyring `/home/wxh/.gnupg/secring.gpg' created

gpg: keyring `/home/wxh/.gnupg/pubring.gpg' created

gpg: /home/wxh/.gnupg/trustdb.gpg: trustdb created

gpg: key CA83F5AF: public key "westos <wxh@server1.example.com>" imported

gpg: Total number processed: 1

gpg:

imported: 1 (RSA: 1)

●创建一个文本文件,内含供合作伙伴阅读的消息。

[wxh@server2 ~]$ echo "xi'an university of posts and telecommunications" > encrypt.txt

●用合作伙伴的公钥加密文件。www.2cto.com

[wxh@server2 ~]$ gpg --encrypt --armor -r CA83F5AF encrypt.txt

gpg: CA83F5AF: There is no assurance this key belongs to the named user

pub 2048R/CA83F5AF 2011-08-15 xiyou <sjx@server1.example.com>

Primary key fingerprint: 7F44 7AE0 A7C2 6E89 6C68 6FE2 5572 8249 3F7B CEB5

Subkey fingerprint: 8FCB BF3E 2D51 563F 1C3F 2440 FC81 0D73 A353 A3BF

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/N) y

●将加密文件复制合作伙伴。

[wxh@server2 ~]$ scp encrypt.txt.asc server1.example.com:~

●解密合作伙伴已加密的文件并验证您可以查看他们所发送的消息。

[wxh@server1 ~]$ gpg --decrypt encrypt.txt.asc

You need a passphrase to unlock the secret key for

user: "xiyou <sjx@localhost>"

2048-bit RSA key, ID DB58BFCE, created 2011-08-15 (main key ID CA83F5AF)

can't connect to `/home/wxh/.gnupg/S.gpg-agent': No such file or directory

gpg: encrypted with 2048-bit RSA key, ID DB58BFCE, created 2011-08-15

"xiyou<sjx@server1.example.com>"

xi'an university of posts and telecommunications
分享到:
评论

相关推荐

    gpg加密解密 加密工具.zip

    gpg4win包含GnuPG核心程序以及配套的图形界面工具,如 Kleopatra,使得在Windows环境下使用GPG变得更加便捷。这个版本的gpg4win提供了详细的说明书,帮助用户了解如何使用软件进行加密和解密操作,同时也包括了与之...

    c# 实现对文件的GPG 加密与解密

    c# 使用DidiSoft.Pgp来实现对文件的GPG 加密与解密 。GPG非对称加密需要公钥和私钥 :你的公钥的作用 :别人用来给你发加密的信息&别人验证你的签名,即加密&验证(别人来做) 你的私钥的作用 :你用来创建签名&...

    PGP 加解密及签名验签示例

    **PGP 加解密及签名验签示例** PGP(Pretty Good Privacy)是一种广泛使用的加密软件,主要用于电子邮件、文件的加密以及数字签名。它基于公开密钥加密算法,如RSA和IDEA,确保数据在传输过程中的安全性和完整性。...

    简单的对称GPG文件加解密.zip

    这个名为"简单的对称GPG文件加解密.zip"的压缩包,很可能包含了关于如何使用GPG进行对称加密和解密的示例或教程。 对称加密是一种常见的加密方法,它使用相同的密钥进行加密和解密操作。这种加密方式速度快、效率高...

    关于加密解密备忘

    5. 加密解密工具的应用:介绍如何使用GPG、7-Zip等工具进行数据加密,包括命令行选项和实际操作步骤。 6. 安全实践和注意事项:讨论加密解密过程中的安全问题,如密钥管理、数据完整性检查等。 这个主题对于IT从业...

    加密与解密实战入门

    此外,“配套加密解密程”可能意味着书中还附带了相关的编程练习或者代码示例,以加深对加密解密原理的理解,这对于初学者来说是非常有价值的实践环节。 标签“加密与解密”进一步强调了这本书的重点内容,包括经典...

    文件加密解密

    在描述中提到的博客链接(由于无法直接访问,我们只能根据常规知识进行解释),可能详细讲解了加密解密的原理和实践,包括如何使用特定的工具或编程语言实现这些功能。例如,Python中的`cryptography`库可以用于实现...

    实现电子邮件的接受和发送,并且在发送和接受过程中可以进行加密和解密.zip

    此外,还可以使用PGP(Pretty Good Privacy)或GPG(GNU Privacy Guard)等公钥加密技术对邮件内容进行端到端加密,这样只有拥有正确私钥的收件人才能解密邮件。这些工具提供了一种更高级别的安全保护,即使邮件在...

    DES.zip_decipher_des_linux des

    压缩包内的文件名为"DES",这可能是一个包含示例数据或代码的文件,用于演示如何在Linux环境下使用DES加密算法。这个文件可能是文本格式,包含加密或解密的命令示例,或者是二进制文件,代表已经加密或解密的数据。 ...

    AES加密算法接口及演示程序最新版下载

    在实际应用中,AES通常与其他协议或机制结合使用,例如在SSL/TLS中用于数据传输的加密,或者在PGP、GPG等工具中用于文件的加密存储。由于AES的高效性和安全性,它成为了许多软件和系统中的首选加密算法。 下载的...

    加密与认证

    #### 三、Linux下的工具使用 在Linux操作系统中,实现加密和认证功能有多种工具可用,如OpenSSL、GnuPG等。 ##### 3.1 OpenSSL OpenSSL是一个强大的加密库,提供了丰富的API用于加密、认证以及其他安全相关操作。...

    Linux实验报告7

    ### 一、Linux下的文件权限与安全性 #### 1. 文件权限的基本概念 在Linux系统中,每个文件都有特定的权限设置来控制不同用户对该文件的操作权限。文件权限分为读(r)、写(w)和执行(x)三种基本类型。 - **读...

    运用加密技术保护Java源代码

    下面将通过一个简单的示例来展示如何使用自定义ClassLoader来实现Java源代码的加密与解密。 1. **创建自定义ClassLoader**: - 自定义ClassLoader需要重写`findClass`方法来处理加密后的类文件。 - 在`findClass`...

    BouncyCastleOpenGPG加解密实例.zip

    在`bouncycastle-gpg-example-master`这个项目中,应该包含了使用BouncyCastle进行OpenPGP加解密的Java代码示例。这些示例通常会展示如何生成密钥对、如何将密钥保存到文件、如何读取密钥、如何加密和解密数据等...

    pgp加密pgp加密pgp加密

    这可能包括如何生成密钥对,如何使用gpg(GNU Privacy Guard,一个开源的PGP实现)工具进行加密和解密操作,以及如何管理公钥和私钥等内容。对于IT专业人士来说,理解和掌握这些基本操作是保证数据安全的重要一环。 ...

    bouncy-gpg:再次将Bouncy Castle与OpenPGP结合使用会很有趣!

    只需几行代码即可加密,解密,签名和验证GPG / PGP文件 通过使用读取加密文件来保护所有 您甚至可以-永远不要让纯文本打入您的服务器磁盘! 例子 Bouncy GPG内置了几个。 密钥管理 Bouncy GPG支持读取gpg 密钥环和...

    ironhide:轻松加密和解密文件给用户和组的工具。 与GPG类似,但可大规模使用

    用法示例下面的示例演示如何创建新的IronHide组,将文件加密到该组,然后将其他用户添加为该组的成员,以便他们有权解密文件。 $ ironhide group:create engineering$ ironhide file:encrypt -g engine

    字符串加密

    对称加密使用相同的密钥进行加密和解密,例如DES、AES等;非对称加密则使用一对公钥和私钥,比如RSA和ECC。 2. **对称加密**: 对称加密算法如AES(高级加密标准)是常见的字符串加密方式,其优点在于加密和解密...

    sops-decrypt:GitHub动作来解密sops加密文件

    GitHub动作,可用于解密SOPS加密文件。 输入项 version 必须用于解密文件的SOPS二进制文件的必需版本 file 必须解密的SOPS加密文件的相对路径 gpg_key 必需的可以对文件进行解密的Base64编码的专用GPG密钥 ...

    gpg-java:GnuPG命令行工具的Java绑定

    2. **加密解密**:对文件或数据流进行AES或RSA等算法的加密和解密,确保数据安全。 3. **签名验证**:对文件或数据进行数字签名,验证其完整性和来源的真实性。 4. **密钥交换**:使用对称密钥或非对称密钥进行安全...

Global site tag (gtag.js) - Google Analytics