امضای دیجیتال نوعی سازوکار رمزنگاری است. از امضای دیجیتال برایآن برای سنجش صحت و یکپارچگی دادههای دیجیتالی استفاده میشود. میتوانید آن را بهصورت نسخۀ دیجیتالی از امضاهای معمولی دستنویس فرض کنید که پیچیدگی و امنیت بیشتری دارند.
به زبان ساده، میتوانیم امضای دیجیتالی را کدی بدانیم که به یک پیام یا سند ضمیمه شده است. کد یادشده پس از ایجاد نقش سند و مدرک را دارد. این سند و مدرک نشان میدد که پیام در مسیر ارسال از فرستنده به گیرنده تغییر نکرده است.
مفهوم ایمنسازی ارتباطات با استفاده از رمزنگاری ریشه در روزگاران کهن دارد؛ اما تا با فرارسیدن دهۀ ۱۹۷۰ و بر اثر توسعۀ رمزنگاری با کلید عمومی، روشهای ایجاد امضای دیجیتالی به واقعیتی دستیافتنی تبدیل شدند. بنابراین اگر بخواهیم با سازوکار امضای دیجیتال آشنا شویم، ابتدا باید مبانی توابع دَرهمسازی و رمزنگاری با کلید عمومی را درک کنیم.
توابع دَرهمسازی
دَرهمسازی یکی از عناصر بنیادین در سیستم امضای دیجیتالی است. در فرایند درهمسازی، دادهها با اندازههای گوناگون به یک خروجی با اندازۀ ثابت تبدیل میشوند. این امر با الگوریتمهای خاصی انجام میشود. با این الگوریتمها، توابع دَرهمسازی میگویند. خروجی ایجادشده با استفاده از تابع درهمسازی با نام مقدار درهمسازی یا «چکیدۀ پیام» شناخته میشود.
هنگامی که تابع چکیدهساز با رمزنگاری ترکیب میشود، میتوان آن را برای ایجاد مقدار هَش (چکیده) به کار برد. این مقدار هَش بهصورت یک اثرانگشت دیجیتالی منحصربهفرد عمل خواهد کرد. این امر یعنی هر تغییری در دادۀ ورودی (پیام) باعث ایجاد مقدارخروجی (مقدار هَش) کاملا متفاوت میشود. و به این دلیل است توابع چکیدهساز استفاده فراوانی در سنجش صحت دادههای دیجیتالی دارند.
رمزنگاری با کلید عمومی (PKC)
منظور از رمزنگاری با کلید عمومی یا PKC سیستمی است که از یک جفت کلید استفاده میکند: یک کلید عمومی و یک کلید خصوصی. دو کلید ارتباط ریاضیاتی با هم دارند و از آنها میتوان هم در رمزنگاری دادهها و هم امضاهای دیجیتال استفاده کرد.
PKC، بهعنوان ابزاری برای رمزنگاری، امنتر از روشهای ابتدایی مانند رمزبندی تککلیده است. سیستمهای قدیمی از کلیدی یکسان برای رمزگذاری و رمزگشایی اطلاعات استفاده میکنند؛ اما PKC اجازه میدهد با کلید عمومی دادهها را رمزنگاری کرد و با کلیدی خصوصی متناظرش دادهها را رمزگشایی کرد.
به غیر از آن، از برنامۀ PKC میتوان برای تولید امضاهای دیجیتال استفاده کرد. اساسا، این فرایند از یک پیام درهمسازی (یا دادۀ دیجیتال) بههمراه کلید خصوصی امضاکننده تشکیل میشود. سپس، گیرندۀ پیام با استفاده از کلید عمومی امضاکننده میتوانید صحت امضا را تایید کند.
ممکن است در برخی از موقعیتها امضای دیجیتال مستلزم رمزنگاری باشد؛ اما همیشه اینگونه نیست. برای مثال، بلاکچین بیتکوین از PKC و امضاهای دیجیتال استفاده میکند؛ اما برخلاف باور عام، هیچ رمزنگاری در آن رخ نمیدهد. از لحاظ فنی، بیتکوین برای اعتبارسنجی تراکنشها از «الگوریتم خم بیضوی امضای دیجیتال» (ECDSA) استفاده میکند.
دیدگاهتان را بنویسید