क्रिप्टोग्राफ़ी क्या है ? सरल भाषा में सम्पूर्ण जानकारी

आज का युग इंटरनेट का युग है और इंटरनेट की दुनिया में बहुत कुछ नया है. अगर आप भी इंटरनेट यूजर है या कंप्यूटर साइंस से जुड़े हुए है तो आपने क्रिप्टोग्राफ़ी का नाम ज़रूर सुना होगा। अगर नहीं? तो आज इस पोस्ट के ज़रिये मैं आपको क्रिप्टोग्राफ़ी क्या है और क्रिप्टोग्राफ़ी के वर्गीकरण के बारे में संपूर्ण ज्ञान देने वाला हूँ।

क्रिप्टोग्राफ़ी क्या है ?

क्रिप्टोग्राफ़ी शब्द ग्रीक भाषा से लिया गया। जहा पे crypto का मतलब ‘ रहस्य या छिपा हुआ ‘ और Graphy का मतलब ‘ लिखना या पढ़ना ‘ होता है 

कंप्यूटर नेटवर्क में  क्रिप्टोग्राफ़ी एक प्रकार की technique है जिससे plain text  को cipher टेक्स्ट में कन्वर्ट करते है और फिर दुबारा cipher टेक्स्ट को plain  text में कन्वर्ट करते है। जिससे secure communication स्थापित होता है। आज के मॉडर्न वर्ल्ड में इसी क्रिप्टोग्राफ़ी का इस्तेमाल किया जाता है। इसे हम मॉडर्न क्रिप्टोग्राफ़ी भी कह सकते है।

अब आप सोच रहे रहे होंगे ये Cipher और plain text क्या है ? plain टेक्स्ट एक नार्मल मैसेज होता है जिसे कोई भी पढ़ सकता है और cipher text एक सीक्रेट मैसेज होता है जिसे कोई नहीं समझ सकता।

क्रिप्टोग्राफ़ी-क्या-है

आईये एक उदाहरण से समझते है –

मान लीजिये राहुल और अभिषेक,  इंटरनेट के माध्यम से एक दूसरे को plain text  मैसेज भेज रहे है । अब इसकी क्या गरंटी है की वो मैसेज securly अभिषेक तक पहुंच गया होगा ? हो सकता है की हैकर द्वारा इस मैसेज की इनफार्मेशन को बीच में modify या फिर चुरा लिया गया हो। तो इसी केस में क्रिप्टोग्राफ़ी हमारे  plain text मैसेज को cipher text में convert कर देती है जिससे कोई भी हैकर या यूजर इस इनफार्मेशन या मैसेज को चुरा नहीं सकता और हमारा मैसेज securly अभिषेक तक deliver हो जाएगा। 

क्रिप्टोग्राफ़ी से सम्बंधित महत्वपूर्ण शब्द क्या है ?

प्लेन टेक्स्ट (Plain text) : ये एक सिंपल किसी भी भाषा मैं लिखा गया टेक्स्ट होता है जिसे सेन्डर रिसीवर को भेजता है। प्लेन टेक्स्ट वही है जिसे आप अपने दोस्तों को चैटिंग करते टाइम भेजते है। जैसे : “you are good”

सिफर टेक्स्ट (Cipher text)  : cipher text एक coded secret मैसेज होता है ये कोड binary में भी हो सकता है। और ये encryption करने के बाद generate होता है।  जैसे : “101011001101”  या “@#$%646$%*^8857”.

एन्क्रिप्शन (Encryption) : ये एक प्रक्रिया है जिससे cipher टेक्स्ट generate किया जाता है। मान लीजिये आपका कोई मैसेज या डाटा अगर कोई copy कर लेता है तो वो उस डाटा या मैसेज के साथ छेड़-छाड़ नहीं कर सकता क्योकि वो डाटा या मैसेज को cipher text कोड में encrypt कर दिया जाता है जिसका इस्तेमाल वापस decrypt करके किया जा सकता है। इसी प्रक्रिया को Encryption कहते है।

डिक्रिप्शन (Decryption) : ये एक प्रक्रिया है जहा पे Encryption का उल्टा किया जाता है मतलब की cipher text को plain टेक्स्ट में convert कर दिया जाता है। दोस्तों encrypted मैसेज को decrypt करके वही पढ़ सकता है जिसके पास डिक्रिप्शन key हो। 

क्रिप्टा एनालिसिस (Crypt analysis) : ये सिद्धांतो का अध्ययन है जिसमें cipher text को plain text में बिना key इस्तेमाल करके डिक्रिप्ट करने की process को crypta analysis कहते है। 

क्रिप्टोलॉजी (Cryptology) : crypt analysis और cryptography, इन दोनों के समूह को Cryptology कहते है। 

क्रिप्टोग्राफ़िक सिस्टम (cryptographic system) : इस सिस्टम में Different schemes को use करके encryption / Decryption परफॉर्म करते है। 

ज़रूर पढ़े – शतरंज खेल कर अपना करियर कैसे बनाये।

 

क्रिप्टोग्राफ़ी का वर्गीकरण :

क्रिप्टोग्राफ़ी-का-बर्गीकरण
क्रिप्टोग्राफ़ी-का-बर्गीकरण

क्रिप्टोग्राफ़ी के प्रकार :-

1. सिमेट्रिक क्रिप्टोग्राफ़ी क्या है ?

इसमें सिर्फ एक ही key का इस्तेमाल किया जाता है । जो की सेन्डर और रिसीवर दोनों के पास shared key होती है।  इसी key की सहायता से data या मैसेज का encryption या decryption किया जाता है। मतलब की वही key sender end पे भी use होगी और receiver end पे भी। जिसे secret key या shared key कहते है। और इस पूरी प्रक्रिया को symmetric key cryptography ya secret key cryptography कहते है।

सिमेट्रिक-क्रिप्टोग्राफ़ी-क्या-है।
सिमेट्रिक क्रिप्टोग्राफ़ी

आईये उदाहरण से समझते है। 

मान लीजिये राहुल ने अभिषेक को एक plain text मैसेज भेज रहा है राहुल (sender) मैसेज जिस secret key से encrypt होगा तो उसी secret key से अभिषेक(receiver) के पास पहुंच के decrypt भी उसी secret key se होगा। जिससे हमारी confidentiality lose नहीं होगी।

Examples :

  • AES
  • DES
  • Caesar Cipher

2. असीमेट्रिक क्रिप्टोग्राफ़ी क्या है ?

इस प्रकार की क्रिप्टोग्राफी में दो अलग key का इस्तेमाल किया जाता है encryption और decryption करने के लिए. जिसमें पहली Private key की और दूसरी public key होती है। 

जहां पर public key ,encryption के लिए यूज होती है और दूसरी private key, decryption के लिए इस्तेमाल की जाती है इसमें public key का सबको पता होता है लेकिन मैसेज का decryption करने के लिए सिर्फ private key का इस्तेमाल किया जाता है जो कि सिर्फ Receiver के पास होती है मतलब यह है कि जब भी public key का इस्तेमाल करके प्लेन टेक्स्ट का इंक्रिप्शन होगा तो उस public key की इंफॉर्मेशन सब के पास होगी. 

क्योंकि उसके नाम से ही पता चल रहा है कि यह एक public की है, लेकिन जब यह मैसेज receiver के पास पहुंचेगा तो private या secret key की सहायता से receiver इस मैसेज का Decryption कर लेगा। क्योंकि वह सिर्फ अकेला जानता है private key को , जिससे सिर्फ उसी को पता चलेगा कि इस message में क्या लिखा है और इससे हमारे मैसेज की confidentiality भी बनी रहेगी. इसे asymmetric key cryptography या public key cryptography भी कहते है। 

असीमेट्रिक-क्रिप्टोग्राफ़ी-क्या-है।
असीमेट्रिक क्रिप्टोग्राफ़ी

आइए उदाहरण से समझते हैं

मान लीजिये राहुल ने अभिषेक को public key के द्वारा message का encryption करके भेजा। तो जब वो encrypted मैसेज अभिषेक के पास पहुंचेगा तो अभिषेक private key की सहायता से उसका डेक्रिप्शन करके पढ़ लेगा। जिससे किसी दूसरे इंटरनेट यूजर या किसी हैकर को कभी पता नहीं चलेगा की उस मैसेज मैं क्या लिखा था क्युकी हैकर public key का तो पता लगा लेगा, लेकिन उस मैसेज को decrypt करने की private key सिर्फ अभिषेक के पास रहेगी।

ये क्रिप्टोग्राफ़ी थोड़ी slow काम करती है। but Symmetric क्रिप्टोग्राफ़ी के मुकाबले ज्यादा security प्रदान करती है।  Examples:

  • ECC
  • Diffie-Hellman
  • DSS

3. हैश फंक्शन क्या है ?

हैश फंक्शन को जानने से पहले हम समझते है की इस फंक्शन की ज़रूरत क्यों पड़ी ? जब भी आप फेसबुक पे लॉगिन करते होंगे तो यूजर नाम और पासवर्ड के साथ करते है। तो जाहिर सी बात है की वो पासवर्ड सिर्फ आपको पता है लेकिन क्या आपको ये पता है की ? वो पासवर्ड कहा जाता है ? वो वहां फेसबुक डेटाबेस के सर्वर में जाके स्टोर होता है। फेसबुक के जो डेटाबेस मैनेजर होंगे या फेसबुक का मालिक होगा तो वो तो देख सकता है आपका पासवर्ड है न ? 

हैश-फंक्शन
हैश-फंक्शन

तो फिर आपका पासवर्ड सेफ कहाँ है। ? हैश फंक्शन का इस्तेमाल इसी चीज़ के लिए किया जाता है ताकि जो हमारी सेंसिटिव इनफार्मेशन या पासवर्ड्स को एक फंक्शन के ज़रिये भेजता है जिससे वो इन सर्वर मैं भी सुरक्षित हो जाता है । सरल भाषा में बताऊ तो हैश फंक्शन एक प्रकार का फंक्शन है जो हैशिंग करके हमारे सेंसिटिव इनफार्मेशन को सर्वर में सुरक्षित रखता है। 

मान लीजिये आपने हैश फंक्शन के पैरेंथेसिस में आपने message की जगह अपना पासवर्ड दिया rahul@123 , हैश फंक्शन क्या करेगा की इस पासवर्ड को चेंज करके किसी और स्ट्रिंग मैं बदल देगा। ये स्ट्रिंग फिक्स्ड रहेगी मतलब जितने करैक्टर का आपका पासवर्ड होगा उतने ही करैक्टर का ये फंक्शन आउटपुट generate करके देगा। जैसा अभी आपने फंक्शन के अंदर rahul@123 डाला तो ये उतने की चरक्टेर का आउटपुट सर्वर में जाके स्टोर करेगा। मतलब की सर्वर में rahul@123 नहीं बल्कि जो फंक्शन ने ऑउटपुट generate किया वो स्टोर होगा। but username में कोई बदलाव नहीं आएगा।   

हैश-फंक्शन-काम-कैसे-करता-है
हैश फंक्शन चित्र

हैश फंक्शन की ये प्रॉपर्टी है की ये non -reversible होते है यानि की अगर आप चाहो की , जो आपको hashed आउटपुट मिला है उससे वो hashed पासवर्ड या स्ट्रिंग निकाल लेंगे तो बता दू की ये इम्पॉसिबल है क्युकी हैश फंक्शन में जो भी यूजर डिफाइंड फ़ॉर्मूलास इस्तेमाल होते है वो बहुत काम्प्लेक्स और तगड़े इस्तेमाल होते है वो वास्तव मैं इसे non-reversible बनाते है। और हैश फंक्शन की दूसरी प्रॉपर्टी यह ह की ये फिक्स्ड लेंथ का आउटपुट देते है। 

और ये weak collison/non collison होते है यानि एक इनपुट पे जो आपको आउटपुट मिल रहा है वो दूसरे इनपुट पे वही आउटपुट आपको नहीं मिलेगा। ये हर इनपुट के लिए एक अलग unique आउटपुट generate करता है। जैसे की आपने ramesh234 इनपुट दिया तो जो आउटपुट आएगा वो दूसरे इनपुट में नहीं मिलेगा। तो जब भी आप फेसबुक को लॉगिन करेंगे और जब पासवर्ड डालेंगे तो वो पासवर्ड हैश फंक्शन के through पास होगी और सर्वर में आपके पासवर्ड चेंज करके। लॉगिन करेंगे तो  चेंज की हुई स्ट्रिंग मैच होगी और आप लॉगिन हो जाएंगे।

Some of the most famous hashing algorithms are:

  • MD5
  • SHA-1
  • SHA-2 family which includes SHA-224, SHA-256, SHA-384, and SHA-512
  • SHA-3
  • Whirlpool
  • Blake 2
  • Blake 3

क्रिप्टोग्राफ़ी का इतिहास :

आधुनिकी युग से पहले से पहले भी क्रिप्टोग्राफ़ी का इस्तेमाल किया जाता था। प्राचीन काल में क्रिप्टोग्राफ़ी एन्क्रिप्शन पे जयादा फोकस रखती थी यहां पर भी एन्क्रिप्शन का इस्तेमाल करके सन्देश गुप्त रखा जाता था। encryption मैसेज को गुप्त करके सुनिश्चित किया जाता था Modern क्रिप्टोग्राफ़ी और प्राचीन क्रिप्टोग्राफ़ी में जयादा फर्क नहीं था। 

आईये इन युग का थोड़ा सा इतिहास देखते है। 

क्लासिक क्रिप्टोग्राफ़ी क्या है ?

प्राचीन काल में राजा अपने जासूसों के ज़रिये गोपनीय सन्देश को एन्क्रिप्शन करके गुप्त बना कर सन्देश भेजा करते थे। वो उस मैसेज का एन्क्रिप्शन करके भेजा करते है। सन्देश को गुप्त बनाने के लिए सन्देश में लिखे अक्षरों के क्रम को बदल देते थे जिससे सन्देश गोपनीय हो जाता था। प्राचीन काल में यदि उनके पास कहने के लिए कुछ भी गोपनीय होता था, तो वो इसे सिफर में लिखते थे, यानी की वर्णमाला के अक्षरों के क्रम को बदलकर। जैसे  F, को A के स्थान पर रिप्‍लेस कर दिया , और इसी तरह बाकी अक्षरों के साथ भी। यहां अल्गोरिथम और कुंजी सरल था जैसे अगर किसी चोर या दुश्मन द्वारा चुरा लिया जाता था तो वो कभी पता नहीं लगा पाते थे की सन्देश में क्या था।

मॉडर्न क्रिप्टोग्राफ़ी क्या है ?

आज की डिजिटल दुनिया में क्रिप्टोग्राफ़ी का इस्तेमाल हो रहा ये मॉडर्न क्रिप्टोग्राफ़ी वही है जो आप अभी ऊपर पढ़ के आ रहे है। जिसमें एन्क्रिप्शन और डेक्रिप्शन के लिए अलग अलग अल्गोरिथ्म्स का उपयोग करके अपने डाटा को secure communication स्थापित करते है।

क्रिप्टोग्राफी की विशेषताएं या उद्देश्य :

  • Confidentiality : इस फीचर में बस ये सुनिश्चित किया जाता है की सेन्डर द्वारा जो मैसेज भेजा गया है वो सिर्फ रिसीवर ही डिक्रिप्ट करके उस मैसेज की इनफार्मेशन को पढ़ सकता है।
  • Non-repudiation: इस में जो सेन्डर रिसीवर को मैसेज भेजा है उससे वो भविस्य में पीछे नहीं हट सकता। और साथ में जिस कारण से मैसेज भेजा है उससे मुकर नहीं सकता।
  • Integrity: इस फीचर के अंतर्गत, जो भी मैसेज या इनफार्मेशन भेजी गयी है उसे वो भेजने के बाद modify नहीं कर सकता और ना ही भेजने के दौरान modify कर सकता है। 
  •  Authenticity: ऑथेंसिटी में मैसेज भेजने वाला और मैसेज रिसीवर करने वाला आपस में verify कर सकते है। की मैसेज कहा पहुंचेगा।

क्रिप्टोग्राफ़ी का भविष्य :

आई बी ऍम कंपनी ने हाल ही में हुए अपने ऑनलाइन इवेंट “फ्यूचर ऑफ़ cryptography” के दौरान डाटा की गोपनीयता और डाटा एन्क्रिप्शन के तीन महत्वपूर्ण एलिमेंट्स या फील्ड में प्रगति करने की बात की थी.

इस इवेंट में ये तीन एलिमेंट्स पे बात की गयी थी –

  1. क्वांटुम सेफ क्रिप्टोग्राफी
  2. कॉन्फिडेंशियल कंप्यूटिंग
  3. होमोमोर्फिक एन्क्रिप्शन

ये तीनो फील्ड ही अपने अनुसार “डाटा सिक्योरिटी equation पर काम कर रही है.” ये शब्द IBM की होस्ट गोसया स्टेइंडर (gosia steinder) जो की hybrid cloud security research बिभाग की हेड है। उन्होंने कहे थे। 

कॉन्फिडेंटिअल कंप्यूटिंग :

2018 में,  IBM कंपनी पहली ऐसी cloud provider बनीं थी जिसने कॉन्फिडेंटिअल कंप्यूटिंग प्रस्तुत की थी। आज के समय में IBM क्लाउड हाइपर प्रोटेक्ट सर्विसेज के तहत हमें कॉन्फिडेंटिअल कंप्यूटिंग प्रोवाइड कर रही है। असल में कॉन्फिडेंटिअल कंप्यूटिंग हमें डाटा का securly एन्क्रिप्शन करके हार्डवेयर लेवल प्राइवेसी प्रदान करती है जिनको cloud provider भी access या view नहीं कर सकता।

क्वांटम सेफ क्रिप्टोग्राफ़ी :

नेशनल इंस्टीट्यूट ऑफ स्टैंडर्ड एंड टेक्नोलॉजी (NIST) क्रिप्टोग्राफ़ी समिति ने संवेदनशील डाटा को सुरक्षित करने के नए तरीके खोजे है। इस इवेंट के दौरान Dustin Moody जो की NIST के मैथमटीसीएल है उन्होंने एक चिंता जाहिर की थी , डस्टिन के अनुसार क्वांटम कंप्यूटर का उपयोग करके कोई अटैक करके encrypted डाटा को चुरा सकता है इसलिए शोधकर्ता quantum safe क्रिप्टोग्राफ़ी तेजी से बिकसित कर रहे है।

 

होमोमोर्फिक एन्क्रिप्शन :

IBM के इवेंट मैं एक तीसरे एलिमेंट की भी बात की गयी थी जिसे होमोमोर्फिक एन्क्रिप्शन कहते है जो कैलकुलेशन के दौरान एन्क्रिप्टेड डाटा को बनाये रखता है मतलब की ये एक एलिमेंट ऐसा है जो एन्क्रिप्टेड डाटा पैर कॅल्क्युलेशन्स परफॉर्म कर सकता है। 

आज आपने क्या सीखा :

दोस्तों मैं आशा करता हु की ये article आपको पसंद आया होगा और आपने क्रिप्टोग्राफ़ी क्या है और क्रिप्टोग्राफ़ी का वर्गीकरण के बारे में सम्पूर्ण जानकारी हो गयी होगी। कृपा करके निचे कमेंट में बताये की कंप्यूटर साइंस के किस टॉपिक पर आपको सम्पूर्ण जानकारी चाहिए। मैं आपके कमेंट का रिप्लाई ज़रूर करूँगा। और अपने दोस्तों के साथ शेयर ज़रूर करे।

ज़रूर पढ़े- ग्रीन कंप्यूटिंग क्या है ? इसे करके पर्यावरण को बचाये

5 thoughts on “क्रिप्टोग्राफ़ी क्या है ? सरल भाषा में सम्पूर्ण जानकारी”

    • धन्यवाद ! कृपया इस जानकारी को अपने दोस्तों के साथ शेयर करना न भूले. 🙂

      Reply

Leave a Comment