des_crypt(3)

الاسم
des_crypt, ecb_crypt, cbc_crypt, des_setparity, DES_FAILED - تعمية DES سريع

المكتبة
مكتبة سي المعيارية (libc، -lc)

موجز
#include <rpc/des_crypt.h>

[[مهمل]] int ecb_crypt(unsigned int datalen;
                             char *key, char data[datalen],
                             unsigned int datalen, unsigned int mode);
[[مهمل]] int cbc_crypt(unsigned int datalen;
                             char *key, char data[datalen],
                             unsigned int datalen, unsigned int mode,
                             char *ivec);

[[مهمل]] void des_setparity(char *key);

[[مهمل]] int DES_FAILED(int status);

الوصف
تنفذ ecb_crypt() و cbc_crypt() معيار NBS DES (معيار تعمية البيانات). هذه الروتينات أسرع وأكثر عمومية من crypt(3). كما تستطيع استخدام عتاد DES إن وُجد. تعمي ecb_crypt() في وضع ECB (دفتر الشيفرة الإلكتروني)، الذي يعمي كتل البيانات بشكل مستقل. تعمي cbc_crypt() في وضع CBC (تسلسل كتل الشيفرة)، الذي يربط الكتل المتعاقبة معًا. يحمي وضع CBC من الإدراج والحذف والاستبدال للكتل. كما أن الانتظامات في النص الواضح لا تظهر في النص المُعمّى.

إليك كيفية استخدام هذه الروتينات. الوسيط الأول، key، هو مفتاح التعمية ذو 8 بايتات مع التكافؤ. لتعيين تكافؤ المفتاح، الذي يكون في البت المنخفض لكل بايت في DES، استخدم des_setparity(). الوسيط الثاني، data، يحتوي على البيانات التي ستُعمّى أو تُفك تعميتها. الوسيط الثالث، datalen، هو طول data بالبايتات، ويجب أن يكون مضاعفًا للعدد 8. الوسيط الرابع، mode، يُشكّل بعملية OR لبعض العناصر. لاتجاه التعمية، أجرِ OR مع إما DES_ENCRYPT أو DES_DECRYPT. للتعمية البرمجية مقابل العتادية، أجرِ OR مع إما DES_HW أو DES_SW. إذا حُدد DES_HW ولا يوجد عتاد، يُجرى التعمية برمجيًا ويعيد الروتين DESERR_NOHWDEVICE. بالنسبة لـ cbc_crypt()، الوسيط ivec هو متجه التهيئة ذو 8 بايتات للتسلسل. يُحدّث إلى متجه التهيئة التالي عند العودة.

قيمة الإرجاع

DESERR_NONE
    لا خطأ.

DESERR_NOHWDEVICE
    نجح التعمية، لكن أُجري برمجيًا بدلاً من العتاد المطلوب.

DESERR_HWERROR
    حدث خطأ في العتاد أو المُشغّل.

DESERR_BADPARAM
    وسيط سيء للروتين.

بإعطاء حالة النتيجة stat، تكون الكلية DES_FAILED(stat) خاطئة فقط للحالتين الأوليين.

السمات
للاطلاع على شرح للمصطلحات المستخدمة في هذا القسم، انظر attributes(7).
الواجهة | السمة | القيمة
ecb_crypt()، cbc_crypt()، des_setparity() | سلامة الخيوط | MT-Safe

المعايير
لا شيء.

التاريخ
4.3BSD. glibc 2.1. أُزيلت في glibc 2.28.

لأنها تستخدم شيفرة الكتل DES، التي لم تعد تُعتبر آمنة، أُزيلت هذه الدوال. يجب أن تتحول التطبيقات إلى مكتبة تعمية حديثة، مثل libgcrypt.

انظر أيضًا
des(1)، crypt(3)، xcrypt(3)

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

هذه الترجمة هي وثيقة مجانية؛ راجع رخصة جنو العامة الإصدار 3 (https://www.gnu.org/licenses/gpl-3.0.html) أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات.

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