“केरहॉफ्स का सिद्धांत”
नमस्ते!
आज मैं एक बहुत ही रोचक और वास्तव में बेहद महत्वपूर्ण विषय पर बात करना चाहता हूँ जिसे “केरहॉफ्स का सिद्धांत” कहा जाता है।
अरे, रुकिए, रुकिए।
कुछ लोग सोच सकते हैं: “मैंने ‘केरहॉफ्स का सिद्धांत’ कभी नहीं सुना, और यह थोड़ा तकनीकी लगता है…” कृपया चिंता न करें। यह लेख बिल्कुल उन लोगों के लिए है जो ऐसा सोचते हैं।
“सुरक्षित क्रिप्टोग्राफी” का क्या अर्थ है?
उदाहरण के लिए, मान लीजिए कोई कहता है: “यह तिजोरी केवल वही व्यक्ति खोल सकता है जो इसे खोलने का गुप्त तरीका जानता है।”
पहली नज़र में, यह बहुत सुरक्षित लगता है, है ना?
लेकिन, यदि आप इसके बारे में सोचते हैं, तो क्या यह थोड़ा चिंताजनक नहीं है?
जैसे, “अगर वह रहस्य खुल गया तो सब खत्म हो जाएगा?”
वास्तव में, यही वह बात है जिसने केरहॉफ्स के सिद्धांत को जन्म दिया।
“केरहॉफ्स का सिद्धांत” आखिर है क्या?
इसे बहुत ही सरल शब्दों में कहें, तो यह एक विचार है कि
“क्रिप्टोग्राफी सुरक्षित होनी चाहिए भले ही इसका तंत्र उजागर हो जाए।”
अधिक स्पष्ट रूप से, “सुरक्षा को केवल ‘गुप्त कुंजी’ पर निर्भर होना चाहिए, और क्रिप्टोग्राफी विधि स्वयं सार्वजनिक हो सकती है!”
दूसरी ओर, “एक ऐसी स्थिति जहां एन्क्रिप्शन एल्गोरिदम (तंत्र) को गुप्त रखा जाता है, उसे कम विश्वसनीय माना जाता है।”
“अगर तंत्र गुप्त है तो सुरक्षित है” थोड़ा खतरनाक हो सकता है
यह एक सामान्य सोच है:
“मैंने इस ऐप के अंदर का हिस्सा किसी को नहीं दिखाया है, इसलिए सुरक्षा ठीक है”
मैं आपकी भावना समझता हूँ।
लेकिन यह कहने जैसा ही है: “कोई नहीं देख रहा है, इसलिए कोई खामी नहीं मिलेगी, है ना?”
वास्तव में, वह “कोई नहीं देख रहा” अपने आप में एक जोखिम बन सकता है।
लेकिन यह सिद्धांत इतना महत्वपूर्ण क्यों है?
क्योंकि, यदि कोई तंत्र पर अपना हाथ रख ले और उसे आसानी से समझ सके, तो वह क्रिप्टोग्राफी बेकार हो जाती है।
एक सादृश्य का उपयोग करने के लिए, यह ऐसा है जैसे एक दरवाजे के ताले में एक बहुत ही जटिल तंत्र हो, लेकिन वास्तव में इसे एक डॉलर की दुकान पर बनाई गई अतिरिक्त चाबी से खोला जा सकता है।
यह बात नहीं है कि “चाबी गुप्त है इसलिए यह ठीक है”, बल्कि “भले ही आप पूरा तंत्र दिखा दें, इसे सही चाबी के बिना खोला नहीं जा सकता” यह महत्वपूर्ण है।
“लेकिन, क्या यह थोड़ा डरावना नहीं है?” की भावना
यहाँ बहुत से लोग जो महसूस करते हैं वह है चिंता
“क्या पूरे तंत्र को उजागर करना थोड़ा डरावना नहीं है?”
मैं समझता हूँ।
क्योंकि आप सोचते हैं: “अगर मैं अंदर का हिस्सा दिखा दूँ, तो क्या इसकी नकल नहीं की जाएगी या इसका दुरुपयोग नहीं किया जाएगा?”
लेकिन यही केरहॉफ्स के सिद्धांत का मूल है।
वह “ताकत जो तब भी नहीं टूटती जब अंदर का हिस्सा दिखाया जाता है” ही सच्ची सुरक्षा है।
ऐसा कहने के बाद भी, शुरुआत में थोड़ी हिम्मत चाहिए
डेवलपर के दृष्टिकोण से देखने पर, ऐसा लगता है जैसे “तंत्र प्रकाशित करना = कमजोरियों को उजागर करना”, इसलिए यह निश्चित रूप से परेशान करने वाला है।
लेकिन इसके बारे में सोचें।
कुछ ऐसा जिसे आप ठीक से दिखा सकें और कह सकें: “कोई भी इसे सत्यापित कर सकता है”, वह अंततः अधिक विश्वसनीय होता है।
यह मानवीय रिश्तों के समान है।
“एक ऐसा व्यक्ति जो आपके असली रूप को देखने के बाद भी आपके साथ अच्छी तरह से पेश आता है”, अंततः सबसे अधिक आश्वस्त करने वाला होता है।
अंत में
केरहॉफ्स का सिद्धांत थोड़ा सैद्धांतिक लग सकता है, लेकिन इसका सार बहुत सरल है।
यह बस की बात है “आइए एक ऐसा तंत्र बनाएं जो टूटेगा नहीं चाहे आप इसे किसी को भी दिखाएं।”
सतही रहस्यों के बजाय उचित डिज़ाइन।
उस कोड के बजाय जिसे आप किसी को नहीं दिखाना चाहते, ऐसा कोड जिसे दिखाने में आपको शर्म न आए।
शायद आने वाले युग में ऐसी “ताकत” की और भी अधिक आवश्यकता होगी।
पढ़ने के लिए बहुत-बहुत धन्यवाद!
सुरक्षा के बारे में बात करना थोड़ा मुश्किल है, लेकिन इसके कुछ हिस्से “लोगों के साथ संबंध” और “रोजमर्रा की शांति” से भी जुड़ते हैं।
यदि आप बिना बोझिल महसूस किए थोड़ा-थोड़ा करके सीखते हैं, तो मुझे यकीन है कि अच्छी चीजें होंगी।

