Skip to main content

ما هي وظيفة التجزئة التشفير؟

الفرق بين الهاش والتشفير (قد 2025)

الفرق بين الهاش والتشفير (قد 2025)
Anonim

دالة تجزئة التشفير هي خوارزمية يمكن تشغيلها على بيانات مثل ملف فردي أو كلمة مرور لإنتاج قيمة تسمى المجموع الاختباري.

الاستخدام الرئيسي لوظيفة هاش مشفرة هو التحقق من صحة جزء من البيانات. يمكن افتراض أن الملفين متطابقان فقط إذا كانت مجاميع الاختبارية التي تم إنشاؤها من كل ملف ، باستخدام نفس دالة التجزئة المشفرة ، متطابقة.

تتضمن بعض دالات هاش المشفرة شائعة الاستخدام MD5 و SHA-1 ، على الرغم من وجود العديد من الوظائف الأخرى أيضًا.

غالبًا ما يشار إلى وظائف تجزئة التشفير على أنها "وظائف هاش" ، ولكن هذا ليس صحيحًا من الناحية الفنية. دالة هاش هي مصطلح عام يشتمل على وظائف تجزئة التشفير إلى جانب أنواع أخرى من الخوارزميات مثل فحوصات التكرار الدوري.

وظائف تجزئة التشفير: حالة استخدام

لنفترض أنك نزّلت أحدث إصدار من متصفح Firefox. لسبب ما ، كنت في حاجة إلى تنزيله من موقع آخر غير موزيلا. نظرًا لأنه لا تتم استضافتها على موقع تعلمته تثق به ، تود التأكد من أن ملف التثبيت الذي قمت بتنزيله هو بالضبط نفس الملف الذي توفره موزيلا.

باستخدام الحاسبة اختبارية ، يمكنك حساب مجموع اختباري باستخدام وظيفة تشفير معينة ، مثل SHA-2 ، ثم مقارنة ذلك بالواحد المنشور على موقع موزيلا. إذا كانت متساوية ، فيمكنك أن تكون متأكدًا بشكل معقول من أن التنزيل الذي قمت بتنزيله هو الذي تريده من موزيلا.

يمكن عكس دالات التجزئة التجزيحية؟

تم تصميم وظائف تجزئة التشفير لمنع القدرة على عكس مجاميع الفحص التي يقومون بإنشائها مرة أخرى إلى النصوص الأصلية. ومع ذلك ، على الرغم من أنه من المستحيل عمليا عكسها ، إلا أنها ليست مضمونة بنسبة 100٪ لحماية البيانات.

قد يستخدم المتسللون جدولًا لقوس قزح لمعرفة النص العادي للمجموع الاختباري.

جداول قوس قزح هي القواميس التي تدرج الآلاف والملايين ، أو حتى المليارات من الاختباري جنبا إلى جنب مع قيمتها النص العادي المقابل.

على الرغم من أن هذا لا يعكس تقنيًا خوارزمية تجزئة التشفير ، إلا أنه قد يكون كذلك ، نظرًا إلى أنه من السهل جدًا القيام بذلك. في الواقع ، نظرًا لأنه لا يوجد جدول قوس قزح يمكنه سرد كل المجموع الاختباري المحتمل ، فعادةً ما يكون مفيدًا فقط للعبارات البسيطة مثل كلمات المرور الضعيفة.

في ما يلي نسخة مبسطة من جدول قوس قزح لإظهار كيفية عمل المرء عند استخدام وظيفة تجزئة التشفير SHA-1:

نص عاديSHA-1 اختباري
123458cb2237d0679ca88db6464eac60da96345513964
password1e38ad214943daad1d64c102faec29de4afe9da3d
أنا أحب كلبيa25fb3505406c9ac761c8428692fbf5d5ddf1316
Jenny4007d5eb0173008fe55275d12e9629eef8bdb408c1f
dallas1984c1ebe6d80f4c7c087ad29d2c0dc3e059fc919da2

يجب أن يعرف الهاكر أي خوارزمية تجزئة التشفير تم استخدامها لتوليد المجموع الاختباري لاكتشاف القيم.

لمزيد من الحماية ، تقوم بعض مواقع الويب التي تخزن كلمات مرور المستخدمين بأداء وظائف إضافية على خوارزمية تجزئة التشفير بعد إنشاء القيمة ولكن قبل تخزينها. تنتج هذه العملية قيمة جديدة يفهمها خادم الويب فقط ولا تتطابق مع المجموع الاختباري الأصلي.

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

اتخاذ هذه الخطوات يحد من فائدة الاختراق حيث يتم سرقة جميع الاختباريات. تكمن الفكرة في إجراء وظيفة غير معروفة ، لذلك إذا كان الهاكر يعرف خوارزمية تجزئة التشفير ولكن ليس العرف ، فإن معرفة مجرى كلمة المرور أمر غير مفيد.

كلمات المرور ووظائف تجزئة التشفير

تقوم قاعدة البيانات بحفظ كلمات مرور المستخدم بطريقة مشابهة لجدول قوس قزح. عندما يتم إدخال كلمة المرور الخاصة بك ، يتم إنشاء المجموع الاختباري ومقارنته بالمجموعة المسجلة باسم المستخدم الخاص بك. يتم منحك إذن بالدخول إذا كان الإثنان متطابقان.

بالنظر إلى أن وظيفة تجزئة التشفير تنتج مجموعة اختيارية لا يمكن التحقق منها ، فهل من الآمن بالنسبة لك أن تجعل كلمة المرور الخاصة بك بسيطة مثل 12345، بدلا من 12@34$5، ببساطة لأن الأختبارات نفسها لا يمكن فهمها؟ لا ، وهنا لماذا.

كلاهما كلاهما من المستحيل فك رموز فقط من خلال النظر فقط في الاختباري:

MD5 لـ 12345: 827ccb0eea8a706c4c34a16891f84e7b

MD5 لـ 12 @ 34 $ 5: a4d3cc004f487b18b2ccd4853053818b

للوهلة الأولى ، قد تعتقد أنه من الجيد استخدام أي من كلمات المرور هذه. هذا صحيح إذا حاول أحد المهاجمين اكتشاف كلمة المرور الخاصة بك عن طريق تخمين تدقيق MD5 ، الذي لا يفعله أحد ، ولكن ليس صحيحًا إذا تم تنفيذ هجوم قوي أو هجوم قاموس ، وهو تكتيك شائع.

يحدث هجوم القوة الغاشمة عندما يتم أخذ طعنات عشوائية متعددة عند تخمين كلمة مرور. في هذه الحالة ، سيكون من السهل تخمينها 12345، ولكن من الصعب جدا معرفة الرقم الآخر بشكل عشوائي. يشبه هجوم القاموس أن المهاجم يمكنه تجربة كل كلمة أو رقم أو عبارة من قائمة كلمات المرور الشائعة (وليس الشائعة) ،12345 هي واحدة من تلك كلمات المرور الشائعة.

على الرغم من أن وظائف التشفير المشفرة تنتج اختبارات عشوائية صعبة المستحيل تخمينها ، يجب أن تستخدم كلمة مرور معقدة لكل حسابات المستخدمين المحلية والمحلية.

مزيد من المعلومات حول وظائف تجزئة التشفير

قد يبدو أن وظائف هاش التشفير مرتبطة بالتشفير ، لكن العملان بطرق مختلفة.

التشفير هو عملية ثنائية الاتجاه حيث يتم تشفير شيء ما ليصبح غير قابل للقراءة ثم يتم فك تشفيره لاحقًا ليتم استخدامه بشكل طبيعي مرة أخرى. يمكنك تشفير الملفات التي قمت بتخزينها حتى لا يتمكن أي شخص يقوم بالوصول إليها من استخدامها ، أو يمكنك استخدام تشفير نقل الملفات لتشفير الملفات التي تنتقل عبر الشبكة ، مثل تلك التي تقوم بتحميلها أو تنزيلها عبر الإنترنت.

تعمل دالات تجزئة التشفير بطريقة مختلفة حيث لا يُقصد عكسها باستخدام كلمة مرور خاصة. الغرض الوحيد من وظائف هاش التشفير هو مقارنة قسمين من البيانات ، مثل تنزيل الملفات وتخزين كلمات المرور وسحب البيانات من قاعدة البيانات.

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

يمكن أن تحدث التضاربات لأن كل دالة تجزئة تشفير تنتج قيمة ذات طول ثابت بغض النظر عن بيانات الإدخال. على سبيل المثال ، تقوم دالة تجزئة التشفير MD5 بإنشاء 827ccb0eea8a706c4c34a16891f84e7b و ​​1f633b2909b9c1addf32302c7a497983 و e10adc3949ba59abbe56e057f20f883e لثلاث كتل مختلفة تمامًا من البيانات.

المجموع الاختباري الأول من 12345. تم إنشاء الثاني من أكثر من 700 حرف وأرقام ، والثالث من 123456.

جميع هذه المدخلات الثلاثة ذات أطوال مختلفة ، ولكن النتائج دائمًا ما تكون 32 حرفًا فقط منذ استخدام المجموع الاختباري MD5.

لا يوجد حد لعدد الاختباريات التي يمكن إنشاؤها لأن كل تغيير صغير في المدخلات من المفترض أن ينتج مجموعًا مختلفًا تمامًا. نظرًا لأن هناك حدًا لعدد مرات التحقق التي يمكن أن تنتجها إحدى وظائف تجزئة التشفير ، فهناك دائمًا احتمال مواجهة تصادم.

هذا السبب تم إنشاء وظائف تجزئة التشفير الأخرى. بينما ينشئ MD5 قيمة ذات 32 حرفًا ، يقوم SHA-1 بإنشاء 40 حرفًا ويقوم SHA-2 (512) بإنشاء 128 حرفًا. كلما زاد عدد الأحرف التي يحتوي عليها المجموع الاختباري ، قل احتمال حدوث التعارض.