Криптографиялық хэш функциясы

Криптографиялық хэш функциясының анықтамасы

Криптографиялық хэш функциясы бақылау сомасы деп аталатын мәнді алу үшін жеке файл немесе пароль сияқты деректердің бір бөлігінде орындалатын алгоритм.

Криптографиялық хэш функциясының негізгі қолданылуы деректердің түпнұсқалығын тексеру болып табылады. Бірдей криптографиялық хэш функциясын қолдана отырып, әрбір файлдан жинақталған сомалар бірдей болса, екі файл бірдей болуы мүмкін.

Көптеген басқа пайдаланылатын криптографиялық хеш функциялары MD5 және SHA-1 қамтиды.

Ескерту: Криптографиялық хэш функциялары көбінесе қысқа хэш функциялары деп аталады, бірақ бұл техникалық тұрғыдан дұрыс емес. Хэш функциясы әдетте криптографиялық хэштер функцияларын циклдық резервтік тексерулер сияқты басқа алгоритмдер түрлерімен бірге қамту үшін пайдаланылатын жалпы термин.

Криптографиялық хеш функциялары: пайдалану жағдайы

Firefox шолғышының соңғы нұсқасын жүктеп алыңыз делік. Кез-келген себеппен оны Mozilla-дан басқа сайттан жүктеу қажет болды. Сіз сенімді түрде үйренуді үйреніп алған сайтқа кірмей тұрып, Mozilla ұсынған дәл қазір жүктелген орнату файлының дәл солай екеніне көз жеткізгіңіз келеді.

Бақылау сомасын калькуляторды пайдалана отырып, белгілі бір криптографиялық хэш-функцияны пайдалана отырып, бақылау сомасын есептейсіз (SHA-2 деп айтыңыз), содан кейін оны Mozilla сайтында жарияланғанға салыстырыңыз.

Егер олар тең болса, сізде бар жүктеуді Mozilla-ға жүктегеніңізге сенімді бола аласыз.

Төлем сомасы дегеніміз не? осы арнайы калькуляторлар туралы көбірек ақпарат алу үшін, сондай-ақ жүктеп алатын файлдарды шынымен жүктеп алу үшін бақылау сомаларын пайдалану туралы көп мысалдар - оларды күтетін нәрсе.

Криптографиялық хеш функциялары өзгеруі мүмкін бе?

Криптографиялық хэштер функциялары түпнұсқалық мәтіндерде жасалатын сомаларды қайтару мүмкіндігін болдырмауға арналған.

Дегенмен, кері қайтару іс жүзінде мүмкін болмаса да, олар деректерді қорғауға кепілдік беретін 100% дегенді білдірмейді.

Резеңке үстел деп аталатын нәрсе, бақылау сомасының түсінікті мәтінін жылдам анықтау үшін пайдаланылуы мүмкін. Радуга кестелері, негізінен, мыңдаған, миллиондаған немесе тіпті миллиардтағандарды олардың тиісті мәтіндік мәнімен бірге тізімдейтін сөздіктер болып табылады.

Бұл криптографиялық хэш алгоритмін техникалық тұрғыдан қалпына келтірмейді , бірақ бұл оңай болуы мүмкін. Шын мәнісінде, ешқандай кемпірқосақ кестесіндегі бар ықтимал бақылау сомасын көрсете алмағандықтан, әдетте олар қарапайым фразалар үшін «пайдалы» ... әлсіз құпия сөздер сияқты.

Мұнда SHA-1 криптографиялық хэш функциясын пайдалану кезінде қалай жұмыс істейтінін көрсету үшін кемпірқосақ кестесінің жеңілдетілген нұсқасы берілген:

Түсінікті мәтін ША-1 бақылау сомасы
12345 8cb2237d0679ca88db6464eac60da96345513964
password1 e38ad214943daad1d64c102faec29de4afe9da3d
қолданбемидог a25fb3505406c9ac761c8428692fbf5d5ddf1316
Jenny400 7d5eb0173008fe55275d12e9629eef8bdb408c1f
dallas1984 c1ebe6d80f4c7c087ad29d2c0dc3e059fc919da2

Осы құндылықтарды бақылау сомасын пайдалана отырып, анықтау үшін, хакерлік криптографиялық хэш алгоритмін оларды жасау үшін қолданылғанын түсіну қажет.

Қосылған қорғау үшін, пайдаланушы құпия сөздерін сақтайтын кейбір веб-сайттар мәнді жасағаннан кейін, бірақ ол сақталғанға дейін криптографиялық хэш алгоритміне қосымша функциялар жасайды.

Бұл тек веб-сервер түсінетін және түпнұсқалы бақылау сомасына сәйкес келмейтін жаңа мән шығарады.

Мысалы, пароль енгізілгеннен кейін және бақылау сомасы жасалса, ол бірнеше бөлікке бөлініп, пароль дерекқорында сақталмас бұрын қайта реттелуі мүмкін немесе кейбір таңбалар басқалармен ауыстырылуы мүмкін. Пайдаланушы келесі кіргеннен кейін түпнұсқалығын растауға тырысқанда, бұл қосымша функция веб-сервер арқылы және пайдаланушы құпия сөзінің жарамды екенін тексеру үшін қайтадан жасалынған түпнұсқалық соманы қалпына келтіреді.

Мұны істен шығып кетудің пайдалылығын шектеп, барлық сомалар ұрланған.

Тағы да, мұнда идея белгісіз белгісіз функцияны орындау болып табылады, егер хакер криптографиялық хэш алгоритмін білсе, бірақ бұл әдетті емес, онда парольдерді жинақтауды білмейсіз.

Құпия сөздер мен криптографиялық хеш функциялары

Rainbow кестесіндегідей, дерекқордың пайдаланушы құпиясөздерін қалай сақтайтынын білу керек. Құпия сөз енгізілгеннен кейін бақылау сомасы жасалады және пайдаланушы атымен жазба бойынша салыстырылады. Егер сіз екеуі бірдей болса, сізге рұқсат беріледі.

Криптографиялық хэш функциясы кері қайтарылмайтын бақылау сомасын шығаратындығын ескерсек, бұл құпия сөзіңізді 12 @ 34 $ 5 орнына 12345 орнына қарапайым етіп жасай аласыз ба? Бұл сөзсіз емес , сондықтан ...

Көріп отырғаныңыздай, бұл екі құпия сөз тек бақылау сомасын қарап шығу арқылы шешуге болмайды:

12345 үшін MD5: 827ccb0eea8a706c4c34a16891f84e7b

12 @ 34 $ 5 үшін MD5: a4d3cc004f487b18b2ccd4853053818b

Мәселен, бірінші көзқараста, сіз осы құпия сөздердің біреуін пайдалану өте жақсы деп ойлайсыз. Шабуылдаушы MD5 бақылау сомасын (ол ешкім жасамайды) болжай отырып, құпия сөзіңізді анықтаған кезде дұрыс, бірақ қатал күшін немесе сөздік шабуылын (жалпы тактика) орындаған жағдайда дұрыс емес.

Күшті шабуыл - құпия сөзді табу кезінде көптеген кездейсоқ шабуылдардың алынуы. Бұл жағдайда «12345» деп болжауға болады, бірақ екіншісін кездейсоқ анықтап алу өте қиын. Сөздікке шабуыл шабуылдаушы кәдімгі (және жалпыға ортақ пайдаланылатын) кілт сөздердің тізімінен әр сөзді, сандарды немесе сөз тіркесін көре алатындығымен ұқсас, «12345» сөзсіз сыналатын болады.

Осылайша, криптографиялық хэштердің функциялары мүмкін емес - болжанған сомаларды табу қиын болса да, барлық онлайн және жергілікті пайдаланушы тіркелгілеріңіз үшін күрделі құпия сөзді пайдалануыңыз керек.

Кеңес: Сенің күшті пароль саналғанына сенімді болмасаңыз , әлсіз және күшті құпия сөздердің мысалдарын қараңыз.

Криптографиялық хеш функциялары туралы қосымша ақпарат

Бұл криптографиялық хеш функциялары шифрлаумен байланысты, бірақ екі жұмыс өте түрлі жолдармен көрінеді.

Шифрлау - бұл бір нәрсе оқылмайтын болуға шифрланған екі жолды процесс, бірақ содан кейін қайтадан қайтадан әдетте пайдаланылатын шифры. Сіз сақтаған файлдарды шифрлай аласыз, оларға қол жеткізе алатын кез келген адам оларды пайдалана алмайды, немесе сіз желі арқылы жүктеп жатқан файлдарды шифрлау үшін файлды тасымалдау шифрлауын пайдаланасыз.

Жоғарыда сипатталғандай, криптографиялық хэштер функциялары шифрланған файлдар арнайы шифрлеу паролімен қалай оқылатынына байланысты арнайы кодсыз парольмен қайтарылмайды. Криптографиялық хэш функциясының жалғыз мақсаты - файлдарды жүктеу, құпия сөздерді сақтау, дерекқордан деректерді алу және т.б. сияқты деректердің екі бөлігін салыстыру.

Криптографиялық хэш функциясының деректердің әртүрлі бөліктері үшін бірдей бақылау сомасын алу мүмкіндігі бар. Мұндай жағдай орын алса, ол соқтығысу деп аталады. Әрине, бұл криптографиялық хэш функциясының барлық нүктесін ескеретін үлкен мәселе - оған енгізілген әрбір деректер үшін толықтай бірегей сома жасау болып табылады.

Себептердің соқтығысу себебі болуы мүмкін, себебі әрбір криптографиялық хэш функциясы кіріс деректеріне қарамастан тіркелген ұзындықтың мәнін шығарады. Мысалы, MD5 криптографиялық хэш функциясы 827ccb0eea8a706c4c34a16891f84e7b, 1f633b2909b9c1addf32302c7a497983 және e10adc3949ba59abbe56e057f20f883e үш түрлі деректер блогын шығарады.

Алғашқы бақылау сомасы 12345- ден, екіншісі 700-ден астам әріптер мен сандардан, ал екіншісі 123456-нан . Барлық үш кіріс ұзындығы әртүрлі, бірақ нәтиже әрқашан 32 таңбадан аспайды, себебі MD5 пайдаланылды.

Көріп отырғаныңыздай, іс жүзінде кез-келген соманың санына шектеу қойылмайды, себебі әрбір кішкене өзгеріс әртүрлі бақылау сомасын шығаруға тиіс. Дегенмен, бақылау сомасының лимиті болғандықтан, бір криптографиялық хэш функциясы пайда болады, соқтығысуға кез-келген мүмкіндік бар.

Сондықтан да басқа криптографиялық хеш функциялары жасалды. MD5 32 таңбадан тұратын мәнді шығарса, SHA-1 40 таңба жасайды және SHA-2 (512) 128 шығарады. Төлем сомасы бар көп таңбалар саны соғұрлым көп болады бірегей мәндер.