هشینگ چیست؟


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

برای درک واقعی نحوه عملکرد بیت کوین و سایر ارزهای دیجیتال، ابتدا باید مفهوم " هش " را درک کنید.

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

 صحبت خواهم کرد در این درس، من در مورد نوع دیگری از هش !

این یک مفهوم فنی است، اما شما باید با آن آشنایی داشته باشید، بنابراین من آن را برای شما خوب و آسان توضیح می دهم.

آشنایی با مفهوم هش کردن نیز برای درک نحوه عملکرد استخراج بیت کوین (که راهنمای بعدی است) لازم است، بنابراین لطفاً از این درس ها غافل نشوید . 👁️

هشینگ چیست؟ ( Hashing )

هش کردن یک روش رمزنگاری است که هر شکلی از داده را به یک رشته متن منحصر به فرد با طول ثابت تبدیل می کند. 

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

اگر قبلاً واضح نبود، «کریپتو» در ارزهای دیجیتال مخفف رمزنگاری است .

هش کردن بخش اساسی رمزنگاری است . و نقش بزرگی در پشت "کریپتو" در ارزهای دیجیتال ایفا می کند.

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

هر قطعه داده ای را می توان « هش کرد »، بدون توجه به اندازه، نوع یا طول آن.

هش تولید شده همیشه یکسان است .

در مثال های زیر، با استفاده از تابع هش SHA-1 ، صرف نظر از طول "ورودی"، "خروجی" همیشه 40 کاراکتر است . 

توجه داشته باشید که اگرچه «ورودی‌ها» متفاوت بودند، اما هر سه هش هنوز 40 کاراکتر داشتند .

در این مثال خاص، طول ثابت 40 کاراکتر است که توسط تابع هش خاص مورد استفاده ("SHA-1") تعیین می شود که بعدا توضیح داده خواهد شد.

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

هش به عنوان اثر انگشت دیجیتال عمل می کند.

یک قطعه داده منحصر به فرد همیشه همان هش را تولید می کند.

به عنوان مثال، اگر "Hello" را میلیون ها بار از طریق یک تابع هش اجرا کنید، هش بالا همان چیزی است که میلیون ها بار ظاهر می شود. 

هش مانند اثر انگشت است

هش قابل برگشت نیست.

INPUT در یک تابع هش " پیش تصویر " نامیده می شود، اما برای ساده نگه داشتن همه چیز، فقط به "ورودی" پایبندم.

خروجی تابع هش " مقدار هش " یا " هضم " یا به سادگی " هش " نامیده می شود.

یک تابع هش طوری طراحی شده است که به صورت یک طرفه عمل کند . 

از آنجایی که یک تابع هش یک تابع یک طرفه است، خروجی، "هش" را نمی توان برای آشکار کردن ورودی، "preimage" استفاده کرد.

این به این معنی است که اگر تمام چیزی که می‌بینید هش باشد، نمی‌توانید داده‌های اصلی ("پیش تصویر") را که هش نشان می‌دهد رمزگشایی کنید.

توابع هش هش های برگشت ناپذیر تولید می کنند.

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


تابع هش چیست؟

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

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

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

هر ورودی یک خروجی منحصر به فرد تولید می کند که به صورت یک رشته الفبایی با طول ثابت بیان می شود . 

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

یک تابع هش مفید هرگونه سرنخ در مورد اینکه ورودی ممکن است شبیه باشد را پنهان می کند .

به عنوان مثال، تعیین اینکه ورودی طولانی یا کوتاه یا حاوی اعداد یا حروف است، غیرممکن است. همچنین، تغییر تنها یک کاراکتر در ورودی باید به خروجی کاملاً متفاوتی منجر شود.


توابع هش محبوب

همه توابع هش به روشی مشابه کار می کنند. شما داده‌ها را وارد می‌کنید، و تابع هش داده‌ها را «درهم می‌کند» و یک هش خروجی می‌دهد.

توابع هش رایج عبارتند از: 


    MD-5: Message Digest 5 (MD5) یک تابع هش رایج است. در گذشته، این الگوریتم امن در نظر گرفته می شد، اما امروزه، هکرها نحوه رمزگشایی الگوریتم را کشف کرده اند و قادر به انجام این کار در چند ثانیه هستند.

    SHA: الگوریتم هش امن (SHA) نوع دیگری از تابع هش است. انواع مختلفی از SHA وجود دارد که به چهار خانواده گروه بندی می شوند: SHA-0، SHA-1، SHA-2، و SHA-3: به طور کلی، هر چه این تعداد بیشتر باشد، انتشار جدیدتر و الگوریتم امن تر است.

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

    SHA-256 یک تابع هش است که یک رشته از متن را به رشته دیگری تبدیل می کند که طول آن همیشه یکسان است: طول 64 کاراکتر الفبایی عددی. این معادل 256 بیت است، که "256" در نام آن از آنجا آمده است. 

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

خواه ورودی صفحه ای از کتاب هری پاتر باشد یا کل سری کتاب های هری پاتر. خروجی تابع هش SHA-256 همیشه به اندازه 64 کاراکتر الفبایی عددی نمایش داده می شود . 

منبع:بیبی پیس



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

بازدید : 158
پنجشنبه 06 مهر 1402 ساعت 8:32 ق.ظ

نظرات

کد امنیتی رفرش

187
مطلب
+ 79
افراد آنلاین
+2,454
بازدید امروز
1,465
بازدید دیروز
9,029
بازدید ماه
258,623
بازدید کل
شنبه 16 تیر 1403
تقویم روز