2015-02-12 221 views
2

我試圖做一個基於紙張的4092位祕密/私人PGP密鑰使用QR碼發生器的備份,但關鍵是太大了。我打算在這裏將低技術分成兩部分,但也許我不需要。我知道,在輸出密鑰時,它也輸出嵌入在其中的公鑰。從私鑰中刪除公鑰私鑰存儲與GPG

有沒有什麼辦法從該文件中刪除公鑰部分,或者在導出之前,這樣得到的文件是只有的私鑰?

我不確定所產生的文件是否足夠小,但它值得一試。

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 <[email protected]> 

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裝甲輸出),它看起來像他們這種方式構造:

GPG ASCII Armored Key File Format

更新2:

再次看着這些文件,這就是我所得到的,我還沒有拿出一個十六進制編輯器來驗證非裝甲文件,但我在網上發現了令人驚訝的小幫助怎麼了SE密鑰文件內部結構:

-----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: 看了看二進制酒吧/私鑰和發現:

  • 公鑰1138字節
    • 4個唯一字節
    • 在私鑰以及發現個
    • 1134字節
  • 私鑰是2467字節
    • 4個獨特的字節
    • 524的在公鑰
    • 1329這是獨一無二的逐字發現到私鑰
    • 38字節在公鑰中被逐字發現(密鑰名稱&電子郵件地址)
    • 572字節其中ar Ë逐字發現,在公共密鑰
+0

只是想知道 - 太大了,究竟是什麼?使用OCR友好字體在多個頁面上打印時是否有問題? (注意:由於經驗不足:請確保選擇OCR軟件可識別零和字母O的字體......) – 2015-03-02 18:09:35

+0

對於QR代碼大。我不打印ASCII(這當然是一種選擇),我試圖將一個4096位的私鑰放在一個QR碼中。 QR代碼對於單個4096位密鑰來說足夠大,但對於私鑰和公鑰(私鑰都會自動包含這兩個密鑰)都不是。 – 2015-03-03 19:59:32

+0

啊,道歉,看來我沒看過你的問題:) – 2015-03-04 11:21:24

回答

2

有一個叫Paperkey [1]項目,由大衛·肖[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