பொது-குறை ক்রিপ்টোগ்রபி உண்மையாக எப்படி வேலை செய்கிறது
অসমச்சீர் என்க்রிப்शन், முக்கிய ജോড়ுகள், এবং டிജிটல் স्বाক्षर का एक व्যावहारिक वॉकथ्रू, हाथ लहराने वाली गणित समानताओं के बिना।
प्रत्येक बार जब आप किसी सर्वर में SSH करते हैं या HTTPS साइट लोड करते हैं, तो दो गणितीय रूप से जुड़ी हुई कुंजियाँ भारी उठालो करती हैं। एक सार्वजनिक है, एक निजी है, और उनके बीच का संबंध यही है जो एक अविश्वसनीय नेटवर्क पर सुरक्षित संचार को पहली जगह संभव बनाता है।
मौलिक विचार
सममितीय एन्क्रिप्शन के साथ, एक कुंजी डेटा को दोनों लॉक और अनलॉक करती है। यह ठीक है अगर दोनों पक्ष पहले से ही एक रहस्य साझा करते हैं, लेकिन उस रहस्य को सुरक्षित रूप से वितरित करना कठिन हिस्सा है। सार्वजनिक-कुंजी (असमानांतर) क्रिप्टोग्राफी इसे गणितीय रूप से संबंधित जोड़ी उत्पन्न करके हल करता है: एक सार्वजनिक कुंजी जो आप किसी को भी सौंपते हैं, और एक निजी कुंजी जो आप कभी साझा नहीं करते।
सार्वजनिक कुंजी के साथ एन्क्रिप्ट किया गया डेटा केवल मेल खाने वाली निजी कुंजी के साथ डिक्रिप्ट किया जा सकता है। निजी कुंजी के साथ हस्ताक्षरित डेटा को सार्वजनिक कुंजी रखने वाला कोई भी सत्यापित कर सकता है। ये दोनों गुण लगभग सब कुछ कवर करते हैं जो हम इसका उपयोग करते हैं: गोपनीयता और प्रमाणीकरण।
RSA, प्रायश्चित उदाहरण
RSA इस तथ्य पर निर्भर करता है कि दो बड़े अभाज्य संख्याओं को गुणा करना तेज़ है, लेकिन पণ्य को वापस उन अभाज्य संख्याओं में विभाजित करना स्केल पर कम्प्यूटेशनल रूप से क्रूर है। एक 2048-बिट RSA कुंजी दो अभाज्य संख्याओं से बनी होती है जो प्रत्येक लगभग 1024 बिट होती हैं। सार्वजनिक कुंजी (n, e) है — n अभाज्य संख्याओं का गुणनफल है, e एक निश्चित घातांक जैसे 65537। निजी कुंजी n के टोटिएंट का उपयोग करके प्राप्त की जाती है और मूल अभाज्य संख्याओं को जानना शामिल है।
एन्क्रिप्शन मॉड्यूलर घातांक है: c = m^e mod n. डिक्रिप्शन निजी घातांक d के साथ इसे उलट देता है: m = c^d mod n. कोई भी वास्तव में RSA के साथ सीधे बड़ी payload को एन्क्रिप्ट नहीं कर रहा है व्यवहार में, हालांकि — यह धीमा है और कुंजी लंबाई से जुड़ी आकार सीमाएं हैं। इसके बजाय, RSA आमतौर पर एक सममितीय सेशन कुंजी को लपेटता है (उदाहरण के लिए AES-256), और सममितीय सिफर बल्क डेटा को संभालता है। यह संकर दृष्टिकोण है जो TLS उपयोग करता है।
अण्डाकार वक्र क्रिप्टोग्राफी और यह क्यों ले रहा है
ECC आपको RSA की समतुल्य सुरक्षा मिलती है बहुत छोटी कुंजियों के साथ। एक 256-बिट ECC कुंजी (जैसे curve secp256r1 या Curve25519) शक्ति में लगभग 3072-बिट RSA कुंजी के बराबर है। छोटी कुंजियों का अर्थ तेज़ हैंडशेक और कम बैंडविड्थ है, जो आधुनिक TLS कॉन्फ़िगरेशन, SSH कार्यान्वयन, और Signal के प्रोटोकॉल सभी ECC पर झुकते हैं।
गणित अलग है — यह पूर्णांक गुणनखंडन के बजाय अण्डाकार वक्र पर बिंदुओं पर असतत लॉगरिदम समस्या पर आधारित है — लेकिन सार्वजनिक/निजी कुंजी संबंध और गारंटियां वैचारिक रूप से समान हैं।
डिजिटल हस्ताक्षर: समीकरण का दूसरा आधा
एन्क्रिप्शन डेटा को गोपनीय रखता है। हस्ताक्षर प्रामाणिकता और अखंडता साबित करते हैं। किसी संदेश पर हस्ताक्षर करने के लिए, आप इसे hash करते हैं (आमतौर पर SHA-256) और उस hash को अपनी निजी कुंजी के साथ एन्क्रिप्ट करते हैं। आपकी सार्वजनिक कुंजी के साथ कोई भी संदेश को स्वयं hash कर सकता है, आपके हस्ताक्षर को डिक्रिप्ट कर सकता है, और दोनों hashes मिलान की जांच कर सकता है।
यह बिल्कुल वही है जो होता है जब आप git commit -S को GPG कुंजी के साथ चलाते हैं, या जब एक प्रमाणपत्र प्राधिकारी एक TLS प्रमाणपत्र पर हस्ताक्षर करता है। CA की निजी कुंजी आपके cert पर हस्ताक्षर करती है; ब्राउजर CA की सार्वजनिक कुंजी के साथ पूर्व-विश्वसनीय आते हैं, इसलिए वे CA से सीधे बात किए बिना आपके cert की प्रामाणिकता को सत्यापित कर सकते हैं।
जहां यह दिन-प्रतिदिन दिखाई देता है
SSH कुंजी प्रमाणीकरण एक प्रत्यक्ष आवेदन है: ssh-keygen -t ed25519 एक कुंजी जोड़ी उत्पन्न करता है, आप सार्वजनिक आधे को ~/.ssh/authorized_keys पर सर्वर पर छोड़ते हैं, और प्रमाणीकरण निजी कुंजी का उपयोग करके एक चुनौती-प्रतिक्रिया के माध्यम से होता है, कोई पासवर्ड कभी प्रेषित नहीं होता।
TLS हैंडशेक संक्षेप में असमानांतर क्रिप्टो का उपयोग करते हैं, केवल एक साझा सममितीय कुंजी स्थापित करने के लिए (आधुनिक सेटअप में ECDHE कुंजी विनिमय के माध्यम से), फिर वास्तविक सेशन के लिए तेज़ सममितीय एन्क्रिप्शन में गिरते हैं। PGP/GPG ईमेल एन्क्रिप्शन भी संकर पैटर्न का अनुसरण करता है — संदेश को एक यादृच्छिक AES कुंजी के साथ एन्क्रिप्ट करें, फिर उस AES कुंजी को प्राप्तकर्ता की RSA या ECC सार्वजनिक कुंजी के साथ एन्क्रिप्ट करें।
व्यवहार में क्या वास्तव में टूटता है
RSA और ECC के पीछे की गणित को चिरपरंपरागत कंप्यूटिंग के माध्यम से तोड़ा नहीं गया है। जो गलत होता है वह लगभग हमेशा कार्यान्वयन होता है: कुंजियाँ बनाते समय कमजोर यादृच्छिक संख्या पीढ़ी (2008 से Debian OpenSSL बग पाठ्यपुस्तक केस है), ECDSA हस्ताक्षर में पुनर्निर्दिष्ट nonces निजी कुंजियों को लीक कर रहे हैं, या ख़राब रूप से लागू किए गए RSA के खिलाफ padding oracle हमले (Bleichenbacher की PKCS#1 v1.5 padding के विरुद्ध हमला)। क्वांटम कंप्यूटिंग दीर्घकालिक सैद्धांतिक खतरा है — Shor का एल्गोरिदम RSA और ECC दोनों को तोड़ देगा यदि एक पर्याप्त बड़ा क्वांटम कंप्यूटर मौजूद था — जो कि NIST ने पहले ही ML-KEM (पूर्व में Kyber) जैसे पोस्ट-क्वांटम एल्गोरिदम को मानकीकृत किया है भविष्य माइग्रेशन के लिए।
अगर आप इसे आगे जाना चाहते हैं, तो Korra Studio के क्रिप्टोग्राफी ट्रैक कुंजी विनिमय प्रोटोकॉल और hash फ़ंक्शन आंतरिकता को अधिक गहराई में कवर करते हैं, और नेटवर्किंग सेगमेंट यह सब कैसे एक वास्तविक TLS हैंडशेक में बाइट दर बाइट फिट करता है।
AI உதவியுடன் எழுதப்பட்டது, Michal Pilch (CISSP), Korra Studio ஆல் மறுஆய்வு செய்யப்பட்டு வெளியிடப்பட்டது.
இது Korra Studio அறிவுத் தளத்தில் இருந்து ஒரு குறிப்பு — மேடை ஒவ்வொரு தலைப்பையும் 1-க்கு-1 மாற்றுச் சொற்களுடன் இணைக்கிறது.
இலவசமாக தொடங்கவும்arrow_forward