عن المشروع
tc_rust هي مساحة عمل للتشفير النقية بلغة Rust، ومُحولة من مكتبة Bouncy Castle C#. وهي بمثابة مشروع تعليمي شخصي لدراسة Rust، وخوارزميات التشفير، وتصميم واجهات البرمجة. وقد تم تحديد المشروع صراحةً على أنه إعادة تنفيذ مستقلة وغير رسمية، ولا يرتبط أو يُؤيد من قبل Legion of the Bouncy Castle Inc. نظرًا لكونه مشروعًا قيد التطوير مع واجهات برمجة غير مستقرة ولا يوجد تدقيق أمني، فإنه غير مناسب للاستخدام في الإنتاج أو التطبيقات الأمنية الواقعية.
توفر المكتبة مجموعة شاملة من البدائيات التشفيرية المنظمة في صناديق برمجية معيارية. يدعم التشفير الكتلي 28 محركًا عامًا مثل AES، ARIA، Camellia، DES، وSM4، مع اختبارات للتحقق من الإجابات. تغطي محركات التشفير التدفقية RC4، ChaCha، Salsa20، وHC-128/256. كما يطبق المشروع ثماني عائلات من أوضاع التشفير الكتلي، بما في ذلك ECB، CBC، CTR، وGCTR، رغم أن الحشو والمصادقة غير متوفرين. دعم الهاش واسع النطاق، ويضم 45 نوعًا تم تصديره بما في ذلك SHA-2/3، BLAKE2/3، MD5، وRIPEMD.
تشمل الأسس الرياضية الأعداد الصحيحة ذات الدقة التعسفية، وحسابات الحقول الثنائية، وعمليات المنحنيات الإهليلجية لمنحنيات SEC وSM2. وهو يدعم تبادل المفاتيح X25519/X448 وتوقيعات Ed25519/Ed448 مع أوضاع تحقق صارمة. تتبع تنفيذات تغليف المفاتيح المعايير RFC 3394، RFC 5649، وDSTU 7624. يركز التصميم على توافق `no_std`، مع صناديق برمجية تتراوح من الأساسية فقط إلى تلك التي تتطلب `alloc` أو `std` لتحسينات الأداء مثل تسريع AES-NI وAVX2. تم تصميم مخطط الاعتماد ليكون غير دوري، مما يسمح للمستخدمين باختيار الطبقات اللازمة فقط. المشروع مرخص بموجب MIT أو Apache-2.0.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.