التجزئة/التشفير

PBKDF2 Hash + Verify

اشتقاق مفتاح عبر PBKDF2 (RFC 8018) من كلمة مرور، باستخدام HMAC-SHA1/256/384/512 وعدد تكرارات قابل للتخصيص.


                    

PBKDF2 (RFC 8018) applies HMAC to a password and salt repeatedly to deliberately slow down computation — it's the oldest of the standardized algorithms for password hashing and encryption key derivation.

How to use it

Common uses

Things to keep in mind

Unlike bcrypt and Argon2, PBKDF2 isn't memory-hard — it only requires CPU time, so it's less resistant to attacks on GPUs with many parallel compute units.

The recommended iteration count rises over time in NIST and OWASP guidance as hardware gets faster — check against current recommendations periodically.

مقالة عن هذه الأداة: PBKDF2: أقدم معيار لتمديد المفاتيح

الأسئلة الشائعة

كيف يؤثر عدد التكرارات (iterations) على الأمان والأداء؟

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

ما دور الملح (salt) في PBKDF2؟

الملح قيمة عشوائية فريدة تُضاف إلى كلمة المرور قبل الاشتقاق، وتمنع استخدام جداول تخمين جاهزة (rainbow tables) وتضمن أن نفس كلمة المرور تنتج هاشات مختلفة لمستخدمين مختلفين.

أين تُستخدم PBKDF2 عادةً؟

تُستخدم لاشتقاق مفاتيح تشفير من كلمات مرور (مثلًا في AES) ولتجزئة كلمات المرور للتخزين، عبر تطبيق دالة HMAC بشكل متكرر لجعل عملية الاشتقاق أبطأ عمدًا أمام هجمات القوة الغاشمة.

هل يهم اختيار دالة التجزئة الأساسية التي يستخدمها PBKDF2؟

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

أين يُستخدم PBKDF2 أيضًا غير تخزين كلمات المرور؟

يُستخدم PBKDF2 على نطاق واسع لاشتقاق مفاتيح تشفير من كلمات مرور — مثلًا في WPA2/WPA3 لشبكات Wi-Fi، وفي العديد من صيغ حاويات الملفات المشفّرة.

مقالات: التجزئة/التشفير

Hash Generator: ما الفرق بين MD5 وSHA-1 وSHA-256

لماذا لا تزال MD5 تُستخدم للتحقق من سلامة الملفات، لكن ليس لكلمات المرور.

Checksum Verifier: كيف تتحقق من أن الملف غير تالف

لماذا يؤكد تطابق المجموع الاختباري سلامة الملف، لكن ليس من أنشأه.

HMAC: كيف تختلف التجزئة بمفتاح عن التجزئة العادية

لماذا لا يحمي SHA-256 العادي من التلاعب برسالة، بينما يحمي HMAC.

Bcrypt: لماذا تُجزَّأ كلمات المرور ببطء لا بسرعة

لماذا يُعدّ SHA-256 السريع خيارًا سيئًا لكلمات المرور، وbcrypt البطيء هو الخيار الصحيح.

UUID: كيف تُولَّد معرّفات لا تتكرر تقريبًا أبدًا

لماذا يمكن توليد UUID v4 بشكل مستقل على ملايين الأجهزة دون خطر التصادم.

مولّد كلمات المرور: ما الذي يجعل كلمة المرور قوية فعلًا

لماذا تكون كلمة مرور طويلة من كلمات القاموس أقوى من كلمة قصيرة برموز وأرقام.

AES: كيف يعمل التشفير المتماثل

لماذا يشفّر نفس المفتاح البيانات ويفكّ تشفيرها في AES، وكيف يختلف ذلك عن التشفير غير المتماثل.

Argon2: لماذا فازت هذه الخوارزمية بمسابقة تجزئة كلمات المرور

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

Scrypt: لماذا تحتاج الخوارزمية إلى كل هذه الذاكرة

لماذا تتطلب scrypt عمدًا ذاكرة كبيرة لتصعيب الكسر على أجهزة ASIC.

TOTP: كيف تعمل الرموز أحادية الاستخدام في تطبيقات المصادقة

لماذا يعمل رمز Google Authenticator دون إنترنت ويتزامن مع الخادم عبر الوقت فقط.

X.509: ماذا يوجد داخل شهادة SSL

ما الذي يتحقق منه المتصفح بالضبط في شهادة موقع قبل عرض القفل الأخضر.

PGP: كيف يعمل التشفير بمفتاح عام وخاص

لماذا يمكن مشاركة المفتاح العام لـ PGP بحرية، لكن ليس المفتاح الخاص أبدًا.