2011-02-08 16 views
10

चूंकि SHA1 के क्रिप्टोनालिसिस में महत्वपूर्ण प्रगति हुई है, इसलिए इसे SHA2 (wikipedia) के पक्ष में चरणबद्ध किया जाना चाहिए।क्या SHA1 अभी भी पीबीकेडीएफ 2 में हैश फ़ंक्शन के रूप में उपयोग के लिए सुरक्षित है?

पीबीकेडीएफ 2 में अंतर्निहित हैश फ़ंक्शन के रूप में उपयोग के लिए, हालांकि, इसका मूल रूप से पीआरएनजी के रूप में उपयोग किया जाता है। जैसे कि पीबीकेडीएफ 2 के लिए हैश के रूप में SHA1 का उपयोग करना अभी भी सुरक्षित होना चाहिए, है ना?

उत्तर

20

एसएचए -1 पर वर्तमान में ज्ञात कमजोरियों में से कोई भी एचएमएसी, में उपयोग किए जाने पर इसकी सुरक्षा पर कोई प्रभाव नहीं पड़ता है जब पीबीकेडीएफ 2 में उपयोग किया जाता है तो एक fortiori। उस मामले के लिए, एमडी 5 भी ठीक होगा (लेकिन एमडी 4 नहीं)।

हालांकि, SHA-1 सार्वजनिक संबंधों के लिए अच्छा नहीं है: यदि 2011 में, आप SHA-1 का उपयोग करते हैं, तो आपको स्वयं को उस विकल्प को उचित ठहराने के लिए तैयार करना होगा। दूसरी ओर, एसएचए -256 एक अच्छा "डिफ़ॉल्ट कार्य" है और कोई भी इस पर सवाल नहीं उठाएगा।

पीबीकेडीएफ 2 में कोई प्रदर्शन समस्या नहीं है (पीबीकेडीएफ 2 में "पुनरावृत्ति गणना" शामिल है जो इसे आवश्यकतानुसार धीमा बनाने के लिए है) इसलिए SHA-256 पर SHA-1 को प्राथमिकता देने के बहुत कम कारण हैं। हालांकि, अगर आपके पास मौजूदा है, तो तैनात सिस्टम जो पीबीकेडीएफ 2-साथ-SHA-1 का उपयोग करता है, तब उसे "ठीक करने" की तत्काल आवश्यकता नहीं है।

+1

[स्टैक क्रिप्टो] में एक बहुत अच्छी व्याख्या भी है (http://crypto.stackexchange.com/questions/15218/is-pbkdf2-hmac-sha1-really-broken)। संक्षेप में, पासवर्ड के लिए टकराव खराब नहीं हैं, इसका मतलब यह है कि एक दुर्भावनापूर्ण उपयोगकर्ता (या वैध उपयोगकर्ता) कुछ अलग-अलग पासवर्ड से लॉग इन कर सकता है कि वे मूल "असली" पासवर्ड पर वापस आ सकते हैं। –

0

एसएचए 1 पर होने वाले हमलों ने बहुत से सार्वजनिक अशांति के कारण एक संदेश बनाने के लिए संभव बनाया है जिसमें एक अलग संदेश के रूप में एक ही हैश है। प्रत्येक हैश फ़ंक्शन के लिए यह हमेशा संभव है (सैद्धांतिक रूप से), क्योंकि हैश फ़ंक्शन में इनपुट बिट्स की तुलना में कम आउटपुट बिट्स हैं। हालांकि, यह आमतौर पर दुर्घटना से होने की संभावना नहीं है, और उद्देश्य पर इसे करने के लिए कम्प्यूटेशनल रूप से व्यवहार्य नहीं होना चाहिए।

"संदेश अखंडता सुनिश्चित करें" बिंदु से, इसे आपदा के रूप में देखा जा सकता है।

दूसरी ओर, यादृच्छिक संख्याएं उत्पन्न करने के उद्देश्य से, इसका बिल्कुल असर नहीं है।

0

निश्चित रूप से। SHA-256, या बड़ा, यदि आप अधिक महत्वपूर्ण सामग्री उत्पन्न करना चाहते हैं तो अधिक कुशल हो सकता है। लेकिन पीबीकेडीएफ 2-एचएमएसी-एसएचए 1 ठीक है। इसके अलावा मानक एचएमएसी उपयोग से समझौता नहीं किया गया है, लेकिन फिर, उस परिदृश्य में लंबे समय तक हैश सिद्धांत रूप से अधिक सुरक्षित हैं।