Scroll to navigation

EVP(7SSL) OpenSSL EVP(7SSL)

الاسم

evp - دوال تشفير عالية المستوى

موجز

 #include <openssl/evp.h>

الوصف

توفر مكتبة EVP واجهة عالية المستوى للدوال التشفيرية.

توفر الدالتان EVP_SealXXX وEVP_OpenXXX تشفير وفك تشفير بالمفتاح العام لتنفيذ "الأظرف" الرقمية.

تنفذ الدالتان EVP_DigestSignXXX و EVP_DigestVerifyXXX التوقيعات الرقمية ورموز مصادقة الرسائل (MACs). راجع أيضًا الدالتين الأقدمEVP_SignXXX و EVP_VerifyXXX.

التشفير المتماثل متاح باستخدام دوالEVP_EncryptXXX. توفر دوال EVP_DigestXXX ملخصات الرسائل.

توفر دوالEVP_PKEYXXX واجهة عالية المستوى للخوارزميات غير المتماثلة. لإنشاء EVP_PKEY جديد، انظرEVP_PKEY_new(3). يمكن ربط كائنات EVP_PKEY بمفتاح خاص لخوارزمية معينة باستخدام الدوال الموضحة في صفحة EVP_PKEY_fromdata(3)، أو يمكن توليد مفاتيح جديدة باستخدام EVP_PKEY_keygen(3). يمكن مقارنة كائنات EVP_PKEY باستخدام EVP_PKEY_eq(3)، أو طباعتها باستخدام EVP_PKEY_print_private(3). يمكن استخدامEVP_PKEY_todata(3) لتحويل مفتاح مرة أخرى إلى مصفوفةOSSL_PARAM(3).

تدعم دوال EVP_PKEY النطاق الكامل لعمليات الخوارزميات غير المتماثلة:

لاتفاق المفتاح، انظر EVP_PKEY_derive(3)
للتوقيع والتحقق، انظرEVP_PKEY_sign(3)،EVP_PKEY_verify(3) وEVP_PKEY_verify_recover(3). ومع ذلك، لاحظ أن هذه الدوال لا تؤدي ملخصًا للبيانات المراد توقيعها. لذلك، عادةً ما تستخدم دوالEVP_DigestSignInit(3) لهذا الغرض.
للتشفير وفك التشفير، انظر EVP_PKEY_encrypt(3) وEVP_PKEY_decrypt(3) على التوالي. ومع ذلك، لاحظ أن هذه الدوال تؤدي التشفير وفك التشفير فقط. نظرًا لأن التشفير بالمفتاح العام عملية مكلفة، عادةً ما تغلف رسالة مشفرة في "ظرف رقمي" باستخدام دالتي EVP_SealInit(3) وEVP_OpenInit(3).

توفر الدالةEVP_BytesToKey(3) دعمًا محدودًا للتشفير المستند إلى كلمة المرور. اختيار المعاملات بعناية سيوفر تطبيقًا متوافقًا مع PKCS#5 PBKDF1. ومع ذلك، لا ينبغي للتطبيقات الجديدة استخدام هذا عادةً (مفضلة، على سبيل المثال، PBKDF2 من PCKS#5).

تنفذ الدالتان EVP_EncodeXXX وEVP_DecodeXXX ترميز وفك ترميز base64.

يمكن استبدال جميع الخوارزميات المتماثلة (الشفرات) والملخصات والخوارزميات غير المتماثلة (خوارزميات المفتاح العام) بوحدات ENGINE التي توفر تطبيقات بديلة. إذا تم تسجيل تطبيقات ENGINE للشفرات أو الملخصات كمبدئية، فستستخدم دوال EVP المختلفة تلك التطبيقات آليًا بشكل تفضيلي على التطبيقات البرمجية المضمنة. لمزيد من المعلومات، راجع صفحة دليلengine(3).

على الرغم من وجود دوال خاصة بالخوارزميات منخفضة المستوى للعديد من الخوارزميات، إلا أن استخدامها غير مشجع. لا يمكن استخدامها مع ENGINE ولا يمكن الوصول إلى إصدارات ENGINE من الخوارزميات الجديدة باستخدام الدوال منخفضة المستوى. كما يجعل الكود أصعب في التكيف مع الخوارزميات الجديدة، وبعض الخيارات غير مدعومة بشكل نظيف على المستوى المنخفض، وبعض العمليات أكثر كفاءة باستخدام الواجهة عالية المستوى.

انظر أيضًا

EVP_DigestInit(3), EVP_EncryptInit(3), EVP_OpenInit(3), EVP_SealInit(3), EVP_DigestSignInit(3), EVP_SignInit(3), EVP_VerifyInit(3), EVP_EncodeInit(3), EVP_PKEY_new(3), EVP_PKEY_fromdata(3), EVP_PKEY_todata(3), EVP_PKEY_keygen(3), EVP_PKEY_print_private(3), EVP_PKEY_decrypt(3), EVP_PKEY_encrypt(3), EVP_PKEY_sign(3), EVP_PKEY_verify(3), EVP_PKEY_verify_recover(3), EVP_PKEY_derive(3), EVP_BytesToKey(3), ENGINE_by_id(3)

حقوق النسخ

حقوق النشر 2000-2024 لمؤلفي مشروع OpenSSL. جميع الحقوق محفوظة.

مرخص بموجب رخصة Apache 2.0 (المشار إليها فيما يلي بـ ”الرخصة“). لا يجوز لك استخدام هذا الملف إلا وفقًا لشروط الرخصة. يمكنك الحصول على نسخة منها في الملف LICENSE الموجود في حزمة التوزيع المصدرية أو على الرابط <https://www.openssl.org/source/license.html>.

ترجمة

تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي <zayed.alsaidi@gmail.com>

هذه الترجمة هي وثيقة مجانية؛ راجع رخصة جنو العامة الإصدار 3 أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات.

إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: kde-l10n-ar@kde.org.

7 أبريل 2026 3.5.6