निम्न और उच्च-क्रम बिट्स के लिए दो 64-बिट मानों से बना एक 128-बिट सुरक्षा काउंटर प्रदान करता है।
एआई-जनितअसत्यापितमॉडल: gemini-3.8-flash-medium · प्रयास: medium · तापमान: नियंत्रित नहीं किया जा सकता · प्रॉम्प्ट: b4749477e882उद्गमखुले प्रश्न (3)
जर्मन मार्गदर्शिका से अनूदितgemini-3.8-flash-low · 2026-10-13 · जर्मन मूल
निम्न और उच्च-क्रम बिट्स के लिए दो 64-बिट मानों से बना एक 128-बिट सुरक्षा काउंटर प्रदान करता है।
संरचना ara::crypto::SecureCounter मॉड्यूल crypto में 128-बिट सुरक्षा काउंटर के रूप में कार्य करती है, जिसमें सबसे कम महत्वपूर्ण बिट्स ([SWS_CRYPT_30002]) और सबसे महत्वपूर्ण बिट्स ([SWS_CRYPT_30003]) के लिए दो 64-बिट पूर्णांक शामिल हैं। कॉलिंग घटक मजबूत काउंटर मानों का प्रतिनिधित्व करने के लिए इस डेटा प्रकार का उपयोग करते हैं, जहाँ उप-शब्दों के बीच वेतन वृद्धि (increment) और कैरी लॉजिक को मैन्युअल रूप से नियंत्रित किया जाना चाहिए। एक शुद्ध मान प्रकार के रूप में, संरचना कोई आंतरिक सिंक्रोनाइज़ेशन प्रदान नहीं करती है, यही कारण है कि मल्टीथ्रेडिंग वातावरण में समानांतर पहुँच को अनिवार्य रूप से बाह्य रूप से समन्वित किया जाना चाहिए।
संदर्भ
संरचना ara::crypto::SecureCounter AUTOSAR Adaptive Platform के मॉड्यूल crypto के भीतर 128-बिट चौड़े क्रिप्टोग्राफ़िक काउंटर का प्रतिनिधित्व करने के लिए एक मूलभूत डेटा प्रकार के रूप में कार्य करती है। हेडर फ़ाइल ara/crypto/common/base_id_types.h में परिभाषित, यह डेटा संरचना प्रकार std::uint64_t के दो 64-बिट पूर्णांकों से बनी है: [SWS_CRYPT_30002] के अनुसार सबसे कम महत्वपूर्ण 64 बिट्स के लिए डेटा तत्व mLSQW, और [SWS_CRYPT_30003] के अनुसार सबसे महत्वपूर्ण 64 बिट्स के लिए डेटा तत्व mMSQW। सुरक्षा आर्किटेक्चर में, इस परिमाण के काउंटर मानों का उपयोग संदेशों की सामयिक ताज़गी सुनिश्चित करने और रीप्ले हमलों को प्रभावी ढंग से रोकने के लिए किया जाता है। व्याख्या: एक मानकीकृत डेटा प्रकार के रूप में, संरचना संभवतः प्राथमिक रूप से मोनोटोनिक काउंटरों या अनुक्रम संख्याओं के लिए एक इंटरफ़ेस और भंडारण प्रारूप के रूप में कार्य करती है, जिनका आदान-प्रदान क्रिप्टोग्राफ़िक प्रोटोकॉल, ड्राइवरों और हार्डवेयर-स्तरीय सुरक्षा घटकों द्वारा किया जाता है। प्रश्न Q-57197e2ecabd5cab (खुला) चूंकि विनिर्देश ara::crypto::SecureCounter को बिना किसी प्रत्यक्ष एल्गोरिथम बाइंडिंग के एक शुद्ध डेटा कंटेनर के रूप में घोषित करता है, उच्च-स्तरीय परतें काउंटर मानों की जांच करने, उन्हें बनाए रखने (persist) या उन्हें प्रोटोकॉल संदेशों में एम्बेड करने के लिए सीधे दोनों उप-घटकों के साथ इंटरैक्ट करती हैं।
जीवनचक्र
एक क्लासिकल C++ संरचना (struct) के रूप में, ara::crypto::SecureCounter बिना किसी डायनेमिक मेमोरी मैनेजमेंट या स्टेटफुल मैनेजमेंट लॉजिक के एक लाइटवेट लाइफ़साइकिल के अधीन है। इंस्टैंशिएशन आमतौर पर सीधे स्टैक पर एक लोकल वैल्यू टाइप के रूप में या सिक्योरिटी-इवेंट-हेडर अथवा क्रिप्टोग्राफ़िक सेशन डिस्क्रिप्टर जैसे उच्च-स्तरीय संदर्भों में फ़ील्ड एलिमेंट के रूप में एम्बेडेड होता है। संभवतः, एक सरल डेटा कंटेनर के रूप में यह संरचना इम्प्लिसिट कॉपी और असाइनमेंट बिहेवियर के साथ रेगुलर C++ वैल्यू सेमांटिक्स प्रदर्शित करती है, लेकिन समवर्ती एक्सेस के लिए कोई आंतरिक सिंक्रोनाइज़ेशन तंत्र प्रदान नहीं करती है। प्रश्न Q-a4d95542ea77870d (खुला) डेवलपर्स के लिए इसका अर्थ है कि काउंटर अपडेट के दौरान डेटा विसंगतियों को रोकने के लिए विभिन्न थ्रेड्स से एक साथ होने वाले रीड और राइट एक्सेस को बाहरी सिंक्रोनाइज़ेशन प्रिमिटिव्स द्वारा सुरक्षित किया जाना चाहिए। किसी इंस्टेंस का लाइफ़साइकिल संबंधित स्कोप से बाहर निकलने पर स्वचालित रूप से समाप्त हो जाता है, जिसके लिए किसी स्पष्ट रिलीज़ या क्लीनअप की आवश्यकता नहीं होती है।
उपयोग पथ
विशिष्ट उपयोग पथ में इनिशियलाइज़ेशन, क्रमिक इन्क्रीमेंटेशन और दोनों संरचनात्मक घटकों के माध्यम से संयुक्त 128-बिट काउंटर मान को पढ़ना शामिल है। एक कॉलर पहले संरचना को इंस्टैंशिएट करता है और प्रारंभिक काउंटर मान निम्न-क्रम सबवर्ड mLSQW ([SWS_CRYPT_30002]) तथा उच्च-क्रम सबवर्ड mMSQW ([SWS_CRYPT_30003]) को असाइन करता है। निरंतर गणना प्रक्रियाओं में, मुख्य रूप से निम्न-क्रम वर्ड mLSQW को इन्क्रीमेंट किया जाता है। यदि mLSQW 64-बिट रेंज के अधिकतम मान तक पहुँच जाता है, तो उच्च-क्रम वर्ड mMSQW पर एक अंकगणितीय कैरी होता है, जिसे एक से बढ़ा दिया जाता है। व्याख्या: इन्क्रीमेंटेशन और कैरी हैंडलिंग जैसे अंकगणितीय ऑपरेशन्स कॉलर-साइड पर लागू किए जाने चाहिए, क्योंकि ara::crypto::SecureCounter के लिए विनिर्देश अपने स्वयं के सदस्य फ़ंक्शंस घोषित नहीं करता है। प्रश्न Q-68babc70b53a5745 (खुला) ट्रांसमिशन या पर्सिस्टेंस के दौरान, दोनों 64-बिट सदस्यों को संरचित तरीके से सीरियलाइज़ किया जाता है, जिसमें रिसीवर साइड पर समग्र मान की गलत व्याख्याओं से बचने के लिए एक सुसंगत बाइट और वर्ड क्रम का ध्यान रखा जाना चाहिए।
त्रुटि परिदृश्य
चूँकि ara::crypto::SecureCounter बिना किसी स्वयं के मेथड्स वाली एक शुद्ध डेटा संरचना है, इसलिए ऑपरेशन्स के दौरान यह संरचना न तो अपवाद उत्पन्न करती है और न ही टाइप ara::core::ErrorCode के एरर विनिर्देश या एरर कोड लौटाती है। परिणामस्वरूप, एरर परिदृश्य संरचना के भीतर स्वयं उत्पन्न नहीं होते हैं, बल्कि कॉलिंग सॉफ़्टवेयर परतों में दोनों सबवर्ड्स के गलत हैंडलिंग के कारण होते हैं। एक महत्वपूर्ण एरर परिदृश्य समग्र काउंटर का अनपेक्षित अंकगणितीय ओवरफ़्लो है, जब mLSQW ([SWS_CRYPT_30002]) और mMSQW ([SWS_CRYPT_30003]) दोनों अपनी अधिकतम वैल्यू रेंज समाप्त कर लेते हैं और वापस शून्य पर रीसेट हो जाते हैं, जो रीप्ले सुरक्षा तंत्र में सुरक्षा कमियों का कारण बन सकता है। अन्य प्रीकंडीशन और पोस्टकंडीशन उल्लंघन तब होते हैं जब अपडेट के दौरान mLSQW से mMSQW में कैरी छूट जाता है या जब अपूर्ण इनिशियलाइज़ेशन के कारण अपरिभाषित मेमोरी मान गणनाओं में शामिल हो जाते हैं। इसलिए, आगे की प्रोसेसिंग से पहले कॉलिंग घटकों को यह सुनिश्चित करना चाहिए कि दोनों डेटा तत्व सुसंगत रूप से इनिशियलाइज़ किए गए हैं और कैरी लॉजिक त्रुटिहीन रूप से लागू किया गया है।
यह पाठ AUTOSAR विनिर्देश R25-11 के आधार पर एक AI द्वारा जनरेट किया गया था।
UML क्लास आरेख
Hohle Dreieckspfeile = Vererbung (zeigt zur Basisklasse); Klicken öffnet die jeweilige Klassenseite.
gemini-3.8-flash-low· 2026-10-13 · जर्मन मूल