يُنشئ بيانات عشوائية تشفيرية ويدير حالة المولد الداخلية وتزويده بالاعتلاج.
مُولَّد بالذكاء الاصطناعيغير مُراجَعالنموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: ef81953cc5a7المصدرأسئلة مفتوحة (1)
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني
يُنشئ بيانات عشوائية تشفيرية ويدير حالة المولد الداخلية وتزويده بالاعتلاج.
توفر الواجهة ara::crypto::cryp::RandomGeneratorCtx سياقاً آمناً خيطياً لإنشاء أرقام شبه عشوائية في مخازن مؤقتة مجهزة [SWS_CRYPT_22915]. وتبعاً لتنفيذ السياق، يجب تهيئة حالة المولد الداخلية مسبقاً عبر Seed باستخدام بيانات الاعتلاج أو المفاتيح ([SWS_CRYPT_22911]، [SWS_CRYPT_22912]). وفي حالة غياب التهيئة أو استنفاد مخزون الاعتلاج، تُقر دالة التوليد الاستدعاء برموز الأخطاء القياسية المقابلة [SWS_CRYPT_22915].
السياق
تُعرّف الواجهة ara::crypto::cryp::RandomGeneratorCtx السياق التشفيري لمولدات الأرقام العشوائية داخل وحدة Adaptive crypto. وتعمل الفئة، كتخصيص لـ CryptoContext، على توليد متتاليات شبه عشوائية آمنة تشفيرياً، بالإضافة إلى إدارة الحالة الداخلية للمولد. وعادةً ما تصل خدمات التطبيق إلى مثيلات هذه الواجهة للحصول على مادة المفاتيح أو متجهات التهيئة أو القيم العشوائية للبروتوكولات ذات الصلة بالأمان. ويتم توفير مثيلات السياق وتبادلها بشكل أساسي عبر مؤشرات ذكية مشتركة، والتي يتوفر لها الاسم المستعار للنوع Sptr[SWS_CRYPT_22901].
دورة الحياة
تتم إدارة دورة حياة سياق مولد الأرقام العشوائية عبر عد المراجع بواسطة std::shared_ptr ([SWS_CRYPT_22901]). وبعد إنشاء المثيل، يكون المولد، اعتماداً على التنفيذ الأساسي، إما في حالة جاهزة للاستخدام بالفعل أو يتطلب تهيئة مسبقة بواسطة التطبيق. وتُستخدم الدالة Seed لتهيئة حالة المولد الداخلية، ويتم تزويدها إما بنطاق ذاكرة خام عبر ReadOnlyMemRegion[SWS_CRYPT_22911] أو بكائن مفتاح متماثل من النوع SymmetricKey::Sptr[SWS_CRYPT_22912]. وتم الإعلان عن جميع الدوال الأعضاء المركزية (Seed وAddEntropy وGenerate) وفقاً للمواصفة بأنها آمنة ضد الاستثناءات (noexcept) وآمنة خيطياً ([SWS_CRYPT_22911]، [SWS_CRYPT_22912]، [SWS_CRYPT_22914]، [SWS_CRYPT_22915])، مما يتيح دعم الاستدعاءات المتوازية من خيوط متعددة دون قفل داخلي على مستوى التطبيق.
مسار الاستخدام
يتضمن تسلسل الاستخدام المعتاد إعداد حالة المولد، وخلط مزيد من الاعتلاج اختيارياً، يليه استرداد البيانات العشوائية:
تهيئة الحالة (توليد البذرة): إذا كان السياق يتطلب توليد بذرة بواسطة المستدعي، يتم تنفيذ Seed باستخدام بيانات الاعتلاج [SWS_CRYPT_22911] أو مفتاح متماثل [SWS_CRYPT_22912]. وإذا كان التنفيذ مستنداً إلى عتاد أو مهيأً بشكل ثابت ولا يدعم توليد البذرة، فإن الاستدعاء يفشل.
خلط اعتلاج إضافي: عبر AddEntropy[SWS_CRYPT_22914]، يمكن إثراء الحالة الداخلية أثناء وقت التشغيل باعتلاج تم الحصول عليه حديثاً (يُمرر كـ ReadOnlyMemRegion).
تُرجع العمليات نتائجها في ara::core::Result وتمتلك دلالات تراجع محددة عند حدوث أخطاء:
سياق غير مهيأ: إذا استدعى التطبيق Generate على الرغم من أن السياق يتطلب حتماً توليد البذرة مسبقاً، فإن العملية تفشل مع ara::crypto::CryptoErrc::kUninitializedContext[SWS_CRYPT_22915].
نقص الإنتروبيا: إذا تعذر على السياق توليد كمية البايت المطلوبة مؤقتًا بسبب استنفاد مجمع الإنتروبيا الداخلي، يُبلغ Generate عن الخطأ ara::crypto::CryptoErrc::kBusyResource[SWS_CRYPT_22915]. وفي هذه الحالة، يمكن للتطبيق إعادة محاولة الاستدعاء في وقت لاحق أو إجراء بذر إضافي.
استخدام غير مسموح به للمفتاح: إذا مُرِّر SymmetricKey عند Seed ولم تكن حقوق الاستخدام المهيأة الخاصة به تتضمن الراية kAllowRngInit، يُرفض الاستدعاء مع ara::crypto::CryptoErrc::kUsageViolation[SWS_CRYPT_22912].
وظيفة غير مدعومة: إذا كان تطبيق سياق محدد لا يدعم تعيين البذرة أو الخلط اللاحق للإنتروبيا لأسباب من حيث المبدأ، يُقر Seed ([SWS_CRYPT_22911]، [SWS_CRYPT_22912]) وAddEntropy[SWS_CRYPT_22914] بذلك عبر رمز الخطأ ara::crypto::CryptoErrc::kUnsupported.
يستند هذا الدليل إلى مواصفة AUTOSAR Adaptive Platform R25-11 (الوحدة crypto) ويعتمد حصريًا على متطلبات المواصفة المحددة.
Update the internal state of the RNG by mixing it with the provided additional entropy.
مُولَّد بالذكاء الاصطناعيغير مُراجَعالنموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: fa9161531f6aالمصدرأسئلة مفتوحة (1)
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني
تُستخدم الطريقة AddEntropy من الفئة ara::crypto::cryp::RandomGeneratorCtx لتحديث الحالة الداخلية لمولد الأرقام العشوائية (RNG) عبر خلط قيم إنتروبيا ممررة إضافية [SWS_CRYPT_22914]. يتوفر التصريح عبر ملف الرأس ara/crypto/cryp/random_generator_ctx.h[SWS_CRYPT_22914]. كمعلمة دخل، تتوقع الدالة كائنًا من النوع ReadOnlyMemRegion باسم entropy، والذي يغلف نطاق الذاكرة الذي يحتوي على قيمة الإنتروبيا المراد إضافتها [SWS_CRYPT_22914].
يُنفذ الاستدعاء بشكل متزامن (تفسير: تُرجع الواجهة النتيجة مباشرة دون نوع نتيجة غير متزامن). سؤال Q-6e56e1daaa526bf8 (مفتوح) تُرجع النتيجة كـ ara::core::Result<void>، وتكون فارغة في حالة النجاح إذا كانت الطريقة مدعومة وأمكن خلط الإنتروبيا بنجاح [SWS_CRYPT_22914]. أما إذا كان سياق مولد الأرقام العشوائية المحدد لا يدعم إضافة الإنتروبيا، فإن الاستدعاء يفشل ويُرجع رمز الخطأ ara::crypto::CryptoErrc::kUnsupported مع ضمان دلالات التراجع (Rollback) [SWS_CRYPT_22914].
فيما يتعلق بالتزامن والأمان ضد الأخطاء، حُددت الواجهة بأنها آمنة بالنسبة للخيوط (thread-safe) وآمنة من الاستثناءات (exception safe)، ومزودة بالمعرّف noexcept[SWS_CRYPT_22914]. بالتالي، يمكن للمستدعين استدعاء الدالة بأمان من عدة خيوط معالجة، ولكن ينبغي دائمًا تقييم ara::core::Result المُرجعة لمعالجة عدم دعم تغذية الإنتروبيا في السياق المعني [SWS_CRYPT_22914].
تم توليد ملاحظة الاستخدام هذه تلقائياً بناءً على المواصفة.
Fill the provided output buffer with a (pseudo)random sequence.
مُولَّد بالذكاء الاصطناعيغير مُراجَعالنموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: b447baebff9aالمصدر
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني
تُستخدم الدالة Generate الخاصة بالواجهة ara::crypto::cryp::RandomGeneratorCtx لملء ذاكرة تخزين مؤقت مقدمة للإخراج بتسلسل عشوائي (أو شبه عشوائي) [SWS_CRYPT_22915]. كمعلمة تمرير، تقبل الطريقة نطاق الذاكرة القابل للكتابة output من النوع ReadWriteMemRegion، والذي تُكتب فيه البايتات العشوائية المولدة مباشرة [SWS_CRYPT_22915].
فيما يتعلق بأمان التنفيذ والتزامن، صُرح عن الطريقة بأنها noexcept، وتُعد آمنة من الاستثناءات (Exception-safe) وحُددت صراحة بأنها thread-safe [SWS_CRYPT_22915]. يتيح ذلك الاستدعاء المتزامن من عدة خيوط معالجة.
معالجة الأخطاء
يشير نوع الإرجاع ara::core::Result<void> إلى نجاح العملية من خلال نتيجة فارغة، أو يُرجع في حالة الخطأ رمز خطأ مطابقًا مع دلالات التراجع (Rollback) [SWS_CRYPT_22915]:
ara::crypto::CryptoErrc::kUninitializedContext: يحدث إذا كان السياق يتطلب تهيئة مسبقة أو تزويدًا بالإنتروبيا («seeded») بواسطة التطبيق [SWS_CRYPT_22915].
ara::crypto::CryptoErrc::kBusyResource: يُرجع عندما تنفد الإنتروبيا حاليًا من السياق («out-of-entropy»)، وبالتالي لا يمكنه توفير المقدار المطلوب من البايتات العشوائية [SWS_CRYPT_22915].
التفاعل والتمايز
بينما تكتب RandomGeneratorCtx::Generate بايتات بيانات عشوائية خام في ذاكرة التخزين المؤقت [SWS_CRYPT_22915]، توجد في الوحدة crypt دوال توليد أخرى ذات تركيز مختلف: حيث تُستخدم CryptoProvider::GenerateSymmetricKey[SWS_CRYPT_20721] لإنشاء مفاتيح متماثلة، وتُستخدم CryptoProvider::GeneratePrivateKey[SWS_CRYPT_20722] لتوليد أزواج مفاتيح غير متماثلة. علاوة على ذلك، لا ينبغي الخلط بين هذه الطريقة والدالة التي تحمل الاسم نفسه Generate الخاصة بـ MessageAuthnCodeCtx، والتي تُستخدم لحساب خلاصة MAC [SWS_CRYPT_50029].
تم إنشاء ملاحظة الاستخدام هذه بواسطة ذكاء اصطناعي بناءً على المواصفة.
Set the internal state of the RNG using the provided seed.
مُولَّد بالذكاء الاصطناعيغير مُراجَعالنموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 1629638eb13aالمصدر
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني
الاستخدام
تُستخدم الدالة الافتراضية الصرفة Seed للواجهة ara::crypto::cryp::RandomGeneratorCtx لضبط الحالة الداخلية لمولد الأرقام العشوائية (RNG) عبر نطاق ذاكرة متوفر [SWS_CRYPT_22911]. ويتم التصريح في الترويسة ara/crypto/cryp/random_generator_ctx.h بالتوقيع virtual ara::core::Result<void> Seed(ReadOnlyMemRegion seed) noexcept = 0;[SWS_CRYPT_22911].
تستقبل الدالة المتزامنة كمعلمة إدخال seed من النوع ReadOnlyMemRegion، والذي يحتوي على نطاق الذاكرة بقيمة البذرة (Seed) [SWS_CRYPT_22911]. وعند التنفيذ الناجح وتوفر الدعم من السياق، تُرجع الدالة ara::core::Result<void> فارغاً [SWS_CRYPT_22911].
معالجة الأخطاء
في حالة حدوث خطأ، يحتوي ara::core::Result المُرجع على رمز خطأ ملائم [SWS_CRYPT_22911]:
ara::crypto::CryptoErrc::kUnsupported: تحدث إذا كان RandomGeneratorCtx المحدد لا يدعم توليد البذرة (Seeding)؛ وقد تم تحديد دلالات التراجع لحالة الخطأ هذه [SWS_CRYPT_22911].
التزامن والقيود
تم التصريح عن الواجهة كـ noexcept وتصنيفها فيما يتعلق بأمان التنفيذ على أنها exception safe وكذلك thread-safe [SWS_CRYPT_22911].
تفاعل
استكمالاً لهذه الدالة القائمة على نطاق الذاكرة، يحدد [SWS_CRYPT_22912] تحميلاً زائداً Seed(SymmetricKey::Sptr seed)، والذي يهيئ حالة RNG باستخدام مفتاح متماثل ويقيّم قيود الاستخدام مثل kAllowRngInit أثناء ذلك.
تم إنشاء هذا النص بواسطة ذكاء اصطناعي وهو مخصص للتوجيه فقط. وتظل مواصفة AUTOSAR الرسمية هي المرجع المعتمد.
Set the internal state of the RNG using the provided seed.
مُولَّد بالذكاء الاصطناعيغير مُراجَعالنموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 13e7b6b96ba9المصدرأسئلة مفتوحة (1)
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني
تهيئ الطريقة Seed الحالة الداخلية لمولد أرقام عشوائية في سياق ara::crypto::cryp::RandomGeneratorCtx باستخدام مفتاح متماثل [SWS_CRYPT_22912]. ويتم الاستدعاء بشكل متزامن، وهو محدد بأنه آمن خيطيًا وآمن من الاستثناءات (exception safe وnoexcept) [SWS_CRYPT_22912]. ويُستخدم مؤشر ذكي إلى مفتاح (SymmetricKey::Sptr) كمعلمة إدخال، وتُعتمد قيمة مفتاحه كقيمة ابتدائية (Seed) [SWS_CRYPT_22912].
عند معالجة الأخطاء، ترجع الدالة ara::core::Result<void>، والذي يكون فارغًا في حالة النجاح [SWS_CRYPT_22912]. وإذا فشلت العملية، يُطبق أسلوب دلالي للتراجع؛ ويؤثر هذا بوجه خاص على رموز الأخطاء التالية:
ara::crypto::CryptoErrc::kUsageViolation: يحدث عندما لا يتضمن الاستخدام المسموح به للمفتاح الممرر الراية kAllowRngInit[SWS_CRYPT_22912].
ara::crypto::CryptoErrc::kUnsupported: يُبلّغ عنه عندما لا يدعم مثيل السياق الفعلي تعيين قيمة ابتدائية (Seed) بواسطة مفتاح متماثل [SWS_CRYPT_22912].
في إطار التفاعل مع عائلة الواجهات، تمثل هذه الدالة المتغير المعتمد على المفتاح، بينما يغطي التحميل الزائد وفقًا لـ [SWS_CRYPT_22911] التهيئة عبر نطاق ذاكرة غير مهيكل (ReadOnlyMemRegion). وبسبب الأسلوب الدلالي للتراجع، تظل الحالة الداخلية للمولد في حالة حدوث خطأ في حالتها السابقة على الأرجح (تفسير). سؤال Q-970cbedd1843b26a (مفتوح)
تم إنشاء هذا النص بواسطة نظام ذكاء اصطناعي بناءً على بيانات المواصفة.
gemini-3.8-flash-low· 2026-10-13 · الأصل الألماني