क्या सार्वजनिक कुंजी के रूप में PGP निजी कुंजी ब्लॉक में "सम्‍मिलित" हैं?


13

मैंने देखा है कि अगर मैं अपने ASCII- बख़्तरबंद PGP निजी कुंजी को अन्यथा खाली GnuPG कीरिंग ( ~/.gnupgपहले से हटाकर ) में आयात करता हूँ , तो कीरिंग में सार्वजनिक और निजी दोनों कुंजियाँ होती हैं। इसके अलावा, ASCII- बख्तरबंद निजी कुंजी ब्लॉक मेरे सार्वजनिक कुंजी समकक्ष के आकार से लगभग दोगुना है, जो मुझे विश्वास दिलाता है कि निजी कुंजी ब्लॉक में निजी और सार्वजनिक दोनों कुंजी शामिल हैं, जबकि सार्वजनिक कुंजी ब्लॉक में केवल बाद वाला होता है।

जब से मैंने अपनी कुंजी बनाई है, अब तक, मैंने अपनी कुंजी का निर्यात एक फ़ाइल के साथ किया है जिसमें मेरा निर्यात किया गया निजी कुंजी ब्लॉक है, और दूसरा मेरे निर्यात किए गए सार्वजनिक कुंजी ब्लॉक के साथ है। क्या मेरा सार्वजनिक कुंजी ब्लॉक बैकअप निरर्थक है, और क्या मैं सिर्फ निजी कुंजी फ़ाइल को सुरक्षित रख रहा हूं?

मैं निजी कुंजी फ़ाइल बनाने के लिए इस कमांड का उपयोग करता हूं:

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

और सार्वजनिक कुंजी फ़ाइल बनाने के लिए यह आदेश:

gpg --export -a > public

1
किसी को आपके प्रश्न का उत्तर देने के लिए आपको अपनी कुंजियों को निर्यात करने के लिए आपके द्वारा उपयोग की जाने वाली आज्ञाओं को जोड़ना होगा। जवाब शायद उसी में है। लेकिन सार्वजनिक कुंजी को निर्यात न करने से आपको क्या लाभ होगा? मैं कहूंगा कि इसे अपनी बैकअप दिनचर्या में छोड़ दें, इसमें कुछ भी खर्च नहीं होता है और हर उद्देश्य के लिए जहां आपको केवल सार्वजनिक कुंजी की आवश्यकता होती है जो आपके पास पहले से उपलब्ध है।
ब्रम

धन्यवाद ब्राम; मैंने अतिरिक्त स्पष्टता के लिए प्रश्न संपादित किया है। और हां, ~ 3 केबी को बचाने से कोई वास्तविक लाभ नहीं है, मैं केवल उत्सुक हूं।
डेलन अजाबनी

जवाबों:


15

हां, OpenPGP "गुप्त कुंजी" और "गुप्त उपकुंजी" पैकेट में सार्वजनिक और निजी दोनों पैरामीटर होते हैं। आप निर्यात की गई कुंजी की जांच करने के लिए pgpdump का उपयोग करके इसे सत्यापित कर सकते हैं :

$ gpg --export-secret-key ग्रेविटी | pgpdump
ओल्ड: सीक्रेट की पैकेट (टैग 5) (1854 बाइट्स)
    वेर 4 - नया
    सार्वजनिक निर्माण का समय - सत अक्टूबर 31 14:54:03 ईईटी 2009
    पब एल्ग - आरएसए एनक्रिप्ट या साइन (पब 1)
    RSA n (4096 बिट्स) - ...
    आरएसए ई (17 बिट्स) - ...
    सिम alg - CAST5 (सिम्मी 3)
    Iterated और नमकीन स्ट्रिंग-से-कुंजी (s2k 3):
        हैश एल्ग - SHA1 (हैश 2)
        नमक - 12 24 0f e1 5b 7e e2 46 
        गिनती - 65536 (कोड 96 की गिनती)
    IV - 91 a3 44 71 47 87 a4 ba 
    एन्क्रिप्टेड RSA d
    एन्क्रिप्टेड RSA पी
    एन्क्रिप्टेड RSA q
    एन्क्रिप्टेड RSA यू
    एन्क्रिप्टेड SHA1 हैश

यह ज्यादातर एसिमेट्रिक कुंजी प्रणालियों के लिए सच है, न कि केवल ओपनपीजीपी।


मुझे नहीं लगता कि यह PEM- एन्कोडेड RSA पब्लिक कुंजी और RSA SECRET कुंजी ब्लॉक के लिए सही है।
vy32

2
@ vy32: वे OpenPGP कुंजी नहीं हैं, इसलिए यह अप्रासंगिक है। लेकिन, यह अभी भी उन लोगों के लिए सच है । (ध्यान दें कि openssl genrsaकेवल "निजी" ब्लॉक कैसे आउटपुट करता है, इसलिए सार्वजनिक ब्लॉक को इससे प्राप्त किया जा सकता है।) आप स्वयं उनकी जांच कर सकते हैं openssl genrsa 512 | openssl asn1parse -i:। या RFC 3447 परिशिष्ट A की जाँच करें जो RSAPStreetKey संरचना में मापांक और publicExponent को स्पष्ट रूप से दिखाता है।
user1686
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.