Skip to content
KitploitKITPLOIT
أدواتعمليات الاستغلالالمدونة
Log in
إرسال
أدواتعمليات الاستغلالالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

الخلاصاتاتصالالخصوصية© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
RSA — مكتبة Rust خالصة للتشفير بالمفتاح العام RSA: توليد المفاتيح، تشفير/فك تشفير PKCS#1 v1.5 وOAEP، توقيعات PSS، بالإضافة إلى استيراد/تصدير المفاتيح. | Kitploit
أدوات/GitHubGitHub/rustcrypto/rsa
أدوات التشفير/فك التشفيرالتشفيرالمصادقةالأفضل في التشفير #19الأفضل في أدوات التشفير/فك التشفير #20
GitHubrustcrypto/rsa

RSA

مكتبة Rust خالصة للتشفير بالمفتاح العام RSA: توليد المفاتيح، تشفير/فك تشفير PKCS#1 v1.5 وOAEP، توقيعات PSS، بالإضافة إلى استيراد/تصدير المفاتيح.

عرض المستودع
67219488منذ 4 أيامتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

RustCrypto: RSA

crates.io Documentation Build Status Dependency Status Apache2/MIT licensed MSRV Project Chat

تطبيق محمول لـ RSA بلغة Rust خالصة، مع مخططات تشفير وتوقيع محددة في PKCS#1 v2.2 (RFC8017).

المخططالغرضالمواصفة
RSAES-OAEPالتشفيرRFC8017 §7.1
RSAES-PKCS1-v1_5التشفيرRFC8017 §7.2
RSASSA-PSSالتوقيعاتRFC8017 §8.1
RSASSA-PKCS1-v1_5التوقيعاتRFC8017 §8.2

يُقدَّم تشفير PKCS#1 v1.5 للتوافق مع التطبيقات القديمة فقط. يُفضَّل استخدام OAEP وPSS في تطبيقات التشفير الجديدة.

راجع تحذير الأمان أدناه للاطلاع على ثغرات التنفيذ المعروفة.

مثال

use rsa::{Oaep, RsaPrivateKey, RsaPublicKey};
use sha2::Sha256;

let mut rng = rand::rng();
let bits = 2048;
let priv_key = RsaPrivateKey::new(&mut rng, bits).expect("failed to generate a key");
let pub_key = RsaPublicKey::from(&priv_key);

// Encrypt
let data = b"hello world";
let enc_data = pub_key.encrypt(&mut rng, Oaep::<Sha256>::new(), &data[..]).expect("failed to encrypt");
assert_ne!(&data[..], &enc_data[..]);

// Decrypt
let dec_data = priv_key.decrypt_blinded(&mut rng, Oaep::<Sha256>::new(), &enc_data).expect("failed to decrypt");
assert_eq!(&data[..], &dec_data[..]);

ملاحظة: إذا واجهت وقتًا بطيئًا بشكل غير معتاد في توليد المفاتيح أثناء استخدام RsaPrivateKey::new، يمكنك محاولة الترجمة في وضع الإصدار (release mode) أو إضافة ما يلي إلى ملف Cargo.toml الخاص بك. يكون توليد المفاتيح أسرع بكثير عند البناء بمستويات تحسين أعلى، لكن هذا سيزيد وقت الترجمة قليلًا.

[profile.debug]
opt-level = 3

الحالة

حاليًا في المرحلة 1 (v) 🚧

ستكون هناك ثلاث مراحل قبل إصدار 1.0 🚢.

  1. 🚧 اجعله يعمل
    • توليد الأعداد الأولية ✅
    • توليد المفاتيح ✅
    • PKCS1v1.5: التشفير وفك التشفير ✅
    • PKCS1v1.5: التوقيع والتحقق ✅
    • PKCS1v1.5 (مفتاح الجلسة): التشفير وفك التشفير
    • OAEP: التشفير وفك التشفير
    • PSS: التوقيع والتحقق
    • استيراد المفاتيح وتصديرها
  2. 🚀 اجعله سريعًا
    • اختبارات الأداء ✅
    • المقارنة مع تطبيقات أخرى 🚧
    • التحسين 🚧
  3. 🔐 اجعله آمنًا
    • اختبار التهيئة العشوائية (Fuzz testing)
    • تدقيق أمني

⚠️تحذير أمني

خضعت هذه الحزمة لـتدقيق أمني واحد من Include Security، مع ملاحظة واحدة بسيطة فقط تم معالجتها منذ ذلك الحين.

راجع [المشكلات الأمنية المفتوحة] على متتبع المشكلات الخاص بنا للمشكلات المعروفة الأخرى.

على وجه الخصوص، تنفيذ [الرفع المعياري (modular exponentiation) ليس بزمن ثابت]، لكن تباين التوقيت يتم إخفاؤه باستخدام [التعمية العشوائية (random blinding)]، وهي تقنية شائعة الاستخدام. هذه الحزمة عرضة لـهجوم Marvin الذي قد يمكّن مهاجمًا عبر الشبكة من استرداد المفتاح الخاص (راجع RUSTSEC-2023-0071).

يمكنك متابعة عملنا على التخفيف من هذه المشكلة في #390.

الحد الأدنى لإصدار Rust المدعوم (MSRV)

تدعم هذه الحزمة Rust 1.85 أو أعلى.

في المستقبل يمكن تغيير MSRV، لكن ذلك سيتم عبر رفع رقم الإصدار الفرعي (minor version bump).

الترخيص

مرخّصة بموجب أي من

  • رخصة Apache، الإصدار 2.0
  • رخصة MIT

حسب اختيارك.

المساهمة

ما لم تنص صراحةً على خلاف ذلك، فإن أي مساهمة تُقدَّم عمدًا لإدراجها في العمل من قبلك، كما هو محدد في رخصة Apache-2.0، ستكون مرخّصة بشكل مزدوج كما هو مذكور أعلاه، دون أي شروط أو أحكام إضافية.

تنزيل الأداة