الگوریتم SHA-256 چیست؟

SHA-256 از خانواده توابع هش رمزنگاری SHA-2 است که توسط سازمان NSA طراحی شده است. Secure Hash Algorithms) SHA) یکی از الگوریتم‌های ایمن هش است. توابع هش رمزنگاری شده یک سری عملیات‌های ریاضی هستند که بر روی داده‌های دیجیتالی اعمال می‌شوند؛ یک شخص با مقایسه هش محاسبه شده (خروجی که از درون الگوریتم هش در می‌آید) با مقدار هشی که مورد انتظار وی است، می‌تواند درستی و صحت یک داده را تشخیص دهد. داده‌ها می‌توانند در یک فرآیند یک طرفه به هش تبدیل شوند، اما هش تولید شده را نمی‌توان تبدیل به داده اولیه کرد.

0 2,351

رمزنگاری SHA-256 که نسخه جدیدتری از SHA-1 است، چندان سخت‌تر از SHA-1 نیست و کلید ۲۵۶ بیتی آن هرگز قابل تفسیر نیست.

 الگوریتم SHA-256 چیست؟

ارتباطات ایمن برای وبسایت‌ها و سرویس‌های وب براساس فایل‌هایی است که با عنوان certificate شناخته می‌شوند. از آنها برای ایجاد و اعتبارسنجی ارتباطات ایمن استفاده می‌شود، این certificateها حاوی عنصرهای رمزنگاری‌شده‌ای هستند که با استفاده از الگوریتم‌هایی همچون SHA-256 تولید شده‌اند.

پیش‌تر از این certificate ها اغلب با استفاده از SHA-1 و به عنوان آیتم‌های امضای دیجیتالی ایجاد می‌شدند، اما الگوریتم آن به مرور مورد نارضایتی قرار گرفت و بیشتر کاربران اینترنتی آن را به عنوان یک الگوریتم امن در نظر نمی‌گیرند. در نتیجه یک حرکت مهم انجام شد و certificateها با استفاده از الگوریتم جدید SHA-256 نوشته شدند.

گذر به SHA-2

در سال ۲۰۱۶، صنعت certificate SSL، به استاندارد جدید SHA-2 گذر کرد. فرآیند گذار با دوباره طراحی کردن هزاران certificate و به روزرسانی تعداد زیادی نرم‌افزار (توسط موسسات مطمئن اعتبارسنجی certificate ) انجام شد .

مهلت نهایی به کارگیری certificate های جدید ۳۱ دسامبر ۲۰۱۵ بود و در این تاریخ اساسا شبکه‌های اینترنتی به استاندارد جدید سوییچ کردند، گرچه هنوز نیز بعضی خطاهای غیرقابل پیش‌گیری در آن وجود دارد.

طی سال بعد و یا دوسال بعد اکثریت certificateهای Sha-1 خاموش شدند، به طوری که در آگوست ۲۰۱۷ تعداد آن‌ها به حدود ۵۰۰۰۰۰ عدد رسیده بود.

رمزنگاری SHA-3 ، تکنولوژی آینده است

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

این به آن معنا نیست که رمزنویسان بیکار نشسته و منتظر بروز مشکل هستند. نسخه بعدی Sha-2 که SHA-3 نامیده می‌شود، هم اکنون تکمیل شده است. وقتی زمان گذار آن فرا برسد، صنعت تکنولوژی‌های آنلاین می‌توانند از SHA-3 به عنوان گزینه جدید خود استفاده کنند، اما شاید تا آن زمان الگوریتمی کاملا متفاوت جای آن را بگیرد.

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

توضیحات بیشتر در مورد SHA-256

 الگوریتم SHA-256 چیست؟

اولین نسخه از الگوریتم SHA-256 در بهار سال ۲۰۰۲ توسط آژانس امنیت ملی آمریکا ایجاد شد. چند ماه بعد دانشگاه ملی مترولوجیکال در ژورنال FIPS PUB 180-2 خبر از ایجاد یک پروتکل رمزنگاری جدید داد که یک استاندارد ایمن برای پردازش داده‌ها در سطح فدرال است. در زمستان سال ۲۰۰۴ این الگوریتم با دومین نسخه آن جایگزین شد.

در طول سه سال بعد، NSA دومین نسل از پتنت Sha را تحت لایسنس Royalty-free منتشر کرد و همین کار باعث افزایش رشد استفاده از این تکنولوژی توسط مردم عادی شد.

این پروتکل اطلاعات دریافت شده را به قطعه‌های ۵۱۲ بیتی (یا به عبارت دیگر ۶۴ بایتی) می‌شکست. این پروتکل به این وسیله رمزنگاری میکسینگ (mixing) خود را تولید کرده و سپس یک هش کد ۲۵۶ بیتی تولید می‌شود. این الگوریتم شامل یک دور نسبتاً ساده است که ۶۴ بار تکرار می شود.

علاوه بر این، SHA-256 دارای پارامترهای فنی قابل قبولی است:

  • شاخص اندازه بلاک (بایت) : ۶۴.
  • حداکثر طول مجاز برای پیام (بایت) : ۳۳
  • مشخصات خلاصه کردن اندازه پیام (بایت) : ۳۲
  • اندازه استاندارد کلمات (بایت) : ۴
  • پارامتر داخلی طول (بایت) : ۳۲
  • تعداد تکرارها در یک چرخه : ۶۴
  • سرعتی که می‌توان با این پروتکل به آن دست یافت (مگابایت بر ثانیه) : حدود ۱۴۰

الگوریتم Sha-256 براساس متد ساختاری مرکل-دامگارد (Merkle-Damgard) ساخته شده است. بر همین اساس اطلاعات اولیه فورا به بلاک‌هایی تقسیم شده و پس از تغییراتی که بر روی آن صورت می‌گیرد، اطلاعات اولیه به یک خروجی ۱۶ کلمه‌ای تبدیل می‌شود.

SHA-256 در بخش‌های مختلفی از شبکه بیت کوین مورد استفاده قرار می‌گیرد:

  1. استخراج از SHA-256 به عنوان الگوریتم اثبات کار استفاده می‌کند.
  2. به منظور بهبود امنیت و حریم خصوصی، از SHA-256 برای ایجاد آدرس‌های بیت کوین استفاده می‌شود.

منبع

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

ارسال پاسخ

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