رمزنگاری در بلاک چین ( بخش اول )

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

0 356

روش رمزنگاری

مقدمه:

در مقالات قبل با شروع از تاریخچه رمزنگاری به بررسی روش‌های رمزنگاری جانشینی از جمله روش رمز سزار و نمونه‌های پیشرفته آن پرداختیم. رمزهای جانشینی، انواعی از روش‌های رمزنگاری هستند که در آن‌ها یک حرف یا کاراکتر یا عبارت و در حالت کلی واحدهای اطلاعاتی (مانند بیت[۱] و بایت‌ها) با واحد متناظر دیگری جایگزین می‌شود. همانطور که گفته شد این عمل اصولا باید توسط یک کلید انجام بگیرد. کلید در رمز سزار ساده یک عدد است که نشان می‌دهد یک حرف را باید با چند حرف بعد (یا قبل) از آن جایگزین کرد. کلید در رمزنگاری همان ابزاری است که به ما اجازه می‌دهد تا هم یک عبارت را رمزگذاری کنیم و هم آن را رمزگشایی کنیم. همینطور نشان دادیم که اساسا هدف یک رمز غیرقابل شکسته شدن نیست، بلکه ساخت یک تعادل بین امنیت روش رمزنگاری و مقیاس‌پذیری و کاربردی بودن آن است و هدف رمزنگار این است که رمزی بسازد که

  • اولا شکستن این رمز با روشی سریع‌تر از آزمون و خطا میسر نباشد. (یعنی فردی که قصد دارد رمز را بشکند باید تمامی احتمالات ممکن برای کلید را مورد آزمون قرار دهد تا بتواند کلید صحیح را پیدا کند.)
  • اجرای آزمون و خطا از نظر تئوری برای حمله کننده به صرفه نباشد.

اصطلاحا می‌گوییم تنها روش شکستن رمز باید Brute-Force باشد و زمان لازم برای این روش هم بسیار بزرگ باشد. در عین حال همانطور که گفته شد مقیاس‌پذیری هم باید رعایت شود تا بتوان کلید را در اختیار طرف‌های دیگر گذاشت و البته به صورت رمز در آوردن متن اولیه نیز از نظر پردازشی به صرفه باشد.

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

مزایای روش رمزنگاری نامتقارن در این است که می‌توان کلید عمومی را به راحتی در اختیار تعداد زیادی قرار داده و بدون ترس از اینکه امنیت پیام‌های دیگران به شما از دست برود از طریق هر کانالی (امن یا غیر امن) به توزیع کلید عمومی دست بزنید. این موضوعی است که در روش رمزنگاری متقارن قابل دستیابی نبود و همیشه نیاز به یک کانال امن برای تبادل کلید وجود داشت که خود این مساله یک سیستم رمزنگاری و یک ارتباط رمزنگاری شده می‌طلبد. علاوه بر این استفاده از رمزنگاری نامتقارن امکان جدیدی به نام امضای دیجیتال در اختیار ما قرار داده‌ است که درباره آن در مقاله قبل توضیح دادیم.

برای درک بهتر رمزنگاری می‌توان آن را به صورت یک صندوق دارای کلید در نظر گرفت. رمزنگاری متقارن مشابه با صندوقی است که قفل آن یک کلید دارد و هر کس این کلید را در دست داشته باشد می‌تواند به پیام درون صندوق دست یابد. رمزنگاری غیرمتقارن مشابه با صندوقی است که یک قفل سه حالته دارد:

  • منتهی الیه چپ، قفل
  • منتهی الیه راست،‌ قفل
  • وسط، باز

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

دقت کنید که هر فرد برای رمزنگاری یک پیام، از کلید عمومی گیرنده مورد نظرش استفاده می‌کند و نباید از کلید خصوصی خودش برای رمزنگاری پیام استفاده کند؛ زیرا کلید عمومی متناظر با هر کلید خصوصی ممکن است در هر سطح توزیع شده باشد و در اختیار حمله‌کنندگان نیز قرار داشته باشد.

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

 

 

[۱] Bit، کوچک‌ترین واحد حافظه در رایانه که معادل با یک هشتم بایت است.

شاید از این مطالب هم خوشتان بیاید.

ارسال پاسخ

آدرس ایمیل شما منتشر نخواهد شد.