如何在不安装 GPG 的情况下对我的公钥进行 ASCII 保护?

Con*_*rad 7 public-key public-key-encryption gnupg

我想将我的公钥上传到密钥服务器,但我已经在没有 GPG 的情况下拥有了我的关键基础设施,我不想安装我不需要的额外软件。有没有一种简单的方法可以在不安装整个 GnuPG 软件套件的情况下对我的公钥进行 ASCII 保护?

use*_*686 16

OpenPGP 的“Radix-64”ASCII 装甲,在RFC 4880 § 6 中进行了描述,主要是标准 Base64,带有类似 PEM 的开始/结束标头,并在末尾带有 CRC24 校验和。它可以这样实现:

  1. 写下装甲标题行;可选的装甲头;和一个空行:

    -----BEGIN PGP PUBLIC KEY BLOCK-----
    Version: conradpgp v1.0
    (leave this line empty)
    
    Run Code Online (Sandbox Code Playgroud)
  2. 编写 Base64 编码的消息,每行包含 76 个字符。

  3. 编写校验和行,由=后面跟着 Base64 编码的 Armor Checksum 组成:

    校验和是一个 24 位循环冗余校验 (CRC),
    通过相同的 MIME base64
    转换转换为 radix-64 编码的四个字符,前面是等号 (=)。CRC 是
    通过使用生成器 0x864CFB 和 0xB704CE 的初始化来计算的。
    累加是在数据转换为
    基数 64之前完成的,而不是转换后的数据。
    该算法的示例实现在下一节

    (有关示例 CRC24 代码,请参阅第 6.1 节。)

  4. 最后,写下盔甲尾巴:

    -----END PGP PUBLIC KEY BLOCK-----
    
    Run Code Online (Sandbox Code Playgroud)

  • +1 为`conradpgp v1.0`。 (2认同)