A High-Throughput DSP-Free PRNG for FPGA based on Xoshiro128** and Integer Chaotic Mixing
تقدم هذه الورقة مولداً شبه عشوائي (PRNG) هجيناً، موفراً للموارد، وخالياً من وحدات معالجة الإشارات الرقمية (DSP-free)، ومسلسلاً بالكامل (fully pipelined) لمنصة Xilinx Zynq-7000، يجمع بين Xoshiro128**، وتسلسلات Weyl، وخريطة Tent صحيحة (integer Tent map) لتحقيق إنتاجية عالية (5.82 Gbps) واجتياز الاختبارات الإحصائية الصارمة مع الحفاظ على بصمة صغيرة مناسبة للتطبيقات المدمجة.
البحث الأصلي مرخَّص بموجب CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). هذا شرح مولَّده بالذكاء الاصطناعي للبحث أدناه. لم يكتبه المؤلفون ولم يصادقوا عليه. وللتحقق من الدقة التقنية، يرجى الرجوع إلى البحث الأصلي. اقرأ إخلاء المسؤولية الكامل
في العالم الرقمي، تعتمد العديد من الأنظمة على تسلسلات من الأرقام تبدو عشوائية تماماً لتعمل بشكل صحيح. هذه التسلسلات ضرورية لتأمين الاتصالات، ومحاكاة الأنظمة الفيزيائية المعقدة، وتشغيل البروتوكولات التشفيرية. ومع ذلك، فإن العشووية الحقيقية يصعب توليدها بواسطة الآلة، لذا يستخدم المهندسون خوارزميات لإنشاء أرقام "شبه عشوائية". هذه أرقوات حتمية تبدو عشوائية للمراقب ولكنها في الواقع ناتجة عن مجموعة محددة من القواعد بدءاً من "بذرة" (seed) أولية. ويكمن التحدي لمصممي الأجهزة في إنشاء هذه التسلسلات بسرعة وكفاءة دون استهلاك الكثير من الطاقة أو استهلاك مساحة كبيرة على شريحة الكمبيوتر. وعندما تُبنى هذه المولدات داخل رقائق متخصصة تسمى مصفوفات البوابات المنطقية القابلة للبرمجة (FPGAs)، وهي أجهزة قابلة لإعادة التشكيل تُستخدم غالباً في الأنظمة المدمجة، يكون الهدف هو تحقيق سرعة عالية مع الحفاظ على صغر حجم التصميم وكفاءة استهلاك الطاقة، وتجنب استخدام المكونات المكلفة والمستهلكة للطاقة والتي تُخصص عادةً للحسابات الرياضية الثقيلة.
لقد طور فريق من الباحثين من جامعات في إيران طريقة جديدة لبناء مثل هذا المولد الذي يعمل على FPGA. يركز عملهم على إنشاء جهاز ينتج تدفقاً هائلاً من الأرقام التي تبدو عشوائية دون استخدام وحدات الرياضيات عالية الأداء الموجودة في معظم الرقائق. وبدلاً من الاعتماد على هذه المكونات المتخصصة، التي غالباً ما تكون محدودة العدد وتستهلك طاقة كبيرة، صمم الفريق نظاماً يستخدم فقط البوابات المنطقية الأساسية وسجلات الذاكرة القياسية. والنتيجة هي مولد يمكنه إنتاج بيانات بمعدل 5.82 جيجابت في الثانية، وهو سرعة تضاهي التصاميم الأكثر تعقيداً، بينما يستخدم كمية صغيرة جداً من موارد الشريحة ويستهلك ط l طاقة ضئيلة.
الجوهر الأساسي لهذا التصميم الجديد هو نهج هجين يجمع بين ثلاث طرق مختلفة لخلط الأرقام. المحرك الأساسي هو خوارزمية معروفة تسمى Xoshiro128**، والتي تعمل كمصدر رئيسي للتسلسل. هذا المحرك فعال ويمتلك دورة طويلة جداً قبل أن يتكرر، لكنه يمتلك بنية رياضية يمكن التنبؤ بها والتي قد يستغلها مهاجم ماهر. ولإصلاح ذلك، أضاف الباحثون طبقتين إضافيتين من الخلط. تستخدم الطبقة الأولى عملية إضافة بسيطة تقوم بإزاحة القيم بطريقة تخلق نمطاً مختلفاً. وتستخدم الطبقة الثانية "خريطة الخيمة" (tent map)، وهي طريقة تمدد وتطوي الأرقام، تماماً كما يفعل الخباز عند طي العجين، وإن كان الطي هنا يحدث من خلال عمليات حسابية صحيحة بسيطة بدلاً من التلاعب الفيزيائي. تم تصميم هذه الطبقات لتعمل معاً لكسر الأنماط المتوقعة للمحرك الرئيسي، مما يجعل المخرجات النهائية أصعب بكثير في الهندسة العكسية.
بنى الباحثون هذا النظام باستخدام أداة تركيب عالية المستوى (high-level synthesis tool)، والتي تقوم تلقائياً بترجمة وصف برمجي للمنطق إلى التخطيط الفيزيائي للشريحة. وقد اختبروا التصميم على نوع معين من الرقائق يُعرف باسم Xilinx Zynq-7000. وكان التنفيذ ناجحاً في كل مقياس يهم التطبيقات المدمجة. شغل التصميم النهائي 934 كتلة منطقية صغيرة فقط على الشريحة واستخدم 1,071 سجلاً، وهو بصمة مدمجة للغاية. والأهم من ذلك، أنه لم يستخدم أي من شرائح معالجة الإشارات الرقمية المتخصصة وصفر من كتل الذاكرة المخصصة، مما يثبت أن توليد الأرقام العشوائية عالي السرعة ممكن دون الاعتماد على هذه الموارد الثقيلة. عمل النظام عند تردد 181.82 ميجاهرتز، مما وفر الإنتاجية العالية المذكورة آنفاً. ومن حيث الطاقة، استهلكت الشريحة 29 ميلي واط فقط من الطاقة الديناميكية أثناء التشغيل، وهو رقم يمثل تقديراً للحد الأدنى ويشير إلى أن التصميم كفء للغاية في استهلاك الطاقة.
ولضمان أن الأرقام المنتجة عشوائية بما يكفي للاستخدام الجاد، أخضع الفريق المخرجات لمجموعة من الاختبارات الإحصائية الصارمة. تشمل هذه الاختبارات مجموعات معيارية تستخدمها الوكالات الحكومية والباحثون المستقلون، وهي تفحص الأنماط والتحيزات والارتباطات التي قد تشير إلى نقص في العشوائية. اجتاز المولد كل اختبار، بما في ذلك الاختبارات الأكثر تطلباً التي تبحث عن العيوب الدقيقة في التسلسل. كما حلل الباحثون مدى حساسية النظام للتغيرات في ظروفه الأولية. ووجدوا أن تغيير بت واحد فقط في الإعداد الأولي تسبب في تباعد المخرجات تماماً، وهي خاصية تُعرف بالحساسية للظروف الأولية. وهذا يضمن أن الأجهزة التي تبدأ ببذور مختلفة قليلاً ستنتج تسلسلات مختلفة تماماً، وهو أمر حيوي للأمن.
تضمنت الدراسة أيضاً تحليلاً مفصلاً لما ساهم به كل جزء من النظام. وجد الباحثون أن محرك Xoshiro128** الرئيسي كان قوياً إحصائياً بما يكفي لاجتياز الاختبارات بمفرده. لم تعمل الطبقات المضافة على تحسين الجودة الإحصائية للأرقام، لكنها فعلت شيئاً آخر مهماً: لقد أزالت البنية الرياضية الخطية التي جعلت المحرك الرئيسي قابلاً للتنبؤ. ومن خلال إضافة هذه الطبقات، جعل الباحثون من الصعب جداً على المهاجم معرفة الحالة الداخلية للمولد بمجرد النظر إلى المخرجات. وبينما يمكن هندسة المحرك الرئيسي عكسياً بسرعة نسبية، فإن النظام الهجين الكامل يتطلب جهداً أكثر تعقيداً وطولاً للكسر، مما يؤمن المولد بفعالية ضد أنواع معينة من الهجمات دون التضحية بالسرعة أو الكفاءة.
يشير هذا العمل إلى أنه من الممكن بناء مولدات أرقام عشوائية عالية الأداء للبيئات محدودة الموارد دون الاعتماد على مكونات أجهزة ثقيلة. يقدم التصميم مقايضة عملية، توازن بين السرعة، واستخدام الموارد، والأمن. وبينما يشير الباحثون إلى أن الخطوات الرياضية المستخدمة في طبقة الطي ليست معقدة جبرياً، إلا أن اجتماعها مع الطبقات الأخرى يخلق نظاماً قوياً. تشير النتائج إلى أن هذا النهج مناسب تماماً للأنظمة المدمجة حيث تكون المساحة والطاقة في غاية الأهمية، مما يوفر مصدراً موثوقاً للعشوائية يمكن دمجه في مجموعة واسعة من الأجهزة. لقد أتاح الباحثون الكود والبيانات الخاصة بهم للآخرين للتحقق منها والبناء عليها، مما يضمن إمكانية إعادة إنتاج النتائج وتكييف التصميم للاحتياجات المستقبلية.
غارق في أبحاث مجالك؟
تصلك نشرة يومية بأحدث الأبحاث المطابقة لكلماتك البحثية المفتاحية — مع ملخصات تقنية، بلغتك.