رفتن به محتوای اصلی
Certyneo
اصطلاح واژه‌نامه · F

تابع هش‌کردن

تعریف

تابع هش‌کردن یک تابع ریاضی یک‌طرفه است که یک ورودی با هر اندازه‌ای را به یک خروجی با طول ثابت تبدیل می‌کند که «اثر انگشت» (digest یا hash) نام‌دارد. هر تغییری، حتی تنها یک بیت، یک اثر انگشت کاملاً متفاوت تولید می‌کند. توابع مدرن (SHA-256، SHA-3) در برابر تصادم مقاوم هستند. در امضای دیجیتالی، سند ابتدا هش می‌شود سپس اثر انگشت با کلید خصوصی رمزگذاری می‌شود — این امر یکپارچگی محتوای امضا شده را تضمین می‌کند.

سؤالات متداول

یک تابع هش باید چه ویژگی‌هایی داشته باشد؟

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

چرا اثر انگشت را امضا کنیم تا سند کامل؟

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

کدام الگوریتم‌ها هنوز به‌عنوان امن در نظر گرفته می‌شوند؟

خانواده‌های SHA-2، که SHA-256 پرکاربردترین عضو آن است، و SHA-3 توصیه می‌شوند. MD5 و SHA-1 نباید دیگر برای امضا استفاده شوند: تصادم‌ها عملاً تولید شده‌اند، برای SHA-1 در سال 2017، که امکان جایگزینی یک سند با دیگری را بدون باطل کردن امضا می‌دهد.

هش و رمزگذاری، چه تفاوتی دارند؟

رمزگذاری برگشت‌پذیر است: با کلید صحیح، پیام اصلی را بازیافت می‌کنید. هش‌کردن چنین نیست: اثر انگشت امکان بازسازی سند را نمی‌دهد. اهداف نیز متفاوت است. رمزگذاری محرمانگی را محافظت می‌کند، هش‌کردن اجازه تأیید یکپارچگی را می‌دهد. امضای الکترونیکی بر دومی تکیه می‌کند، نه بر اولی.

آماده‌اید این مفاهیم را به عمل درآورید؟

Certyneo به شما اجازه می‌دهد در چند کلیک پوشش‌های امضای منطبق با eIDAS را بدون نیاز به نصب ایجاد کنید.