मैं फ़ाइल एन्क्रिप्शन के लिए एक साधारण प्रोग्राम लिख रहा हूं। अधिकतर अकादमिक अभ्यास के रूप में, लेकिन संभवतः भविष्य के गंभीर उपयोग के लिए। सभी भारी उठाने को तीसरे पक्ष के पुस्तकालयों के साथ किया जाता है, लेकिन टुकड़ों को एक सुरक्षित तरीके से एक साथ रखना गैर-क्रिप्टोग्राफर के लिए अभी भी एक चुनौती है। असल में, मुझे बस जिस तरह से लगता है उसे काम करने के बारे में सब कुछ मिल गया है।पासवर्ड से एन्क्रिप्शन कुंजी उत्पन्न करने के लिए MD5 का उपयोग करना?
मैं 128-बिट कुंजी लंबाई के साथ एन्क्रिप्शन के लिए 128-बिट एईएस का उपयोग कर रहा हूं। मैं चाहता हूं कि उपयोगकर्ता चर-लंबाई वाले पासवर्ड में प्रवेश करने में सक्षम हों, इसलिए मैंने एमडी 5 के साथ पासवर्ड हैश करने का फैसला किया और फिर हैश का उपयोग कुंजी के रूप में किया। मुझे लगा कि यह स्वीकार्य था - कुंजी हमेशा एक रहस्य माना जाता है, इसलिए टकराव के हमलों के बारे में चिंता करने का कोई कारण नहीं है।
अब जब मैंने इसे कार्यान्वित किया है, तो मैं कुछ लेखों में भाग गया जो दर्शाता है कि यह एक बुरा विचार है। मेरा सवाल है: क्यों? यदि कोई अच्छा पासवर्ड चुना जाता है, तो सिफर को असाधारण (पढ़ना: वर्तमान में अक्षम) ब्रूट-फोर्स प्रयास के अलावा कुंजी को कभी प्रकट नहीं करना चाहिए, है ना? क्या मुझे कुंजी उत्पन्न करने के लिए पीबीकेडीएफ 2 की तरह कुछ उपयोग करना चाहिए या यह सबसे चरम क्रिप्टोग्राफिक अनुप्रयोगों के लिए बस इतना अधिक है?
पासवर्ड – helloandre