طراحی الگوریتم‌های هشینگ

در مرکز هشینگ، تابع ریاضیاتی وجود دارد که بر روی دو بلاک داده با اندازه ثابت اعمال می‌شود تا یک کد هش شده را ایجاد کند. این تابع هش، بخشی از الگوریتم هشینگ را تشکیل می‌دهد.اندازه و حجم هر بلاک داده بر اساس الگوریتم، متغیر است. معمولا اندازه هر بلاک از ۱۲۸ الی ۵۱۲ بیت است. شکل زیر تابع هش را نشان می‌دهد.الگوریتم هشینگ شامل چندین مرحله است که از توابع هش در آن استفاده می‌شود. در هر مرحله، ورودی با اندازه ثابت می‌گیرد و آن را با Message Block و خروجی مرحله قبل ترکیب می‌کند.
در واقع مقدار هش اولین Message Block تبدیل به ورودی دومین عملیات هش می‌شود، خروجی به دست آمده نیز برای سومین عملیات مورد استفاده قرار می‌گیرد و این روند ادامه پیدا می کند. به این فرآیند، اثر avalanche هشینگ می‌گویند.


نتیجه اثر avalanche، مقادیر هش کاملا متفاوت برای دو پیام است؛ حتی اگر فقط در یک بیت پیام‌ها تفاوت داشته باشند.


الگوریتم و تابع هش با هم تفاوت دارند. تابع هش با اجرا بر روی دو بلاک داده باینری که طول ثابت دارند، یک کد هش تولید می‌کند.


الگوریتم هشینگ فرآیندی برای استفاده از تابع هش است. به طور مشخص چگونگی تجزیه پیام و نحوه ترکیب شدن با نتایج Message Blockهای قبلی را الگوریتم هشینگ می‌گویند.


این فرآیند تا جایی که نیاز باشد، تکرار می‌شود تا کل پیام را هش کند. نمای کلی الگوریتم هشینگ در شکل زیر نشان داده شده است.

👁️ بازدید: 119🔎 ورودی گوگل: 0

نظرات (0)

    به یوزبیت؛ خانه محتوا خوش آمدید

    یوزبیت، به نویسندگان مستقل این امکان را می‌دهد که رایگان تولید محتوا کنند و با کمک هوش مصنوعی، محتوای خود را به صورت مؤثر به مخاطبان نمایش دهند.

    Your Ad Banner

    logo-samandehi

    دانلود اپلیکیشن اندروید

    درباره ما . راهنما . اطلاعیه‌ها . آپدیت‌ها . قوانین . ارتباط با ما

    کلیه حقوق این سایت برای یوزبیت محفوظ می‌باشد.