मैं आपकी फ़ाइलों के एन्क्रिप्शन के लिए असममित एन्क्रिप्शन का उपयोग करने से बचने की सलाह दूंगा। असममित एन्क्रिप्शन समान शक्ति के सममित एन्क्रिप्शन एल्गोरिदम की तुलना में काफी महंगा (संगणकीय रूप से) है। बड़ी फ़ाइलों को एन्क्रिप्ट करने के लिए मैं किसी भी दिन आरएसए पर एईएस की सिफारिश करता हूं।
आपके प्रश्न के अनुसार - डेटा प्रोटेक्शन एपीआई (डीपीएपीआई) गौरव का उल्लेख विंडोज पर आपका सबसे अच्छा शर्त है। How to: Use Data Protection
डीपीएपीआई ProtectedMemory और ProtectedData प्रदान करता है। पूर्व आपको स्मृति में रहस्यों की रक्षा करने की इजाजत देता है, उत्तरार्द्ध डिस्क पर बने रहस्यों की सुरक्षा प्रदान करता है। एपीआई आपके लिए एन्क्रिप्शन & डिक्रिप्शन का ख्याल रखता है, और (निर्दिष्ट स्कोप के आधार पर) आपके उपयोगकर्ताओं को अन्य उपयोगकर्ताओं या अन्य मशीनों द्वारा एक्सेस/डिक्रिप्शन से सुरक्षित रखेगा।
अपने परिदृश्य में डीपीएपीआई का उपयोग करने के लिए, मैं उपयोगकर्ताओं को पासवर्ड लेने की सलाह दूंगा, एक सममित एन्क्रिप्शन कुंजी (उदा। PasswordDeriveBytes) उत्पन्न करना, डीपीएपीआई का उपयोग करके और वर्तमान उपयोगकर्ता तक पहुंच प्रतिबंधित करना।
आपका एप्लिकेशन सभी अपलोड एन्क्रिप्ट करने के लिए उस कुंजी का उपयोग कर सकता है। आपका एप्लिकेशन उपयोगकर्ता को फिर से संकेत दिए बिना कुंजी प्राप्त कर सकता है, और कुंजी को उपयोगकर्ता द्वारा एक नई प्रणाली पर पुन: उत्पन्न किया जा सकता है।
एक नकारात्मक पक्ष यह होगा कि एक ही उपयोगकर्ता द्वारा निष्पादित एक दुर्भावनापूर्ण एप्लिकेशन संभावित रूप से गुप्त कुंजी प्राप्त कर सकता है। इस परिदृश्य के खिलाफ सुरक्षा के लिए अतिरिक्त एन्ट्रॉपी (प्रभावी रूप से एक नमक) Protect & Unprotect में प्रदान किया जाना चाहिए। हालांकि इसे लागू करने से आपके उद्देश्य से भटक जाएगा - क्योंकि अब आपको उस उपयोगकर्ता के लिए संकेत देने की आवश्यकता होगी जो पासवर्ड की तरह बहुत भयानक लगता है।
इसके अलावा: दिलचस्प पढ़ने:
तुम भी Backblaze से इस पोस्ट एक दिलचस्प पढ़ने मिल सकता है। हालांकि वे कैसे वे अपने परिदृश्य का समर्थन की व्याख्या नहीं करते (एन्क्रिप्टेड अपलोड कि बादल प्रदाता समझने नहीं कर सकते हैं - केवल यह है कि वे इस तरह के एक सेवा प्रदान करते हैं): http://blog.backblaze.com/2008/11/12/how-to-make-strong-encryption-easy-to-use/
अस्वीकरण: मैं एक संतुष्ट Backblaze ग्राहक हूँ, लेकिन कोई दूसरा रास्ता नहीं में हूँ उनकी सेवा से संबद्ध।
पीएस: स्वीकार्य उत्तरों को चिह्नित करने के लिए समय निकालें। समुदाय आपको इनाम देगा।
यह मदद कर सकता है http://stackoverflow.com/questions/723653/storing-encryption-keys-best-practices –