تابع هش یا درهم ساز به زبان ساده

بررسی تابع در هم ساز و کاربرد آن در رمزارزها به زبان ساده

یک تابع هش (Hash Function) (که به فارسی درهم‌سازی گفته می‌شود)، تابعی است که مقدار ورودی را دریافت کرده و با استفاده از آن، مقدار خروجی یکتا برای آن اجیاد می‌کند. در صورتی که تغییر در ورودی ایجاد شود خروجی تابع هم متفاوت خواهد بود.

تابع
 

بنابراین، یک تابع هش چیزی است که ورودی را دریافت کرده (که می‌تواند هر نوع داده‌ای شامل عدد، فایل و دیگر موارد باشد) و یک هش را به عنوان خروجی می‌دهد. یک هش معمولا به صورت یک عدد «مبنای شانزده» (Hexadecimal) نمایش داده می‌شود.

هش

تابع قابل مشاهده در تصویر بالا، تابع هش md5 است، که از هر داده ورودی یک خروجی ۳۲ کاراکتری در مبنای ۱۶ می‌سازد. تابع هش معمولا برگشت‌ناپذیر (یک طرفه) است، بدین معنا که نمی‌توان از روی خروجی به ورودی رسید و در واقع ورودی را فهمید، مگر آنکه کاربر هر ورودی ممکنی را امتحان کند (به این کار حمله جست‌و‌جوی فراگیر یا brute-force attack گفته می‌شود). توابع هش معمولا برای مشخص کردن آنکه چیزی مشابه چیز دیگری است، بدون آشکارسازی اطلاعات پیشین، مورد استفاده قرار می‌گیرند. در ادامه یک مثال برای این توضیح آورده شده است.

«آلیس» (Alice) به «باب» (Bob) ادعا می‌کند که پاسخ مساله ریاضی مطرح شده در کلاس را می‌داند. باب از آلیس می‌خواهد که این موضوع را بدون گفتن پاسخ نهایی مساله به او اثبات کند. بنابراین آلیس هش پاسخ خود را به باب می‌دهد (فرض می‌شود که پاسخ عدد ۴۲ است):

تابع هش md5

آلیس هش را به باب می‌دهد. بدین ترتیب باب با استفاده از هش نمی‌تواند بفهمد که پاسخ صحیح چیست اما هنگامی که خودش به پاسخ صحیح دست یافت می‌تواند پاسخ خود را هش کند و اگر نتیجه مشابهی دریافت کرد متوجه می‌شود که آلیس به او حقیقت را گفته و پاسخ مساله را به درستی به دست آورده است. هش‌ها معمولا در زمینه «تایید اطلاعات» (verifying information) بدون آشکارسازی آنچه در حال تایید است مورد استفاده قرار می‌گیرند.

تابع هش یا درهم ساز به زبان ساده
ویراوب ۱۲۳, مصطفی برمشوری 29 مارس 2022
این پست را به اشتراک بگذارید
تگ ها
بایگانی
پیش بینی رکورد تاریخی بیت کوین در هفته های آینده
بر اساس شاخص Leverage Ratio به نظر می‌رسد که بیت کوین تا دوماه آینده 75 هزار دلار را خواهد دید!