هش، عبارتی خاص و ثابت است که از یک سری داده ورودی از طریق حل معادلات ریاضی تحت فرایند هشینگ، بدست آمده است. ویژگیهای امنیتی خاص این فرایند، آن را به ابزاری مناسب برای رمزنگاری و طبقهبندی دادهها، خصوصا در صنعت بلاکچین، تبدیل میکند.

آشنایی با مفهوم هش (Hash) و تابع هش
پیش از بررسی فرایند هشینگ، آشنایی با مفهوم هش و تابع هش ضروری است. هش، یک عبارت با طول (تعداد کاراکتر) مشخص است که از طریق یک تابع هش (Hash Function) از داده ورودی، تولید میشود. درواقع هش، یک خروجی از داده اولیه است و برای امنیت و رمزنگاری دادهها استفاده میشود.
نکته: تابع هش، یک الگوریتم ریاضی است که اطلاعاتی با مقدار متفاوت را دریافت و خروجی ثابت و یکتا تولید میکند.
ویژگیهای هش
عبارات هش، ویژگیهای خاصی دارند که آنها را به ابزاری مطمئن برای رمزگزاری، تبدیل میکنند. ویژگیهای مهم هش:
- تعیینپذیری: همیشه از ورودی یکسان، خروجی یکسان تولید میکند؛
- تغییرناپذیری خروجی: با تغییر در عبارت ورودی، خروجی متفاوت میشود، حتی با یک تغییر کوچک (مثل اضافه یا حذف کردن یک نقطه)، خروجی هش کاملا متفاوت میشود؛
- عدم برخورد: در توابع هش، برخورد (یکسان بودن خروجی دو عبارت متفاوت) غیرممکن نیست، اما بسیار نادر است؛
- یکطرفه بودن: هشینگ یک فرایند یکطرفه است؛ یعنی از عبارت هش (خروجی) نمیتوان اطلاعات ورودی را بدست آورد. (این ویژگی امنیت و حریم خصوصی را تضمین میکند).
یک مثال از هش
برای درک بهتر هش و هشینگ (فرایند تبدیل اطلاعات به خروجی هش)، در تصویر زیر یک مثال عنوان شده است:

لازم به ذکر است که هش خروجی، با الگوریتم 256-SHA بدست آمده و 64 کاراکتری است.
فرایند هشینگ چیست؟
هشینگ (Hashing)، یک فرایند ریاضیاتی است که اطلاعات ورودی را به هش تبدیل میکند. مراحل فرایند هشینگ:
- دریافت ورودی: داده ورودی میتواند عدد، فایل، متن یا موارد دیگر باشد (مثلا یک بلاک شامل تراکنشها)؛
- عبور دادن داده از یک الگوریتم هش (مثلا الگوریتم SHA-256)؛
- تولید یک عبارت یکتا که معکوسپذیر نیست.
حملات و ضعفهای احتمالی در هشینگ
اگرچه هشها قابل اعتماد و امن هستند، به ندرت ممکن است حملات یا ضعفهای خاصی در آنها وجود داشته باشند. این حملات امنیت دادهها را به خطر میاندازند؛ و مقاومت الگوریتم در برابر آنها، بسیار مهم است. حملات و ضعفهای احتمالی در هشینگ:
- حملات Collision Attack: حمله برخورد به یکی بودن خروجی هش برای اطلاعات متفاوت گفته میشود. این اتفاق بسیار نادر است اما درصورت وقوع، به این دلیل که حملهکننده میتواند ورودیهای مختلف را بهجای یکدیگر استفاده کند و سیستم را فریب دهد، بسیار خطرناک است؛
- حمله Preimage Attack: در این نوع حمله، هدف این است که از طریق هش، اطلاعات ورودی یافت شود؛ این حمله یکی از مهمترین ویژگیهای هش، یعنی برگشت ناپذیری را به خطر میاندازد؛
- حمله Second Preimage Attack: در این حمله از طریق یک ورودی مشابه با ورودی اصلی، هش تراکنش به دست میآید. اگر هش تراکنش یافت شود، مهاجم به اطلاعات ورودی اصلی، دسترسی پیدا میکند؛
- حمله Birthday Attack: در این حمله، مهاجم بهجای جستجو برای برخورد، با استفاده از ورودیهایی که هشهای مشابه تولید میکنند، برخورد را پیدا میکند.
کاربرد هشینگ در ارزهای دیجیتال
ویژگیهای خاص [غیرقابل بازگشت، تعیینپذیری و عدم برخورد] باعث کاربرد گسترده هشینگ در صنعت ارزهای دیجیتال شده است؛ هش دادههای تراکنشها را به عباراتی غیرقابل بازگشت تبدیل میکند؛ هر بلوک در بلاکچین حاوی هش منحصربهفردی است که حتی با کوچکترین تغییر در دادهها، کاملاً تغییر میکند و دستکاری اطلاعات را غیرممکن میسازد.
همچنین در فرآیند استخراج (ماینینگ)، از الگوریتمهای هشینگ برای حل مسائل ریاضی پیچیده استفاده میشود که نتیجه آن تشکیل بلاک جدید و اضافهشدن آن به بلاکچین است. این مکانیزم باعث شفافیت، غیرمتمرکزسازی و مقاومت در برابر حملات سایبری میشود.
جمعبندی
هشینگ فرایند تبدیل اطلاعات به یک مقدار یکتا و ثابت به نام هش است. به دلیل غیرقابل بازگشت بودن هشها، امکان دستیابی به داده اولیه از روی مقدار هش وجود ندارد.
ویژگیهای منحصربهفرد هش باعث شده تا این فرایند رمزنگاری در صنایع بانکی، امنیت سایبری، دولت، سازمانهای امنیتی و خصوصا بلاکچین و ارزهای دیجیتال، کاربرد گستردهای داشته باشد.