''فکت کوینز'' حاصل تلاش یک تیم متخصص وعلاقمند درزمینه بلاک چین وارزهای دیجیتال است که سعی می کند مقالات آموزش های مرتبط را با کیفیت بالا به علم اندوزان ارائه نماید وب سایت www.factcoins.com
امضای دیجیتال (Digital Signature) چیست؟
ارزهای رمزنگاری شده مانند بیت کوین و اتریوم از یک سیستم غیرمتمرکز نظیر به نظیر برای انجام معاملات استفاده می کنند. از آنجا که کل فرآیند آنلاین است ، این نگرانی وجود دارد که معاملات ممکن است ناپایدار و قابل هک باشد. در این مقاله می خواهیم ببینیم که ارز رمزنگاری شده چگونه از رمزنگاری استفاده می کند تا معاملات خود را بسیار امن کند. اصلی ترین تکنیک های رمزنگاری مورد استفاده در ارز های رمزپایه ، استفاده از تابع هش و امضای دیجیتال (Digital Signature) است.
لزوم استفاده از امضای دیجیتال
یکی از مهمترین ابزارهای رمزنگاری که در کریپتوکارنسی ها استفاده می شود مفهوم امضای دیجیتال است.
امضا در زندگی واقعی چیست و چه خصوصیاتی دارد؟ کاغذی را تصور کنید که با امضای خود امضا کرده اید ، یک امضای خوب چه کاری باید انجام دهد؟
- باید تأییدکننده باشد: امضا باید بتواند تأیید کند که شما واقعاً چیزی را امضا کرده اید.
- نباید جعلی باشد. هیچ کس دیگری نباید بتواند امضای شما را جعل و کپی کند.
- عدم انکار: اگر چیزی را با امضای خود امضا کرده اید ، پس نمی توانید آن را پس بگیرید یا ادعا کنید شخص دیگری این کار را به جای شما انجام داده است.
در دنیای واقعی ، هرچقدر هم که امضا پیچیده باشد ، همیشه احتمال جعل وجود دارد و این بسیار ناکارآمد و غیر قابل اعتماد است.
رمزنگاری با استفاده از “امضاهای دیجیتالی” که با استفاده از “کلیدها” انجام می شود ، به ما یک راه حل می دهد.
امضای دیجیتال (Digital Signature) چیست؟
امضای دیجیتالی مکانیسم رمزنگاری است که برای تأیید صحت و یکپارچگی داده های دیجیتال استفاده می شود. ممکن است ما آن را نسخه دیجیتالی امضاهای دست نویس معمولی بدانیم ، اما با پیچیدگی و امنیت بالاتر.
به زبان ساده ، ممکن است یک امضای دیجیتالی را به عنوان کدی توصیف کنیم که به پیام یا سندی متصل است. پس از تولید ، کد به عنوان اثبات عدم دستکاری پیام در طول مسیر خود از فرستنده به گیرنده عمل می کند.
اگرچه مفهوم ایمن سازی ارتباطات با استفاده از رمزنگاری به دوران باستان برمی گردد ، اما طرح های امضای دیجیتال در دهه 1970 به لطف توسعه رمزنگاری کلید عمومی (PKC) به یک واقعیت ممکن تبدیل شد. بنابراین ، برای یادگیری نحوه کار امضاهای دیجیتالی ، ابتدا باید اصول توابع هش و رمزنگاری کلید عمومی را بفهمیم.
توابع هش (Hash functions)
هش کردن یکی از عناصر اصلی سیستم امضای دیجیتال است. فرآیند هش کردن شامل تبدیل داده ها از هر اندازه به یک خروجی با اندازه ثابت است. این کار توسط نوع خاصی از الگوریتم های معروف به توابع هش انجام می شود. خروجی تولید شده توسط یک تابع هش به عنوان یک مقدار هش شناخته می شود.
وقتی هش با رمزنگاری ترکیب شود ، می توان از توابع هش رمزنگاری شده برای تولید مقدار هش استفاده کرد که به عنوان اثر انگشت دیجیتال منحصر به فرد عمل می کند. این بدان معنی است که هرگونه تغییر در داده های ورودی (پیام) منجر به خروجی کاملاً متفاوتی می شود (مقدار هش). و این دلیل آن است که از توابع هش رمزنگاری برای تأیید صحت داده های دیجیتالی به طور گسترده استفاده می شود.
رمزنگاری کلید عمومی (PKC)
رمزنگاری کلید عمومی یا PKC ، به یک سیستم رمزنگاری اشاره دارد که از یک جفت کلید استفاده می کند: یک کلید عمومی و یک کلید خصوصی. این دو کلید از نظر ریاضی با هم مرتبط هستند و می توانند برای رمزگذاری داده ها و امضای دیجیتال استفاده شوند.
PKC به عنوان یک ابزار رمزگذاری ایمن تر از روشهای ابتدایی رمزگذاری متقارن است. در حالی که سیستم های قدیمی برای رمزگذاری و رمزگشایی اطلاعات به همان کلید متکی هستند ، PKC امکان رمزگذاری داده ها با کلید عمومی و رمزگشایی داده ها با کلید خصوصی مربوطه را فراهم می کند.
در اصل ، ا فرآیند امضای دیجیتال شامل هش پیام (یا داده های دیجیتال) همراه با کلید خصوصی امضا کننده است. در مرحله بعدی ، گیرنده پیام می تواند با استفاده از کلید عمومی ارائه شده توسط امضا کننده ، معتبر بودن امضا را بررسی کند.
در برخی شرایط ، امضاهای دیجیتال ممکن است رمزگذاری داشته باشند ، اما همیشه اینطور نیست. به عنوان مثال ، بلاکچین Bitcoin از PKC و امضاهای دیجیتال استفاده می کند . از نظر فنی ، بیت کوین اصطلاحاً الگوریتم امضای دیجیتال Elliptic Curve (ECDSA) را برای تأیید اعتبار معاملات به کار می گیرد.
امضاهای دیجیتالی چگونه کار می کنند؟
در زمینه ارزهای رمزپایه ، یک سیستم امضای دیجیتال اغلب از سه مرحله اساسی تشکیل شده است:
بیشتر بخوانید : بیت کوین بهترین منبع سرمایه گذاری
هش کردن ، امضا کردن و تأیید.
هش کردن داده ها (Hashing the data):
اولین مرحله هش پیام یا داده های دیجیتالی است. این کار با ارسال داده ها از طریق الگوریتم هش انجام می شود تا یک مقدار هش تولید شود . همانطور که گفته شد ، اندازه پیام ها می تواند متفاوت باشد ، اما وقتی هش می شوند ، تمام مقادیر هش آنها دارای طول یکسانی هستند. این اساسی ترین ویژگی یک تابع هش است.
با این حال ، هش کردن داده ها برای تولید امضای دیجیتال ضروری نیست .زیرا می توان از یک کلید خصوصی برای امضای پیامی استفاده کرد که اصلاً هش نشده است. اما برای ارزهای رمزنگاری شده ، داده ها همیشه هش داده می شوند زیرا برخورد با هش های با طول ثابت کل روند را تسهیل می کند.
امضا کردن (Signing)
پس از هش شدن اطلاعات ، فرستنده پیام باید آن را امضا کند. این لحظه ای است که رمزنگاری با کلید عمومی وارد عمل می شود. انواع مختلفی از الگوریتم های امضای دیجیتال وجود دارد ، هر کدام مکانیزم خاص خود را دارند. اما در اصل ، پیام هش شده با یک کلید خصوصی امضا می شود و سپس گیرنده پیام می تواند اعتبار آن را با استفاده از کلید عمومی مربوطه (که توسط امضا کننده ارائه شده است) بررسی کند.
به عبارت دیگر ، اگر هنگام تولید امضا ، کلید خصوصی در آن گنجانده نشود ، گیرنده پیام نمی تواند از کلید عمومی مربوطه برای تأیید اعتبار آن استفاده کند. کلیدهای عمومی و خصوصی توسط فرستنده پیام تولید می شوند . اما فقط کلید عمومی با گیرنده به اشتراک گذاشته می شود.
شایان ذکر است که امضاهای دیجیتالی ارتباط مستقیمی با محتوای هر پیام دارند. بنابراین برخلاف امضاهای دست نویس ، هر پیام دیجیتالی با امضای دیجیتال متفاوت است.
راستی آزمایی کردن(Verifying)
تصور کنید که آلیس پیامی برای باب می نویسد ، آن را هش می کند و سپس مقدار هش را با کلید خصوصی خود ترکیب می کند تا امضای دیجیتالی تولید کند. این امضا به عنوان اثر انگشت دیجیتالی منحصر به فرد آن پیام خاص کار خواهد کرد.
وقتی باب پیام را دریافت کرد ، می تواند با استفاده از کلید عمومی ارائه شده توسط آلیس ، اعتبار امضای دیجیتالی را بررسی کند. از این طریق ، باب می تواند مطمئن باشد که امضا توسط آلیس ایجاد شده است. زیرا فقط او دارای کلید خصوصی است که با آن کلید عمومی مطابقت دارد .
بنابراین ، برای آلیس بسیار مهم است که کلید خصوصی خود را مخفی نگه دارد. اگر شخص دیگری کلید خصوصی آلیس را بگیرد ، می تواند امضای دیجیتالی ایجاد کند و خود را آلیس معرفی کند. و از این راه برای جابجایی یا خرج بیت کوین بدون اجازه وی استفاده کند.
چرا امضاهای دیجیتالی مهم هستند؟
از امضاهای دیجیتالی اغلب برای دستیابی به سه نتیجه استفاده می شود: یکپارچگی داده ها ، احراز هویت و عدم انکار.
- یکپارچگی داده. باب می تواند تأیید کند که پیام آلیس در طول مسیر تغییر نکرده است. هر تغییری در پیام امضای کاملاً متفاوتی ایجاد می کند.
- اعتبار: تا زمانی که کلید خصوصی آلیس مخفی است ، باب می تواند با استفاده از کلید عمومی تأیید کند که امضای دیجیتال توسط هیچ کس دیگری ایجاد نشده است.
- عدم انکار: پس از تولید امضا ، آلیس نمی تواند امضای آن را در آینده انکار کند ، مگر اینکه کلید خصوصی اش به نوعی به خطر بیفتد.
کاربرد امضای دیجیتال
امضای دیجیتال را می توان برای انواع مختلف اسناد و مدارک دیجیتال اعمال کرد. برخی از موارد رایج استفاده عبارتند از:
- فناوری اطلاعات: برای افزایش امنیت سیستم های ارتباطی اینترنتی.
- دارایی، مالی و سرمایه گذاری: امضاهای دیجیتالی را می توان برای حسابرسی ، گزارش هزینه ها ، موافقت نامه های وام و موارد دیگر استفاده کرد.
- مراقبت های بهداشتی: امضاهای دیجیتالی می تواند از تقلب در نسخه ها و سوابق پزشکی جلوگیری کند.
محدودیت ها
چالش های عمده ای که در استفاده از امضای دیجیتال روبرو هستند :
کیفیت الگوریتم های مورد استفاده در امضای دیجیتال مهم است.
اگر الگوریتم ها خوب باشند ، اما پیاده سازی آنها صحیح نباشد ، سیستم امضای دیجیتال احتمالاً نقایصی دارد.
برای کاربران رمز ارز ، از دست دادن کلید خصوصی ممکن است منجر به خسارات مالی قابل توجهی شود.
نتیجه گیری
رمزنگاری روشی است برای استفاده از اصول پیشرفته ریاضی در ذخیره سازی و انتقال داده ها در یک فرم خاص. به طوری که فقط کسانی که پیام برای آنها در نظر گرفته شده است، می توانند آن را بخوانند و پردازش کنند.در این مقاله به بررسی تکنیک های مختلف رمزنگاری مثل امضای دیجیتال و تابع هش پرداخته شد.
منبع: factcoins.com
مطلبی دیگر از این انتشارات
وایت پیپر اتریوم- قسمت هفتم
مطلبی دیگر از این انتشارات
رمزنگاری نامتقارن چیست؟
مطلبی دیگر از این انتشارات
درخت مرکل (Merkle) چیست؟