دالة التجزئة التشفيرية
This article needs additional citations for verification. (May 2016) |

| خوارزميات التجزئة الآمنة | |
|---|---|
| المفاهيم | |
| وظائف التجزئة، SHA ، DSA | |
| المعايير الرئيسية | |
| SHA-0 ، SHA-1 ، SHA-2 ، SHA-3 | |
دالة التجزئة التشفيرية ( CHF ) هي خوارزمية تجزئة ( خريطة لسلسلة ثنائية عشوائية إلى سلسلة ثنائية بحجم ثابت من البتات) لها خصائص خاصة مرغوبة لتطبيق التشفير : [1]
- احتمالية الحصول على نتيجة إخراج بت معين ( قيمة تجزئة ) لسلسلة إدخال عشوائية ("رسالة") هي (كما هو الحال بالنسبة لأي تجزئة جيدة)، وبالتالي يمكن استخدام قيمة التجزئة كممثل للرسالة؛
- إن العثور على سلسلة إدخال تطابق قيمة تجزئة معينة ( صورة أولية ) أمر غير ممكن، على افتراض أن جميع سلاسل الإدخال متساوية الاحتمالية. يتم قياس مقاومة مثل هذا البحث على أنها قوة أمان : من المتوقع أن يكون للتجزئة التشفيرية التي تحتوي على بتات من قيمة التجزئة قوة مقاومة أولية للصورة من البتات، ما لم تكن مساحة قيم الإدخال المحتملة أصغر بكثير من (يمكن العثور على مثال عملي في § الهجمات على كلمات المرور المشفرة)؛
- تشير قوة مقاومة الصورة الأولية الثانية ، مع نفس التوقعات، إلى مشكلة مماثلة تتمثل في العثور على رسالة ثانية تطابق قيمة التجزئة المحددة عندما تكون إحدى الرسائل معروفة بالفعل؛
- من غير الممكن أيضًا العثور على أي زوج من الرسائل المختلفة التي تعطي نفس قيمة التجزئة ( تصادم ): من المتوقع أن يكون للتجزئة التشفيرية قوة مقاومة للتصادم تبلغ 100 بت (أقل بسبب مفارقة عيد الميلاد ).
تستخدم وظائف التجزئة التشفيرية في العديد من التطبيقات المتعلقة بأمن المعلومات ، وخاصة في التوقيعات الرقمية وأكواد مصادقة الرسائل (MACs) وأشكال أخرى من المصادقة . ويمكن استخدامها أيضًا كوظائف تجزئة عادية ، لفهرسة البيانات في جداول التجزئة ، لبصمات الأصابع ، للكشف عن البيانات المكررة أو تحديد الملفات بشكل فريد، وكمجموعات اختبار للكشف عن تلف البيانات العرضي. في الواقع، في سياقات أمن المعلومات، تسمى قيم التجزئة التشفيرية أحيانًا بصمات الأصابع ( الرقمية ) أو مجموعات الاختبار أو قيم التجزئة فقط ، على الرغم من أن كل هذه المصطلحات تمثل وظائف أكثر عمومية ذات خصائص وأغراض مختلفة إلى حد ما. [2]
تُستخدم وظائف التجزئة غير المشفرة في جداول التجزئة للكشف عن الأخطاء العرضية؛ وغالبًا ما لا توفر بنائها أي مقاومة للهجوم المتعمد. على سبيل المثال، من الممكن حدوث هجوم رفض الخدمة على جداول التجزئة إذا كان من السهل العثور على التصادمات، كما في حالة وظائف التحقق من التكرار الدوري الخطي (CRC). [3]
ملكيات
تم تصميم معظم وظائف التجزئة التشفيرية لأخذ سلسلة من أي طول كمدخل وإنتاج قيمة تجزئة ذات طول ثابت.
يجب أن تكون دالة التجزئة التشفيرية قادرة على تحمل جميع أنواع الهجمات التحليلية المشفرة المعروفة . في التشفير النظري، تم تحديد مستوى أمان دالة التجزئة التشفيرية باستخدام الخصائص التالية:
- مقاومة الصورة المسبقة
- بالنظر إلى قيمة التجزئة h ، يجب أن يكون من الصعب العثور على أي رسالة m بحيث تكون h = hash( m ) . يرتبط هذا المفهوم بمفهوم الدالة أحادية الاتجاه . الدوال التي تفتقر إلى هذه الخاصية تكون عرضة لهجمات الصورة الأولية .
- مقاومة ما قبل الصورة الثانية
- بالنظر إلى المدخل m 1 ، يجب أن يكون من الصعب العثور على مدخل مختلف m 2 بحيث يكون hash( m 1 ) = hash( m 2 ) . يشار إلى هذه الخاصية أحيانًا باسم مقاومة التصادم الضعيفة . الوظائف التي تفتقر إلى هذه الخاصية تكون عرضة لهجمات الصورة الأولية الثانية .
- مقاومة الاصطدام
- يجب أن يكون من الصعب العثور على رسالتين مختلفتين m 1 و m 2 بحيث يكون hash( m 1 ) = hash( m 2 ) . يُطلق على مثل هذا الزوج اسم تصادم التجزئة التشفيري . يشار إلى هذه الخاصية أحيانًا باسم مقاومة التصادم القوية . تتطلب قيمة تجزئة أطول بمرتين على الأقل من تلك المطلوبة لمقاومة الصورة السابقة؛ وإلا، يمكن العثور على التصادمات من خلال هجوم عيد الميلاد . [4]
إن مقاومة التصادم تعني مقاومة الصورة السابقة الثانية ولكنها لا تعني مقاومة الصورة السابقة. [5] إن الافتراض الأضعف هو المفضل دائمًا في التشفير النظري، ولكن في الممارسة العملية، تعتبر دالة التجزئة المقاومة للصورة السابقة الثانية فقط غير آمنة وبالتالي لا ينصح بها للتطبيقات الحقيقية.
بشكل غير رسمي، تعني هذه الخصائص أن الخصم الخبيث لا يمكنه استبدال أو تعديل بيانات الإدخال دون تغيير خلاصة البيانات. وبالتالي، إذا كان لسلسلتين نفس خلاصة البيانات، فيمكن للمرء أن يكون واثقًا جدًا من أنهما متطابقتان. تمنع مقاومة ما قبل الصورة الثانية المهاجم من إنشاء مستند بنفس التجزئة مثل مستند لا يستطيع المهاجم التحكم فيه. تمنع مقاومة التصادم المهاجم من إنشاء مستندين مختلفين بنفس التجزئة.
قد لا تزال الوظيفة التي تلبي هذه المعايير تحتوي على خصائص غير مرغوب فيها. حاليًا، تكون وظائف التجزئة التشفيرية الشائعة عرضة لهجمات تمديد الطول : نظرًا لأن hash( m ) و len( m ) ولكن ليس m ، فمن خلال اختيار m ′ مناسب، يمكن للمهاجم حساب hash( m ∥ m ′ ) ، حيث يشير ∥ إلى التسلسل . [6] يمكن استخدام هذه الخاصية لكسر مخططات المصادقة الساذجة القائمة على وظائف التجزئة. يعمل بناء HMAC حول هذه المشكلات.
في الممارسة العملية، لا تكفي مقاومة التصادم للعديد من الاستخدامات العملية. بالإضافة إلى مقاومة التصادم، يجب أن يكون من المستحيل على الخصم العثور على رسالتين لهما ملخصات متشابهة إلى حد كبير؛ أو استنتاج أي معلومات مفيدة حول البيانات، بالنظر إلى ملخصها فقط. على وجه الخصوص، يجب أن تتصرف دالة التجزئة قدر الإمكان مثل دالة عشوائية (غالبًا ما تسمى أوراكل عشوائي في إثباتات الأمان) مع كونها حتمية وقابلة للحساب بكفاءة. هذا يستبعد وظائف مثل دالة SWIFFT ، والتي يمكن إثبات مقاومتها للتصادم بدقة على افتراض أن بعض المشكلات على الشبكات المثالية صعبة حسابيًا، لكنها كدالة خطية لا تلبي هذه الخصائص الإضافية. [7]
تم تصميم خوارزميات مجموع الاختبار، مثل CRC32 وفحوصات التكرار الدورية الأخرى ، لتلبية متطلبات أضعف بكثير وهي غير مناسبة بشكل عام كوظائف تجزئة تشفيرية. على سبيل المثال، تم استخدام CRC لسلامة الرسائل في معيار تشفير WEP ، ولكن تم اكتشاف هجوم بسهولة، والذي استغل خطية مجموع الاختبار.
درجة الصعوبة
في الممارسة التشفيرية، تعني كلمة "صعب" بشكل عام "أن يكون الأمر بعيدًا عن متناول أي خصم يجب منعه من اختراق النظام طالما أن أمن النظام مهم". وبالتالي فإن معنى المصطلح يعتمد إلى حد ما على التطبيق، حيث أن الجهد الذي قد يبذله العميل الخبيث في المهمة يتناسب عادةً مع المكسب المتوقع. ومع ذلك، نظرًا لأن الجهد المطلوب يتضاعف عادةً بطول الملخص، فيمكن تحييد حتى ميزة ألف ضعف في قوة المعالجة بإضافة عشرات البتات إلى الأخير.
بالنسبة للرسائل المختارة من مجموعة محدودة من الرسائل، على سبيل المثال كلمات المرور أو الرسائل القصيرة الأخرى، يمكن عكس التجزئة عن طريق تجربة كل الرسائل الممكنة في المجموعة. ولأن وظائف التجزئة التشفيرية مصممة عادةً ليتم حسابها بسرعة، فقد تم تطوير وظائف خاصة لاشتقاق المفتاح تتطلب موارد حوسبة أكبر مما يجعل مثل هذه الهجمات العنيفة أكثر صعوبة.
في بعض التحليلات النظرية، تحمل كلمة "صعب" معنى رياضيًا محددًا، مثل "غير قابل للحل في زمن حدودي مقارب ". مثل هذه التفسيرات للصعوبة مهمة في دراسة وظائف التجزئة التشفيرية الآمنة بشكل يمكن إثباته ، لكنها لا ترتبط عادةً ارتباطًا قويًا بالأمان العملي. على سبيل المثال، قد تظل خوارزمية الوقت الأسي سريعة بما يكفي أحيانًا لإجراء هجوم قابل للتنفيذ. وعلى العكس من ذلك، قد تكون خوارزمية الوقت الحدودي (على سبيل المثال، تلك التي تتطلب n 20 خطوة لمفاتيح مكونة من n رقم) بطيئة للغاية لأي استخدام عملي.
توضيح
فيما يلي مثال على الاستخدام المحتمل للتشفير: تطرح أليس مسألة رياضية صعبة على بوب وتزعم أنها حلتها. يرغب بوب في تجربتها بنفسه، لكنه يرغب في التأكد من أن أليس لا تخادع. لذلك، تكتب أليس حلها، وتحسب تجزئته، وتخبر بوب بقيمة التجزئة (مع الحفاظ على سرية الحل). ثم، عندما يتوصل بوب إلى الحل بنفسه بعد بضعة أيام، يمكن لأليس إثبات أنها كانت لديها الحل في وقت سابق من خلال الكشف عنه وجعل بوب يجزئه والتحقق من أنه يطابق قيمة التجزئة التي أعطيت له من قبل. (هذا مثال على مخطط التزام بسيط ؛ في الممارسة العملية، غالبًا ما تكون أليس وبوب عبارة عن برامج كمبيوتر، وسيكون السر شيئًا أقل سهولة في التزوير من حل لغز مُطالب به.)
التطبيقات
التحقق من سلامة الرسائل والملفات
يعد التحقق من سلامة الرسالة أحد التطبيقات المهمة للتجزئة الآمنة . يمكن مقارنة ملخصات الرسائل (ملخصات التجزئة على الرسالة) المحسوبة قبل وبعد الإرسال تحديد ما إذا كان قد تم إجراء أي تغييرات على الرسالة أو الملف .
يتم أحيانًا نشر ملخصات التجزئة MD5 أو SHA-1 أو SHA-2 على مواقع الويب أو المنتديات للسماح بالتحقق من سلامة الملفات التي تم تنزيلها، [8] بما في ذلك الملفات المستردة باستخدام مشاركة الملفات مثل النسخ المتطابق . تنشئ هذه الممارسة سلسلة من الثقة طالما تم نشر التجزئات على موقع موثوق به - عادةً الموقع الأصلي - موثق بواسطة HTTPS . يؤدي استخدام التجزئة المشفرة وسلسلة الثقة إلى اكتشاف التغييرات الضارة في الملف. تمنع أكواد اكتشاف الأخطاء غير المشفرة مثل عمليات التحقق من التكرار الدوري فقط من التغييرات غير الضارة للملف، حيث يمكن بسهولة صياغة خدعة مقصودة للحصول على قيمة الكود المتضاربة .
إنشاء التوقيع والتحقق منه
تتطلب جميع مخططات التوقيع الرقمي تقريبًا حساب تجزئة تشفيرية على الرسالة. وهذا يسمح بإجراء حساب التوقيع على خلاصة تجزئة صغيرة نسبيًا ذات حجم ثابت. وتعتبر الرسالة أصلية إذا نجحت عملية التحقق من التوقيع مع خلاصة التجزئة المعاد حسابها على الرسالة. وبالتالي، تُستخدم خاصية سلامة الرسالة للتجزئة التشفيرية لإنشاء مخططات توقيع رقمية آمنة وفعالة.
التحقق من كلمة المرور
تعتمد عملية التحقق من كلمة المرور بشكل عام على التجزئات المشفرة. قد يؤدي تخزين جميع كلمات مرور المستخدم كنص عادي إلى حدوث خرق أمني هائل إذا تم اختراق ملف كلمة المرور. إحدى الطرق لتقليل هذا الخطر هي تخزين خلاصة التجزئة لكل كلمة مرور فقط. للتحقق من صحة المستخدم، يتم تجزئة كلمة المرور التي قدمها المستخدم ومقارنتها بالتجزئية المخزنة. يلزم استخدام طريقة إعادة تعيين كلمة المرور عند إجراء تجزئة كلمة المرور؛ لا يمكن إعادة حساب كلمات المرور الأصلية من قيمة التجزئة المخزنة.
ومع ذلك، لم يعد استخدام وظائف التجزئة التشفيرية القياسية، مثل سلسلة SHA، يُعتبر آمنًا لتخزين كلمات المرور. [9] : 5.1.1.2 تم تصميم هذه الخوارزميات ليتم حسابها بسرعة، لذلك إذا تم المساس بالقيم المجزأة، فمن الممكن تجربة كلمات مرور مُخمَّنة بمعدلات عالية. يمكن لوحدات معالجة الرسومات الشائعة تجربة مليارات كلمات المرور المحتملة في كل ثانية. تستخدم وظائف تجزئة كلمات المرور التي تقوم بتمديد المفتاح - مثل PBKDF2 أو scrypt أو Argon2 - عادةً استدعاءات متكررة لتجزئة تشفيرية لزيادة الوقت (وفي بعض الحالات ذاكرة الكمبيوتر) المطلوبة لإجراء هجمات القوة الغاشمة على عمليات تجزئة كلمات المرور المخزنة. للحصول على التفاصيل، راجع § الهجمات على كلمات المرور المجزأة.
تتطلب عملية تجزئة كلمة المرور أيضًا استخدام قيمة ملح كبيرة عشوائية غير سرية يمكن تخزينها مع تجزئة كلمة المرور. يتم تجزئة الملح مع كلمة المرور، مما يؤدي إلى تغيير تعيين تجزئة كلمة المرور لكل كلمة مرور، وبالتالي يجعل من غير الممكن للخصم تخزين جداول قيم التجزئة المحسوبة مسبقًا والتي يمكن مقارنة خلاصة تجزئة كلمة المرور بها أو اختبار عدد كبير من قيم التجزئة المسروقة بالتوازي.
إثبات العمل
إن نظام إثبات العمل (أو البروتوكول أو الوظيفة) هو إجراء اقتصادي لردع هجمات رفض الخدمة وغيرها من إساءة استخدام الخدمة مثل البريد العشوائي على الشبكة من خلال طلب بعض العمل من طالب الخدمة، وهذا يعني عادةً وقت المعالجة بواسطة الكمبيوتر. ومن السمات الرئيسية لهذه المخططات عدم التماثل: يجب أن يكون العمل صعبًا إلى حد ما (ولكن ممكنًا) من جانب الطالب ولكن من السهل التحقق منه من قبل مزود الخدمة. يستخدم أحد الأنظمة الشائعة - المستخدم في تعدين البيتكوين وهاش كاش - عكس التجزئة الجزئي لإثبات أن العمل قد تم، لفتح مكافأة التعدين في البيتكوين، وكرمز حسن نية لإرسال بريد إلكتروني في هاش كاش. مطلوب من المرسل العثور على رسالة تبدأ قيمة التجزئة الخاصة بها بعدد من البتات الصفرية. إن متوسط العمل الذي يحتاج المرسل إلى القيام به من أجل العثور على رسالة صالحة هو أسي في عدد البتات الصفرية المطلوبة في قيمة التجزئة، بينما يمكن للمستلم التحقق من صحة الرسالة من خلال تنفيذ دالة تجزئة واحدة. على سبيل المثال، في Hashcash، يُطلب من المرسل إنشاء رأس يحتوي على قيمة تجزئة SHA-1 مكونة من 160 بتًا، وتكون أول 20 بتًا منها أصفارًا. وسيتعين على المرسل، في المتوسط، أن يحاول 219 مرة للعثور على رأس صالح.
معرف الملف أو البيانات
يمكن أن يعمل ملخص الرسالة أيضًا كوسيلة لتحديد ملف بشكل موثوق؛ تستخدم العديد من أنظمة إدارة التعليمات البرمجية المصدرية ، بما في ذلك Git و Mercurial و Monotone ، مجموع sha1sum لأنواع مختلفة من المحتوى (محتوى الملف وأشجار الدليل ومعلومات الأنساب وما إلى ذلك) لتحديدها بشكل فريد. تُستخدم التجزئة لتحديد الملفات على شبكات مشاركة الملفات من نظير إلى نظير . على سبيل المثال، في رابط ed2k ، يتم دمج التجزئة المتغيرة MD4 مع حجم الملف، مما يوفر معلومات كافية لتحديد مصادر الملف وتنزيل الملف والتحقق من محتوياته. الروابط المغناطيسية هي مثال آخر. غالبًا ما تكون مثل هذه التجزئات للملفات هي التجزئة العلوية لقائمة التجزئة أو شجرة التجزئة ، مما يسمح بفوائد إضافية.
أحد التطبيقات الرئيسية لدالة التجزئة هو السماح بالبحث السريع عن البيانات في جدول التجزئة . ونظرًا لكونها دوال تجزئة من نوع معين، فإن دوال التجزئة التشفيرية تلائم هذا التطبيق أيضًا.
ومع ذلك، بالمقارنة مع وظائف التجزئة القياسية، تميل وظائف التجزئة التشفيرية إلى أن تكون أكثر تكلفة من الناحية الحسابية. ولهذا السبب، تميل إلى أن تُستخدم في السياقات التي يكون من الضروري فيها للمستخدمين حماية أنفسهم من احتمال التزوير (إنشاء بيانات بنفس الملخص مثل البيانات المتوقعة) من قبل المشاركين الضارين المحتملين. [ بحاجة لمصدر ]
تخزين المحتوى القابل للعنونة
التخزين القابل للعنونة بالمحتوى (CAS)، والذي يُشار إليه أيضًا بالتخزين المعنون بالمحتوى أو تخزين المحتوى الثابت، هو طريقة لتخزين المعلومات بحيث يمكن استرجاعها بناءً على محتواها، وليس اسمها أو موقعها. وقد تم استخدامه للتخزين عالي السرعة واسترجاع المحتوى الثابت، مثل المستندات المخزنة للامتثال للوائح الحكومية [ بحاجة لمصدر ] . التخزين القابل للعنونة بالمحتوى مشابه للذاكرة القابلة للعنونة بالمحتوى .
تعمل أنظمة CAS عن طريق تمرير محتوى الملف من خلال دالة تجزئة تشفيرية لتوليد مفتاح فريد، وهو "عنوان المحتوى". يخزن دليل نظام الملفات هذه العناوين ومؤشرًا إلى التخزين المادي للمحتوى. نظرًا لأن محاولة تخزين نفس الملف ستولد نفس المفتاح، فإن أنظمة CAS تضمن أن الملفات الموجودة داخلها فريدة، ولأن تغيير الملف سيؤدي إلى مفتاح جديد، فإن أنظمة CAS توفر ضمانًا بأن الملف لم يتغير.
أصبحت أنظمة CAS سوقًا مهمًا خلال العقد الأول من القرن الحادي والعشرين، وخاصة بعد تقديم قانون ساربينز أوكسلي لعام 2002 في الولايات المتحدة والذي يتطلب تخزين أعداد هائلة من المستندات لفترات طويلة واسترجاعها نادرًا فقط. أدى الأداء المتزايد باستمرار لأنظمة الملفات التقليدية وأنظمة البرامج الجديدة إلى تآكل قيمة أنظمة CAS القديمة، والتي أصبحت نادرة بشكل متزايد بعد عام 2018 تقريبًا [ بحاجة لمصدر ] ومع ذلك، لا تزال مبادئ قابلية معالجة المحتوى ذات أهمية كبيرة لعلماء الكمبيوتر، وتشكل جوهر العديد من التقنيات الناشئة، مثل مشاركة الملفات من نظير إلى نظير ، والعملات المشفرة ، والحوسبة الموزعة .وظائف التجزئة المبنية على التشفير الكتلي
هناك عدة طرق لاستخدام التشفير الكتلي لبناء دالة تجزئة تشفيرية، وتحديدًا دالة ضغط أحادية الاتجاه .
تشبه الأساليب أنماط تشغيل التشفير الكتلي المستخدمة عادةً للتشفير. تم بناء العديد من وظائف التجزئة المعروفة، بما في ذلك MD4 و MD5 و SHA-1 و SHA-2 ، من مكونات تشبه التشفير الكتلي مصممة لهذا الغرض، مع ردود الفعل لضمان عدم عكس الوظيفة الناتجة. تضمنت وظائف SHA-3 النهائية وظائف بمكونات تشبه التشفير الكتلي (على سبيل المثال، Skein و BLAKE ) على الرغم من أن الوظيفة المختارة أخيرًا، Keccak ، تم بناؤها على إسفنجة تشفير بدلاً من ذلك.
يمكن استخدام تشفير كتلة قياسي مثل AES بدلاً من تشفير الكتلة المخصص هذا؛ وقد يكون ذلك مفيدًا عندما يحتاج النظام المضمن إلى تنفيذ كل من التشفير والتجزئة مع الحد الأدنى من حجم الكود أو مساحة الأجهزة. ومع ذلك، يمكن أن يكون لهذا النهج تكاليف في الكفاءة والأمان. تم تصميم التشفير في وظائف التجزئة للتجزئة: فهي تستخدم مفاتيح وكتل كبيرة، ويمكنها تغيير المفاتيح بكفاءة في كل كتلة، وقد تم تصميمها وفحصها لمقاومة هجمات المفاتيح ذات الصلة . تميل التشفيرات للأغراض العامة إلى أن يكون لها أهداف تصميم مختلفة. على وجه الخصوص، يحتوي AES على أحجام مفاتيح وكتل تجعل من غير السهل استخدامها لتوليد قيم تجزئة طويلة؛ يصبح تشفير AES أقل كفاءة عندما يغير المفتاح كل كتلة؛ وتجعل هجمات المفاتيح ذات الصلة استخدامه في وظيفة التجزئة أقل أمانًا من التشفير.
تصميم دالة التجزئة
بناء ميركل-دامجارد

يجب أن تكون دالة التجزئة قادرة على معالجة رسالة ذات طول عشوائي وتحويلها إلى إخراج بطول ثابت. ويمكن تحقيق ذلك عن طريق تقسيم المدخلات إلى سلسلة من الكتل ذات الحجم المتساوي، والعمل عليها بالتتابع باستخدام دالة ضغط أحادية الاتجاه . ويمكن تصميم دالة الضغط خصيصًا للتجزئة أو يمكن بناؤها من تشفير كتلة. إن دالة التجزئة المبنية باستخدام بنية ميركل-دامجارد مقاومة للتصادمات مثل دالة الضغط الخاصة بها؛ ويمكن إرجاع أي تصادم لدالة التجزئة الكاملة إلى تصادم في دالة الضغط.
يجب أيضًا أن تكون الكتلة الأخيرة التي تمت معالجتها مبطنة بشكل لا لبس فيه بطولها ؛ وهذا أمر بالغ الأهمية لأمن هذا البناء. يُطلق على هذا البناء اسم بناء Merkle–Damgård . تتخذ معظم وظائف التجزئة الكلاسيكية الشائعة، بما في ذلك SHA-1 و MD5 ، هذا الشكل.
الأنبوب العريض مقابل الأنبوب الضيق
يؤدي التطبيق المباشر لبناء Merkle–Damgård، حيث يكون حجم ناتج التجزئة مساويًا لحجم الحالة الداخلية (بين كل خطوة ضغط)، إلى تصميم تجزئة ضيق الأنبوب . يتسبب هذا التصميم في العديد من العيوب المتأصلة، بما في ذلك تمديد الطول ، والتصادمات المتعددة، [10] وهجمات الرسائل الطويلة، [11] وهجمات التوليد واللصق، [ بحاجة لمصدر ] ولا يمكن أيضًا موازاتها. ونتيجة لذلك، يتم بناء وظائف التجزئة الحديثة على إنشاءات واسعة الأنبوب ذات حجم حالة داخلية أكبر - والتي تتراوح من تعديلات على بناء Merkle–Damgård [10] إلى إنشاءات جديدة مثل بناء الإسفنج وبناء HAIFA . [12] لا يستخدم أي من المشاركين في مسابقة وظيفة التجزئة NIST بناء Merkle–Damgård الكلاسيكي. [13]
وفي الوقت نفسه، يؤدي قطع ناتج التجزئة الأطول، مثل المستخدم في SHA-512/256، إلى إحباط العديد من هذه الهجمات أيضًا. [14]
الاستخدام في بناء بدائيات التشفير الأخرى
يمكن استخدام وظائف التجزئة لبناء بدائيات تشفير أخرى . ولكي تكون هذه البدائيات الأخرى آمنة تشفيريًا، يجب توخي الحذر عند بنائها بشكل صحيح.
غالبًا ما يتم إنشاء رموز مصادقة الرسائل (MACs) (والتي تسمى أيضًا وظائف التجزئة المفتاحية) من وظائف التجزئة. HMAC هو أحد هذه الوظائف.
كما يمكن استخدام التشفير الكتلي لبناء وظائف التجزئة، يمكن استخدام وظائف التجزئة لبناء التشفير الكتلي. يمكن إثبات أمان إنشاءات Luby-Rackoff باستخدام وظائف التجزئة إذا كانت وظيفة التجزئة الأساسية آمنة. أيضًا، يتم بناء العديد من وظائف التجزئة (بما في ذلك SHA-1 و SHA-2 ) باستخدام تشفير كتلي لأغراض خاصة في Davies–Meyer أو بناء آخر. يمكن أيضًا استخدام هذا التشفير في وضع التشغيل التقليدي، دون نفس ضمانات الأمان؛ على سبيل المثال، SHACAL و BEAR و LION .
يمكن إنشاء مولدات الأرقام العشوائية الزائفة (PRNGs) باستخدام وظائف التجزئة. يتم ذلك عن طريق الجمع بين بذرة عشوائية (سرية) مع عداد وتجزئتها.
بعض وظائف التجزئة، مثل Skein و Keccak و RadioGatún ، تنتج تيارًا طويلًا بشكل تعسفي ويمكن استخدامها كشفرة تيار ، ويمكن أيضًا بناء تشفير تيار من وظائف تجزئة مختصرة بطول ثابت. غالبًا ما يتم ذلك عن طريق بناء مولد أرقام عشوائية زائفة آمن تشفيريًا أولاً ثم استخدام تيار البايتات العشوائية الخاص به كتدفق رئيسي . SEAL هو تشفير تيار يستخدم SHA-1 لتوليد الجداول الداخلية، والتي تُستخدم بعد ذلك في مولد تدفق رئيسي غير مرتبط بخوارزمية التجزئة إلى حد كبير. لا يُضمن أن يكون SEAL قويًا (أو ضعيفًا) مثل SHA-1. وبالمثل، فإن التوسع الرئيسي لشفرات تيار HC-128 وHC-256 يستخدم بشكل كبير وظيفة التجزئة SHA-256 .
سلسلة
يوفر ربط المخرجات من وظائف التجزئة المتعددة مقاومة للتصادم بنفس جودة أقوى الخوارزميات المضمنة في النتيجة المتسلسلة. [ بحاجة لمصدر ] على سبيل المثال، استخدمت الإصدارات الأقدم من أمان طبقة النقل (TLS) وطبقة مآخذ التوصيل الآمنة (SSL) مجموعات MD5 و SHA-1 المتسلسلة . [15] [16] وهذا يضمن أن طريقة العثور على تصادمات في إحدى وظائف التجزئة لا تهزم البيانات المحمية بواسطة كلتا دالتي التجزئة. [ بحاجة لمصدر ]
بالنسبة لوظائف التجزئة الإنشائية Merkle–Damgård ، تكون الوظيفة المتسلسلة مقاومة للتصادم مثل أقوى مكون لها، ولكنها ليست أكثر مقاومة للتصادم. [ بحاجة لمصدر ] لاحظ أنطوان جوكس أن التصادمات 2 تؤدي إلى n تصادمات: إذا كان من الممكن للمهاجم العثور على رسالتين بنفس تجزئة MD5، فيمكنه العثور على العديد من الرسائل الإضافية بنفس تجزئة MD5 كما يرغب، دون صعوبة أكبر. [17] من بين تلك الرسائل n التي لها نفس تجزئة MD5، من المحتمل أن يكون هناك تصادم في SHA-1. يتطلب العمل الإضافي المطلوب للعثور على تصادم SHA-1 (خارج البحث عن عيد الميلاد الأسي) وقتًا متعدد الحدود فقط . [18] [19]
خوارزميات التجزئة التشفيرية
هناك العديد من خوارزميات التجزئة التشفيرية؛ يسرد هذا القسم بعض الخوارزميات التي يتم الرجوع إليها بشكل متكرر نسبيًا. يمكن العثور على قائمة أكثر شمولاً على الصفحة التي تحتوي على مقارنة بين وظائف التجزئة التشفيرية .
إم دي 5
تم تصميم MD5 بواسطة رونالد ريفست في عام 1991 ليحل محل دالة التجزئة السابقة MD4، وتم تحديدها في عام 1992 باسم RFC 1321. يمكن حساب التصادمات ضد MD5 في غضون ثوانٍ، مما يجعل الخوارزمية غير مناسبة لمعظم حالات الاستخدام التي تتطلب تجزئة تشفيرية. تنتج MD5 خلاصة 128 بت (16 بايت).
شا-1
تم تطوير SHA-1 كجزء من مشروع Capstone التابع للحكومة الأمريكية . تم نشر المواصفات الأصلية - والتي تسمى الآن SHA-0 - للخوارزمية في عام 1993 تحت عنوان Secure Hash Standard، FIPS PUB 180، بواسطة وكالة المعايير الحكومية الأمريكية NIST (المعهد الوطني للمعايير والتكنولوجيا). تم سحبها من قبل وكالة الأمن القومي بعد فترة وجيزة من النشر وتم استبدالها بالنسخة المنقحة، المنشورة في عام 1995 في FIPS PUB 180-1 والمُشار إليها عادةً باسم SHA-1. يمكن إنتاج تصادمات ضد خوارزمية SHA-1 الكاملة باستخدام الهجوم المحطم ويجب اعتبار وظيفة التجزئة معطلة. تنتج SHA-1 خلاصة تجزئة من 160 بت (20 بايت).
قد تشير المستندات إلى SHA-1 باسم "SHA" فقط، على الرغم من أن هذا قد يتعارض مع خوارزميات التجزئة الآمنة الأخرى مثل SHA-0، وSHA-2، وSHA-3.
رييبمد-160
RIPEMD (RACE Integrity Primitives Evaluation Message Digest) هي عائلة من وظائف التجزئة التشفيرية التي طورها هانز دوبيرتين وأنطون بوسيلرز وبارت برينيل في مجموعة أبحاث COSIC في جامعة لوفين الكاثوليكية، ونشرت لأول مرة في عام 1996. استندت RIPEMD إلى مبادئ التصميم المستخدمة في MD4 وهي مماثلة في الأداء لـ SHA-1 الأكثر شيوعًا. ومع ذلك، لم يتم كسر RIPEMD-160. وكما يوحي الاسم، ينتج RIPEMD-160 خلاصة تجزئة من 160 بت (20 بايت).
دوامة
Whirlpool هي دالة تجزئة تشفيرية صممها فينسنت ريجمن وباولو إس إل إم باريتو، اللذان وصفاها لأول مرة في عام 2000. تعتمد Whirlpool على نسخة معدلة بشكل كبير من معيار التشفير المتقدم (AES). تنتج Whirlpool خلاصة تجزئة تبلغ 512 بت (64 بايت).
إس إتش إيه-2
SHA-2 (Secure Hash Algorithm 2) هي مجموعة من وظائف التجزئة التشفيرية التي صممتها وكالة الأمن القومي الأمريكية (NSA)، ونشرت لأول مرة في عام 2001. تم بناؤها باستخدام بنية Merkle–Damgård، من وظيفة ضغط أحادية الاتجاه تم بناؤها باستخدام بنية Davies–Meyer من تشفير كتلة متخصص (مصنف).
يتكون SHA-2 بشكل أساسي من خوارزميتين للتجزئة: SHA-256 وSHA-512. SHA-224 هو أحد أشكال SHA-256 بقيم بداية مختلفة ومخرجات مقطوعة. SHA-384 وSHA-512/224 وSHA-512/256 الأقل شهرة كلها أشكال من SHA-512. SHA-512 أكثر أمانًا من SHA-256 وأسرع بشكل عام من SHA-256 على الأجهزة ذات 64 بت مثل AMD64 .
يتم تحديد حجم الإخراج بالبتات من خلال الامتداد الخاص باسم "SHA"، لذلك فإن SHA-224 له حجم إخراج يبلغ 224 بت (28 بايت)؛ وSHA-256، 32 بايت؛ وSHA-384، 48 بايت؛ وSHA-512، 64 بايت.
إس إتش إيه-3
تم إصدار SHA-3 (Secure Hash Algorithm 3) بواسطة NIST في 5 أغسطس 2015. SHA-3 هي مجموعة فرعية من عائلة Keccak البدائية التشفيرية الأوسع. خوارزمية Keccak هي عمل Guido Bertoni وJoan Daemen وMichael Peeters وGilles Van Assche. تعتمد Keccak على بنية إسفنجية، والتي يمكن استخدامها أيضًا لبناء بدائيات تشفير أخرى مثل تشفير التدفق. توفر SHA-3 نفس أحجام الإخراج مثل SHA-2: 224 و256 و384 و512 بت.
يمكن أيضًا الحصول على أحجام إخراج قابلة للتكوين باستخدام الدالتين SHAKE-128 وSHAKE-256. هنا، تشير الامتدادات -128 و-256 للاسم إلى قوة أمان الدالة وليس حجم الإخراج بالبتات.
بليك 2
تم الإعلان عن BLAKE2، وهي نسخة محسنة من BLAKE، في 21 ديسمبر 2012. تم إنشاؤها بواسطة Jean-Philippe Aumasson وSamuel Neves و Zooko Wilcox-O'Hearn وChristian Winnerlein بهدف استبدال خوارزميات MD5 وSHA-1 المستخدمة على نطاق واسع ولكنها معطلة. عند التشغيل على معماريات 64 بت x64 وARM، يكون BLAKE2b أسرع من SHA-3 وSHA-2 وSHA-1 وMD5. على الرغم من عدم توحيد BLAKE وBLAKE2 مثل SHA-3، فقد تم استخدام BLAKE2 في العديد من البروتوكولات بما في ذلك تجزئة كلمة مرور Argon2 ، وذلك للكفاءة العالية التي توفرها على وحدات المعالجة المركزية الحديثة. نظرًا لأن BLAKE كان مرشحًا لـ SHA-3، فإن BLAKE وBLAKE2 يقدمان نفس أحجام الإخراج مثل SHA-3 - بما في ذلك حجم إخراج قابل للتكوين.
بليك 3
تم الإعلان عن BLAKE3، وهي نسخة محسنة من BLAKE2، في 9 يناير 2020. تم إنشاؤها بواسطة Jack O'Connor وJean-Philippe Aumasson وSamuel Neves وZoko Wilcox-O'Hearn. BLAKE3 هي خوارزمية واحدة، على عكس BLAKE وBLAKE2، وهما عائلات خوارزمية ذات متغيرات متعددة. تعتمد دالة ضغط BLAKE3 بشكل وثيق على دالة BLAKE2s، مع كون أكبر فرق هو أن عدد الجولات ينخفض من 10 إلى 7. داخليًا، BLAKE3 هي شجرة ميركل ، وهي تدعم درجات أعلى من التوازي من BLAKE2.
الهجمات على خوارزميات التجزئة التشفيرية
توجد قائمة طويلة من وظائف التجزئة التشفيرية ولكن وجد أن العديد منها معرضة للخطر ولا ينبغي استخدامها. على سبيل المثال، اختارت NIST 51 وظيفة تجزئة [20] كمرشحين للجولة الأولى من مسابقة تجزئة SHA-3، حيث تم اعتبار 10 منها معطلة وأظهرت 16 منها نقاط ضعف كبيرة وبالتالي لم تصل إلى الجولة التالية؛ يمكن العثور على مزيد من المعلومات في المقال الرئيسي حول مسابقات وظائف التجزئة NIST .
حتى لو لم يتم كسر دالة التجزئة مطلقًا، فإن الهجوم الناجح ضد متغير ضعيف قد يقوض ثقة الخبراء. على سبيل المثال، في أغسطس 2004، تم العثور على تصادمات في العديد من وظائف التجزئة الشائعة آنذاك، بما في ذلك MD5. [21] أثارت هذه نقاط الضعف تساؤلات حول أمان الخوارزميات الأقوى المستمدة من وظائف التجزئة الضعيفة - وخاصة SHA-1 (نسخة معززة من SHA-0)، وRIPEMD-128، وRIPEMD-160 (كلاهما نسختان معززتان من RIPEMD). [22]
في الثاني عشر من أغسطس عام 2004، أعلن جوكس وكاريبولت وليمويل وجالبي عن تصادم لخوارزمية SHA-0 الكاملة. [17] تمكن جوكس وآخرون من تحقيق ذلك باستخدام تعميم لهجوم شابود وجوكس. ووجدوا أن التصادم كان معقدًا بنسبة 2.51 واستغرق حوالي 80.000 ساعة وحدة معالجة مركزية على حاسوب فائق مزود بـ 256 معالج إيتانيوم 2 - وهو ما يعادل 13 يومًا من الاستخدام الكامل للحاسوب الفائق. [ بحاجة لمصدر ]
في فبراير 2005، تم الإبلاغ عن هجوم على SHA-1 من شأنه أن يجد تصادمًا في حوالي 2 69 عملية تجزئة، بدلاً من 2 80 المتوقعة لوظيفة تجزئة 160 بت. في أغسطس 2005، تم الإبلاغ عن هجوم آخر على SHA-1 من شأنه أن يجد تصادمات في 2 63 عملية. تم معرفة نقاط ضعف نظرية أخرى في SHA-1، [23] [24] وفي فبراير 2017 أعلنت Google عن تصادم في SHA-1. [25] يوصي باحثو الأمن بأن التطبيقات الجديدة يمكن أن تتجنب هذه المشكلات باستخدام أعضاء أحدث من عائلة SHA، مثل SHA-2 ، أو استخدام تقنيات مثل التجزئة العشوائية [26] التي لا تتطلب مقاومة التصادم.
أدى هجوم عملي ناجح إلى كسر MD5 (المستخدم داخل شهادات أمان طبقة النقل ) في عام 2008. [27]
تعتمد العديد من خوارزميات التشفير على بنية Merkle–Damgård . جميع خوارزميات التشفير التي تستخدم بشكل مباشر الناتج الكامل لبنية Merkle–Damgård معرضة لهجمات تمديد الطول . وهذا يجعل خوارزميات التجزئة MD5 وSHA-1 وRIPEMD-160 وWhirlpool وSHA-256 / SHA-512 معرضة جميعًا لهذا الهجوم المحدد. SHA-3 وBLAKE2 وBLAKE3 ومتغيرات SHA-2 المقتطعة ليست معرضة لهذا النوع من الهجوم. [ بحاجة لمصدر ]
الهجمات على كلمات المرور المشفرة
بدلاً من تخزين كلمات مرور المستخدم العادية، تقوم أنظمة الوصول المتحكم به عادةً بتخزين تجزئة كلمة مرور كل مستخدم في ملف أو قاعدة بيانات. عندما يطلب شخص ما الوصول، يتم تجزئة كلمة المرور التي يقدمها ومقارنتها بالقيمة المخزنة. إذا سُرقت قاعدة البيانات (وهو أمر يحدث كثيرًا [28] )، فلن يكون لدى السارق سوى قيم التجزئة، وليس كلمات المرور.
لا يزال من الممكن للمهاجم استرداد كلمات المرور من التجزئات، لأن معظم الأشخاص يختارون كلمات المرور بطرق يمكن التنبؤ بها. يتم تداول قوائم كلمات المرور الشائعة على نطاق واسع والعديد من كلمات المرور قصيرة بما يكفي بحيث يمكن اختبار جميع التركيبات الممكنة إذا لم يستغرق حساب التجزئات وقتًا طويلاً. [29]
يمنع استخدام الملح التشفيري بعض الهجمات، مثل إنشاء ملفات لقيم التجزئة المحوسبة مسبقًا، مثل جداول قوس قزح . ولكن عمليات البحث في حدود 100 مليار اختبار في الثانية ممكنة باستخدام معالجات الرسوميات المتطورة ، مما يجعل الهجمات المباشرة ممكنة حتى مع الملح. [30] [31] يوصي المعهد الوطني للمعايير والتكنولوجيا في الولايات المتحدة بتخزين كلمات المرور باستخدام تجزئات خاصة تسمى وظائف اشتقاق المفتاح (KDFs) والتي تم إنشاؤها لإبطاء عمليات البحث بالقوة الغاشمة. [9] : 5.1.1.2 تشمل التجزئات البطيئة pbkdf2 و bcrypt و scrypt و argon2 و Balloon وبعض الأوضاع الحديثة لـ Unix crypt . بالنسبة لوظائف اشتقاق المفتاح التي تؤدي تجزئات متعددة لإبطاء التنفيذ، يوصي المعهد الوطني للمعايير والتكنولوجيا بعدد تكرارات يبلغ 10000 أو أكثر. [9] : 5.1.1.2
انظر أيضا
مراجع
الاستشهادات
- ^ مينيزيس، فان أورشوت وفانستون 2018، ص. 33.
- ^ Schneier, Bruce . "Cryptanalysis of MD5 and SHA: Time for a New Standard". Computerworld . مؤرشف من الأصل في 2016-03-16 . تم الاسترجاع في 2016-04-20 .
أكثر بكثير من خوارزميات التشفير، فإن وظائف التجزئة أحادية الاتجاه هي الخيول العاملة في التشفير الحديث.
- ^ أوماسون 2017، ص 106.
- ^ كاتز وليندل 2014، ص 155-157، 190، 232.
- ^ Rogaway & Shrimpton 2004، في القسم 5. الآثار المترتبة.
- ^ Duong, Thai; Rizzo, Juliano. "Flickr's API Signature Forgery Vulnerability". مؤرشف من الأصل في 2013-08-15 . تم الاسترجاع في 2012-12-07 .
- ^ ليوباشيفسكي وآخرون. 2008، ص 54-72.
- ^ بيرين، تشاد (5 ديسمبر 2007). "استخدام تجزئة MD5 للتحقق من تنزيلات البرامج". TechRepublic . مؤرشف من الأصل في 18 أكتوبر 2012. تم الاسترجاع في 2 مارس 2013 .
- ^ abc Grassi Paul A. (يونيو 2017). SP 800-63B-3 – إرشادات الهوية الرقمية والمصادقة وإدارة دورة الحياة . NIST. doi :10.6028/NIST.SP.800-63b.
- ^ ab Lucks, Stefan (2004). "Design Principles for Iterated Hash Functions". Cryptology ePrint Archive . Report 2004/253. مؤرشف من الأصل في 2017-05-21 . تم الاسترجاع في 2017-07-18 .
- ^ كيلسي وشناير 2005، ص 474-490.
- ^ بيهام، إيلي؛ دنكلمان، أور (24 أغسطس 2006). إطار عمل لوظائف التجزئة التكرارية – HAIFA. ورشة عمل التجزئة التشفيرية الثانية التابعة للمعهد الوطني للمعايير والتكنولوجيا. أرشيف ePrint للتشفير . تقرير 2007/278. مؤرشف من الأصل في 28 أبريل 2017. تم الاسترجاع في 18 يوليو 2017 .
- ^ ناندي وبول 2010.
- ^ Dobraunig, Christoph; Eichlseder, Maria; Mendel, Florian (فبراير 2015). تقييم الأمان لـ SHA-224 وSHA-512/224 وSHA-512/256 (PDF) (تقرير). مؤرشف (PDF) من الأصل في 2016-12-27 . تم الاسترجاع في 2017-07-18 .
- ^ Mendel et al., p. 145: غالبًا ما يستخدم المنفذون التجميع ... "للتحوط من المراهنات" على وظائف التجزئة. مُجمِّع من النموذج MD5
- ^ Harnik et al. 2005، ص 99: إن عملية تجميع وظائف التجزئة كما هو مقترح في TLS... مضمونة لتكون آمنة مثل المرشح الذي يظل آمنًا.
- ^ بواسطة جو 2004.
- ^ Finney, Hal (20 أغسطس 2004). "مزيد من المشاكل مع وظائف التجزئة". قائمة بريدية للتشفير . مؤرشف من الأصل في 9 أبريل 2016. تم الاسترجاع في 25 مايو 2016 .
- ^ هوش وشمير 2008، ص 616-630.
- ^ أندرو ريجينشيد، راي بيرلنر، شو جين تشانج، جون كيلسي، مريدول ناندي، سوراديوتي بول، تقرير حالة الجولة الأولى من مسابقة خوارزمية التجزئة التشفيرية SHA-3 محفوظ في 2018-06-05 على موقع واي باك مشين
- ^ XiaoyunWang, Dengguo Feng, Xuejia Lai, Hongbo Yu, Collisions for Hash Functions MD4, MD5, HAVAL-128, and RIPEMD محفوظ في 2004-12-20 على موقع Wayback Machine
- ^ الشيخلي، عماد فخري؛ الأحمد، محمد عبد اللطيف (2015)، "دالة التجزئة التشفيرية"، دليل البحث في اكتشاف التهديدات وإجراءات مواجهتها في أمن الشبكات ، آي جي آي جلوبال، ص 80-94، doi :10.4018/978-1-4666-6583-5.ch006، ISBN 978-1-4666-6583-5
- ^ Xiaoyun Wang و Yiqun Lisa Yin و Hongbo Yu، "العثور على الاصطدامات في SHA-1 الكامل المؤرشف في 2017-07-15 على موقع Wayback Machine ".
- ^ Schneier, Bruce (18 فبراير 2005). "Cryptanalysis of SHA-1". Schneier on Security . مؤرشف من الأصل في 16 يناير 2013 . تم الاسترجاع في 30 مارس 2009 .ملخص نتائج وانج وآخرين وتداعياتها.
- ^ Brewster, Thomas (23 فبراير 2017). "Google Just 'Shattered' An Old Crypto Algorithm – Here's Why That's Big For Web Security". Forbes . مؤرشف من الأصل في 2017-02-24 . تم الاسترجاع في 2017-02-24 .
- ^ Halevi, Shai; Krawczyk, Hugo. "Randomized Hashing and Digital Signatures". مؤرشف من الأصل في 22 مايو 2022.
- ^ Sotirov, A; Stevens, M; Appelbaum, J; Lenstra, A; Molnar, D; Osvik, DA; de Weger, B (30 ديسمبر 2008). "MD5 تعتبر ضارة اليوم: إنشاء شهادة CA غير قانونية". HashClash . قسم الرياضيات وعلوم الكمبيوتر بجامعة آيندهوفن للتكنولوجيا. مؤرشف من الأصل في 25 مارس 2017 . تم الاسترجاع في 29 مارس 2009 .
- ^ سوينهو، دان؛ هيل، مايكل (17 أبريل 2020). "أكبر 15 خرقًا للبيانات في القرن الحادي والعشرين". مجلة CSO. مؤرشف من الأصل في 24 نوفمبر 2020. تم الاسترجاع في 25 نوفمبر 2020 .
- ^ Goodin, Dan (2012-12-10). "مجموعة مكونة من 25 وحدة معالجة رسومية تخترق كل كلمة مرور قياسية لنظام التشغيل Windows في أقل من 6 ساعات". Ars Technica . مؤرشف من الأصل في 2020-11-21 . تم الاسترجاع في 2020-11-23 .
- ^ Claburn, Thomas (14 فبراير 2019). "هل تستخدم كلمة مرور NTLM مكونة من 8 أحرف لنظام Windows؟ لا تفعل ذلك. يمكن اختراق كل واحدة منها في أقل من 2.5 ساعة". The Register . مؤرشف من الأصل في 2020-04-25 . تم الاسترجاع في 2020-11-26 .
- ^ "تطور مذهل في أداء وحدة معالجة الرسوميات". Improsec. 3 يناير 2020. مؤرشف من الأصل في 9 أبريل 2023.
مصادر
- هارنيك، داني؛ كيليان، جو؛ ناور، موني؛ رينجولد، عمر؛ روزن، ألون (2005). "حول المجمعات القوية للنقل غير المبالي وغيره من البدائيات". التطورات في علم التشفير – يوروكريبت 2005. مذكرات محاضرات في علوم الكمبيوتر. المجلد 3494. ص 96-113. doi :10.1007/11426639_6. ISBN 978-3-540-25910-7.ISSN 0302-9743 .
- هوتش، جوناثان جيه؛ شامير، آدي (2008). "حول قوة مُجمِّع التجزئة المُتضمَّن عندما تكون جميع وظائف التجزئة ضعيفة". الأتمتة واللغات والبرمجة . مذكرات محاضرات في علوم الكمبيوتر. المجلد 5126. ص 616-630. doi :10.1007/978-3-540-70583-3_50. ISBN 978-3-540-70582-6.ISSN 0302-9743 .
- جو، أنطوان (2004). "التصادمات المتعددة في وظائف التجزئة المتكررة. التطبيق على الإنشاءات المتتالية". التقدم في علم التشفير – CRYPTO 2004. مذكرات محاضرات في علوم الكمبيوتر. المجلد 3152. برلين، هايدلبرغ: سبرينغر برلين هايدلبرغ. ص 306-316. doi : 10.1007/978-3-540-28628-8_19 . ISBN 978-3-540-22668-0.ISSN 0302-9743 .
- كيلي، جون؛ شناير، بروس (2005). "التصورات الأولية الثانية لوظائف التجزئة ذات n بت لأقل من 2 n عمل". التطورات في علم التشفير – يوروكريبت 2005. مذكرات محاضرات في علوم الكمبيوتر. المجلد 3494. ص 474-490. doi : 10.1007/11426639_28 . ISBN 978-3-540-25910-7. ISSN 0302-9743. تم أرشفة النسخة الأصلية في 2017-03-16 . تم استرجاعها في 2017-07-18 .
- كاتز، جوناثان؛ ليندل، يهودا (2014). مقدمة في التشفير الحديث (الطبعة الثانية). دار نشر سي آر سي. رقم ISBN 978-1-4665-7026-9.
- ليوباشيفسكي، فاديم؛ ميسيانسيو، دانييل؛ بيكرت، كريس؛ روزن، ألون (2008). "SWIFFT: اقتراح متواضع لتجزئة تحويل فورييه السريع". التشفير السريع للبرمجيات . مذكرات محاضرات في علوم الكمبيوتر. المجلد 5086. ص 54-72. doi : 10.1007/978-3-540-71039-4_4 . ISBN 978-3-540-71038-7.ISSN 0302-9743 .
- مندل، فلوريان؛ ريشبرجر، كريستيان؛ شلافر، مارتن (2009). "MD5 أضعف من الضعف: الهجمات على المجمعات المتسلسلة". التقدم في التشفير - ASIACRYPT 2009. مذكرات محاضرات في علوم الكمبيوتر. المجلد 5912. ص 144-161. doi : 10.1007/978-3-642-10366-7_9 . ISBN 978-3-642-10365-0.ISSN 0302-9743 .
- ناندي، مريدول؛ بول، سوراديوتي (2010). "تسريع الأنابيب العريضة: التجزئة الآمنة والسريعة". التقدم في علم التشفير - إندوكريبت 2010. مذكرات محاضرات في علوم الكمبيوتر. المجلد 6498. ص 144-162. doi :10.1007/978-3-642-17401-8_12. ISBN 978-3-642-17400-1.ISSN 0302-9743 .
- Rogaway, P.; Shrimpton, T. (2004). "أساسيات دالة التجزئة التشفيرية: التعريفات والتداعيات والفصل لمقاومة الصورة الأولية ومقاومة الصورة الأولية الثانية ومقاومة التصادم". في Roy, B.; Mier, W. (المحرران). Fast Software Encryption: 11th International Workshop, FSE 2004. المجلد 3017. مذكرات محاضرات في علوم الكمبيوتر: Springer. ص 371-388. doi : 10.1007/978-3-540-25937-4_24 . ISBN 3-540-22171-9. تم أرشفة النسخة الأصلية في 2022-11-30 . تم استرجاعها في 2022-11-30 .
- Menezes, Alfred J.; van Oorschot, Paul C.; Vanstone, Scott A. (7 December 2018). "Hash functions". Handbook of Applied Cryptography . CRC Press. ص. 33–. ISBN 978-0-429-88132-9.
- أوماسون، جان فيليب (6 نوفمبر 2017). التشفير الجاد: مقدمة عملية للتشفير الحديث. دار نو ستارش للنشر. رقم ISBN 978-1-59327-826-7. OCLC 1012843116.
روابط خارجية
- بار، كريستوف؛ بيلزل، جان (2009). "11: وظائف التجزئة". فهم التشفير، كتاب مدرسي للطلاب والممارسين . سبرينغر . مؤرشف من الأصل في 2012-12-08.(يحتوي موقع الويب المصاحب على دورة تشفير عبر الإنترنت تغطي وظائف التجزئة)
- "موقع الويب لدالة التجزئة ECRYPT".
- بولداس، أ. (2011). "سلسلة من المحاضرات القصيرة حول وظائف التجزئة التشفيرية". مؤرشف من الأصل في 2012-12-06.
- تطبيق مفتوح المصدر يعتمد على بايثون مع واجهة مستخدم رسومية تستخدم للتحقق من التنزيلات.
