संगणकीय गुप्तलेखनशास्त्राचा प्रकार. संगणकीय गुप्तलेखनाची एनक्रिप्शन ही मूलभूत प्रक्रिया आहे. यालाच इंग्रजी मध्ये डेटा एनक्रिप्शन (Data Encryption) व एनसिफरमेंट (Encipherment) ही अन्य नावे आहेत. संगणकाला दिलेल्या माहितीला सिफरटेक्सटमध्ये (Ciphertext; अर्थातच गुढ भाषेत) रूपांतरित करण्याच्या प्रक्रियेला किंवा अनोळख्या व्यक्तीस समजण्यास अस्पष्ट/अवघड अशा माहितीला एनक्रिप्शन असे म्हणतात. याउलट ‍डिक्रिप्शन (Decryption) म्हणजे सिफरटेक्स्टला त्याच्या मूळ स्वरूपात रूपांतरित करण्याची प्रक्रिया आहे.

एनक्रिप्शन प्रक्रिया

रोमन काळात हस्तलिखित गुप्तलेखनाची कला अवगत होती. परंतु एनक्रिप्शन हा शब्द मुख्यत: संगकावरील माहितीला गूढ भाषेत रूपांतरित करण्याच्या प्रक्रियेशी संबंधित आहे. अल्गोरिथमचा (Algorithm) माहितीवर वापर करून एनक्रिप्ट (Encrypt) करता येते. अल्गोरिथम म्हणजे विशिष्ट संगणकीय कार्य करण्याकरिता असलेला प्रक्रियांचा किंवा सूचनांचा संच. एनक्रिप्शनमध्ये वैयक्तिक एनक्रिप्शन कळी (key) किंवा गुढ नाव असते, ते फक्त माहिती पाठविणाऱ्या प्रेषकाला आणि इच्छित प्राप्तकर्त्यास माहिती असते. या कळीचा अथवा नावाचा वापर अल्गोरिथम माहितीचे एनक्रिप्शन नियंत्रित करण्याकरिता आणि सिफरटेक्स डिक्रिप्ट (Decrypt) करण्याकरिता होतो. अर्थातच एनक्रिप्शन ही अशी प्रक्रिया आहे,  जिथे प्रेषक (सेंडर; Sender)  मूळ माहिती दुसऱ्या स्वरूपात रूपांतरित करतो आणि नेटवर्कवर परिणामी गुप्त संदेश पाठवतो. मूळ संदेशाला प्रसारणाच्या दरम्यान संरक्षित करणे आवश्यक आहे. सिफरटेक्स्ट हा एक विस्कळीत (स्क्रॅम्बल; scramble) केलेला मजकूर आहे जो एनक्रिप्शन अल्गोरिथमचा परिणाम म्हणून तयार होतो. एनक्रिप्शन अल्गोरिथम एक क्रिप्टोग्राफिक अल्गोरिथम (Cryptographic Algorithm) आहे, जो मूळ संदेश आणि एनक्रिप्शन कळी प्रदान केल्यावर गुप्त संदेश तयार  करतो. 1970च्या उत्तरार्धात दोन प्रकारचे एनक्रिप्शन उदयास आले. पारंपरिक सममितीय एनक्रिप्शन (Symmetric Encryption; सिमेट्रिक एनक्रिप्शन) आणि असममितीय एनक्रिप्शन (Asymmetric Encryption; असिमेट्रिक एनक्रिप्शन).

एनक्रिप्शनचे प्रकार : सममितीय एनक्रिप्शन : सममितीय एनक्रिप्शनमध्ये  केवळ एका कळीचा अथवा गुढ नावाचा वापर करून संदेशाचे एनक्रिप्शन आणि डिक्रिप्शन करता येते. यापद्धतीला पारंपरिक पद्धती म्हणून देखील ओळखले जाते.  पारंपरिक पद्धती विस्तृतपणे दोन वर्गांमध्ये विभागली आहे –

सममितीय एनक्रिप्शन

वर्ण-स्तर एनक्रिप्शन (कॅरेक्टर लेव्हल एनक्रिप्शन; Character level Encryption) आणि अंश-स्तर एनक्रिप्शन (बिट लेव्हल एनक्रिप्शन; Bit level Encryption).

वर्ण-स्तर एनक्रिप्शन : या पद्धतीमध्ये वर्ण-स्तरावर एनक्रिप्शन केले जाते. वर्ण-स्तर एनक्रिप्शनसाठी प्रतिस्थापन (सबस्टिट्युशनल; Substitutional) आणि स्थानांतरण (ट्रान्सपोझिशनल; Transpositional) अशी दोन सामान्य धोरणे आहेत.

अंश-स्तर एनक्रिप्शन :  या तंत्रात, प्रथम डेटा (जसे की मजकूर, ग्राफिक्स, ध्वनी (ऑडिओ), ध्वनिमुद्रितचित्रफीत (व्हिडिओ) इ.) बिट्स गटसमुहात विभागले जातात, त्यानंतर एनकोडिंग / डिकोडिंग, क्रमपरिवर्तन (परम्युटेशन; Permutation), प्रतिस्थापन (सबस्टिट्युशन; Substitution), अपवर्जक (एक्सक्लुव्हझिव; exclusive) किंवा परिभ्रमण (रोटेशन; Rotation) इ. याद्वारे सुधारित केले जाते.

सममितीय एनक्रिप्शन अल्गोरिथम जलद कार्यरत होतात आणि म्हणून ते कमी जटिल आहेत; ते मोठ्या प्रमाणात डेटा प्रसारीत करण्यासाठी वापरले जातात. सममितीय एनक्रिप्शनमध्ये संप्रेषणामध्ये सहभागी होणारे सदस्यांकडे आधीपासूनच बाह्य माध्यमांद्वारे प्राप्त झालेली एनक्रिप्शन कळी असते. प्रेषक त्या कळीचा वापर संदेश एनकोड करण्यासाठी वापरतो तसेच प्राप्तकर्ता संदेश डिक्रिप्ट करण्यासाठी वापरतो.

असममितीय एनक्रिप्शन

असममितीय एनक्रिप्शन : असममितीय एनक्रिप्शन या प्रक्रियेमध‌्ये एनक्रिप्शन आणि डिक्रिप्शनसाठी दोन कळी वापरल्या जातात. सार्वजनिक कळी (पब्लिक की; Public Key) आणि खासगी कळी (प्राइव्हेट की; Private Key). असममितीय एनक्रिप्शन यात प्रेषक संदेशाच्या एनकोडिंगसाठी सार्वजनिक कळी वापरतो, तसेच संदेश डिकोड करण्यासाठी प्राप्तकर्ता खासगी कळीचा उपयोग करतो. असममितीय एनक्रिप्शन अल्गोरिथम जटिल असल्याने त्यांची अंमलबजावणी सा गतीने होते म्हणून असममितीय एनक्रिप्शन अल्गोरिथम मोठ्या प्रमाणावर डेटा प्रसारित करण्याऐवजी कळीची सुरक्षितरित्या देवाण-घेवाण करण्यासाठी वापरली जातात. असममितीय एनक्रिप्शन सामान्यतः इंटरनेटसारख्या सुरक्षित नसलेल्या माध्यमावर एक सुरक्षित मार्ग स्थापित करण्यासाठी वापरला जातो. एक सामान्य असममित एनक्रिप्शन मानक आरएसए  (RSA; Rivest-Shamir-Adleman; रिव्हस्ट-शमीर-अडलमन) अल्गोरिथम आहे.

एनक्रिप्शन कळी : यादृच्छिक आणि पुरेशा लांबीच्या निवडलेल्या एनक्रिप्शन कळा जवळजवळ अपूर्व मानल्या जातात. 256 उपलब्ध एएससीआयआय (ASCII) वर्णांमधून लांब निवडलेल्या 10 वर्णांना डिकोड होण्यासाठी अंदाजे 40 अब्ज शतक लागू शकतात. म्हणूनच एखाद्याला डिकोड करण्याकरिता प्रति सेकंदाला 10,000 भिन्न कळा प्रयत्न करीत राहावे लागणार.

कळीचे शब्द  : #कोडिंग #डिकोडिंग #एनक्रिप्शनकळी #CODE # Encryption # Decryption #Ciphertext

संदर्भ :

समीक्षक : रत्नदीप देशमुख