VMAC
VMAC هي خوارزمية رمز مصادقة الرسائل (MAC) القائمة على تشفير الكتلة باستخدام تجزئة عالمية اقترحها تيد كروفيتز ووي داي في أبريل 2007. تم تصميم الخوارزمية لتحقيق أداء عالٍ مدعوم بتحليل رسمي.
صُممت خوارزمية VMAC لتحقيق أداء استثنائي في البرمجيات على معالجات 64 بت، مع الحفاظ على أدائها الجيد على معالجات 32 بت. تصل السرعات المقاسة إلى نصف دورة معالجة لكل بايت (cpb) على معالجات 64 بت، وأقل من خمس دورات معالجة لكل بايت على معالجات 32 بت المكتبية، وحوالي عشر دورات معالجة لكل بايت على معالجات 32 بت المدمجة. [ 1 ] وتُقدم خوارزمية UMAC نسخةً مشابهةً لخوارزمية VMAC، مُحسّنةً خصيصًا لمعالجات 32 بت .
ملخص
VMAC هو بروتوكول MAC على غرار بروتوكول ويغمان وكارتر. [ 2 ] [ 3 ] تُستخدم دالة تجزئة سريعة "عامة" لتجزئة رسالة الإدخال M إلى سلسلة نصية قصيرة. ثم تُدمج هذه السلسلة القصيرة مع حشوة شبه عشوائية، مما ينتج عنه علامة VMAC. يعتمد الأمان على مشاركة المرسل والمستقبل لدالة تجزئة سرية وحشوة شبه عشوائية مختارة عشوائيًا. ويتحقق ذلك باستخدام دالة تجزئة مفتاحية H ودالة شبه عشوائية F. تُنشأ العلامة بإجراء العملية الحسابية.
Tag = H K1 (M) + F K2 (Nonce)
حيث K1 وK2 مفتاحان عشوائيان سريان مشتركان بين المرسل والمستقبل، وNonce قيمة تتغير مع كل علامة يتم إنشاؤها. يحتاج المستقبل إلى معرفة قيمة nonce التي استخدمها المرسل، لذا يجب استخدام طريقة لمزامنة قيم nonce. يمكن تحقيق ذلك بإرسال قيمة nonce صراحةً مع الرسالة والعلامة، أو بالاتفاق على استخدام قيمة أخرى غير متكررة مثل رقم تسلسلي. لا يلزم إبقاء قيمة nonce سرية، ولكن يجب الحرص على استخدام قيمة nonce مختلفة مع كل رسالة طوال فترة صلاحية مفتاح VMAC.
يستخدم VMAC دالة تُسمى VHASH (مُحددة أيضًا في هذه الوثيقة) كدالة تجزئة مُفهرسة H، ويستخدم دالة شبه عشوائية F التي تستخدم افتراضيًا خوارزمية تشفير الكتلة AES. يسمح VMAC بأطوال علامات من أي مُضاعفات 64 بت حتى حجم كتلة خوارزمية تشفير الكتلة المُستخدمة. عند استخدام AES، هذا يعني أن VMAC يُمكنه إنتاج علامات بطول 64 أو 128 بت.
تُظهر نظرية رموز مصادقة الرسائل (MACs) لويغمان-كارتر وتحليل VMAC أنه في حال استخدام مفاتيح وحشوات عشوائية تمامًا في VMAC، فإن احتمال قيام مهاجم (حتى لو كانت قدرته الحسابية غير محدودة) بإنتاج علامة صحيحة لرسائل من اختياره يكون أقل من 1/2 60 أو 1/2 120 عندما يكون طول العلامات 64 أو 128 بت على التوالي. وعندما يُجري المهاجم N محاولة تزوير، يزداد احتمال الحصول على علامة واحدة أو أكثر بشكل خطي إلى أقل من N/2 60 أو N/2 120. في تطبيق عملي لـ VMAC، باستخدام AES لإنتاج المفاتيح والحشوات، تزداد احتمالات التزوير هذه بمقدار ضئيل مرتبط بأمان AES. وطالما أن AES آمن، فإن هذا الحد الإضافي الضئيل لا يُؤثر على أي هجوم عملي. راجع المواصفات لمزيد من التفاصيل. وقد أجرى المؤلفان وي داي وتيد كروفيتز تحليلًا لأمان VMAC. [ 4 ]
التطبيقات
مراجع
- ↑ تي. كروفيتز وو. داي (2007). "VMAC: رمز مصادقة الرسائل باستخدام التجزئة الشاملة" . مجموعة عمل CFRG . IETF . تم الاسترجاع في 12 أغسطس 2010 .
- ↑ ج. كارتر؛ م. ويغمان (1977). "الفئات العامة لدوال التجزئة (ملخص موسع)". وقائع الندوة السنوية التاسعة لجمعية الحوسبة الآلية (ACM) حول نظرية الحوسبة - STOC '77 . جمعية الحوسبة الآلية (ACM). الصفحات 106-112 . doi : 10.1145/800105.803400 . S2CID 1302091 .
- ↑ ج. كارتر؛ م. ويغمان (1981). "دوال التجزئة الجديدة واستخدامها في المصادقة ومساواة المجموعات" . مجلة علوم الحاسوب والنظم . 22 (3): 265-279 . doi : 10.1016/0022-0000(81)90033-7 .
- ↑ ت. كروفيتز (2007). "مصادقة الرسائل على معمارية 64 بت" (ملف PDF) . مجالات مختارة في علم التشفير . سلسلة محاضرات في علوم الحاسوب. المجلد 4356. دار نشر سبرينغر. الصفحات 327-341 . doi : 10.1007/978-3-540-74462-7_23 . ISBN 978-3-540-74461-0ISSN 0302-9743
- ↑ "vmac.h (شفرة المصدر)" . تم الاطلاع عليه بتاريخ 13-11-2022 .
- ↑ "vmac.c (شفرة المصدر)" . تم الاطلاع عليه بتاريخ 13-11-2022 .
- ↑ "Crypto++: ملف المصدر vmac.h" . www.cryptopp.com .
- ↑ "Crypto++: ملف المصدر vmac.cpp" . www.cryptopp.com .
- ↑ كروفيتز، تيد (22-04-2007). "تنفيذ مرجعي غير مُحسَّن ومباشر لـ VMAC" . تم الاسترجاع في 13-11-2022 .
روابط خارجية
- VMAC: رمز مصادقة الرسائل باستخدام التجزئة الشاملة - مسودة إنترنت أبريل 2007
- الصفحة الرئيسية لـ VMAC
- مقالة ويكي Cryptolounge VMAC مؤرشفة بتاريخ 2010-04-02 على موقع Wayback Machine
- رموز مصادقة الرسائل
