Các khối khóa riêng tư PGP có chứa cả khóa công khai không?


13

Tôi đã nhận thấy rằng nếu tôi nhập khóa riêng PGP được bọc thép ASCII của mình vào một khóa GnuPG trống khác (bằng cách xóa ~/.gnupgtrước), khóa này chứa cả khóa chung và khóa riêng. Ngoài ra, khối khóa riêng được bọc thép ASCII có kích thước gấp đôi kích thước của khóa đối tác của tôi, điều này khiến tôi tin rằng khối khóa riêng chứa cả khóa riêng và khóa chung, trong khi khối khóa chung chỉ chứa khóa sau.

Kể từ khi tôi tạo khóa của mình, cho đến bây giờ, tôi đã sao lưu các khóa của mình bằng một tệp chứa khối khóa riêng được xuất và một tệp khác có khối khóa chung được xuất. Là bản sao lưu khóa công khai của tôi có dự phòng không, và do đó tôi có an toàn khi giữ tệp khóa riêng không?

Tôi sử dụng lệnh này để tạo tập tin khóa riêng:

gpg --export-secret-keys -a > private

và lệnh này để tạo tệp khóa công khai:

gpg --export -a > public

1
Để ai đó trả lời câu hỏi của bạn, bạn sẽ cần thêm các lệnh bạn sử dụng để xuất các khóa của mình. Câu trả lời có lẽ nằm ở chỗ đó. Nhưng bạn sẽ đạt được gì khi không xuất khóa công khai? Tôi muốn nói rằng hãy để nó trong thói quen sao lưu của bạn, nó không tốn bất kỳ chi phí nào và cho mọi mục đích mà bạn chỉ cần khóa công khai bạn đã có sẵn.
Bram

Cảm ơn Bram; Tôi đã chỉnh sửa câu hỏi cho rõ ràng hơn. Và vâng, tiết kiệm ~ 3 KB không có lợi ích thực sự, tôi chỉ tò mò.
Delan Azabani

Câu trả lời:


15

Có, các gói "khóa bí mật" và "khóa bí mật" OpenPGP chứa cả tham số chung và riêng. Bạn có thể xác minh điều này bằng cách sử dụng pgpdump để kiểm tra khóa đã xuất:

$ gpg - gexity-secret-key grawity | pgpdump
Cũ: Gói khóa bí mật (thẻ 5) (1854 byte)
    Ver 4 - mới
    Thời gian tạo khóa công khai - Thứ bảy ngày 31 tháng 10 14:54:03 EET 2009
    Pub alg - RSA Encrypt hoặc Sign (pub 1)
    RSA n (4096 bit) - ...
    RSA e (17 bit) - ...
    Sym alg - CAST5 (sym 3)
    Chuỗi-to-key lặp đi lặp lại và ướp muối (s2k 3):
        Hash alg - SHA1 (băm 2)
        Muối - 12 24 0f e1 5b 7e e2 46 
        Đếm - 65536 (mã số 96)
    IV - 91 a3 44 71 47 87 a4 ba 
    RSA được mã hóa d
    RSA được mã hóa p
    RSA được mã hóa q
    Mã hóa RSA u
    Mã băm SHA1 được mã hóa

Điều này đúng với hầu hết các hệ thống khóa bất đối xứng, không chỉ OpenPGP.


Tôi không nghĩ rằng điều đó đúng với các khối RSA PUBLIC KEY và RSA SECRET được mã hóa PEM.
vy32

2
@ vy32: Đó không phải là các khóa OpenPGP nên không liên quan. Nhưng, nó vẫn đúng với những người như vậy. (Lưu ý cách openssl genrsachỉ xuất ra khối "riêng tư", do đó, khối công khai có thể được lấy từ nó.) Bạn có thể tự kiểm tra chúng : openssl genrsa 512 | openssl asn1parse -i. Hoặc kiểm tra RFC 3447 Phụ lục A hiển thị rõ mô-đun & công khai. Trong cấu trúc RSAPrivateKey.
dùng1686
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.