/* RSS feed ----------------------------------------------- */

الاثنين، شباط ٢١، ٢٠٠٥

Security : SHA-1 Algorithm is broken


يبدوا أن عالم الCryptography يحتاج الى مجموعة جديدة من المعادلات.

أولا تم استبدال DES (وهي عبارة عن معادلة لتشفير المعلومات باستخدام كلمة سر وكانت تعد حتى وقت قريب الstandard في عالم الsymmetric encryption) بAES.

والآن تم اكتشاف ضعف في الSecure Hash Algorithm أو مايسمى بSHA-1.

باختصار تتم عملية الhashing باستخدام برنامج يأخذ كمدخل الرسالة التي نريد حساب الhash لها ثم يقوم البرنامج (باستخدام معادلة مثل SHA-1) بحساب رقم يتكون من عدد ثابت من الbits ,وعدد الbits في الرقم الناتج أو مايسمى بالhash لايتغير بتغير حجم المعلومات, وفي حالة معادلة SHA-1 الرقم الناتج يتكون من 160 بت.

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

هناك الكثير من المعادلات التي يمكن استخدامها لحساب الhash ولكن نوع محدود منها يسمى الone way hash هو الذي يستخدم في برامج الحماية وذلك لتوفر صفتين في هذا النوع من المعادلات. أولا أنه فعلا one way بمعنى أنه بإمكانك أخذ رسالة وحساب الhash لها ,ولكن من "شبه" المستحيل أن تعد بناء الرسالة اذا حصلت على الhash الناتج عنها (المقصود بشبه المستحيل أن عملية اعادة تكوين الرسال يحتاج الي وقت طويل جدا ولو استخدمت أحدث الأجهزة الحالية مما يجعل اعادة استراجع الرسالة غير عملي).

الصفة الثانية أن هذه المعادلات collision free ,بمعنى أنه من المستحيل أن تجد رسالتين يكون لهما نفس الhash.

لقد قام مجموعة من الباحثين في الصين بإثبات أن المعادلة SHA-1 ليست collision free وبإمكانك متابعة شرح دقيق للموضوع في هذا المقال.