محمد نصیری
بنیانگذار انجمن تخصصی فناوری اطلاعات ایران ، هکر کلاه خاکستری ، کارشناس امنیت اطلاعات و ارتباطات

Whirlpool چیست؟ معرفی تابع درهم سازی (Hashing) ویرپول

Whirlpool يك تابع درهم‌سازي است كه بوسيلة Vincent Rijmen و Paulo S. L. M. Barreto طراحي شده‌است و روي پيام‌هاي كوچكتر از 256 2 بيت عمل مي‌كند و يك خلاصه‌پيام 512 بيتي توليد مي‌كند. Whirlpool از روش تقويت Merkle-Damgard و روش درهم‌سازي Miyaguchi-Preneel با يك رمز‌كنندة بلوكي اختصاصي 512 بيتي به نام W استفاده مي‌كند. رشته‌بيتي كه مي‌خواهد hash شود بوسيلة يك بيت `1` و سپس با يك توالي از بيت¬هاي `0` و نهايتا" با طول اوليه (به شكل يك مقدار صحيح 256 بيتي) بسط داده مي‌شود (Padding)؛ به‌نحوي‌كه طول پيام بعد از اين عمل مضربي از 512 بيت مي‌شود. رشته‌پيام حاصل شده به توالي از بلوكهاي 512 بيتي m1، m2، ... ، mt تقسيم مي‌شود كه از آن¬ها براي توليد توالي مقادير hash H0، H1، ... ، Ht استفاده مي‌شود. طبق تعريف، H0 يك رشتة 512 بيتي از `0` ها مي‌باشد. براي محاسبة Hi، mi بوسيلة رمزكنندة W با استفاده از Hi-1 به عنوان كليد، رمز مي‌شود و cipher-text حاصل با Hi-1 و mi ، XOR مي‌شود. سرانجام، Ht خروجي Whirlpool مي‌باشد.

دوره های شبکه، برنامه نویسی، مجازی سازی، امنیت، نفوذ و ... با برترین های ایران
سرفصل های این مطلب
  1. رمزكنندة بلوكي W

رمزكنندة بلوكي W

رمزكنندة بلوكي W استفاده‌ شده توسط Whirlpool خيلي شبيه الگوريتم برندة AES ، Rijndael مي‌باشد. تفاوتهاي اصلي در جدول 1 خلاصه شده‌اند :

جدول مقایسه Whirpool

جدول شماره 1 = تفاوت هاي ميان Rijndael و W

نوع tweaked مربوط به اين الگوريتم براي پياده‌سازي سخت‌افزاري كاراتر مي‌كند. اين تغيير، ساختار زيربنايي Whirlpool را تغيير نمي‌دهد، بلكه S-box ي را جايگزين مي‌كند كه در نسخة اصلي كاملاً تصادفي توليد مي‌شود (يعني فاقد هرگونه ساختار داخلي است). S-box جديد 88 كه بوسيلة يك ساختار بازگشتي توليد مي‌شود از mini-box هاي كوچكتر 44 تشكيل شده است كه دو تا از آنها ( E-box و معكوسش) از تابع نمايي رويGF)24) مشتق مي‌شوند ويكي (R-box) به صورت شبه‌تصادفي توليد مي‌شود. اين ساختار و mini-box ها در شكل¬هاي 1 تا 3 نشان داده شده‌اند.

شكل 1 : ساختار بازگشتي S-box ِ tweaked شده

شكل 1 : ساختار بازگشتي S-box tweaked شده

شكل 2 : mini-box هاي E و E-1

شكل 2 : mini-box هاي E و E-1

امنيت Whirlpool

بافرض اينكه اگر مقدار هر زيررشتة n بيتي از خروجي كامل Whirlpool به عنوان مقدار hash برداشته شود، طراحي Whirlpool اهداف امنيتي زيرين را برآورده مي‌كند :

  • مقدار عمل لازم و مورد انتظار براي توليد يك تصادم از مرتبة 2n/2 اجراي Whirlpool مي‌باشد.
  • مقدارعمل مورد نياز براي پيداكردن يك پيام كه به يك مقدار داده‌شدةn بيتيhash شود از مرتبة n2 اجراي Whirlpool مي‌باشد.
  • يك پيام و نتيجة hash ِ n بيتي آن داده شده‌اند؛ مقدار عمل مورد انتظار براي يافتن پيام دوم كه به همان مقدار، hash شود از مرتبة n2 اجراي Whirlpool مي‌باشد.
  • تشخيص روابط قاعده‌داري بين هرتركيب خطي از بيتهاي ورودي و هرتركيب خطي از نتيجة hash ، غيرممكن است و همين‌طور پيش‌بيني اينكه چه بيتهايي از نتيجة hash درصورت تغيير بيتهاي مشخصي از ورودي دچار تغييرمي‌شوند نيز غيرممكن است (اين به معناي استحكام در برابر حملات خطي و تفاضلي مي‌باشد).

محمد نصیری
محمد نصیری

بنیانگذار انجمن تخصصی فناوری اطلاعات ایران ، هکر کلاه خاکستری ، کارشناس امنیت اطلاعات و ارتباطات

محمد نصیری هستم ، هکر قانونمند و کارشناس امنیت سایبری ، سابقه همکاری با بیش از 50 سازمان دولتی ، خصوصی ، نظامی و انتظامی در قالب مشاور ، مدرس و مدیر پروژه ، مدرس دوره های تخصص شبکه ، امنیت ، هک و نفوذ ، در حال حاضر در ایران دیگه رسما فعالیتی غیر از مشاوره انجام نمیدم و مقیم کشور ترکیه هستم ، عاشق آموزش و تدریس هستم و به همین دلیل دوره های آموزشی که ضبط می کنم در دنیا بی نظیر هستند.

نظرات