जैसे-जैसे दुनिया अधिक डिजिटल और पेपरलेस होती जा रही है, ये दो प्रश्न आम होते जा रहे हैं। जब सब कुछ कंप्यूटर में स्टोर हो जाता है, तो डेटा प्राइवेसी एक बड़ी चिंता बन जाती है। हैकर्स आपके डिवाइस, ईमेल, क्लाउड प्लेटफॉर्म और यूएसबी ड्राइव में संग्रहीत डेटा को चुरा सकते हैं|
डेटा को सुरक्षित रखने के सर्वोत्तम तरीकों में से एक, इसे एन्क्रिप्ट करना है। इस लेख में, हम कवर करेंगे कि asymmetric key encryption क्या है? और असममित एन्क्रिप्शन (asymmetric encryption) कैसे काम करता है? इसके बाद, हम इस प्रकार के एन्क्रिप्शन की क्षमताओं और कमियों पर भी एक नज़र डालेंगे।
एन्क्रिप्शन (Encryption) क्या है?
इससे पहले कि हम इस प्रश्न का उत्तर दें कि असममित एन्क्रिप्शन (asymmetric encryption) क्या है? हमें सबसे पहले एन्क्रिप्शन (encryption) को सामान्य रूप से कवर करने की आवश्यकता है। बुनियादी अर्थों में, एन्क्रिप्शन (encryption) का अर्थ है फैंसी गणित (fancy math और डेटा को छिपाने और संरक्षित करने के लिए निर्देशों (एल्गोरिदम) का एक सेट। ये एल्गोरिदम प्लेनटेक्स्ट (plaintext) डेटा को सिफरटेक्स्ट (ciphertext) के रूप में जाने जाने वाले एक समझ से बाहर text में स्क्रैम्बल (scramble) करते हैं, जो एक विशेष कुंजी के उपयोग के बिना अस्पष्ट दिखता है जो इसे डिक्रिप्ट (decrypt) करता है। इसका मतलब है कि एक बार क्रिप्टोग्राफ़िक एल्गोरिथम (cryptographic algorithm) का उपयोग करके डेटा एन्क्रिप्ट किया गया है, तो आप इसे पढ़ नहीं सकते या सिफरटेक्स्ट (ciphertext) से डेटा की मूल सामग्री (main content) का अनुमान नहीं लगा सकते हैं। आपका डेटा अनपेक्षित नज़रों से सुरक्षित रहता है। आइए निम्नलिखित उदाहरण पर विचार करें कि एन्क्रिप्शन (encryption) सामान्य अर्थों में कैसे काम करता है:
एन्क्रिप्शन (Encryption) के दो मुख्य प्रकार हैं
सममित एन्क्रिप्शन
(Symmetric encryption)
इस प्रकार के encryption का अर्थ है कि डेटा को एन्क्रिप्ट और डिक्रिप्ट करने के लिए एक ही key का उपयोग किया जाता है। यह डेटा के बड़े batch के लिए बहुत अच्छा है लेकिन इसमें प्रमुख वितरण (distribution) और प्रबंधन (management) के मामले में समस्याएं हैं।
असममित एन्क्रिप्शन
(Asymmetric encryption):
इस प्रकार का एन्क्रिप्शन एन्क्रिप्शन और डिक्रिप्शन के लिए दो अलग-अलग key का उपयोग करता है – एक public key और एक private key।
सममित एन्क्रिप्शन (Symmetric encryption)
असममित एन्क्रिप्शन (Asymmetric Encryption) एक प्रकार का एन्क्रिप्शन है जो डेटा को एन्क्रिप्ट और डिक्रिप्ट करने के लिए दो अलग-अलग key का उपयोग करता है। public key डेटा को एन्क्रिप्ट करती है जबकि इसकी संबंधित private key इसे डिक्रिप्ट करती है। यही कारण है कि इसे public key encryption, public key cryptography और asymmetric key encryption के रूप में भी जाना जाता है। public key सभी के लिए open होती है। कोई भी इसे एक्सेस कर सकता है और इसके साथ डेटा एन्क्रिप्ट कर सकता है। हालाँकि, एक बार एन्क्रिप्ट किए जाने के बाद, उस डेटा को केवल संबंधित private key का उपयोग करके अनलॉक किया जा सकता है। जैसा कि आप कल्पना कर सकते हैं, private key को गुप्त रखा जाना चाहिए। केवल अधिकृत व्यक्ति (authorized person), server, machine private key को access कर सकते है|
असममित एन्क्रिप्शन (Asymmetric Encryption) के चार की मुख्य विशेषताएं
1. असममित एन्क्रिप्शन (Asymmetric Encryption) सार्वजनिक चैनलों में डेटा और प्रमुख एक्सचेंजों को सुरक्षित करने के लिए डिज़ाइन किया गया है|
संक्षेप में, असममित कुंजी एन्क्रिप्शन (Asymmetric key Encryption) का उद्देश्य प्रमाणीकरण (authentication) और डेटा अखंडता (data integrity) की पेशकश करते हुए public चैनलों में डेटा को सुरक्षित रूप से encrypt करने के तरीके के रूप में कार्य करना है। चूंकि इसके लिए keys के आदान-प्रदान की आवश्यकता नहीं होती है|
2. असममित एन्क्रिप्शन (Asymmetric Encryption) key बड़ी हैं |
Asymmetric public और private key यादृच्छिक संख्याओं (random numbers) के unique और बड़ी string हैं। उदाहरण के लिए, SSL/TLS certificates का उपयोग करने वाली लाखों वेबसाइटें हैं, और फिर भी, प्रत्येक वेबसाइट में public और private keys का एक अलग सेट होता है। keys मजबूत और सुरक्षित होने के लिए, हालांकि, उन्हें उच्च एन्ट्रॉपी (randomness) के साथ बनाया जाना चाहिए। प्रत्येक key को इतना random और unpredictable होना चाहिए कि आधुनिक सुपर कंप्यूटरों को अनुमान लगाने में हजारों साल लग जाएं।
आइए Asymmetric public और private key के निम्नलिखित उदाहरणों पर विचार करें:
----BEGIN PUBLIC KEY-----
MIIBITANBgkqhkiG9w0BAQEFAAOCAQ4AMIIBCQKCAQBukNqMp3/zrntpyRhCwYxe
9IU3yS+SJskcIyNDs0pEXjWlctfSNEwmeEKG3944dsBTNdkb6GSF6EoaUe5CGXFA
y/eTmFjjx/qRoiOqPMUmMwHu0SZX6YsMQGM9dfuFBaNQwd6XyWufscOOnKPF5EkD
5rLiSNEqQEnoUvJb1LHiv/E36vi6cNc5uCImZ4vgNIHwtKfkn1Y+tv/EMZ1dZyXw
NN7577WdzH6ng4DMf5JWzUfkFIHqA2fcSGaWTXdoQFt6DnbqaO5c2kXFju5R50Vq
wl+7S46L4TYFcMNDeGW6iAFds+SMADG486X/CRBTtF4x59NU3vNoGhplLRLtyC4N
AgMBAAE=
-----END PUBLIC KEY-----
-GIN RSA PRIVATE KEY-----
MIIEoQIBAAKCAQBukNqMp3/zrntpyRhCwYxe9IU3yS+SJskcIyNDs0pEXjWlctfS
NEwmeEKG3944dsBTNdkb6GSF6EoaUe5CGXFAy/eTmFjjx/qRoiOqPMUmMwHu0SZX
6YsMQGM9dfuFBaNQwd6XyWufscOOnKPF5EkD5rLiSNEqQEnoUvJb1LHiv/E36vi6
cNc5uCImZ4vgNIHwtKfkn1Y+tv/EMZ1dZyXwNN7577WdzH6ng4DMf5JWzUfkFIHq
A2fcSGaWTXdoQFt6DnbqaO5c2kXFju5R50Vqwl+7S46L4TYFcMNDeGW6iAFds+SM
ADG486X/CRBTtF4x59NU3vNoGhplLRLtyC4NAgMBAAECggEALFprcZUX3PcXht4m
n1DpMIZCkphgPu7UKjdmRBg+KKLqPk6NiUN1cNE5TsWrbVcl27t0Np/JA3alk11e
iKGQLwAjds/ciLOGLrmuOPJb2/EGS3kXOpjzMJz7soILvdb/Jrw+wQEJ7WvwGNt5
Tz8+kxQOmnu/fIWBoHL1yiTOnzj8rOrJfGjwCWe4skeiTNVXoJ3oTyUp8vLlkeBb
YVOKaHtRVzE4qre6Jy0LelIu8OScpVBz6U9RW8p84eRuH28k6VVAMVd7ruSH0gLu
vcXjXnt6eLRka3Ww4KwA9ATD0oT0270FqebKmorvBv+DmWEjTTkSMfJz2wYN5Dcj
6lg1+QKBgQC6KDBR31573gU9SiilNFGaKL0qB1NbLnj2TL+964LB/bv+25AUKdcH
jJaE41kZWmxonLbxJI4ACTZd/9vXpAPOe1Wwp3r3kEyQsyARYFD7Pdai0DhsS9Mj
Y/hSL0i1cxE6EXY60cXzW4rrI1r7Nd6VCUlGpsOLVfaFR3xByA9JgwKBgQCYDF16
ornljNE8NMG6ojrtpL2pPqNuw4qMrqNOzne90w/ALK6pdTOQFToyRZoQfdVqY9jK
u0LceC6E37w7pX4UwE1zrmprWpBUWnvJhSnDcXcDtVqipqERQ5KPu3/eeyStd5L4
PfPbEWID4+6i9uC0ZQwBU3G41tGaWiaZ3NNlLwKBgEjgIspqX1qud+6ecXr7GFb5
S9SAOamgb8o8EXQQFohLBKWo3qaGGp/h8arkNaUvOPFbKGMOpGhvMtFpsG6izrqu
ncUiS4lO/CpJdWxYAFvawYPLb8s1g9p+8F98E0K1YTESVO6B4LR8Sc3zcVKWrCQ8
FmuKLVMGvBNBAOvfndxxAoGAWebFxuM8g2vVs4GGIrIVobnMoqt0uuNHopMH4GrY
Bhcrsvc4dt3jlQfYFy1sQOAGNhe/cW9zwyQUbWBUzfe2KtLheMriBYPQ3u95Tdg8
r2EBe+HZK17W0XxgxjeZDZVGRIL1FW6cJyWKDL7StOzARCmTBZ2vGhl6aYdwV31o
SOUCgYAwKJgVwTlhelBVl07w8BkqKjG+snnHMV3F36qmQ4+GCBBGaeNLU6ceBTvx
Cg3wZUiQJnDwpB3LCs47gLO2uXjKh7V452hACGIudYNa8Q/hHoHWeRE6mi7Y0QZp
zUKrZqp9pi/oZviMqDX88W06B12C8qFiUltFmhfPLJ9NJ3+ftg==
-----END RSA PRIVATE KEY-----
3. Public key encryption algorithm मजबूत हैं |
Asymmetric encryption के लिए लोकप्रिय algorithm Diffie-Hellman, RSA, ECDSA, ElGamal, और DSA हैं। मुख्यतः, Asymmetric encryption लंबी key का उपयोग करता है जो 1024 बिट्स, 2048 बिट्स या अधिक होती हैं। सामान्य तौर पर, key का आकार जितना लंबा होगा, encryption उतना ही सुरक्षित होगा।
उदाहरण के लिए, यदि key 2048-bit encryption के साथ उत्पन्न होती हैं, तो 22048 संभावित संयोजन (possible combinations) होते हैं। इतने सारे संयोजनों से गुजरने के लिए आधुनिक सुपर कंप्यूटरों को public key की संबंधित private key खोजने में हजारों साल लगेंगे। संक्षेप में, आप public key से private key का अनुमान नहीं लगा सकते हैं, खासकर जब key लंबी हों।
4. असममित एन्क्रिप्शन (Asymmetric Encryption) एक संसाधन-होगिंग प्रक्रिया (Resource-Hogging Process) है |
यदि key का आकर बड़ा होता है और जब दो अलग-अलग key शामिल होती हैं, तब एन्क्रिप्शन और डिक्रिप्शन प्रक्रिया धीमी हो जाती है।
जैसे यदि आप डेटा के बड़े ब्लॉक का उपयोग करते हैं, तो यह आपके server पर अधिक बोझ डालेगा। कभी-कभी, इसका उपयोग शुरू में सुरक्षित संचार चैनल स्थापित करने के लिए किया जाता है, जिसका उपयोग डेटा के आदान-प्रदान के लिए symmetric encryption की सुविधा के लिए किया जा सकता है।
असममित एन्क्रिप्शन (asymmetric encryption) कैसे काम करता है?
आइए इस अवधारणा को एक उदाहरण के साथ देखें –
आगे बढ़ने से पहले, आइए एक काल्पनिक उदाहरण के साथ असममित एन्क्रिप्शन (asymmetric encryption) को बेहतर ढंग से समझें। कल्पना कीजिए कि आप एक कीमती ज्वेलरी बॉक्स की रक्षा करना चाहते हैं जिसे आप मेल में अपने महत्वपूर्ण दूसरे व्यक्ति को भेज रहे हैं। इसे सुरक्षित रखने के लिए, आप एक विशेष लॉक का उपयोग करते हैं जिसके लिए दो नंबर संयोजनों की आवश्यकता होती है। एक नंबर बॉक्स को लॉक कर सकता है (वह नंबर जो आपके पास है) और दूसरा नंबर संयोजन इसे अनलॉक कर सकता है (जो आपके प्राप्तकर्ता के पास है)। सबसे पहले, आप उन वस्तुओं को बॉक्स के अंदर रख दें जिन्हें आप सुरक्षित रखना चाहते हैं। फिर आप मेल में रखने से पहले बॉक्स को एक विशिष्ट संख्या संयोजन के साथ लॉक कर देते हैं। एक बार जब यह प्राप्तकर्ता के पास आ जाता है, तो आपका महत्वपूर्ण व्यक्ति बॉक्स को अनलॉक करने और उसकी सामग्री तक पहुंचने के लिए अपने नंबर संयोजन का उपयोग करता है। वह कभी भी उस नंबर को किसी के साथ शेयर नहीं करता और अपने पास रखता है, इसका मतलब कोई और उसका इस्तेमाल नहीं कर सकता।
इसी तरह इंटरनेट के माध्यम से आप जो भी डेटा भेजते हैं, वह प्लेन टेक्स्ट में होता है। इसका मतलब है कि जो कोई भी इसे एक्सेस करता है वह इसे पढ़ और व्याख्या कर सकता है। अब, निश्चित रूप से, आप एक private key का उपयोग करके डेटा को एन्क्रिप्ट कर सकते हैं। एक बार डेटा को ciphertext में बदलने के बाद, आप उसी key का उपयोग करके इसे डिक्रिप्ट नहीं कर सकते। ciphertextको केवल संबंधित private key से ही डिक्रिप्ट किया जा सकता है।
असममित एन्क्रिप्शन (Asymmetric Encryption) के फायदे और नुकसान
इस खंड में, हम सममित एन्क्रिप्शन (symmetric Encryption) की तुलना में असममित एन्क्रिप्शन (Asymmetric Encryption) के कुछ फायदे और नुकसान पर प्रकाश डालेंगे|
असममित एन्क्रिप्शन (Asymmetric Encryption) के चार लाभ:-
1. यह सममित एन्क्रिप्शन (symmetric Encryption) से अधिक सुरक्षित है
क्योंकि इसमें दो संबंधित लेकिन अलग-अलग key का उपयोग शामिल है, असममित क्रिप्टोग्राफी (asymmetric cryptography) अपने सममित समकक्ष (symmetric counterpart) की तुलना में अधिक सुरक्षित है। असममित एन्क्रिप्शन (Asymmetric Encryption) लंबी key (1028 बिट्स, 2048 बिट, 4096 बिट, आदि) का उपयोग करता है, जबकि सममित एन्क्रिप्शन (symmetric Encryption) छोटी key (128 बिट्स, 256 बिट्स, आदि) का उपयोग करता है।
2. यह तब उपयोगी होता है जब अधिक समापन बिंदु (Endpoints) शामिल हों
सममित एन्क्रिप्शन (symmetric encryption) में, सभी समापन बिंदुओं ( (Endpoints) द्वारा केवल एक key साझा (share) की जाती है। इसका मतलब है कि इसकी सफलता की जिम्मेदारी उस key की गोपनीयता पर निर्भर करती है। जब बड़ी संख्या में समापन बिंदु (Endpoints) एक जैसी key साझा करते हैं, तो जोखिम की संभावना बढ़ जाती है। लेकिन असममित एन्क्रिप्शन (asymmetric encryption) में, निजी कुंजी (private key) केवल अधिकृत प्राप्तकर्ता (authorized recipient) के पास संग्रहीत होती है। बड़ी संख्या में एंडपॉइंट शामिल होने के कारण असममित एन्क्रिप्शन (asymmetric encryption) सबसे अच्छा काम करता है।
3. Key वितरण (Key Distribution) को आसान बनाता है
असममित एन्क्रिप्शन (asymmetric encryption) में, आप public key को बड़ी संख्या में endpoints पर वितरित कर सकते हैं क्योंकि आपको इसकी सुरक्षा के बारे में चिंता करने की आवश्यकता नहीं है। जबकि सममित एन्क्रिप्शन (symmetric encryption) में, आपको key को बहुत सावधानी से वितरित करना होगा। जब लाखों सर्वर और डिवाइस शामिल होते हैं, तो key वितरण सममित एन्क्रिप्शन (symmetric encryption) में बहुत चुनौतीपूर्ण हो जाता है|
4. डिजिटल हस्ताक्षर संभव बनाता है
असममित एन्क्रिप्शन (asymmetric encryption) डिजिटल हस्ताक्षर की संपूर्ण अवधारणा और उनके काम करने के तरीके का अभिन्न अंग है। जब लोग किसी दस्तावेज़ पर डिजिटल रूप से हस्ताक्षर करने की बात करते हैं, तो उनका मतलब यह होता है कि वे वास्तव में एक हैश (डेटा का एक निश्चित-लंबाई वाला टुकड़ा जो एक-तरफ़ा क्रिप्टोग्राफ़िक फ़ंक्शन के रूप में कार्य करता है) को लागू कर रहे है जो चेक-सम के रूप में कार्य करता है। मूल रूप से, यह प्राप्तकर्ता को यह जानने में मदद करता है कि दस्तावेज़ को मूल रूप से हस्ताक्षरित होने के बाद से संशोधित या परिवर्तित किया गया है या नहीं। ऐसा करने के लिए डिजिटल हस्ताक्षर asymmetric key encryption का उपयोग करते हैं। यहां, प्रेषक (sender) एक हैश को चेक-सम के रूप में अपनी private key के साथ हस्ताक्षर करके लागू करता है और उस हैश को एन्क्रिप्ट करने के लिए प्राप्तकर्ता (recipient) डिजिटल हस्ताक्षर को डिक्रिप्ट कर सकता है|
असममित एन्क्रिप्शन (Asymmetric Encryption) के दो नुकसान
- धीमी गति (Slower Speed)
क्योंकि key लंबी होती हैं और सर्वर को एन्क्रिप्शन और डिक्रिप्शन के लिए दो अलग-अलग key की गणना करने की आवश्यकता होती है, तब यह एक समय लेने वाली प्रक्रिया बन जाती है। यह अधिक जटिल एल्गोरिदम का भी उपयोग करता है। ये कुछ कारण हैं कि क्यों असममित एन्क्रिप्शन (asymmetric key encryption) सममित एन्क्रिप्शन (symmetric encryption) की तुलना में धीमा है।
- बड़े पैमाने पर उपयोग करने के लिए यह बहुत भारी (Bulky) है
दो अलग-अलग लंबी encryption keys के कारण, यह एन्क्रिप्शन और डिक्रिप्शन प्रक्रिया से गुजरने के लिए सर्वर पर भारी बोझ डालता है। जहां बड़ी मात्रा में डेटा शामिल है वहाँ आप असममित एन्क्रिप्शन (asymmetric encryption) का उपयोग नहीं कर सकते; अन्यथा, सर्वर धीमे हो जाते हैं। यही कारण है कि असममित एन्क्रिप्शन (asymmetric encryption) का उपयोग शुरू में SSL/TLS handshake प्रक्रिया में किया जाता है, लेकिन फिर यह डेटा एक्सचेंज के लिए सममित एन्क्रिप्शन (symmetric encryption) पर स्विच हो जाता है|