असली नंबरों के साथ पासवर्ड एन्ट्रॉपी, समझाया गया
प्रकाशित 2026-07-20
पासवर्ड स्ट्रेंथ मीटर सिर्फ़ अंदाज़े होते हैं। एन्ट्रॉपी अंकगणित है। यहां है "पासवर्ड स्ट्रेंथ" के पीछे का असली गणित, असली हार्डवेयर नंबरों से कैलकुलेट किए गए क्रैक टाइम, और इस बात पर एक ईमानदार नज़र कि जिन नियमों का पालन करने के लिए आपको मजबूर किया गया है उनमें से कौन-सा वाक़ई कुछ करता है।
एन्ट्रॉपी का एक बिट क्या है
एन्ट्रॉपी मापती है कि किसी पासवर्ड को कितनी बराबर संभावना वाली संभावनाओं में से चुना गया था, जिसे बेस-2 लॉगरिद्म के रूप में व्यक्त किया जाता है। 1,024 संभावनाओं में से समान रूप से चुना गया पासवर्ड में 10 बिट एन्ट्रॉपी होती है, क्योंकि 210 = 1,024। हर जोड़ा गया बिट एक हमलावर को सबसे बुरी स्थिति में चाहिए होने वाले अनुमानों की संख्या को दोगुना कर देता है। एक रैंडमली जनरेट किए गए पासवर्ड के लिए फ़ॉर्मूला सीधा है: एन्ट्रॉपी = लंबाई × log2(अल्फ़ाबेट साइज़)।
उस वाक्य में "रैंडमली" शब्द सारा काम कर रहा है। यह फ़ॉर्मूला तभी लागू होता है जब हर कैरेक्टर एक सही रैंडम जनरेटर से चुना गया हो। किसी इंसान द्वारा सोचा गया पासवर्ड इसमें फ़िट नहीं बैठता: इंसान नामों, तारीखों, कीबोर्ड वॉक्स, और आख़िर में 1 जोड़े गए शब्दों के एक छोटे, बुरी तरह असंतुलित पूल से चुनते हैं, और क्रैकिंग सॉफ़्टवेयर बिल्कुल इन्हीं पैटर्न के इर्द-गिर्द बनाया गया है।
प्रति-कैरेक्टर नंबर
सिर्फ़ लोअरकेस अक्षर: 26 सिंबल, प्रति कैरेक्टर 4.70 बिट। अपरकेस जोड़ें: 52 सिंबल, 5.70 बिट। अंक जोड़ें: 62 सिंबल, 5.95 बिट। हर प्रिंट होने वाला ASCII सिंबल जोड़ें: 95 सिंबल, 6.57 बिट। ध्यान दें कि यह प्रोग्रेशन कितना कमज़ोर है। सिर्फ़ लोअरकेस से लेकर पूरे 95-सिंबल तक जाने से प्रति कैरेक्टर 2 बिट से भी कम मिलता है, जबकि पासवर्ड में एक और कैरेक्टर जोड़ने से 4.7 से 6.6 बिट मिलते हैं। लंबाई हर बार कैरेक्टर-सेट की जटिलता को हराती है, और यह कोई क़रीबी मुक़ाबला नहीं है।
क्रैक टाइम, ठोस रूप में
सबसे बुरी असल स्थिति मान लें: आपका पासवर्ड हैश किसी ब्रीच में लीक हो गया, साइट ने MD5 या NTLM जैसा तेज़ एल्गोरिद्म इस्तेमाल किया (वही तरह का हैश जिसे आप हमारे हैश जनरेटर में तुरंत कैलकुलेट कर सकते हैं, जो ठीक यही समस्या है), और हमलावर एक आधुनिक मल्टी-GPU रिग चलाता है जो प्रति सेकंड करीब 100 अरब अनुमान लगाता है। हर कॉम्बिनेशन ट्राई करने का समय:
| पासवर्ड | एन्ट्रॉपी | ख़त्म करने में समय |
|---|---|---|
| 8 रैंडम लोअरकेस अक्षर | 37.6 बिट | करीब 2 सेकंड |
| 8 रैंडम कैरेक्टर, पूरा 95-सिंबल सेट | 52.6 बिट | करीब 18 घंटे |
| 12 रैंडम लोअरकेस अक्षर | 56.4 बिट | करीब 11 दिन |
| 5 रैंडम diceware शब्द | 64.6 बिट | करीब 9 साल |
| 16 रैंडम लोअरकेस अक्षर | 75.2 बिट | करीब 14,000 साल |
| 6 रैंडम diceware शब्द | 77.5 बिट | करीब 70,000 साल |
| 12 रैंडम कैरेक्टर, पूरा 95-सिंबल सेट | 78.8 बिट | करीब 170,000 साल |
औसत स्थिति के लिए इन नंबरों को आधा कर दें, क्योंकि एक हमलावर आम तौर पर स्पेस के आधे रास्ते में पासवर्ड ढूंढ लेता है। अगर साइट ने bcrypt या Argon2 जैसा धीमा हैश इस्तेमाल किया, तो अनुमान लगाने की रफ़्तार करीब दस लाख गुना गिर जाती है और हर रो दस लाख गुना लंबी हो जाती है। लेकिन आपको शायद ही कभी पता होता है कि कोई साइट क्या इस्तेमाल करती है, इसलिए तेज़ स्थिति के लिए प्लान करें।
पासफ़्रेज़ क्यों जीतते हैं
स्टैंडर्ड 7,776-शब्द वाली diceware लिस्ट से रैंडमली चुना गया एक शब्द log2(7776) = 12.9 बिट के बराबर होता है। पांच शब्द 64.6 बिट तक पहुंचते हैं; छह शब्द 77.5 बिट तक पहुंचते हैं, जो पूरे सिंबल सेट से लिए गए 12 सच में रैंडम कैरेक्टर की मज़बूती के लगभग बराबर है। फ़र्क़ यह है कि "maple-thunder-oboe-crisp-vandal" को फ़ोन कीबोर्ड पर टाइप किया जा सकता है और कुछ बार इस्तेमाल के बाद याद रखा जा सकता है, और "xX9#qL!2mFp$" को नहीं। हालांकि, वही चेतावनी लागू होती है: शब्द एक रैंडम जनरेटर से आने चाहिए। इन्हें खुद चुनें और आप आम, आपस में जुड़े शब्द चुनेंगे, और असली एन्ट्रॉपी धड़ाम से गिर जाती है।
अच्छी रैंडमनेस कहां से आती है
हर आधुनिक ब्राउज़र एक क्रिप्टोग्राफ़िकली सिक्योर रैंडम जनरेटर, crypto.getRandomValues, एक्सपोज़ करता है, जो ऑपरेटिंग सिस्टम के एन्ट्रॉपी पूल से सीड होता है। इस पर बना एक जनरेटर, जो रैंडम बाइट्स को कैरेक्टर सेट पर मैप करते समय पक्षपाती सैंपलिंग से बचने की सावधानी बरतता है, ऐसे पासवर्ड बनाता है जिनकी एन्ट्रॉपी असल में फ़ॉर्मूले से मेल खाती है। यही एक जनरेट किए गए पासवर्ड और एक सोचे गए पासवर्ड के बीच पूरा फ़र्क़ है: जनरेट किए गए पासवर्ड की एन्ट्रॉपी असली और कैलकुलेट करने लायक है, जबकि सोचे गए पासवर्ड की एन्ट्रॉपी सिर्फ़ एक अंदाज़ा है, और आम तौर पर एक ख़ुशफ़हमी वाला अंदाज़ा।
तीन मिथक जिन्हें रिटायर करना चाहिए
ज़रूरी सिंबल। कम्पोज़िशन नियम ("कम से कम एक अपरकेस, एक अंक, एक सिंबल") गणित को मुश्किल से हिलाते हैं, जैसा ऊपर प्रति-कैरेक्टर नंबर दिखाते हैं, और प्रैक्टिस में ये लोगों को अनुमान लगाने लायक टेम्पलेट्स की तरफ़ धकेलते हैं: शुरुआत में कैपिटल लेटर, आख़िर में एक्सक्लेमेशन मार्क, a की जगह @। क्रैकिंग रूलसेट्स ने दशकों से इन बदलावों को एनकोड कर रखा है, इसलिए P@ssw0rd! मिलीसेकंड में गिर जाता है चाहे स्ट्रेंथ मीटर कुछ भी कहे। NIST की गाइडेंस (SP 800-63B) 2017 से कम्पोज़िशन नियमों के ख़िलाफ़ सिफ़ारिश करती रही है।
हर 90 दिन में ज़बरदस्ती रोटेशन। अनुमान लगाने लायक नतीजा यह है कि Summer2025! बन जाता है Autumn2025!। NIST फिर से कहता है: पासवर्ड तब बदलें जब कॉम्प्रोमाइज़ होने का सबूत हो, कैलेंडर के हिसाब से नहीं।
स्ट्रिंग देखकर एन्ट्रॉपी का अंदाज़ा लगाना। एन्ट्रॉपी उस प्रोसेस की प्रॉपर्टी है जिसने पासवर्ड जनरेट किया, आउटपुट की नहीं। आपके दिमाग़ में सोचा गया "xK4pQ9vT" एक क्रिप्टोग्राफ़िक रैंडम जनरेटर के आठ कैरेक्टर से कहीं ज़्यादा कमज़ोर है, भले ही दोनों एक जैसे दिखें। यही वजह है कि स्ट्रेंथ मीटर गुमराह करते हैं: वे सिर्फ़ आउटपुट देख सकते हैं।
प्रैक्टिकल टारगेट
उन अकाउंट के लिए जहां एक हमलावर सिर्फ़ रेट लिमिटर के ख़िलाफ़ ऑनलाइन अंदाज़ा लगा सकता है, 40 बिट काफ़ी हैं: प्रति घंटे 100 अनुमानों पर, 230 संभावनाओं में से गुज़रने में भी हज़ार साल से ज़्यादा लगेंगे। किसी भी ऐसी चीज़ के लिए जिस पर ब्रीच के बाद ऑफ़लाइन हमला हो सकता है, जो कि आपके लिए मायने रखने वाले अकाउंट के लिए सेफ़ मान लेने वाली बात है, 75 बिट या उससे ज़्यादा का लक्ष्य रखें: करीब 14 रैंडम मिक्स्ड कैरेक्टर, या छह diceware शब्द। और हर साइट के लिए पासवर्ड यूनीक रखें ताकि कोई एक ब्रीच हुआ फ़ोरम आपका ईमेल अनलॉक न कर सके, जिसका असल मतलब है एक पासवर्ड मैनेजर के साथ एक जनरेटर।
अगर आप इस गणित को असल में काम करते देखना चाहते हैं, तो norito का पासवर्ड जनरेटर दोनों मोड ऑफ़र करता है, रैंडम कैरेक्टर स्ट्रिंग्स और वर्ड-बेस्ड पासफ़्रेज़, एक लाइव एन्ट्रॉपी रीडआउट के साथ। इस साइट के हर टूल की तरह, यह पूरी तरह आपके ब्राउज़र में चलता है, जो पासवर्ड के लिए बिल्कुल सही बात है।