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

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

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

کنترل مبالغ

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

برای سرعت محاسبات، ده‌ها و صدها برابر سریع‌تر، توابع هش رمزنگاری پایین‌تر در پیاده‌سازی سخت‌افزار بسیار ساده‌تر هستند.

معاوضه برای چنین نقدینگی بالایی فقدان ثبات رمزنگاری است - توانایی آسان برای تنظیم اعلان با مبلغی که از قبل پرداخت می کنید. همچنین اندازه چک جمع ها (تعداد معمولی: 32 بیت) را کمتر از هش های رمزنگاری (اعداد معمولی: 128، 160 و 256 بیت) در نظر بگیرید که به معنای احتمال برخورد نادرست است. ساده ترین نسخه چنین الگوریتمی تقسیم پیام به کلمات 32 یا 16 بیتی و معنای آنهاست که مثلاً TCP/IP است.

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

توابع هش رمزنگاری

در غیاب توابع هش ضروری، مشاهده توابع رمزنگاری قوی که در رمزنگاری ایجاد می شوند، معمول است. به منظور تابع هش اچبرای تکیه بر قدرت رمزنگاری، سه مزیت اصلی وجود دارد که بر عملکرد هش رمزنگاری تکیه دارد:
  • برگشت ناپذیری: برای یک مقدار هش معین مترمقصر buti obslyuvalno غیرممکن می دانم بلوک داده ها ایکس، برای کدام H(X) = m.

  • مقاومت در برابر لکه های درجه یک: برای یک نیاز معین مبدیهی است که به دست آوردن اطلاعات دیگری غیرممکن است ن، برای کدام H(N) = H(M).

  • مقاومت در برابر برخورد از نوع متفاوت: انتخاب یک جفت برای اطلاع رسانی ممکن است کاملاً غیرممکن باشد (M, M")، هش جدید چیست؟
این مزایا مستقل نیستند:
  • تابع معکوس در برابر برخوردهای نوع اول و نوع دیگر ناپایدار است.

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

حمله "روزهای مردم" به شما امکان می دهد سکه هایی را برای یک تابع هش با مقدار دو برابر پیدا کنید nبیت ها در وسط برای تقریبا 2 n/2 برای محاسبه تابع هش. تام nتابع هش بیت به عنوان یک رمزارز پایدار در نظر گرفته می شود، زیرا دشواری محاسبه یافتن چرخ برای آن نزدیک به 2 n/2 است.

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

تعریف توابع هش

توابع هش همچنین می توانند در ساختارهای داده مختلف استفاده شوند - جداول هش، فیلترهای بلوم و درختان دکارتی. روش های مختلفی برای استفاده از تابع هش وجود دارد:
  • ترکیب خوب داده ها
  • الگوریتم محاسبه سریع
داده های حیوانات
این فرآیند را می توان به عنوان تأیید اطلاعات خاص برای اطمینان از یکسان بودن آن با اصلی، بدون تغییر در اصل توصیف کرد. برای تأیید، مقدار هش اطلاعاتی که تأیید می شود تأیید می شود. دو جهت اصلی این رکود وجود دارد:
  1. بررسی وجود عفو- به عنوان مثال، جمع کنترل می تواند توسط کانال به طور همزمان با متن اصلی ارسال شود. در پایان می توان مبلغ کنترل را بیمه مجدد و با ارزش های انتقالی یکسان کرد. اگر مغایرتی تشخیص داده شود، به این معنی است که انتقال ناموفق بوده و می توانید درخواست تکرار کنید.

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


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

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

خشووانیا

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

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

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

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

تاریخ

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

در سال 1967، فرآیند heshuvannya به معنای فعلی آن در کتاب هربرت هلرمن "اصول سیستم های محاسباتی دیجیتال" توضیح داده شد. رابرت موریس در سال 1968 به دنیا آمد. رابرت موریس ) با انتشار یک بررسی عالی از هش در ارتباطات ACM، این اثر به عنوان یک نشریه کلیدی برای معرفی مفهوم هش در گفتمان علمی و تثبیت اصطلاحی که قبلاً در اصطلاحات اصطلاحات faqs tsiv گیر کرده بود، تلقی می شود. ".

تا اوایل دهه 1990، ادبیات روسی از کلمه "kheshuvannya" به عنوان معادل اصطلاح "kheshuvannya" استفاده می کرد و ربات های Andriy Yershov همیشه برای ویکور کردن این کلمه استفاده می شد. "تنظیم"و برای Koliziy Vicoristovyuvuvyuvov Termin "Conflict" (єrshov Vikoristovavv "Rosstanovka" Z 1956 Rock, in the Russian Book of Virt "Algorithmi that structures of the Dani" 1989 Roku Termin "Rosstation"). همچنین پیشنهاد شد که این روش را کلمه روسی بنامیم "اکروشکا". با این حال، انتظار می رود که هیچ یک از این گزینه ها مورد توجه قرار نگیرد، و در ادبیات روسی اصطلاح "kheshuvannya" به طور گسترده ای استفاده می شود.

انواع توابع هش

یک تابع هش خوب می تواند دو مقام را برآورده کند:

  1. شویدکو شمارش شود;
  2. تعداد چرخ ها را به حداقل برسانید

برای آواز خواندن، قابل قبول است که تعداد زیادی کلید وجود داشته باشد، و تابع هش نمی تواند بیش از مقادیر مختلف داشته باشد:

به عنوان مثالی از یک تابع هش «بد»، می‌توانید از تابع s استفاده کنید که به یک عدد طبیعی ده رقمی، سه رقمی می‌دهد که از وسط مربع بیست رقمی عدد انتخاب شده‌اند. به نظر می رسد که مقادیر کد هش به طور مساوی بین "000" و "999" توزیع می شود، اما برای داده های واقعی این روش فقط مناسب است زیرا کلیدها حاوی تعداد زیادی صفر، چه درست و چه غلط نیستند.

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

توابع هش بر اساس یک تقسیم هستند

روش اول بر اساس چیزی است که ما به عنوان هش از مازاد در بخش فرعی استفاده می کنیم، که تعداد همه هش های ممکن است:

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

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

اگر روش مناسب را انتخاب کنید، این روش تضمین می کند که هیچ برخوردی بین کلیدهای مشابه وجود نخواهد داشت.

طرح ضربی heshuvannya

روش دیگر شامل انتخاب یک عدد ثابت است که ساده‌تر از تعداد مقادیر قابل نمایش کلمه ماشین (در رایانه‌های PC IBM) است. سپس می توانیم یک تابع هش مانند:

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

بین این دو روش، واضح است که احتمالاً توسط کسانی انتخاب می‌شوند که کلیدهای واقعی سازگار نیستند، برای مثال، زیرا کلیدها نشان دهنده یک پیشرفت حسابی هستند (توالی قابل قبول از نام‌های "NAME1"، "NAME2"، "NAME3" "). یک روش ضربی برای ترسیم پیشرفت حسابی تقریباً بر روی پیشرفت حسابی مقادیر هش مختلف استفاده می‌شود که تعداد سکه‌ها را بر اساس موقعیت منحصر به فرد تغییر می‌دهد.

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

ردیف Heshuvanniya از dowzhin

روش‌های تحقیق را می‌توان به این ترتیب محدود کرد، زیرا باید به کلیدهایی که از چندین کلمه یا کلیدهای یک کبوتر متغیر تشکیل شده‌اند نگاه کنیم. برای مثال، می‌توانید کلمات را با یک مدول یا عملیات اضافی "What شامل یا" ترکیب کنید. یکی از الگوریتم هایی که از این اصل پیروی می کند تابع هش پیرسون است.

یونیورسال هشووانیا

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

شرح

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

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

روش های مبارزه با کولیوز

همانطور که قبلاً گفته شد، یک تابع هش (چه درگیری یا یک ترکیب) نامی است که به دو بلوک داده ورودی داده می شود که کدهای هش جدید تولید می کنند.

جداول هش داشته باشید

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

  1. روش Lanciuzhk (روش اتصال مستقیم)
  2. روش آدرس دهی خصوصی

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

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

قدرت رمزنگاری

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

تعریف توابع هش

توابع هش رمزنگاری

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

این مزایا مستقل نیستند:

  • تابع معکوس در برابر برخوردهای نوع اول و نوع دیگر ناپایدار است.
  • عملکرد، ناپایدار به نوع اول؛ ناپایدار به کولیز از نوع دیگر. دروازه درست نیست

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

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

کنترل مبالغ

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

برای سرعت محاسبه، ده ها و صدها برابر سریعتر، توابع هش رمزنگاری پایین تر در سخت افزار بسیار ساده تر هستند.

معاوضه برای چنین نقدینگی بالایی فقدان ثبات رمزنگاری است - توانایی آسان برای تنظیم اعلان با مبلغی که از قبل پرداخت می کنید. همچنین اندازه چک جمع ها (تعداد معمولی: 32 بیت) را کمتر از هش های رمزنگاری (اعداد معمولی: 128، 160 و 256 بیت) در نظر بگیرید که به معنای احتمال برخورد نادرست است.

ساده ترین نسخه چنین الگوریتمی تقسیم پیام به کلمات 32 یا 16 بیتی و معنای آنهاست که مثلاً TCP/IP است.

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

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

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

Geometrichetche Kheshuvannya

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

من به سرعت به دنبال داده ها خواهم بود

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

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

یادداشت

ادبیات

  • بروس اشنایر"رمز نگاری کاربردی. پروتکل ها، الگوریتم ها، متن های خروجی C من." - M.: پیروزی، 2002. -

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

به نشانک ها

ویژگی اصلی که بین بیت کوین و اتریوم مشترک است، درک است مسدود کردن، که یک ساختار داده ای است که شامل تراکنش ها، مهرهای زمانی و سایر ابرداده های مهم است. بخش مهمی از امنیت آنها شامل توانایی متراکم کردن حجم زیادی از اطلاعات در مورد سیستم مرزی جهانی به یک استاندارد کوتاه از اطلاعات است که در صورت لزوم می تواند به طور مؤثر تأیید شود. هش.

تغییر یک کاراکتر در داده های ورودی منجر به هش متفاوتی می شود.

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

در تئوری S = hash(x)، دانستن X ممکن است غیرممکن باشد.

واضح است که الگوریتم های هش "خوب" چنین قدرتی دارند:

  • تغییر یک بیت از داده های ورودی می تواند تأثیری بر تغییر کل هش داشته باشد.
  • محاسبه hesh مقصر است، اما ما پیشاپیش می‌بخشیم، پیچیدگی دانش نمونه اولیه زیاد است.
  • شیوع کولیوز حتی کم است.

شر هش ها

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

«حمله روز مردم» چیست؟

آیا تا به حال شنیده اید که اگر 23 نفر را در یک اتاق قرار دهید، 50 درصد احتمال دارد که دو نفر از آنها در یک روز یک بار زایمان کنند؟ رساندن این تعداد به 70 نفر در هر اتاق، 99.9٪ شانس می دهد. اگر کبوترها در جعبه ها قرار می گیرند و تعداد کبوترها از تعداد جعبه ها بیشتر است، پس دوست دارید بیش از یک کبوتر در یک جعبه داشته باشید. این مبادله ثابت در خروجی به این معنی است که مبنای تثبیت مرحله جایگشتی است که در آن برخورد می توان یافت.

به یاد داشته باشید، یک کبوتر، دو کبوتر را مادر می کند.

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

ویژگی ها و پیشرفت های الگوریتم های هش Cob: SHA1 و SHA2

NSA (آژانس امنیت ملی) با پیشگام بودن الگوریتم هشینگ ایمن یا SHA1 که خروجی های با نرخ ثابت 160 بیتی ایجاد می کند، مدت هاست که پیشگام استانداردهای الگوریتم هش بوده است. متأسفانه، SHA1 به سادگی MD5 را بهبود می بخشد، تعداد عملیات یک طرفه و پیچیدگی این عملیات یک طرفه را افزایش می دهد، اما هیچ پیشرفت اساسی در برابر ماشین های قدیمی که قادر به حملات پیروزمندانه هستند، ارائه نمی دهد. پس چگونه می توانیم درآمد بهتری داشته باشیم؟

Wikoristannya SHA3

در سال 2006، موسسه ملی استاندارد و فناوری (NIST) مسابقه ای را برای یافتن جایگزینی برای SHA2 راه اندازی کرد که با معماری آن سازگار باشد تا تبدیل به یک استاندارد شود. بنابراین، SHA3 به عنوان بخشی از طرح بزرگ الگوریتم های هش شناخته شده به عنوان KECCAK (معروف به Ketch-Ak) ظاهر شد. صرف نظر از نامش، SHA3 به دلیل مکانیسم داخلی خود، معروف به "طراحی اسفنجی" بسیار مخرب است، که یک جایگشت پیروزمندانه برای "پیچیدن" و "پیچش" داده ها است، و به عنوان مکانیزمی برای سرزندگی برای ورودی های آینده عمل می کند. که در الگوریتم هش گنجانده شده اند.

خشووانیا و اثبات کار

وقتی نوبت به ادغام الگوریتم هش در پروتکل‌های بلاک چین رسید، بیت‌کوین از SHA256 استفاده کرد، درست همانطور که اتریوم تغییرات SHA3 (KECCAK256) را برای PoW خود پذیرفت. با این حال، یک عامل مهم در انتخاب یک تابع هش برای یک بلاک چین اثبات کار، کارایی محاسبه هش تعیین شده است. الگوریتم هش بیت کوین SHA256 را می توان به سادگی با کمک تجهیزات ویژه ای که به عنوان مدارهای مجتمع تخصصی (یا ASIC) شناخته می شوند، پردازش کرد. مطالب زیادی در مورد استفاده از ASIC در استخرهای ماینینگ و نحوه حذف مستقیم پروتکل برای متمرکز کردن محاسبات نوشته شده است. این اثبات کار، گروه‌هایی از ماشین‌های کارآمد محاسباتی را تشویق می‌کند تا خود را در گلوله‌ها جمع کنند و آن‌هایی را که «قدرت هش» در نظر گرفته می‌شوند، یا تعداد هش‌هایی را که یک ماشین می‌تواند در یک ساعت محاسبه کند، افزایش دهند. اتریوم با انتخاب تغییرات SHA3 به عنوان KECCAK 256. علاوه بر این، الگوریتم Ethereum PoW - Dagger-Hashimoto، مسئول محاسبات مهم برای امنیت سخت افزار است.

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

بیت کوین روش متفاوتی برای هش کردن داده ها با استفاده از SHA256 دارد، بنابراین دو تکرار از الگوریتم را در پروتکل خود دارد. برای یادآوری: این یک ضد حمله برای حملات در روز ملی نیست، اما واضح است که hash(x) = hash(y)، سپس hash(hash(x)) = hash(hash(y)). حجم هشدار فرعی SHA256 برای یادداشت "حملات زیر اعلان نوعی حمله به عملکرد هش است که در اطلاعات جدید اضافه شده در انتهای اعلان خروجی گنجانده شده است" استفاده می شود. این حمله ایمن نیست زیرا می توان دستور را تغییر داد، و بدیهی است که مواردی را که دستور مربوط به آنهاست لغو کرد (به عنوان مثال، انتقال پنی)

SHA3 ​​تنها پیشرفتی نیست که از رقابت هشینگ NIST در سال 2006 به وجود آمد. صرف نظر از مواردی که SHA3 برنده شده است، الگوریتمی که با نام BLAKE شناخته می شود، جایگاه متفاوتی را به خود اختصاص داده است. برای پیاده سازی اشتراک گذاری اتریوم 2.0، Vikorist موثرتر است. الگوریتم هش BLAKE2b که یک نسخه بسیار پیشرفته از BLAKE در مقایسه با رقبای خود است، به دلیل کارایی فوق‌العاده‌اش در مقایسه با KECCAK256 برای حفظ سطح بالایی از امنیت به شدت مورد تحسین قرار گرفته است. هزینه BLAKE2b تقریباً 3 برابر بیشتر از KECCAK در یک پردازنده روزانه است.

الگوریتم های هش آینده

به نظر می رسد صرف نظر از اینکه از چه چیزی می ترسیم، به سادگی هر دو هستیم (1) پیچیدگی بیشتر عملیات هش داخلی، یا (2) عمدتاً بر اساس خروجی هش، فرض می‌کنیم که رایانه‌های مهاجمان برای محاسبه مؤثر برنده‌هایشان به اندازه کافی سریع نیستند. ما برای اطمینان از ایمنی اقدامات خود بر ابهام نمونه های اولیه عملیات یک طرفه تکیه می کنیم. هدف از الگوریتم هش ایجاد چیزی است که برای هر کسی که می خواهد دو مقدار را که روی یک نماد هش شده است، بیابد، صرف نظر از اینکه تعداد بی نهایت راه حل وجود دارد، ساده باشد. در مورد کامپیوترهای کوانتومی آینده چطور؟ آیا الگوریتم های هش ایمن خواهند بود؟ پاسخ کوتاه و درک دقیق تر این است که الگوریتم های هش ساعت ها در برابر محاسبات کوانتومی آزمایش شده اند. آن‌هایی که محاسبات کوانتومی می‌تواند حل کند، مسائلی هستند که در پشت ساختار ریاضی مبتنی بر ترفندها و تئوری‌هایی مانند رمزگذاری RSA نهفته است. از سوی دیگر، الگوریتم های هش ساختار رسمی کمتری در ساختار داخلی خود دارند. رایانه‌های کوانتومی می‌توانند به طور مؤثری انعطاف‌پذیری بیشتری را در تعدادی از مشکلات بدون ساختار، مانند هش کردن، ارائه دهند، اما همچنان می‌توان به همان روشی که رایانه‌های امروزی سعی می‌کنند روی آن کار کنند، به آنها حمله‌ای بی‌رحمانه انجام شود. صرف نظر از اینکه چه الگوریتم‌هایی را برای پروتکل‌های خود انتخاب می‌کنیم، واضح است که به سوی آینده محاسباتی کارآمد در حال سقوط هستیم و ممکن است بهترین قضاوت خود را برای انتخاب ابزارهای مناسب برای کار انتخاب کنیم، مانند و، ما معتقدیم، این کار به زمان نیاز دارد. ساعت برای امتحان کردن

_____________________________________________________________________________

______________________________________________________________________________

اغلب، هنگامی که به تورنت ها یا حتی خود فایل ها علاقه مند هستید، توضیحات حاوی ورودی "ad33e486d0578a892b8vbd8b19e28754" (به عنوان مثال، ex.ua)، اغلب با پیشوند "md5" است. این کد هش نتیجه ای است که تابع هش پس از پردازش داده های ورودی می بیند. در ترجمه انگلیسی، hash به معنی تمشک، ماری جوانا، علف یا سبزی از گوشت و سبزیجات ریز خرد شده است. خیلی و خیلی سخت است، شاید بتوان گفت عملاً غیرممکن است. سپس این سؤال پیش می‌آید: «آیا همه چیزهای ضروری می‌سوزند و بوی تعفن برای ابلهان احمق که هنوز نمی‌توانند رمزگشایی شوند، قابل مشاهده است؟» در مورد این در این statti موجود است.

تابع هش چیست و چه کاربردی دارد؟

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

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

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

توابع هش: بوی بد چیستتی

تابع هش بسته به هدفش می تواند یکی از سه نوع باشد:

1. عملکرد بررسی یکپارچگی اطلاعات

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

2. تابع رمزنگاری

Vikorist برای محافظت در برابر ND. می توانید بررسی کنید که در حین انتقال فایل ها از طریق مانع، هیچ تضادی با نتایج ND وجود نداشته باشد. هش مرجع در این حالت کاملاً قابل دسترسی است و هش فایل استخراج شده با استفاده از برنامه های دیگر قابل محاسبه است. چنین توابعی مدت کارکرد طولانی و پایداری دارند و جستجو برای برخورد (نتایج احتمالی از داده های خروجی مختلف) حتی پیچیده تر است. این توابع خود برای ذخیره رمزهای عبور پایگاه داده (SH1، SH2، MD5) و سایر اطلاعات ارزشمند استفاده می شوند.

3. تابع طراحی شده برای ایجاد یک ساختار داده موثر

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

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

عرضه گسترده فناوری اطلاعات در جهان حتی برای تعهدات داده بسیار مهم است. به عنوان مثال، اگر نیاز دارید دو فایل 1 کیلوبایتی و دو فایل 10 گیگابایتی را در یک زمان متفاوت تراز کنید. بنابراین، الگوریتم‌هایی که به شما امکان می‌دهند با مقادیر کوتاه‌تر و کوچک‌تر کار کنید، تقاضای بالایی دارند.

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

توجه داشته باشید: مواد بیمه برای مشتریان اولیه و ناگفته نماند بسیاری از جنبه های فنی، برای دانش اولیه کافی نیست.

هش چی خشووانیا چیست؟

بگذارید با شرایط شروع کنم.

تابع هش، تابع هش- این نوع خاصی از عملکرد است که به شما امکان می دهد متن زیادی را به کد یک تاریخ ثابت (به نام رکورد کوتاه حروف دیجیتال) تبدیل کنید.

خشووانیا- این فرآیند ایجاد مجدد متون خروجی است.

هش، کد هش، مقدار هش، مجموع هش- این مقدار خروجی تابع Hash است، به طوری که بلوک ثابت حذف می شود.

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

محور در اینجا نیاز به خود Hash است که یک بلوک کوتاه است که از فایل متنی خروجی تشکیل می شود. این دو فایل، هر کدام 10 گیگابایت، دارای دو کد هش مجزا، اما کوتاه (برای دستور "ACCAC43535" و "BBB3232A42") خواهند بود. با استفاده از Vikorist می توانید فایل مورد نیاز را به سرعت تشخیص دهید، پس از کپی و تغییر نام کلیک کنید.

توجه داشته باشید: در ارتباط با این واقعیت که Hash در دنیای کامپیوتر و در اینترنت قبلاً به خوبی درک شده است ، اغلب مواردی که ممکن است مربوط به Hash باشد به کلمه "I have a victory MD5 Hash" خلاصه می شود ” در ترجمه به این معنی است که سایت یا اینجا از یک الگوریتم هش برای استاندارد MD5 نیز استفاده می کند.

قدرت عملکرد هش

اکنون بیایید در مورد قدرت تابع هش صحبت کنیم تا درک اینکه چرا به هش نیاز است برای شما راحت تر باشد. بیایید با یک چیز دیگر شروع کنیم.

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

و حالا به قدرت خود توابع هش:

1. ورودی می تواند یک متن با هر اندازه باشد و خروجی می تواند بلوکی از داده های یک تاریخ ثابت باشد. این از معنا می آید.

2. مجموع هش خود این متون ممکن است جدید باشد. در مورد دیگر، چنین توابعی به سادگی حاشیه ای هستند - آنها تا شماره خروجی یکسان هستند.

3. عملكرد خوب گلو به خاطر فطرت خوب مادر است. صبر کنید، زیرا اندازه هش خروجی، به عنوان مثال، 16 بایت است، پس از آنجایی که تابع فقط 3 مقدار مختلف را برای هر متنی می چرخاند، پس هزینه چنین تابعی 16 بایت است هیچ (16 بایت 2 ^) 128 گزینه، که تقریباً برابر است با 3، 4 * 10 ^ 38 مرحله).

4. میزان پاسخگویی تابع به کوچکترین تغییرات در متن خروجی. با عرض پوزش لب به لب ما 1 حرف را در یک فایل 10 گیگابایتی تغییر دادیم، ممکن است معنای تابع متفاوت شود. اگر اینطور نباشد، اجرای چنین تابعی حتی مشکل‌سازتر است.

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

6. سرعت محاسبه هش. اگر مدت زیادی از عملکرد گلو استفاده شود، چه کاربردی دارد؟ در هر صورت، بازنگری فایل های داده یا استفاده از روش دیگری آسان تر است.

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

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

اکنون می توان محور را به "این همه چیست؟" منتقل کرد.

نیاز شما به هاش چیست؟

تنها سه هدف اصلی از یک تابع هش وجود دارد (عمدتاً معانی آنها).

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

2. افزایش بهره وری در جستجوی داده ها. ثابت کردن اندازه بلوک به شما این امکان را می دهد که اولویت مهم ترین کارهای جستجو را از بین ببرید. در این مورد، ما در مورد مواردی صحبت می کنیم که از نظر فنی صرفاً استفاده از یک تابع هش می تواند تأثیر مثبتی بر بهره وری داشته باشد. برای چنین عملکردهایی، ایجاد سازگاری بین تاکستان ها و تقسیم گارنی از اهمیت بیشتری برخوردار است.

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

هش کجا و چگونه ایجاد می شود؟

همانطور که احتمالاً قبلاً حدس زده اید، هش زمانی که وظیفه بالا باشد، راکد می شود. محور آنها:

1. رمزهای عبور در نمای باز و در نمای Hash Sum ذخیره می شوند که سطح بالاتری از امنیت را فراهم می کند. حتی اگر مهاجم دسترسی به چنین پایگاه داده ای را رد کند، باید زمان زیادی را صرف یافتن این کدهای هش برای متون زیر کند. ویژگی مهم در اینجا "پیچیدگی به روز رسانی داده های خروجی از مقدار Hash" است.

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

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

3. زیر ساعت انتقال داده از طریق شبکه (از جمله اینترنت). بسیاری از پروتکل ها، مانند TCP/IP، شامل فیلدهای معکوس خاصی برای جایگزینی مقدار هش پیام خروجی هستند، به طوری که اگر خراب شود، بر انتقال داده ها تأثیری نداشته باشد.

4. برای الگوریتم های مختلف مرتبط با امنیت. به عنوان مثال، Hash در امضای دیجیتال الکترونیکی ذخیره می شود.

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

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

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

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

محبوب ترین آنها سه تابع هش هستند.