【问题标题】:Delete public key from Private for Private key storage with GPG使用 GPG 从 Private 中删除公钥以用于私钥存储
【发布时间】:2015-04-12 13:58:43
【问题描述】:

我正在尝试使用 QR 码生成器对 4092 位秘密/私有 PGP 密钥进行纸质备份,但密钥太大。我将在这里采用低技术并将其分成两部分,但也许我不需要。我知道在导出密钥时,它也会导出嵌入其中的公钥。

有没有办法从该文件中删除密钥的公共部分,或者在导出之前,以便生成的文件只有私钥?

我不确定生成的文件是否足够小,但值得一试。

D:\Users\tharding>gpg --edit-key "04EAC14C"
gpg (GnuPG) 2.0.26; Copyright (C) 2013 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.

Secret key is available.

pub  4096R/04EAC14C  created: 2015-02-11  expires: never       usage: SCE
                     trust: unknown       validity: unknown
[ unknown] (1). Timothy Harding <hardingt@gmail.com>

gpg> key 1
No subkey with index 1

gpg> delkey
You must select at least one key.

gpg> delkey 0
You must select at least one key.

更新: 据我所知,(查看公钥和私钥的 ASCII Armored 输出)看起来它们的结构是这样的:

更新 2:

再次查看文件,这就是我所拥有的,我还没有拿出十六进制编辑器来验证非装甲文件,但我发现网上关于这些关键文件的帮助很少内部结构:

-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: 

4    header chars ??
1517 pub key chars
4    footer chars ??
-----END PGP PUBLIC KEY BLOCK-----

-----BEGIN PGP PRIVATE KEY BLOCK-----
Version:

4    different header chars from pub key ??
700  pub key chars
1772 private key chars (possibly some header/footer to do with the symmetric cipher)
817  pub key chars (same total 1517, exact same ASCII sequence if put together)
4    different footer chars from pub key ??
-----END PGP PRIVATE KEY BLOCK-----

更新 3: 查看二进制 pub/private 密钥,发现:

  • 公钥为1138字节
    • 4 个唯一字节
    • 在私钥中也发现了 1134 个字节
  • 私钥是2467字节
    • 4 个唯一字节
    • 在公钥中逐字找到其中 524 个
    • 其中1329个是私钥独有的
    • 在公钥中逐字找到的 38 个字节(密钥名称和电子邮件地址)
    • 在公钥中逐字找到 572 个字节

【问题讨论】:

  • 只是想知道 - 太大了,到底是什么?以 OCR 友好字体在多页上打印有什么问题吗? (经验之谈:请确保您选择的字体可以通过您的 OCR 软件区分零和字母 O...)
  • 对于二维码来说太大了。我没有打印出 ASCII(这当然是一个选项),我正在尝试将 4096 位私钥放入单个 QR 码中。 QR 码足以容纳单个 4096 位密钥,但不能同时容纳私钥和公钥(自动包含在私钥中)。
  • 啊,抱歉,我似乎没有阅读您的问题 :)

标签: qr-code public-key-encryption gnupg pgp openpgp


【解决方案1】:

有一个名为 Paperkey[1] 的程序,由 David Shaw[2] 编写,仅从导出的 OpenPGP 私钥中提取私钥信息。

摘自包装说明:

仅从 OpenPGP 密钥中提取秘密信息

Paperkey 页面已经为 Windows 32 位构建了一个版本,并提供了在 Linux、Unix、*BSD 和 OSX 上编译的源代码。

Paperkey 也可以通过某些 Linux/BSD 发行版上的包管理器获得。

示例包管理器安装 -

apt(debian)-

apt-get install paperkey

百胜(红帽)

yum install paperkey

pkg (bsd)

pkg install paperkey

端口(bsd)

cd /usr/ports/security/paperkey
make install clean

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-12-23
    • 1970-01-01
    • 2013-04-10
    • 1970-01-01
    • 2019-12-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多