تابع هش چیست و چه کاربردی دارد؟
436728#0
تابع هش یا تابع درهَمَک‌ساز یا تابع چکیده‌ساز به هر رویه خوش تعریف یا تابع ریاضی می‌گویند که حجم زیادی از داده (احتمالاً حجم نامشخصی از داده) را به یک عدد طبیعی تبدیل کند. عدد طبیعی حاصل از تابع درهم‌سازی به عنوان اندیس یک آرایه مورد استفاده قرار می گیرد. مقادیر حاصل از این تابع را معمولاً مقدار هش یا فقط هش یا درهَمَک می‌خوانند. این توابع کاربردهای وسیعی در علوم کامپیوتر از جمله حفظ یکپارچگی داده ها دارند.
تابع هش
5112420#1
توابع هش کامل ممکن است برای پیاده‌سازی جدول جستجوی با بدترین زمان دسترسی استفاده شود. یک تابع هش کامل دارای بسیاری از کاربردهای مشابه توابع هش دیگر است، با این برتری که نیازی به بررسی مشکل برخورد ندارد. علاوه بر این، اگر کلیدها داده نباشند، لازم نیست کلیدها در جدول جستجو ذخیره شوند و موجب صرفه جویی در حافظه می‌شوند.
تابع درهم‌سازی کامل
284699#21
یک کاربرد مهم هش‌های امنیتی، تأیید صحیح و یکپارچه بودن پیام‌ها است. مقایسه چکیده‌های پیام (چکیده‌های هش در برابر پیام) محاسبه شده قبل و بعد از ارسال می‌تواند مشخص کند که آیا تغییراتی روی پیام یا فایل صورت گرفته یا نه.
تابع هش رمزنگاری
436728#25
هنگامی که کاربر مجموعه‌ای از داده‌ها را وارد می‌کند به صورت تصادفی یکی از توابع درهم سازی را انتخاب می‌کنیم و ورودی‌ها را با استفاده از آن تابع در حافظه ذخیره می‌کنیم. در این صورت دیگر کاربر نمی‌تواند حدس بزند که چه تابعی انتخاب شده و در نتیجه نمی‌تواند مقادیر ورودی را طوری تعیین نماید که تعداد برخوردها زیاد باشد.
تابع هش
284699#0
تابع هش رمزنگاری (CHF) یک الگوریتم ریاضی است که داده‌هایی با اندازه اختیاری (به آن «پیام» گفته می‌شود) را به یک آرایه بیتی با اندازه ثابت (به آن «درهَمَک»، «هش» یا «چکیده پیام» گفته می‌شود) نگاشت می‌دهد. ویژگی مهم این تابع «یک‌طرفه بودن» آن است و این یعنی تابعی است که وارون‌سازی آن از نظر عملی اجراپذیر نیست. از نظر ایده‌آل تنها روش یافتن پیامی که یک هش معین را ساخته‌است، انجام یک جستجوی غیرهوشمندانه روی همه ورودی‌های ممکن است تا ببینیم که آیا همخوانی دارند یا نه، روش دیگر استفاده از یک جدول رنگین‌کمانی از درهمک‌های همخوان است. توابع درهمک‌ساز رمزنگاری، یکی از ابزارهای اساسی در رمزنگاری مدرن هستند.
تابع هش رمزنگاری
284699#36
کاربرد ساده سازه فوق که در آن اندازه خروجی هش برابر است با اندازه حالت داخلی (بین هر مرحله فشرده سازی)، به طراحی هش "لوله یا میله-باریک" منجر می‌شود. این طراحی دارای عیب‌های ذاتی متعددی می‌باشد، مثل "کشیده کردن طول"، چندبرخوردی (۹)، حملات پیام طولانی (۱۰)، حملات تولید و paste، ولی نمی‌توانند جفت یا برابر شوند. در نتیجه، توابع درهم پیشرفته روی سازه لوله-پهن ساخته می‌شوند که دارای اندازه حالت داخلی بزرگتری است- و دامنه آن از پیچ ساه فوق تا سازه‌های جدید نظیر "سازه ابر" و سازه HAIFA گستر ده شده‌است (۱۱). هیچ‌یک از ورودی‌های "رقابت تابع درهم NIST" از سازه قدیمی Merkle–Damgård استفاده نمی‌کنند.
تابع هش رمزنگاری
284699#23
تقریباً همه الگوهای امضاء دیجیتالی نیاز به هش رمزنگاری جهت محاسبه پیام دارند. این کار امکان محسبه امضاء با چکیده هش نسبتاً کوچک و با اندازه ثابت را فراهم می‌کند. پیام در صورتی معتبر و صحیح عنوان می‌شود که تأیید امضاء تصدیق شود و چکیده هش مجدداً محاسبه شده پیام وجود داشته باشد؛ بنابراین، ویژگی صحیح بودن پیام هش رمزنگاری، برای تولید الگوهای امضاء دیجیتالی امن و مؤثر استفاده می‌شود.
تابع هش رمزنگاری
284699#29
یکی از کاربردهای اصلی «تابع درهم» جستجوی سریع داده در «جدول درهم» است. توابع درهم رمزنگار بعنوان توابع درهم از یک نوع خاص، خودشان کاربردهای متنوعی دارند.
تابع هش رمزنگاری
284699#28
چکیده پیام نیز به عنوان ابزاری برای شناسایی معتبر یک فایل استفاده می‌شود. چند سیستم «مدیریت رمز سورس» مثل Git, Mercurial, Monotone از sha1sum انواع مختلف محتوا (محتوای فایل، درخت‌های راهنما، اطلاعات پیشینیان و غیره) برای شناسایی تک به تک آنها استفاده می‌کنند. هش‌ها برای شناسایی فایل‌ها روی شبکه‌های به اشتراک گذاری فایل ههمتا استفاده می‌شوند. برای مثال، در لینک ed2k، تابع درهم متغیر-MD4 با اندازه فایل ترکیب می‌شود و اطلاعات کافی برای پیدا کردن مکان سورس‌های فایل، دانلود فایل و تأیید محتوای آن فراهم می‌کند. «لینک‌های مگنت» مثال دیگری از این دست می‌باشند. این هش‌های فایل بیشتر هش بالا «فهرست هش» یا «درخت هش» هستند که مزایای زیادی دارند.
تابع هش رمزنگاری
284699#27
سیستم اثبات کار (یا پروتکل یا تابع) یک مقیاس سنجش اقتصادی برای تشخیص حملات «رد خدمات» یا دیگر سوء استفاده‌های سرویسی مثل اسپم روی شبکه با درخواست کننده سرویس است که معمولاً زمان پردازش کامپیوتر را تغییر می‌دهد. یک مشخصه اصلی این الگوها، نامتقارنی آنهاست: کار باید از سمت درخواست کننده نسبتاً سخت (اما امکان‌پذیر) باشد اما چک کردن آن توسط ارائه دهنده خدمات باید راحت باشد. یک سیستم پرطرفدار که در داده کاوی بیتکوئین و Hashcash استفاده می‌شود- از معکوس تابع درهم جزیی برای اثبات کار انجام شده و برای تعیین پاداش داده کاوی در بیتکوئین به عنوان توکن یا کلمه رمزی اعتبار کار برای ارسال ایمیل در Hashcash بکار گرفته می‌شود. فرستنده، باید یک پیامی را پیدا کند که مقدار هش آن با عدد بیت صفر شروع می‌شود. کار متوسطی که فرستنده باید برای پیدا کردن پیام معتبر انجام دهد، در تعداد بیت صفر مورد نیاز در مقدار هش، بصورت نمایی است، درحالیکه دریافت کننده می‌تواند صحت پیام را با اجرای یک تابع درهم واحد تأیید کند. برای نمونه، در Hashcash، فرستنده درخواست تولید سرپیام می‌کند که در آن مقدار هش 160 bit SHA-۱ دارای ۲۰ بیت اول به صورت صفر است. بطور متوسط فرستنده کار 2 برابر برای پیدا کردن سرپیام معتبر انجام می‌دهد.
تابع هش رمزنگاری