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

الگوریتم SHA-256 چیست؟
بازدید 46
۱۳

الگوریتم SHA-256،یکی از شاخه های SHA-2 ( الگوریتم Secure Hash-2 ) است که در سال ۲۰۰۱ توسط آژانس امنیت ملی به عنوان جانشین SHA-1 ایجاد شده است. SHA-256 یک عملکرد هش رمزنگاری ثبت شده است که مقدار ۲۵۶ بیت دارد.

اگر در مورد “SHA” در اشکال مختلف آن شنیده اید اما کاملاً مطمئن نیستید که این مخفف چیست و چرا مهم است ، ما در این سعی داریم کمی در مورد آن صحبت کنیم.

قبل از اینکه بخواهیم در مورد SHA حرف بزنیم بهتر است با مفهوم  “هش” آشنا شویم. سپس خواهیم دید که چگونه گواهینامه های SSL برای ایجاد امضاهای دیجیتالی از هش استفاده می کنند. سپس در مورد ، SHA-1 و SHA-2 بحث می کنیم. در انتها در مورد ارتباط SHA-2 و بیت کوین صحبت می کنیم.


SHA-256 چیست؟

SHA-256 چیست؟

SHA-256 چیست؟

الگوریتم SHA-256 یکی از چاشنی های SHA-2 است که توسط آژانس امنیت ملی در سال ۲۰۰۱ به عنوان جانشینی برای SHA-1  ایجاد شد.SHA-256  یک تابع هش رمزنگاری شده است که ۲۵۶ بیت قدرت دارد.

با این تفاسیر باید بدانید منظور از هش کردن چیست ؟

در فرایند رمز گذاری ، داده ها به یک قالب امن تبدیل می شوند که قابل خواندن نیستند مگر این که کلید آن را در اختیار داشته باشید. در رمز گذاری، داده ها ممکن است نامحدود باشند، اما در مقابل در هش کردن داده هایی با اندازه دلخواه به داده های با اندازه ثابت تبدیل می شوند. برای مثال در هش کردن SHA-256 یک رشته داده ۵۱۲ بیتی به یک رشته ۲۵۶ بیتی تبدیل می گردد.

در هش رمز نگاری داده های هش به گونه ای اصلاح می بایند که غیر قابل خواندن شوند. به همین دلیل تقریبا غیر ممکن است که هش ۲۵۶ بیتی که پیش تر به ان اشاره کردیم را به شکل اصلی آن یعنی ۵۱۲ بیتی تبدیل کنیم. ممکن است بپرسید چرا باید کاری کنیم که قابل بازیابی نباشد؟ دلیل اصلی آن تایید محتوای داده هایی می باشد که باید مخفی نگهداشته شوند.

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

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

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


ویژگی های الگوریتم SHA-256

ویژگی های الگوریتم SHA-256

ویژگی های الگوریتم SHA-256

در ارتباط با ویژگی های الگوریتم SHA-256 می توان گفت که تنها در یک جهت کار می کند. این ویژگی به این معنی است با داشتن هر محتوا امکان ایجاد هش آن وجود دارد. اما با استفاده از هش قادر به تولید محتوای مرتبط با ان نمی باشیم. از دیگر ویژگی های الگوریتم SHA-256 می توان به این موضوع اشاره کرد که از آن برای ایجاد تعادل بین امنیت و هزینه های محاسباتی استفاده می شود.

علاوه بر مواردی که ذکر نمودیم، طول هش یکسان ویژگی های الگوریتم SHA-256 به شمار می رود. برای مثال اگر محتوایی که برای تولید هش استفاده می نمایید یک حرف یا تعداد کلمات بیشتری باشد، نتیجه همیشه یک رشته ۶۴ تایی شامل حروف و اعداد خواهد بود.


امنیت الگوریتم sha-256

Sha-256 یکی از امن ترین عملکردهای هش را دارد.دولت ایالات متحده به سازمان های خود دستور داده است که برای حفاظت از اطلاعات حساس از الگوریتم sha-256 استفاده کنند.

سه ویژگی موجب امنیت بالای این الگوریتم می شود.

  1. بازسازی داده های اولیه از مقدار هش تقریبا غیرممکن است.یک حمله برای تولید داده های اولیه نیازمند ۲۲۵۶ تلاش است!
  2. داشتن دو پیام با همان مقدار هش (به اصطلاح برخورد) بسیار بعید می باشد.با داشتن ۲۲۵۶ مقدار هش ممکن ( که بیش از تعداد کل اتم های شناخته شده در جهان است ) احتمال یکسان بودن دو عدد از حد بی نهایت غیر قابل تصور است.
  3. یک تغییر جزیی در داده های اصلی مقدار هش را چنان تغییر می دهد که مشخص نیست مقدار هش جدید از داده های مشابه گرفته شده است.( این مورد به عنوان اثر بهمن شناخته می شود)

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

ویژگی الگوریتم sha-256

الگوریتم sha-256


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

هش

هشینگ

در رمزگذاری ، داده ها به یک قالب امن تبدیل می شوند که غیرقابل خواندن هستند مگر اینکه گیرنده کلید داشته باشد. در فرم رمزگذاری شده ، داده ها ممکن است اندازه نامحدود داشته باشند ، غالباً دقیقاً به همان اندازه که بدون رمزگذاری هستند. در مقابل ، داده هایی با اندازه دلخواه به داده هایی با اندازه ثابت ترسیم می شوند. به عنوان مثال ، یک رشته داده ۵۱۲ بیتی از طریق hash SHA-256 به یک رشته ۲۵۶ بیتی تبدیل می شود.

در هش رمزنگاری ، داده هش به گونه ای اصلاح می شود که باعث می شود کاملاً غیرقابل خواندن شود. تبدیل هش ۲۵۶ بیتی که در بالا به آن اشاره شد به شکل اصلی ۵۱۲ بیتی آن تبدیل نمی شود. بنابراین چرا می خواهید یک پیام تقسیم شده ایجاد کنید که قابل بازیابی نباشد؟ شایع ترین دلیل بررسی محتوای داده هایی است که باید مخفی نگه داشته شوند. به عنوان مثال ، از هشینگ برای تأیید صحت پیامها و پرونده های ایمن استفاده می شود. کد هش یک فایل امن می تواند به صورت عمومی ارسال شود تا کاربرانی که پرونده را بارگیری می کنند ، بدون تأیید محتویات فایل ، تأیید کنند که دارای نسخه معتبر هستند. هش ها به طور مشابه برای تأیید امضاهای دیجیتال نیز استفاده می شوند.

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

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

اما  آنچه که مد نظر ما در این مقاله است، الگوریتم های SHA هستند. SHA مخفف الگوریتم

”Secure Hashing” است – نام آن هدف خود را نشان می دهد –و  این امنیت رمزنگاری است.


چه ارزهای از الگوریتم SHA-256  استفاده می کنند؟

  1. بیت کوین BTC
  2. بیت کوین کش BCH
  3. لایت کوین کش LCC
  4. پیر کوین PPC
  5. اونوبتانیوم UNO
  6. کرون CRW
  7. مای رید XMY
  8. بیت کانکت BCC
  9. یونیورسل کارنسی UNIT
  10. زتا کوینZET
  11. مازا MZC
  12. داتشی ای مارک DEM


امضاهای دیجیتال کاربردی از الگوریتم SHA-256

اکنون که می دانیم هش چیست ، می توانیم نحوه استفاده از آنها در گواهی های SSL را توضیح دهیم.

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

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

پروتکل SSL / TLS برای فعال کردن انتقال ایمن داده ها از یک دستگاه به دستگاه دیگر از طریق اینترنت استفاده می شود. به صورت خلاصه ،  SSL اغلب به عنوان “رمزگذاری” توضیح داده می شود. اما فراموش نکنید که SSL احراز هویت را نیز ارائه می دهد. پرونده گواهینامه SSL وظیفه ارائه اطلاعات لازم برای تأیید اعتبار را دارد. یا به عبارت دیگر ، گواهینامه های SSL یک کلید عمومی خاص را به یک هویت متصل می کنند.

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

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

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

امضاهای دیجیتال بخش مهمی از نحوه ارائه گواهینامه های SSL تأیید اعتبار است. هنگامی که یک گواهی صادر می شود ، توسط سازمان صدور گواهینامه (CA) که شما به عنوان ارائه دهنده گواهینامه خود انتخاب کرده اید ، امضا می شود (به عنوان مثال Sectigo ، DigiCert و غیره). این امضا اثبات رمزنگاری را مبنی بر امضا کردن CA گواهی SSL و عدم تغییر یا بازتولید گواهی ارائه می دهد. مهمتر از همه ، این امضای معتبر اثبات رمزنگاری است که اطلاعات موجود در گواهی توسط شخص ثالث مورد اعتماد تأیید شده است.

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

سپس امضاهای دیجیتال اثبات لازم را مبنی بر اینکه گواهی شما به شما داده شده است ، گواهی دقیق است که توسط یک مرکز معتبر CA به وب سایت مورد نظر صادر شده است. بدون ترفند بدون کلاهبرداری هیچ دستکاری در وسط روند پرونده گواهی SSL / TLS نیست.

امضاهای دیجیتالی بسیار حساس هستند – هرگونه تغییر در پرونده باعث تغییر امضا می شود. اگر جمله خود را از قسمت قبلی بگیرید و آن را کاملاً کوچک (“روباه قهوه ای سریع پرش از صخره” می کند) هش حاصل ، کاملاً متفاوت است. این بدان معنی است که امضای حاصل از آن هش نیز متفاوت خواهد بود. حتی تغییر یک بیت از یک سند چند هزار گیگابایتی منجر به یک هش کاملاً متفاوت خواهد شد.

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


مقایسه HA-1 و SHA-2 و سپس الگوریتم SHA-256

مقایسه sha1باsha-2

حال که کمی در مورد پایه و اساس صحبت کردیم به سراغ اصل مطلب می رویم.

همانطور که قبلاً گفتم ، SHA مخفف الگوریتم Secure Hashing است. SHA-1 و SHA-2 دو نسخه متفاوت از این الگوریتم هستند. آنها در هر دو ساخت و ساز (نحوه ایجاد هش حاصل از داده های اصلی) و در طول بیت امضا متفاوت هستند.  SHA-2 به عنوان جانشین SHA-1 است ، زیرا این یک پیشرفت کلی نسبت  به آن است.

در درجه اول ، مردم به عنوان تمایز مهم ، روی  اندازه بیت  تمرکز می کنند. SHA-1 یک هش ۱۶۰ بیتی است. SHA-2 در حقیقت “خانواده” ای از هش ها است و دراندازه های متنوعی قرار دارد که محبوب ترین آنها ۲۵۶ بیتی است.

صنعت SSL الگوریتم SHA را به عنوان الگوریتم هش  دهنده خود ، برای امضاهای دیجیتال انتخاب کرده است

از سال ۲۰۱۱ تا ۲۰۱۵ ، SHA-1 الگوریتم اصلی هشینگ بود. یک تحقیق درباره آن، نشانگر نقاط ضعف SHA-1 شد و  باعث تغییر ارزش آن گردید. برای مثال ،هنگامی که دو قطعه از داده های متفاوت ، مقدار هش یکسانی را ایجاد می کنند. بنابراین ، از سال ۲۰۱۶ به بعد ، SHA-2 استاندارد جدید است. اگر امروز گواهی SSL / TLS دریافت می کنید ، باید حداقل از آن امضا استفاده کند.

SHA-2 احتمالاً حداقل ۵ سال در استفاده خواهد بود. با این حال ، می توان برخی از حملات غیر منتظره علیه الگوریتم را کشف کرد که باعث انتقال زودهنگام می شود.

در اینجا SHA-1 و SHA-2 گواهی SSL یک وب سایت  به شرح زیر است:

مقایسه sha2-sha1

مقایسه shaو sha1

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

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


برررسی هدف هش الگوریتم SHA-256

برررسی هدف هش الگوریتم SHA-256

برررسی هدف هش الگوریتم SHA-256

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

در بلاکچین، نودهای دارای یک هش ۶۴ کاراکتری اطلاعات یک بلاک کامل را نمایش می دهند. پس از تایید اطلاعات به وسیله شبکه، عملا دستکاری و یا تغییر اطلاعات ممکن نیست و بسیار سریع شناسایی می شود.


تعداد هش ها در الگوریتم SHA-256 چند تاست؟

اگر قرار است یک الگوریتم هشینگ ،هش منحصر به فرد را برای هر ورودی ممکن ایجاد کند ، فقط چند هش احتمالی وجود دارد؟ مقدار بیت دو مقدار ممکن دارد: ۰ و ۱. تعداد احتمالی هشهای منحصر به فرد را می توان به عنوان تعداد مقادیر ممکن مطرح شده به تعداد بیت ها بیان کرد. برای SHA-256 ،۲۲۵۶ ترکیب احتمالی وجود دارد. بنابراین ، ۲۲۵۶ ترکیب. چند تا است؟ خب! تعداد بسیار زیادی است. این تعداد از تعداد دانه های ماسه در جهان بسیار فراتر است. هرچه تعداد هش های احتمالی بزرگتر باشد ، احتمال اینکه دو مقدار یک هش یکسان ایجاد کنند ، کمتر می شود. (از لحاظ فنی) تعداد نامحدود ورودی های احتمالی وجود دارد  ، با این وجود تعداد محدودی از خروجی ها وجود دارد. بنابراین ، سرانجام ، هر الگوریتم هشی ، از جمله یک الگوریتم ایمن ، یک برخوردیا تصادم  ایجاد می کند. اما ما بیشتر نگران این هستیم که انجام چنین کاری آسان باشد. SHA-1 ناامن تلقی می شد ، زیرا به دلیل اندازه و ساخت و ساز ، تولید یک تصادف امکان پذیر بود.


انتقال به SHA-2 و الگوریتم SHA-256

در سال ۲۰۱۵ ، صنعت SSL “انتقال SHA-2” را پشت سر گذاشت. این شامل مجدد هزاران گواهی موجود است تا پرونده های جدید با SHA-2 ایجاد و امضا شوند. این برنامه همچنین شامل بروزرسانی های عمده در نرم افزار صدور CA که با اعتماد عمومی است ( ده ها مورد از آنها وجود دارد ) را شامل می شود.

آخرین مهلت صدور گواهینامه های SSL جدید با هشدار SHA-1 ، ۳۱ دسامبر ۲۰۱۵ بود. اما در طی سه سال گذشته گواهینامه های SHA-1 تقریباً به کلی از بین رفته اند. امروز اگر با گواهی SHA-1 روبرو شدید ، یک اخطار غیرقابل تصور را مشاهده خواهید کرد. در گوگل کروم ، تمام گواهینامه های SHA-1 که در سال ۲۰۱۶ منقضی شده اند ، قفل سبز را در اتصالات ایمن نشان نمی دهند ، و در عوض همان نماد اتصال یک HTTP ناامن را نشان می دهند.

SHA-1

مرورگرها با گواهینامه های امضا شده SHA-1 که در سال ۲۰۱۷ با اخطار شدیدتر منقضی می شوند ، رفتار کردند. دلیل این امر آن است که امنیت یک امضا مستقیماً به  اعتبار آن مربوط می شود.


نقش الگوریتم SHA-256 در صنعت بیت کوین

ارتباط ییت کوین و sha256

ارتباط ییت کوین و sha256

همانطور که گفتیم SHA-256 یک عملکرد هش رمزنگاری است که از یک اندازه تصادفی در ورودی استفاده می کند و خروجی در اندازه ثابت تولید می کند. عملکردهای هش قدرتمند هستند زیرا “یک طرفه” هستند. این ویژگی قدرتمند عملکرد هش SHA-256 آن را برای استفاده در شبکه بیت کوین ایده آل می کند.

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

  • ماین کردن
  • ایجاد آدرس بیت کوین

ماین کردن:

ماین کردن یا Mining روشی است که با استفاده از آن سکه های جدید وارد جریان گردش مالی پروتکل بیت کوین می شود و همچنین برای تأمین امنیت شبکه بیت کوین استفاده می شود.

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

  • نسخه : شماره نسخه نرم افزار بیت کوین
  • هش بلوک قبلی : ارجاع به هش بلوک قبلی
  • Merkle Root: هش نماینده ای از تمام معاملات موجود در بلوک
  • Timestamp: زمانی که بلوک ایجاد شده است
  • Target : الگوریتم اثبات کار برای بلوک
  • Nonce: متغیر مورد استفاده در فرآیند اثبات کار
ارتباط بیت کوین و الگوریتم sha-256

ارتباط بیت کوین و الگوریتم sha-256

همانطور که از تصویر بالا مشاهده می شود ، برای این که یک ماینر پارامتر هش بلوک قبلی را تولید کند ، باید سرصفحه بلوک قبلی از طریق الگوریتم SHA-256 دو ​​بار قرار داده شود ، این نیز با نام Double-SHA-256 شناخته می شود. به این معنا که:

فرمول هش

از الگوریتم SHA-256 نیز برای تولید ریشه merkle استفاده می شود که بعداً در هدر بلوک وارد می شود.

پس از ساختن موفقیت آمیز یک بلوک ، ماینر می تواند فرآیند استخراج را آغاز کند ، که در آن یک مورد دیگر از استفاده از الگوریتم SHA-256 خود را نشان می دهد. در این مثال ، یکی از پارامترهای هدر بلوک ، nonce ، متغیری است که به طور مکرر تغییر می کند ، و پس از هش کردن هدر بلوک با استفاده از عملکرد SHA-256 ، اگر هش زیر target باشد ، ماین موفقیت آمیز  است.

به عنوان مثال ، اگر nonce از متغیر “۱۲۳۴۵” برخوردار باشد ، این می تواند در هدر بلوک در کنار ۵ پارامتر دیگر ذکر شده در بالا قرار گیرد. سپس عنوان سربرگ هش می شود ، اما اگر هش حاصل اثبات شود بالای target است ، ماینر باید دوباره امتحان کند. ماینر سپس می تواند nonce را به متغیر دیگری تغییر دهد ، به عنوان مثال “۹۰۸۷۲” را وارد کنید و این مورد را درون سربرگ بلوک قرار دهید ، و ۵ پارامتر دیگر ثابت باقی می مانند. هش حاصل نشان می دهد که زیر هدف قرار دارد ، بنابراین ، بلوک ماینر سپس به شبکه منتقل می شود تا از صحت آن اطمینان حاصل شود.

ایجاد آدرس بیت کوین

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

در زیر، K = کلید عمومی و آدرس بیت کوین A = :

A = RIPEMD160(SHA-256(K))

استفاده از الگوریتم های هش کردن SHA-256 و RIPEMD160 برای ایجاد آدرس بیت کوین یک مزیت بارز دارد:

آدرس های کوتاهتر: یک کلید عمومی ۲۵۶ بیت طول دارد ، در حالی که نسخه هش شده ، یعنی آدرس بیت کوین ، ۱۶۰ بیت طول دارد. این امر به دلیل کوتاه تر بودن طول کاراکتر ، استفاده از آن را برای کاربران راحت تر می کند.


ارزهای دیجیتال که از الگوریتم sha-256 استفاده می کنند

برخی از رمز ارز هایی که به وسیله ی این الگوریتم توسط سیستم های استخراج کننده قابل استخراج هستند به شرح زیر می باشند:

رمزارزهایی که از الگوریتم sha-256 استفاده می کنند


نتیجه الگوریتم SHA-256

SHA-256 یکی از امن ترین عملکردهای هش در بازار است. دولت آمریکا به آژانس های خود ملزم است از اطلاعات حساس خاصی با استفاده از SHA-256 محافظت کنند.

کارشناسان صنعت و محققان امنیتی در سراسر جهان به طور مداوم در حال تجزیه و تحلیل SHA-2 و سایر الگوریتم های هشدار رمزنگاری هستند ، بنابراین اطمینان داشته باشید که گواهینامه های SSL فعلی برای مدتی امضاهای دیجیتالی قابل اعتماد و مطمئن دارند.

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

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

ممنون از اینکه تا پایان “الگوریتم SHA-256” همراه ما بودید.


بیشتر بخوانید:

اشتراک گذاری

نوشته شده توسط:

تیم محتوا

کارشناس ارشد ریاضی|تکنسین شبکه|مولف کتاب های اموزشی|مدرس دانشگاه های آزاد و علمی کاربردی|پژوهشگر در مورد ارزهای دیجیتال

نظرات کاربران

0 0 رای ها
امتیازدهی به مقاله
اشتراک در
اطلاع از
13 نظرات خود را ثبت نمایید
تازه‌ترین
قدیمی‌ترین بیشترین رأی
بازخورد (Feedback) های اینلاین
مشاهده همه دیدگاه ها
شهاب
3 سال قبل

درود ، ماینرهایی که از تکنولوژیsha256 استفاده میکنند تا چه سالی کاربردی هستند؟

محمد
3 سال قبل

سلام و وقت بخیر
وقتی کدhash256رو داشته باشیم
میتونیم رمز گشاییش کنیم ایا؟

تیم محتوا
پاسخ به  محمد
3 سال قبل

خیلی پیچیده هست

محمدصالح
پاسخ به  محمد
3 سال قبل

نه این تابع یک طرفه هستش فقط با کامپیوتر های کوانتومی اونم به سختی ممکنه رمزگشایی بشه

فرشاد
3 سال قبل

ممنون از محتوایی که نوشتید.

نیکو
3 سال قبل

آیا الگوریتم xbt هم دارای الگوریتم sha256 است.

تیم محتوا
پاسخ به  نیکو
3 سال قبل

بله

پویا
3 سال قبل

چه ارزهایی از این الگوریتم استفاده می کنند؟

تیم محتوا
پاسخ به  پویا
3 سال قبل

در مقاله ذکر شده

محسن
3 سال قبل

الگوریتم sha256 از نظر امنیت چگونه است.

تیم محتوا
پاسخ به  محسن
3 سال قبل

عالی

مهدی
3 سال قبل

خانم شما وقتی که یه متن رو ترجمه می کنید، ورودیهای یک تابع رو نباید ترجمه کنید، مگر اینکه اون تابع رو داشته باشید و با استفاده از اون تابع خروجی رو بر اساس ورودی ترجمه شده تغییر بدید. منظورم از ورودی تابع همون جمله هایی هست که داخلش کلمه “روباه” هست.
سعی کنید موفق باشید

تیم محتوا
پاسخ به  مهدی
3 سال قبل

بله اصلاح می شود