# واجهة برمجة التطبيقات المشفرة الخاصة بمنصة مايكروسوفت

واجهة برمجة التطبيقات المشفرة الخاصة بمنصة مايكروسوفت (المعروفة أيضًا باسم كربتو أي بي أي (CryptoAPI) أو Microsoft Cryptography API أو MS-CAPI أو ببساطة CAPI) هي واجهة برمجة تطبيقات مضمنة في أنظمة تشغيل مايكروسوفت ويندوز التي توفر خدمات لتمكين المطورين من تأمين التطبيقات المستندة إلى ويندوز باستخدام التشفير. هي مجموعة من المكتبات المرتبطة ديناميكيًا والتي توفر طبقة تجريدية تعزل المبرمجين عن الكود المستخدم لتشفير البيانات. قدمت الواجهة لأول مرة في ويندوز إن تي 4.0 ظهرت في الإصدارات اللاحقة.
يدعم كربتو أي بي أي كلاً من تشفير المفتاح العام والمفتاح المتماثل، على الرغم من عدم دعم المفاتيح المتماثلة المستمرة. يتضمن وظيفة لتشفير البيانات وفك تشفيرها وللمصادقة باستخدام الشهادات الرقمية. كما يتضمن أيضًا وظيفة إنشاء أرقام عشوائية شبه مشفرة مؤمنة كريبت جين راندوم.
يعمل كربتو أي بي أي مع عدد من موفري خدمة التشفير (CSPs) المثبتين على الجهاز. موفري خدمة التشفير هي الوحدات النمطية التي تقوم بالعمل الفعلي لترميز البيانات وفك تشفيرها عن طريق أداء وظائف التشفير. قد يقوم بائعي وحدة أمان الأجهزة (HSM) بتزويد CSP الذي يعمل مع أجهزتهم.

## واجهة برمجة تطبيقات التشفير: الجيل القادم

يتميز ويندوز فيستا بتحديث لـكربتو أي بي أي المعروف باسم تشفير أي بي أي: الجيل القادم (CNG). يحتوي على عوامل واجهة برمجة التطبيقات أفضل للسماح لنفس الوظائف بالعمل باستخدام مجموعة واسعة من خوارزميات التشفير، ويتضمن عددًا من الخوارزميات الأحدث التي تعد جزءًا من وكالة الأمن القومي جناح ب. كما أنه مرن، ويتميز بدعم توصيل واجهات برمجة التطبيقات المشفرة المخصصة في وقت تشغيل تشفير أي بي أي: الجيل القادم. ومع ذلك، لا يزال موفرو تخزين المفاتيح تشفير أي بي أي: الجيل القادم لا يدعمون المفاتيح المتماثلة. يعمل تشفير أي بي أي: الجيل القادم في مساحة المستخدم ويدعم أيضًا جميع خوارزميات كربتو أي بي أي. يوجد موفر مايكروسوفت الذي يطبق تشفير أي بي أي: الجيل القادم في Bcrypt.dll.
يدعم تشفير أي بي أي: الجيل القادم أيضًا تعمية بالمنحنيات الإهليلجية، لأنه يستخدم مفاتيح أقصر لنفس المستوى المتوقع من الأمان، يكون أكثر كفاءة من خوارزمية آر إس إيه. يتكامل تشفير واجهة برمجة التطبيقات: الجيل القادم (CNG API) مع النظام الفرعي للبطاقة الذكية من خلال تضمين وحدة أساسية لمزود خدمة تشفير البطاقة الذكية (Base CSP) التي تغلف واجهة برمجة تطبيقات البطاقة الذكية. يتعين على مصنعي البطاقات الذكية فقط جعل أجهزتهم متوافقة مع هذا، بدلاً من توفير حل من الصفر.
يضيف تشفير أي بي أي: الجيل القادم دعمًا أيضًا لـ مولد البت العشوائي المحدد للمنحنى الإهليلجي المزدوج $^{[الإنجليزية]}$ مولد رقم عشوائي زائف محدد في مولد الأرقام العشوائية باستخدام مولدات البت العشوائية المحددة $^{[الإنجليزية]}$ والذي يمكن أن يعرض المستخدم للتنصت من قبل وكالة الأمن القومي لأنه يحتوي على باب خلفي كليبتوغرافيك (kleptographic)، ما لم يتذكر المطور إنشاء نقاط أساسية جديدة باستخدام منشئ رقم عشوائي كاذب آمن مشفر أو مولد رقم عشوائي حقيقي ثم نشر البذرة المولدة من أجل إزالة الباب الخلفي لوكالة الأمن القومي. كما أنها بطيئة للغاية. يستخدم فقط عندما يُطلب صراحةً.
يستبدل تشفير أي بي أي: الجيل القادم أيضًا مولد أعداد شبه عشوائية الافتراضي بـ CTR_DRBG باستخدام معيار التعمية المتقدم كتشفير الكتلة، لأن مولد الأرقام العشوائية السابق الذي عُرف في FIPS 186-2 الذي تم استبداله الآن يعتمد على معيار تعمية البيانات أو خوارزمية التجزئة الآمنة 1 $^{[الإنجليزية]}$، وكلاهما كُسرا. CTR_DRBG هي واحدة من خوارزميتين في NIST SP 800-90 التي اعتمدها بروس شناير، والأخرى هي Hash_DRBG.