असोसिएट किए गए डेटा के साथ तय करने वाला पुष्टि किया गया एन्क्रिप्शन (तय करने वाला AEAD)

डेटा के साथ पुष्टि करने वाला एन्क्रिप्शन (Deterministic AEAD) प्रिमिटिव, डेटरमिनिस्टिक प्रॉपर्टी के साथ एन्क्रिप्शन की सुविधा देता है: एक ही डेटा को एन्क्रिप्ट करने पर, हमेशा एक ही सिफरटेक्स्ट मिलता है. इस तरह का एन्क्रिप्शन, कुंजी को रैप करने या एन्क्रिप्ट किए गए डेटा को खोजने के लिए कुछ स्कीम के लिए मददगार होता है. ज़्यादा जानकारी के लिए, RFC 5297, सेक्शन 1.3 देखें. इस प्राइमिटिव की डेटरमिनिस्टिक प्रॉपर्टी की वजह से, इसे लागू करने पर गोपनीयता का खतरा हो सकता है. ऐसा इसलिए, क्योंकि किसी मैसेज के दूसरे इंस्टेंस की पहचान करने के लिए, हमलावर को सिर्फ़ उस मैसेज का सिफरटेक्स्ट पता करना होता है.

डिटरमिनिस्टिक AEAD की ये प्रॉपर्टी हैं:

  • Secrecy: सादे टेक्स्ट के बारे में कुछ भी नहीं पता है. हालांकि, इसकी लंबाई और दोहराए गए सादे टेक्स्ट की बराबरी के बारे में पता होता है.
  • प्रामाणिकता: बिना पता लगाए, एन्क्रिप्ट (सुरक्षित) किए गए टेक्स्ट को बदला नहीं जा सकता.
  • सिमेट्रिक: सादा टेक्स्ट को एन्क्रिप्ट करने और एन्क्रिप्ट किए गए टेक्स्ट को डिक्रिप्ट करने के लिए, एक ही पासकोड का इस्तेमाल किया जाता है.
  • डेटरमिनिस्टिक: जब तक प्राइमरी पासकोड में बदलाव नहीं किया जाता, तब तक एक ही पैरामीटर का इस्तेमाल करके, प्लैटफ़ॉर्म को दो बार एन्क्रिप्ट करने पर, एक ही सिफरटेक्स्ट मिलता है.

आपके बच्चे का डेटा

डिटरमिनिस्टिक एईएडी का इस्तेमाल, सिर्फ़ उस डेटा से जुड़े सिफरटेक्स्ट को जोड़ने के लिए भी किया जा सकता है. उदाहरण के लिए, अगर आपके पास user-id और encrypted-medical-history फ़ील्ड वाला डेटाबेस है, तो इस स्थिति में encrypted-medical-history को एन्क्रिप्ट करते समय, user-id का इस्तेमाल उससे जुड़े डेटा के तौर पर किया जा सकता है. इससे, हमलावर किसी उपयोगकर्ता के मेडिकल इतिहास को किसी दूसरे उपयोगकर्ता के मेडिकल इतिहास में ट्रांसफ़र नहीं कर पाता.

कुंजी का टाइप चुनना

हमारा सुझाव है कि सभी इस्तेमाल के उदाहरणों के लिए, AES256_SIV कुंजी टाइप का इस्तेमाल करें.

सुरक्षा से जुड़ी गारंटी

  • पुष्टि करने के लिए, कम से कम 80-बिट का पासवर्ड इस्तेमाल करना होगा.
  • सादा टेक्स्ट और उससे जुड़े डेटा की लंबाई, 0 से 232 बाइट के बीच हो सकती है.
  • पासकोड वापस पाने के हमलों के लिए 128-बिट सुरक्षा लेवल और ज़्यादा से ज़्यादा 232 पासकोड वाले कई उपयोगकर्ताओं के हमलों के लिए भी 128-बिट सुरक्षा लेवल — इसका मतलब है कि अगर किसी हमलावर को 232 पासकोड से एन्क्रिप्ट किए गए एक ही मैसेज के 232 सिफरटेक्स्ट मिलते हैं, तो उसे एक पासकोड पाने के लिए 2128 कैलकुलेशन करने होंगे.
  • 238 मैसेज को सुरक्षित तरीके से एन्क्रिप्ट (सुरक्षित) किया जा सकता है. हालांकि, इसके लिए ज़रूरी है कि हर मैसेज का साइज़ 1 एमबी से कम हो.

इस्तेमाल के उदाहरण

देखें, मुझे डेटा को तय तरीके से एन्क्रिप्ट करना है और मुझे सिर्फ़ उसी कॉन्टेक्स्ट में सिफरटेक्स्ट को बांधना है.