मज़बूती का प्रतिशत दो दशमलव अंकों वाली राय है।
जब कोई वेबसाइट आपसे कहती है कि आपका पासवर्ड “92% सुरक्षित” है, तो सीधा सवाल यह बनता है: 92% किसका? 100% क्या है? है ही नहीं। कोई वह परफ़ेक्ट पासवर्ड छापकर नहीं गया जिसके सामने बाक़ी सबको नापा जाता हो। वह संख्या किसी ऐसे ऐकड़े-बैकड़े हिसाब से निकली है जो किसी ने एक मंगलवार को मौक़े पर गढ़ लिया था — कैपिटल अक्षर के इतने नंबर, चिह्न के इतने — और उसका असली काम बस इतना है कि हरी पट्टी दिखा दे ताकि आप आगे बढ़ जाएँ।
बिट का मतलब, इसके उलट, हमेशा ठीक वही रहता है। और वह ऐसा कुछ बताता है जिसका आप इस्तेमाल कर सकते हैं।
एक बिट हाँ या ना का एक सवाल है
पूरी बात एक वाक्य में आ जाती है: हर बिट उन कोशिशों की संख्या दोगुनी कर देता है जो उस आदमी को करनी पड़ेंगी जो आपके बारे में कुछ नहीं जानता।
एक बिट यानी दो संभावनाएँ। दो बिट यानी चार। तीन, आठ। दस बिट यानी 1,024 और बीस बिट यानी दस लाख से कुछ ज़्यादा। हिसाब बढ़ता नहीं, दोगुना होता है, और यही दोगुना होना है जो हमारी समझ को खाई में धकेल देता है।
इसीलिए “40 बिट 20 से दोगुने अच्छे हैं” वाला वाक्य ऐसे ढंग से ग़लत है कि हँसी आ जाए। 20 और 40 बिट के बीच बीस बार दोगुना होना है, यानी 2²⁰ का गुणक: 40 बिट 20 से दोगुने नहीं, दस लाख गुना ज़्यादा हैं। और 60 बिट 20 से तिगुने नहीं हैं: वे 40 से दस लाख गुना ज़्यादा हैं। हमारा दिमाग़ इस पैमाने को इंच-टेप की तरह पढ़ता है, और वह इंच-टेप नहीं है। वह भूकंप या डेसिबल वाले पैमाने जैसा है, जहाँ संख्या में एक नन्हा-सा क़दम हक़ीक़त में एक बर्बर छलाँग होता है।
प्रतिशत पर बिट की बस यही एक बढ़त है। प्रतिशत आपको एक एहसास देता है। बिट आपको काम की मात्रा देता है।
यह शब्द आया कहाँ से
सूचना के संदर्भ में एंट्रॉपी शब्द 1948 के एक लेख से आता है: A Mathematical Theory of Communication, लेखक Claude Shannon।
यह बात ठीक-ठीक कहना ज़रूरी है, क्योंकि इसका हवाला अक्सर ग़लत दिया जाता है: Shannon पासवर्ड के बारे में सोच ही नहीं रहे थे। ज़िक्र लायक़ कंप्यूटर पासवर्ड थे ही नहीं। वे Bell Labs में एक बिलकुल अलग समस्या पर काम कर रहे थे — कोई संदेश सचमुच कितनी सूचना ढोता है, और उसे तोड़े बिना कितना निचोड़ा जा सकता है — और उन्हें एक फिसलनदार चीज़ नापनी थी: दूसरी तरफ़ बैठे आदमी की अनिश्चितता।
उनकी खोज, मोटे तौर पर कहें तो, यह है कि सूचना और हैरानी एक ही चीज़ हैं। जो संदेश आपको पहले से पता था, वह आपको कुछ नहीं बताता। जिस संदेश का अंदाज़ा लगाना नामुमकिन हो, वह आपको बहुत कुछ बताता है। एंट्रॉपी नापती है कि संदेश पैदा करने वाले स्रोत में कितनी हैरानी है, और उसे बिट में नापा जाता है।
यह पासवर्ड के काम आ जाए, यह लगभग एक ख़ुशक़िस्मत इत्तेफ़ाक़ है। पासवर्ड ठीक वही है: ऐसा संदेश जिसका अंदाज़ा लगाना नामुमकिन होना चाहिए।
चकरियों वाला ताला
यह रहा लेख का इकलौता फ़ॉर्मूला, और वादा है कि यह मुफ़्त में निकल जाएगा:
H = L × log₂(N)
लघुगणक को एक पल के लिए भूल जाइए और सूटकेस के उन नंबर वाले तालों में से एक की सोचिए जिनमें अंकों की चकरियाँ घूमती हैं। जो उसे खोलना चाहे उसकी जान मुश्किल में डालने के आपके पास दो तरीक़े हैं:
- और चकरियाँ लगाइए। यह हुई लंबाई (
L): आपके पासवर्ड में कितने वर्ण हैं। - हर चकरी पर और चिह्न रखिए। यह हुई वर्णमाला (
N): हर चकरी पर सिर्फ़ दस अंक हैं, या 26 अक्षर, या अक्षर और अंक और चिह्न भी।
लघुगणक बस एक काम करता है: “एक चकरी पर कितने चिह्न हैं” का अनुवाद “वह चकरी कितने बिट देती है” में कर देता है। 26 अक्षरों वाली चकरी लगभग 4.7 बिट देती है। कीबोर्ड के 95 छपने लायक़ वर्णों वाली चकरी लगभग 6.6 देती है।
और यहीं चुटकुला छिपा है। ग़ौर कीजिए कि फ़ॉर्मूले में कौन-सी चीज़ कहाँ बैठी है। वर्णमाला लघुगणक के अंदर है, पिचकी हुई; लंबाई बाहर है, गुणा करती हुई।
हर चकरी के चिह्न लगभग चौगुने कर देना — 26 अक्षरों से 95 वर्ण तक — आपको प्रति चकरी
दो बिट से भी कम ख़रीदकर देता है। एक और चकरी जोड़ना आपको पूरा एक log₂(N) ख़रीदकर
देता है, फिर से, और फिर, और फिर। इसीलिए सिर्फ़ बारह छोटे अक्षर और कुछ नहीं (लगभग
56 बिट) उन आठ वर्णों से जीत जाते हैं जिनमें कैपिटल अक्षर, अंक और वे चिह्न हों जो
फ़ॉर्म आपसे ज़बरदस्ती डलवाते हैं (लगभग 53)। P@ssw0rd,
ghodasahibatterystapler से हारता है, और आसपास भी नहीं फटकता।
NIST अपने SP 800-63B में दूसरे रास्ते से इसी जगह पहुँचा: उसने रचना के नियम — एक कैपिटल, एक अंक, एक चिह्न — कूड़े में फेंक दिए और लंबाई तथा लीक हुई सूचियों के ख़िलाफ़ पासवर्ड जाँचने पर टिक गया। उसके मुँह में वह बात नहीं डालनी चाहिए जो उसने कही नहीं: उसकी दलील यह फ़ॉर्मूले वाली नहीं है, बल्कि यह कि लोगों को ज़बरदस्ती एक चिह्न डलवाना उन्हें अप्रत्याशित नहीं बनाता, बस दूसरे ढंग से प्रत्याशित बना देता है। सच तो यह है कि वह दस्तावेज़ ख़ुद किसी इंसान के चुने हुए पासवर्ड की एंट्रॉपी आँकने पर भरोसा नहीं करता। दो अलग-अलग तर्क, वही एक नतीजा। ज़बरदस्ती की जटिलता लघुगणक के अंदर काम करती है। लंबाई बाहर काम करती है।
बारीक अक्षरों वाली वह बात जो शायद ही कोई गिनता है
एक पेच है, और यही इस सबका ईमानदार हिस्सा है: एंट्रॉपी आपका पासवर्ड नहीं नापती, वह उस प्रक्रिया को नापती है जिसने उसे बनाया।
4$Kp!9zQ में वे 53 बिट इसलिए नहीं हैं कि वह देखने में मुश्किल लगता है। वे तब हैं
— और सिर्फ़ तब — जब वह 95 कुंजियों के बीच सचमुच के किसी क़ुरे से निकला हो। अगर उसे
आपने ख़ुद रैंडम दिखने की कोशिश में लिखा है, तो फ़ॉर्मूला लागू नहीं होता: आप कोई
क़ुरा नहीं हैं। कैपिटल अक्षर आप पहले रखते हैं, अंक आख़िर में और चिह्न ! ही होता
है। आप पर हमला करने वाला हर जगह 95 विकल्प नहीं आज़माता: वह पहले वे आज़माता है जो
इंसान करते हैं।
पासवर्ड सुरक्षा की वह असहज विषमता यहीं से निकलती है। एंट्रॉपी एक छत है, फ़र्श नहीं। अगर उसे मशीन बनाए, तो छत सच्ची है। अगर उसे आप चुनें, तो आपको बस इतना पता है कि आप उससे नीचे हैं, और कितने नीचे हैं यह पता नहीं।
इसीलिए औज़ार दो हैं, एक नहीं। जनरेटर सचमुच का क़ुरा डालता है और इसीलिए वह
आपको बिट संजीदा चेहरे के साथ दिखा सकता है: उसे पता है कि कितनी चकरियाँ हैं (L),
पता है कि हर चकरी पर कितने चिह्न हैं (N) और वह गुणा आपके सामने करता है। अगर आप
स्लाइडर सरकाकर आँकड़ा ऊपर चढ़ते देखते हैं, तो आप L को धक्का लगाते हुए देख रहे
हैं। चेकर पहले से मौजूद किसी पासवर्ड के साथ यह नहीं कर सकता: उसे
रत्ती भर अंदाज़ा नहीं कि वह पैदा कैसे हुआ, इसलिए वह वही करता है जो अक़्लमंदी है —
उसे शब्दकोशों, नामों और कीबोर्ड के नमूनों में ढूँढ़ता है और सबसे बुरा मान लेता है।
क्या लेकर जाना है
तीन वाक्य:
- एक बिट यानी एक बार दोगुना। दस बिट ज़्यादा यानी हज़ार गुना ज़्यादा काम; बीस बिट ज़्यादा यानी दस लाख गुना।
- लंबाई गुणा करती है, वर्णमाला बमुश्किल जोड़ती है। एक शब्द जोड़ना एक विस्मयादिबोधक चिह्न जोड़ने से ज़्यादा क़ीमती है।
- बिट तभी क़ीमती हैं जब संयोग सचमुच का हो। मशीन उनका वादा कर सकती है। आप, हाथ से लिखते हुए, नहीं।
Shannon यह ढूँढ़ रहे थे कि एक संदेश में कितनी हैरानी समा सकती है। सत्तर-कुछ साल बाद पता चला कि पासवर्ड के लिए ठीक वही सही सवाल था: यह नहीं कि वह मुश्किल दिखता है या नहीं, बल्कि यह कि उसके अंदर उस आदमी के लिए कितनी हैरानी है जो आपको बिलकुल नहीं जानता।
स्रोत: C. E. Shannon, “A Mathematical Theory of Communication”, Bell System Technical Journal, 1948 · NIST SP 800-63B, Digital Identity Guidelines (Authentication and Lifecycle Management) · password.es का जनरेटर, जो H = L × log₂(N) का हिसाब लगाता है और L, N तथा उनसे निकले बिट दिखाता है।