امضای دیجیتال و هش کردن

امضای دیجیتال و توابع هش رمزنگاری سس مخفی را تشکیل می دهد که ارز رمزنگاری را کار می کند. آنها می توانند رمزنگاری را به ارز تبدیل کنند. امضای دیجیتالی شما ثابت می کند که کلید خصوصی دارید که مالکیت دارایی های توصیف شده در یک معامله را ادعا می کند. یک تابع هش یک معامله را تعریف و ایمن می کند.

رمزنگاری – آیا می خواهید رازی را بدانید?

امضاهای دیجیتالی و توابع هش در رمزنگاری زندگی می کنند ، بنابراین رمزنگاری چیست؟ رمزنگاری هنر و علم رمزگذاری و رمزگشایی پیام ها را برای حفظ حریم خصوصی بین ارتباط دهندگان تعریف می کند.

روزهای سالاد رمزنگاری

اشکال مختلف رمزنگاری در دوره های مختلف طی سالها غالب است. در روزهای جولیوس سزار ، چرخش ساده الفبا کافی بود. و بنابراین رمزنگاران از این به عنوان “رمز سزار” یاد می کنند. به جای کلمه “گربه” ، یک پیام رمزگذاری شده می تواند تمام حروف را یک قدم به سمت چپ بچرخاند ، بنابراین “گربه” به “dbu” ترجمه می شود. در فیلم 2001: ادیسه فضایی, حروف “HAL” را به همین ترتیب بچرخانید ، و چه چیزی بدست می آورید?

هرچه زمان می گذرد ، سیستم های رمزنگاری از بین می روند ، زیرا تحلیلگران رمزنگاری هر سیستم داده شده را حل می کنند.

رمزنگاری کلید عمومی

عکس امضاهای دیجیتال

رمزنگاری نامتقارن ، که به عنوان رمزگذاری کلید عمومی / کلید خصوصی یا رمزنگاری کلید عمومی نیز شناخته می شود ، در حال حاضر حاکم است. کلیدهای عمومی و کلیدهای خصوصی به سادگی اعداد هستند.

اصطلاح نامتقارن آن را از رمزنگاری متقارن متمایز می کند. در رمزنگاری متقارن ، همان کلید پیام را رمزگذاری و رمزگشایی می کند. در نتیجه ، کلید باید پنهان بماند. این مسئله یک مشکل توزیع کلید ایجاد می کند – نحوه انتقال ایمن کلید به گیرنده و همچنین پیام رمزگذاری شده?

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

مثال رمزنگاری کلید عمومی

برای نشان دادن با یک مثال بسیار ساده, دو عدد اول را ضرب کنید: prime1 * prime2 = نتیجه. با توجه به اعدادی که به اندازه کافی بزرگ هستند ، هرکسی می تواند نتیجه را بررسی کند ، اما تعیین اینکه از کدام دو عدد اول برای رسیدن به آن نتیجه استفاده شده است ، مشکل زیادی وجود دارد. نتیجه ، کلید عمومی را نشان می دهد و Prime1 و Prime2 کلید خصوصی را نشان می دهند.

رمزنگاری نامتقارن هنگامی خراب می شود که هکرها از قدرت محاسباتی کافی در برابر آن استفاده می کنند. با این حال ، هکرها برای انجام این کار در یک بازه زمانی مناسب به ابر رایانه ها نیاز دارند. هنگامی که رایانه های کوانتومی رشد می کنند ، رمزگذاری باید تکامل یابد.

امضاهای دیجیتال

امضای دیجیتالی که توسط کلید خصوصی ایجاد شده است ، کلید خصوصی را نشان می دهد و بدین ترتیب کاربر را نشان می دهد که در معامله داده شده از سیستم خارج شده است.

شما می توانید امضای دیجیتالی را مانند نوعی تغییر پیام رمزگذاری شده تصور کنید. همانطور که رمزنگاری کلید عمومی یک پیام رمزگذاری شده ایجاد می کند ، یک کلید خصوصی نیز یک امضای دیجیتالی ایجاد می کند. با استفاده از کلید عمومی ، می توانید به سرعت تأیید کنید که امضای دیجیتال توسط کلید خصوصی ایجاد شده است. به این فکر کنید که چیزی شبیه یک اره منبت کاری اره مویی است. ممکن است تکمیل این معما بسیار دشوار باشد ، اما اگر به طور صحیح کامل شوید ، با یک نگاه آن را تأیید می کنید.

جشن در خانه هاش

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

یک مثال ساده از هش کردن

برای توضیح ، فرض کنید می خواهیم رشته ساده “ABCDE” را به عنوان داده ورودی هش کنیم.

بیایید یک الگوریتم هش ساده ایجاد کنیم. ابتدا حروف را به اعداد ترجمه می کنیم: A = 1، B = 2، C = 3، D = 4، E = 5. مقدار هش حاصل از ما باید یک رقم باشد. یک روش ابتدایی به سادگی تمام ارقام را با هم جمع می کند: 1 + 2 + 3 + 4 + 5 = 15. این یک عدد دو رقمی به دست می دهد ، بنابراین الگوریتم ما به صورت بازگشتی ادامه می دهد تا هر رقم این عدد را اضافه کند: 1 + 5 = 6. این باعث می شود 6 مقدار هش ما و 6 نشان دهنده “ABCDE” به عنوان هش آن است.

اگر “ABCDE” را به عنوان پیامی که 6 به عنوان هش آن نشان داده شده دریافت کنید ، مطمئن هستید که پیام صحیح است. اما اگر پیام “ABCXE” را نشان دادید که با هش 6 نشان داده شده است ، عدم تطابق وجود دارد ، به وضوح به دلیل دستکاری پیام.

الگوریتم هش ساده ما البته در بسیاری از سطوح شکست می خورد. برای یک رشته ، رشته “EDCBA” یا هر ترکیبی از آن همان هش “ABCDE” را ایجاد می کند ، در نتیجه برخورد ایجاد می کند. ریاضیات پیچیده بر این مسائل غلبه می کند. الگوریتم هش کردن که بیشتر در حال حاضر در ارز رمزنگاری شده استفاده می شود با نام SHA-256 (مخفف کلمه Secure Hash Algorithm) است. در الگوریتم SHA-256 ، اندازه ثابت مقدار هش به 256 بیت می رسد.

امضای دیجیتال و هش کردن در ارز رمزنگاری شده

بسیار خوب ، پس چگونه واقعاً از امضاهای دیجیتالی و هش کردن در ارزهای رمزپایه استفاده می کنیم?

بیایید به معامله بیت کوین نگاهی بیندازیم تا فناوری را در عمل ببینیم.

یک معامله بیت کوین به دو قسمت تقسیم می شود: 1) بخش ورودی و 2) بخش خروجی.

بخش ورودی شامل کلید عمومی فرستنده ، اطلاعاتی است که نشان می دهد فرستنده دارای Bitcoins کافی برای پوشش دادن معامله و سایر اطلاعات مفید است. کلید خصوصی فرستنده برای امضای این معامله امضای دیجیتالی ایجاد می کند. این امضای دیجیتالی وارد قسمت ورودی معامله می شود.

بخش خروجی شامل آدرس کیف پول گیرنده و یک فهرست است زیرا بیش از یک خروجی وجود دارد (خروجی های مختلف به گیرنده ، فرستنده و استخراج کننده می رود).

هاشینگ برای محافظت از یکپارچگی معامله وارد عمل می شود. داده هایی مانند پرداخت کننده ، گیرنده و مبلغ پرداخت شده برای محافظت در برابر بازیگران مخربی که این اطلاعات را محافظت می کنند ، به هش کردن نیاز دارند. ترکیب کلید رمزنگاری و این پارامترهای ورودی برای تغذیه عملکرد هش ، شناسه معامله را ایجاد می کند. ما اکنون با اطمینان رمزنگاری می دانیم که فرستنده در واقع صلاحیت پرداخت را دارد و جزئیات معامله درست است و دستکاری نشده است.

پرواز در دوغ

یک مشکل شناخته شده در معاملات بیت کوین با چیزی به نام بوجود آمد قابلیت انعطاف پذیری معامله.

قابلیت انعطاف پذیری معامله به این دلیل رخ می دهد که بیت کوین زمینه های مختلفی را در معامله هش می کند. در حین پردازش معامله ، برخی از این زمینه ها ممکن است به روشهایی به ظاهر حاشیه ای و ناچیز تغییر کنند. اما از آنجا که آنها تغییر می کنند ، مقدار هش تغییر می کند و باعث تغییر شناسه معامله می شود.

برای تجسم این موضوع ، به فیلدی فکر کنید که شامل عدد صحیح 123 است ، اما در حین پردازش ، این سیستم این عدد را به 0123 تبدیل می کند. متفاوت است و متعاقباً مقادیر مختلف هش برای هر یک ایجاد می کند. این ویژگی عجیب فرصت بازی بازیگران بد را برای بازی در سیستم فراهم می کند.

SegWit به نجات

فناوری Segregated Witness (SegWit) این مشکل را برطرف کرد. SegWit یک ساختار جدا از یک بلوک (تفکیک شده) ایجاد می کند. این ساختار جداگانه شامل اطلاعات لازم برای تعیین اعتبار یک معامله (شاهد اعتبار معامله) است اما خود داده معامله را در بر نمی گیرد. با جدا کردن داده های معامله از این طریق ، امکان انعطاف پذیری از بین می رود.

جمع بندی افکار

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