Lxn-Chan!

(~ ̄▽ ̄)→))* ̄▽ ̄*)o

PGP/GPG 使用发送者的私钥对消息进行签名。接收者可以使用发送者的公钥来验证签名,从而确认消息的来源和未被篡改。

  1. 安装GPG:
    Linux:
    1
    2
    sudo apt install -y gnupg
    sudo dnf install -y gnupg
    Windows:
    前往下载Gpg4win
  2. 打开Terminal,首先创建自己的密钥对:
    1
    gpg --full-generate-key
    随后会询问一些问题,例如加密方式、算法等,一般保持默认即可;然后会询问密钥对过期时间、姓名、邮箱信息等,按实际需求回答即可。
    中间会询问密码,该密码设置后务必牢记!
  3. 查看本机已有密钥对:
    1
    gpg --list-secret-keys --keyid-format long
    会得到如下信息:
    1
    2
    3
    4
    5
    6
    [keyboxd]
    ---------
    sec ed25519/KEY_ID 2025-02-24 [SC] [expires: 2028-02-24]
    FINGERPRINT
    uid [ultimate] lxnchan <lxnchan@outlook.com>
    ssb cv25519/ANOTHER_KEY_ID 2025-02-24 [E] [expires: 2028-02-24]
    记下sec行中的YOUR_KEY_ID (例如,0123456789ABCDEF)和YOUR_FINGERPRINT。 你需要YOUR_KEY_ID来签名和导出公钥。
  4. 上传Key到公钥服务器。

    注意,这一步不是必须的。

    1
    gpg --keyserver keys.openpgp.org --send-keys YOUR_KEY_ID

    上传好后可以到对应的KeyServer查看是否有你自己的公钥。常见公钥服务器请见Key server (cryptographic) - Wikipedia)。

  5. 签名信息:
    准备好信息,我们这里假设是message.txt
    1
    2
    3
    4
    Sometimes it's the very people who no one imagines anything of 
    有时候正是那些意料之外的人
    who do the things that no one can imagine.
    做出了人们意想不到的事
    执行签名:
    1
    gpg --clearsign message.txt
    随后会让你输入密码,该密码在创建密钥对时设置。
    签名完成后得到message.txt.asc文件,该文件是文本文件,内容如下:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    -----BEGIN PGP SIGNED MESSAGE-----
    Hash: SHA512

    Sometimes it's the very people who no one imagines anything of
    有时候正是那些意料之外的人
    who do the things that no one can imagine.
    做出了人们意想不到的事
    -----BEGIN PGP SIGNATURE-----

    iHUEARYKAB0WIQST2ZfLdtGdaeL2MHH5ougMZxrMzwUCZ7ySOQAKCRD5ougMZxrM
    z9U8AP90qo7Ok+TBPg6yM7cVlwzgQA+3BDsGTyg0uowDsCx3ugEAuwT1NEooPvby
    JCeTE99C/XMPncm4xLoAh4wlZmSNBQU=
    =hz26
    -----END PGP SIGNATURE-----
  6. 验证签名:
    1
    gpg --verify message_signed.txt
    得到如下返回:
    1
    2
    3
    gpg: Signature made 02/24/25 23:37:29
    gpg: using EDDSA key 93D997CB76D19D69E2F63071F9A2E80C671ACCCF
    gpg: Good signature from "lxnchan <lxnchan@outlook.com>" [ultimate]
    得到Good signature即为签名有效且数据未被篡改,如果数据被篡改过则有BAD signature返回:
    1
    2
    3
    gpg: Signature made 02/24/25 23:37:29 ̨
    gpg: using EDDSA key 93D997CB76D19D69E2F63071F9A2E80C671ACCCF
    gpg: BAD signature from "lxnchan <lxnchan@outlook.com>" [ultimate]

 简单说两句



联系站长 | 服务状态 | 友情链接

备案号:辽ICP备19013963号

萌ICP备 20219421 号

津公网安备12011602300394号

中国互联网违法和不良信息举报中心

架构版本号:8.1.6 | 本站已全面支持IPv6

正在载入运行数据(1/2)请稍后...
正在载入运行数据(2/2)请稍后...

Copyright 2024 LingXuanNing, All rights reserved.