Крыптаграфічныя хэш-функцыі

Крыптаграфічныя хэш-функцыі Вызначэнне

Крыптаграфічныя хэш - функцыя з'яўляецца сваім родам алгарытму , які можа быць запушчаны на лісце дадзеных, як асобны файл або пароль, каб вырабіць значэнне , званае кантрольнай сумай.

Асноўнае выкарыстанне крыптаграфічнай хэш-функцыі заключаецца ў праверцы сапраўднасці часткі дадзеных. Два файлы можа быць упэўнены ў тым, каб быць ідэнтычнымі, толькі калі кантрольныя сумы, атрыманыя ад кожнага файла, выкарыстоўваючы тую ж крыптаграфічнай хэш-функцыю, з'яўляюцца ідэнтычнымі.

Некаторыя часта выкарыстоўваюцца крыптаграфічныя хэш - функцыі ўключаюць MD5 і SHA-1 , хоць многія іншыя таксама існуюць.

Заўвага: крыптаграфічныя хэш - функцыі часта проста называюць хэш - функцыі для сцісласці, але гэта тэхнічна не правільна. Хэш-функцыя з'яўляецца больш агульным тэрмінам, які звычайна выкарыстоўваецца для абазначэння крыптаграфічных хэш-функцыі разам з іншымі відамі алгарытмаў, такімі як цыклічныя праверкі надмернасці.

Крыптаграфічныя хэш-функцыі: Прэцэдэнт

Дапусцім, вы загрузіце апошнюю версію браўзэра Firefox . Па якой - то прычыне, вам неабходна спампаваць яго з сайта, акрамя Mozilla. Не будучы размешчаны на сайце вы навучыліся давяраць, вы хочаце, каб пераканацца, што установачны файл, які вы запампавалі сапраўды такі ж, што Mozilla прапаноўвае.

Выкарыстанне кантрольнай сумы калькулятар, вы вылічыць кантрольную суму , выкарыстоўваючы пэўную крыптаграфічную хэш - функцыю (скажам , SHA-2) , а затым параўнаць яго з аднаго апублікаванай на сайце Mozilla.

Калі яны роўныя, то вы можаце быць упэўнены, што загрузка ў вас ёсць гэта адзін Mozilla прызначаны вам мець.

См Што такое кантрольная сума? Падрабязную інфармацыю пра гэтыя спецыяльных калькулятараў, плюс яшчэ прыклады па выкарыстанні кантрольных сум, каб пераканацца, што файлы, загружаныя на самой справе тое, што вы чакалі, што яны будуць.

Можа крыптаграфічныя хэш-функцыя Be Перавернутыя?

Крыптаграфічныя хэш-функцыі прызначаныя для прадухілення магчымасці зваротных кантрольных сум, якія яны ствараюць назад у зыходныя тэксты.

Аднак, нягледзячы на ​​тое, што яны практычна немагчыма адмяніць, гэта не азначае, што яны 100% гарантавана абараніць дадзеныя.

Што называецца табліцай вясёлкі можна выкарыстоўваць , каб хутка высветліць адкрыты тэкст кантрольнай сумы. Вясёлкавыя табліцы ў асноўным слоўнікі, якія пералічваюць тысячы, мільёны або нават мільярды гэтых нароўні з іх адпаведным тэкстам значэння.

Хоць гэта не з'яўляецца тэхнічна реверсированием крыптаграфічнага алгарытму хэшавання, яна таксама можа быць , бо гэта так проста зрабіць. У рэчаіснасці, бо ні адна табліца вясёлкі не можа пералічыць усе магчымыя сумы ў наяўнасці, яны звычайна толькі «карысныя» для простых фраз ... як слабыя паролі.

Вось спрошчаная версія табліцы вясёлкі, каб паказаць, як можна было б працаваць пры выкарыстанні крыптаграфічнай хэш-функцыі SHA-1:

Plaintext SHA-1 Кантрольная сума
12345 8cb2237d0679ca88db6464eac60da96345513964
password1 e38ad214943daad1d64c102faec29de4afe9da3d
ilovemydog a25fb3505406c9ac761c8428692fbf5d5ddf1316
Jenny400 7d5eb0173008fe55275d12e9629eef8bdb408c1f
dallas1984 c1ebe6d80f4c7c087ad29d2c0dc3e059fc919da2

Для таго каб гэтыя значэнні павінны быць высвятляў з дапамогай кантрольнай сумы, патрабуе, каб хакер разумее, які крыптаграфічнай хэш-алгарытм быў выкарыстаны для іх стварэння.

Для дадатковай абароны, некаторыя вэб-сайты, якія захоўваюць паролі карыстальнікаў выконваць дадатковыя функцыі крыптаграфічнай хэш-алгарытму пасля значэння генеруецца, але перш, чым яна захоўваецца.

Гэта стварае новае значэнне, якое разумее толькі вэб-сервер, і гэта не дакладна адпавядаць зыходнай кантрольнай сумы.

Напрыклад, пасля ўводу пароля і кантрольная сума генеруецца, яна можа быць падзелена на некалькі частак і пераставіць, перш чым яна захоўваецца ў базе пароляў, або некаторыя сімвалы могуць быць замененыя з іншымі. Калі карыстальнік спрабуе аўтэнтыфікаваных наступны раз, калі яны падпісваюць на гэта дадатковая функцыя затым будзе адменена на вэб-сэрвэры і арыгінальная кантрольная сума зноў генеруецца, каб пераканацца, што пароль карыстальніка з'яўляецца сапраўдным.

Рабіць гэта дапамагае абмежаваць карыснасць хак, дзе ўсе кантрольныя сумы скрадзенага.

Зноў жа, ідэя тут заключаецца ў выкананні функцыі, якая невядомая, так што калі хакер ведае крыптаграфічны алгарытм хэшавання, але не гэты звычай адзін, то ведаючы пароль кантрольныя сумы не прыносіць ніякай карысці.

Паролі і крыптаграфічныя хэш-функцыі

Падобна табліцу вясёлкавай, як база дадзеных захоўваюць паролі карыстальнікаў. Калі пароль уведзены, генеруецца кантрольная сума і параўноўваецца з аднаго на запісы з вашым імем карыстальніка. Вы атрымаеце доступ, калі дзве аднолькавыя.

Улічваючы , што крыптаграфічныя хэш - функцыя вырабляе не-зварачальнае кантрольнай сумы, што значыць вы можаце зрабіць свой пароль, проста як 12345, а 12 @ 34 $ 5, проста таму , што самі кантрольныя сумы не могуць быць зразуметыя? Гэта , безумоўна , не так, і вось чаму ...

Як вы можаце бачыць, гэтыя два пароля абодва немагчыма расшыфраваць, проста паглядзеўшы толькі на кантрольнай сумы:

MD5 для 12345: 827ccb0eea8a706c4c34a16891f84e7b

MD5 для 12 @ 34 $ 5: a4d3cc004f487b18b2ccd4853053818b

Такім чынам, на першы погляд, вы можаце падумаць, што гэта абсалютна нармальна, каб выкарыстоўваць любога з гэтых пароляў. Гэта, безумоўна, дакладна, калі зламыснік паспрабаваў высветліць пароль, адгадаўшы кантрольную суму MD5 (якую ніхто не робіць), але не так, калі грубая сіла або атака па слоўніку выконваецца (што з'яўляецца звычайнай тактыкай).

Перабор, калі некалькі выпадковых удараў прымаюцца на угадвання пароля. У гэтым выпадку, гэта было б вельмі лёгка здагадацца, «12345», але даволі цяжка выпадкова высветліць іншую. Слоўнік атака аналагічная тым, што зламыснік можа паспрабаваць кожнае слова, лік або фразу з спісу распаўсюджаных (і менш часта выкарыстоўваюцца) пароляў, «12345», безумоўна, ён быў адзін, які б паспрабаваў.

Такім чынам, нягледзячы на ​​тое, крыптаграфічныя хэш-функцыі вырабляюць цяжка немагчыма адгадваецца кантрольныя сумы, вы павінны па-ранейшаму выкарыстоўваць складаны пароль для ўсіх вашых онлайн і лакальных уліковых запісаў карыстальнікаў.

Падказка: Глядзі прыклады моцных і слабых пароляў , калі вы не ўпэўненыя , што ваш, ці лічыцца моцны пароль.

Больш падрабязная інфармацыя аб крыптаграфічных функцый хэшавання

Здавалася б, як крыптаграфічныя Хэш-функцыі, звязаныя з шыфраваннем, але на дзве працы ў самых розных напрамках.

Шыфраванне ўяўляе сабой двухбаковы працэс, дзесьці шыфруецца стане нечытэльным, але затым расшыфраваныя пазней будзе выкарыстоўвацца зноў нармальна. Вы можаце зашыфраваць файлы, захаваныя такім чынам , што любы , хто атрымлівае доступ да іх будзе не ў стане выкарыстаць іх, ці вы можаце выкарыстоўваць шыфраванне перадачы файлаў для шыфравання файлаў, якія перамяшчаюцца па сетцы, як тыя , якія вы загружаеце або спампаваць у Інтэрнэце.

Як апісана вышэй, крыптаграфічныя хэш-функцыі працуюць па-рознаму ў тым, што кантрольныя сумы не прызначаныя быць адменена спецыяльным дэ-хэшавання пароля, як, як зашыфраваныя файлы счытваюцца з дапамогай спецыяльнага дэшыфраванні пароля. Адзіная мэта крыптаграфічнай хэш-функцыі служаць, каб параўнаць дзве часткі дадзеных, як пры загрузцы файлаў, захоўвання пароляў, пацягнуўшы дадзеных з базы дадзеных і г.д.

Гэта магчыма для крыптаграфічнай хэш-функцыі для атрымання той жа сумы для розных частак дадзеных. Калі гэта адбываецца, гэта называецца сутыкненне. Ясна, што гэта велізарная праблема, улічваючы ўсе кропкі крыптаграфічнай хэш-функцыі, каб зрабіць цалкам унікальныя кантрольныя сумы для кожнага дадзеных, уведзеных у яго.

Прычыны могуць адбыцца сутыкнення таму, што кожная крыптаграфічны хэш-функцыя вырабляе значэнне фіксаванай даўжыні, незалежна ад ўваходных дадзеных. Напрыклад, крыптаграфічнай хэш - функцыя MD5 генеруе 827ccb0eea8a706c4c34a16891f84e7b, 1f633b2909b9c1addf32302c7a497983 і e10adc3949ba59abbe56e057f20f883e для трох зусім розных блокаў дадзеных.

Першая кантрольная сума складае ад 12345, другі быў створаны з больш чым 700 літар і лічбаў, а трэці з 123456. Усе тры ўваходу маюць розную даўжыню, але вынікі заўсёды толькі 32 сімвалаў, так як MD5 выкарыстоўваўся.

Як вы можаце бачыць, што няма практычна ніякіх абмежаванняў на колькасць кантрольных сум, якія могуць быць створаны, так як кожная малюсенькая змяненне на ўваходзе, як мяркуецца вырабляць зусім іншую кантрольную. Аднак, паколькі існуе абмежаванне на колькасць кантрольных сум адзін крыптаграфічны хэш - функцыя можа вырабляць, заўсёды ёсць верагоднасць таго, што вы будзеце сутыкацца сутыкненнямі.

Менавіта таму былі створаны іншыя функцыі крыптаграфічнага хэша. У той час як MD5 генеруе значэнне 32 сімвалаў, SHA-1 генеруе 40 знакаў і SHA-2 (512) генеруе 128. Чым больш лікі сімвалаў, што кантрольная сума, тым менш верагоднасць таго, што сутыкненне адбудзецца, паколькі ён забяспечвае больш шырокія магчымасці для унікальныя значэння.