मैं समझता हूं कि ब्लॉक सिफर सॉफ़्टवेयर में अधिक लोकप्रिय हैं क्योंकि स्ट्रीम सिफर के विपरीत आमतौर पर हार्डवेयर आधारित होते हैं। हालांकि, स्ट्रीम सिफर में एक कुंजी का पुन: उपयोग क्यों नहीं किया जा सकता है? क्या यह पैटर्न के कारण हो सकता है?ब्लॉक सिफर और स्ट्रीम सिफर
उत्तर
ए स्ट्रीम सिफर एक एन्क्रिप्शन सिस्टम है जो इनपुट बिट्स के दिए गए अनुक्रम पर काम करता है। अधिकांश स्ट्रीम सिफर कुंजी से उत्पन्न यादृच्छिक दिखने वाली बिट्स के लंबे अनुक्रम से काम करते हैं, जिन्हें तब एन्क्रिप्ट करने के लिए डेटा के साथ संयुक्त (बिटवाईओ एक्सओआर द्वारा) जोड़ा जाता है। यह one-time pad का एक (कच्चा) अनुकरण है।
एक ब्लॉक सिफर एक सामान्य क्रिप्टोग्राफिक तत्व है जो "ब्लॉक" जो एक निश्चित लंबाई (AES के लिए उदाहरण के लिए 128 बिट) के साथ बिट्स के दृश्यों रहे हैं पर काम करता है है। ब्लॉक साइफर ब्लॉक का क्रमपरिवर्तन है; कुंजी का चयन करता है कि हम किस क्रमपरिवर्तन के बारे में बात कर रहे हैं। अकेले एक ब्लॉक सिफर एक मनमाना लंबे संदेश को संसाधित नहीं कर सकता है; ब्लॉक सिफर और डेटा को mode of operation नामक एक विस्तृत निर्माण के भीतर उपयोग किया जाना चाहिए (जिसे अक्सर "चेनिंग मोड" भी कहा जाता है)।
"सीटीआर" नामक ब्लॉक सिफर के लिए "काउंटर मोड" के रूप में एक चेनिंग मोड है: इस मोड में, ब्लॉक सिफर का उपयोग काउंटर के लगातार मूल्यों (काउंटर के आकार वाले काउंटर) को एन्क्रिप्ट करने के लिए किया जाता है। इसके परिणामस्वरूप एन्क्रिप्टेड ब्लॉक को फिर से संयोजित किया जाता है, जिसके परिणामस्वरूप बिट्स का मनमाने ढंग से लंबा अनुक्रम होता है जो केवल कुंजी पर निर्भर करता है। यह XOR के लिए पर्याप्त है जो डेटा को एन्क्रिप्ट करने के अनुक्रम के साथ अनुक्रमित करता है। दूसरे शब्दों में, सीटीआर मोड एक ब्लॉक सिफर को स्ट्रीम सिफर में बदल देता है। एक और लोकप्रिय चेनिंग मोड सीबीसी है, जो स्ट्रीम सिफर के मॉडल फिट करता है।
धारा सिफर, क्या हर हालत में बचा जाना चाहिए दो अलग-अलग संदेशों के लिए बिट्स की एक ही कुंजी पर निर्भर अनुक्रम पुन: उपयोग किया जाता है के साथ; यह कुख्यात "दो-बार पैड" उत्पन्न करेगा जिसे आसानी से तोड़ दिया जा सकता है (दो एन्क्रिप्टेड संदेशों में अनावश्यकता का शोषण करके)। सीटीआर मोड में एक ब्लॉक सिफर के साथ, यह एक ही काउंटर मूल्यों का पुन: उपयोग करने के लिए अनुवाद करता है। यही कारण है कि सीटीआर मोड को यादृच्छिक प्रारंभिक मान (IV) की आवश्यकता होती है जो काउंटर वैल्यू है जिसके साथ आप एन्क्रिप्शन शुरू करते हैं। पर्याप्त रूप से बड़े ब्लॉक के साथ, एक नया यादृच्छिक चतुर्थ चुनकर, आप उपयोग की जाने वाली काउंटर वैल्यू के अनुक्रमों में किसी भी ओवरलैप के साथ बहुत अधिक संभावना से बचते हैं।
चतुर्थ की अवधारणा सिफर ब्लॉक करने के लिए विशिष्ट नहीं है, कुछ स्ट्रीम सिफर भी एक चतुर्थ का उपयोग करते हैं (उदाहरण के लिए eSTREAM portfolio में से एक)। एक स्ट्रीम सिफर एक चतुर्थ है, तो कुंजी पुन: उपयोग कोई समस्या नहीं है - बशर्ते कि आप उचित चतुर्थ (अर्थात चतुर्थ संभव चतुर्थ की पूरी अंतरिक्ष में एक को क्रिप्टोग्राफी मजबूत RNG साथ उत्पन्न, वर्दी संभावना रखता है) का उपयोग करें। हालांकि, कुछ अन्य धारा सिफरों में IV नहीं है, विशेष रूप से व्यापक रूप से उपयोग किए जाने वाले RC4। एक ही कुंजी का पुन: उपयोग करने का मतलब उत्पन्न बिट्स के सटीक समान अनुक्रम का पुन: उपयोग करना होगा, और यह बुरा है।
ध्यान दें कि कुछ श्रृंखलन सीटीआर से अन्य साधनों भी एक चतुर्थ, जो प्रत्येक संदेश किसी कुंजी के साथ एन्क्रिप्टेड के लिए अद्वितीय होना चाहिए की जरूरत है। ब्लॉक सिफर इसके लिए आवश्यकता को कम नहीं करते हैं।
ब्लॉक साइफर: ब्लॉक साइफर ब्लॉक द्वारा संदेश ब्लॉक एन्क्रिप्ट करने जैसा है। संदेश के एन्क्रिप्शन के बाद ब्लॉक द्वारा ब्लॉक को तोड़ रहा है।
स्ट्रीम सिफर: स्ट्रीम सिफर मूल संदेश के बिट एन्क्रिप्शन द्वारा थोड़ा सा है।
- 1. ब्लॉक सिफर एसएएलटी: स्पष्ट पाठ या रहस्य?
- 2. एक कम्यूटिव सिफर?
- 3. सरल पंक्ति पारदर्शी सिफर
- 4. जावा सिफर - एईएस पैडिंग समस्या
- 5. सिफर/3DES/CFB/जावा और PHP
- 6. सममित और असममित सिफर, गैर अस्वीकार?
- 7. एन्क्रिप्शन और सिफर अलग-अलग चीजें हैं?
- 8. EXP (ORT) सिफर और M2Crypto/OpenSSL
- 9. क्यों मेरी एईएस सिफर DECRYPT_MODE
- 10. पायथन में सीज़र सिफर फ़ंक्शन
- 11. XOR सिफर: अलग-अलग परिणाम
- 12. जावा में सरल सीज़र सिफर
- 13. सिफर पाठ के साथ चतुर्थ भेजना, सुरक्षित?
- 14. क्या सिफर ग्रेड परिभाषित करता है?
- 15. एमएस एक्सेस वीबीए सबस्टिट्यूशन सिफर एन्क्रिप्ट/डिक्रिप्ट
- 16. डिफ़ॉल्ट से अलग सिफर का उपयोग
- 17. सिफर इनपुटस्ट्रीम केवल 16 बाइट्स (एईएस/जावा)
- 18. नोड.जेएस आरसी 2-सीबीसी एन्क्रिप्शन और डिक्रिप्शन सिफर सी #
- 19. सिफर वर्ग और mcrypt_create_iv समय पर धीमा है
- 20. कोई भी सी #, डेल्फी या वर्तमान अल्ट्रा लाइटवेट ब्लॉक सिफर एन्क्रिप्शन के फ्रीपास्कल कार्यान्वयन के साथ?
- 21. डाउनलोड करने के लिए छोटे असममित सिफर कार्यान्वयन
- 22. मैं उपलब्ध सिफर एल्गोरिदम कैसे सूचीबद्ध कर सकता हूं?
- 23. .NET में किसी SSL कनेक्शन के लिए एक सिफर निर्दिष्ट कैसे करें?
- 24. अमेज़ॅन एडब्ल्यूएस ईएलबी पर पीसीआई अनुपालन के लिए कौन सी एसएसएल सिफर?
- 25. कोको में सीएफएसओकेट/सीएफस्ट्रीम का उपयोग करते समय एसएसएल सिफर कैसे सेट करता है?
- 26. हिल सिफर एल्गोरिदम में उलटा कुंजी मैट्रिक्स की गणना कैसे करें?
- 27. फ़ायरफ़ॉक्स के तहत मौजूदा एसएसएल कनेक्शन की प्रयुक्त सिफर कुंजी तक कैसे पहुंचे?
- 28. मुझे विजिनेर सिफर के लिए जावा स्रोत कोड कहां मिल सकता है? मेरे ऐप में
- 29. जावा स्ट्रीम में इष्टतम ब्लॉक आकार
- 30. स्ट्रीम में कोड ब्लॉक (उदा। एक्सएमएल)
वाह, कि अधिक से अधिक मैं की तलाश में गया था। इस तरह के एक विस्तृत प्रतिक्रिया के लिए धन्यवाद। सादर – Joeblackdev