กลุ่มคีย์ส่วนตัวของ PGP นั้น“ บรรจุ” กุญแจสาธารณะเช่นกันหรือไม่?


13

ฉันสังเกตเห็นว่าถ้าฉันนำเข้าคีย์ส่วนตัว PGP ที่มีเกราะ ASCII ของฉันไปยังพวงกุญแจ GnuPG ที่ว่างเปล่า (โดยการลบ~/.gnupgก่อนหน้านี้) พวงกุญแจมีทั้งกุญแจสาธารณะและกุญแจส่วนตัว นอกจากนี้บล็อกกุญแจส่วนตัวที่หุ้มเกราะ ASCII นั้นมีขนาดใหญ่กว่ากุญแจสาธารณะคู่ของฉันถึงสองเท่าซึ่งทำให้ฉันเชื่อว่าบล็อกกุญแจส่วนตัวมีทั้งกุญแจส่วนตัวและกุญแจสาธารณะในขณะที่บล็อกกุญแจสาธารณะบรรจุเพียงกุญแจหลังเท่านั้น

ตั้งแต่ฉันสร้างรหัสของฉันจนถึงตอนนี้ฉันได้สำรองกุญแจด้วยไฟล์หนึ่งไฟล์ที่มีบล็อกส่วนตัวที่ส่งออกของฉันและอีกไฟล์หนึ่งด้วยบล็อกกุญแจสาธารณะที่ส่งออกของฉัน การสำรองข้อมูลบล็อกกุญแจสาธารณะของฉันซ้ำซ้อนหรือไม่และฉันปลอดภัยเพียงแค่เก็บไฟล์กุญแจส่วนตัวหรือไม่

ฉันใช้คำสั่งนี้เพื่อสร้างไฟล์กุญแจส่วนตัว:

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

และคำสั่งนี้เพื่อสร้างไฟล์กุญแจสาธารณะ:

gpg --export -a > public

1
สำหรับใครบางคนที่จะตอบคำถามของคุณคุณจะต้องเพิ่มคำสั่งที่คุณใช้ในการส่งออกคีย์ของคุณ คำตอบน่าจะเป็นในที่ แต่คุณจะได้อะไรจากการไม่ส่งออกกุญแจสาธารณะ ฉันจะบอกว่าปล่อยไว้ในรูทีนการสำรองข้อมูลของคุณโดยไม่เสียค่าใช้จ่ายใด ๆ และสำหรับทุก ๆ จุดที่คุณต้องการเฉพาะกุญแจสาธารณะที่คุณมีอยู่แล้ว
Bram

ขอบคุณ Bram; ฉันได้แก้ไขคำถามเพื่อความชัดเจนเป็นพิเศษ และใช่การประหยัด ~ 3 KB ไม่มีประโยชน์จริงฉันแค่อยากรู้
Delan Azabani

คำตอบ:


15

ใช่แพ็คเก็ต "คีย์ลับ" และ "คีย์ย่อยลับ" ของ OpenPGP มีทั้งพารามิเตอร์สาธารณะและส่วนตัว คุณสามารถตรวจสอบได้โดยใช้pgpdumpเพื่อตรวจสอบคีย์ที่ส่งออก:

$ gpg --export-secret-key grawity | pgpdump
เก่า: แพ็คเก็ตคีย์ลับ (แท็ก 5) (1854 ไบต์)
    Ver 4 - ใหม่
    เวลาในการสร้างกุญแจสาธารณะ - วันที่ 31 ต.ค. 14:54:03 EET 2009
    Pub alg - เข้ารหัส RSA หรือ Sign (pub 1)
    RSA n (4096 บิต) - ...
    RSA e (17 บิต) - ...
    Sym alg - CAST5 (ตอนที่ 3)
    การทำซ้ำและเค็ม string-to-key (s2k 3):
        Hash alg - SHA1 (แฮช 2)
        เกลือ - 12 24 0f e1 5b 7e e2 46 
        นับ - 65536 (จำนวนรหัส 96)
    IV - 91 a3 44 71 47 87 a4 ba 
    เข้ารหัส RSA d
    เข้ารหัส RSA p
    เข้ารหัส RSA q
    เข้ารหัส RSA u
    เข้ารหัสแฮช SHA1 ที่เข้ารหัสแล้ว

สิ่งนี้เป็นจริงสำหรับระบบกุญแจส่วนใหญ่ที่ไม่สมมาตรไม่ใช่แค่ OpenPGP


ฉันไม่คิดว่ามันจะเป็นจริงสำหรับการเข้ารหัส PEM RSA PUBLIC KEY และการบล็อกคีย์ RSA SECRET
vy32

2
@ vy32: นั่นไม่ใช่กุญแจ OpenPGP ดังนั้นมันจึงไม่เกี่ยวข้อง แต่ก็ยังคงเป็นจริงสำหรับผู้เช่นกัน (หมายเหตุว่าopenssl genrsaผลเพียงบล็อก "เอกชน" เพื่อให้บล็อกประชาชนสามารถ . จะได้รับจากมัน) openssl genrsa 512 | openssl asn1parse -iคุณสามารถตรวจสอบได้ด้วยตนเอง: หรือตรวจสอบRFC 3447 ภาคผนวก Aซึ่งแสดงโมดูลัสและสาธารณะอย่างชัดเจนในโครงสร้าง RSAPrivateKey
user1686
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.