Криптографиялык хэш-функция деген эмне?

Мазмуну:

Криптографиялык хэш-функция деген эмне?
Криптографиялык хэш-функция деген эмне?
Anonim

Криптографиялык хэш-функция (CHF) жеке файл же сырсөз сыяктуу маалыматтарда иштетилүүчү, текшерүү суммасы деп аталган маанини чыгаруу үчүн колдонула турган алгоритм.

CHFнын негизги колдонулушу – бул маалыматтын аныктыгын текшерүү. Бир эле криптографиялык хэш-функцияны колдонуп, ар бир файлдан түзүлгөн контролдук суммалар бирдей болгондо гана эки файл бирдей деп болжолдоого болот.

Кээ бир кеңири колдонулган криптографиялык хэш-функцияларга MD5 жана SHA-1 кирет, бирок башкалары да бар. Булар көбүнчө "хэш функциялары" деп аталат, бирок бул техникалык жактан туура эмес. Хеш-функция CHF жана циклдик ашыкча текшерүүлөр сыяктуу алгоритмдердин башка түрлөрүн камтыган жалпы термин.

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

Firefox браузеринин эң акыркы версиясын жүктөп алдыңыз дейли. Эмнегедир аны Mozilla сайтынан башка сайттан жүктөп алышыңыз керек болчу. Ал сиз ишенүүгө үйрөнгөн сайтта жайгаштырылбагандыктан, сиз жаңы эле жүктөп алган орнотуу файлы Mozilla сунуштаган файл менен дал келишин текшергиңиз келет.

Контролдук эсептегичти колдонуп, сиз SHA-2 сыяктуу белгилүү бир криптографиялык хэш-функциянын жардамы менен текшерүү суммасын эсептейсиз жана аны Mozilla сайтында жарыяланган менен салыштырасыз. Эгер алар бирдей болсо, сиз жүктөп алуу Mozilla сиз каалаган жүктөө экенине ишенсеңиз болот.

Image
Image

Криптографиялык хэш-функцияларды артка кайтарууга болобу?

Криптографиялык хэш-функциялар алар түзгөн текшерүү суммасын баштапкы тексттерге кайтаруу мүмкүнчүлүгүн алдын алуу үчүн иштелип чыккан. Бирок, аларды артка кайтаруу дээрлик мүмкүн эмес болсо да, алар маалыматтарды коргоого 100 пайыз кепилдик бере албайт.

Хакерлер текшерүү суммасынын жөнөкөй текстин аныктоо үчүн асан-үсөн таблицасын колдонушу мүмкүн. Rainbow таблицалары бул сөздүктөр, алар миңдеген, миллиондогон, жада калса миллиарддаган контролдук суммаларды тиешелүү жөнөкөй тексттин мааниси менен кошо келтирет.

Бул криптографиялык хэш алгоритмин техникалык жактан өзгөртпөгөнү менен, муну жасоо өтө жөнөкөй экенин эске алганда, ошондой болушу мүмкүн. Чындыгында, эч бир асан-үсөн таблицасы бардык мүмкүн болгон текшерүү суммасын тизмелей албагандыктан, алар адатта начар сырсөздөр сыяктуу жөнөкөй фразалар үчүн гана пайдалуу.

Бул жерде SHA-1 криптографиялык хэш-функциясын колдонууда кантип иштээрин көрсөтүү үчүн асан-үсөн таблицасынын жөнөкөйлөштүрүлгөн версиясы келтирилген:

Радуга жадыбалынын мисалы
Ачык текст SHA-1 Текшерүү суммасы
12345 8cb2237d0679ca88db6464eac60da96345513964
сырсөз1 e38ad214943daad1d64c102faec29de4afe9da3d
ilovemydog a25fb3505406c9ac761c8428692fbf5d5ddf1316
Jenny400 7d5eb0173008fe55275d12e9629eef8bdb408c1f
даллас1984 c1ebe6d80f4c7c087ad29d2c0dc3e059fc919da2

Хакер маанилерди аныктоо үчүн текшерүү суммасын түзүү үчүн кайсы криптографиялык хэш алгоритм колдонулганын билиши керек.

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

Мисалы, сырсөз киргизилип, текшерүү суммасы түзүлгөндөн кийин, ал сырсөз базасында сакталганга чейин бир нече бөлүккө бөлүнүп, кайра иреттелиши мүмкүн же айрым символдор башкалар менен алмаштырылышы мүмкүн. Колдонуучу кийинки жолу киргенде аныктыгын текшерүүгө аракет кылганда, сервер бул кошумча функцияны жокко чыгарат жана колдонуучунун сырсөзүнүн жарактуу экенин текшерүү үчүн баштапкы текшерүү суммасы кайра түзүлөт.

Бул кадамдарды жасоо бардык текшерүү суммалары уурдалган бузуктуктун пайдалуулугун чектейт. Идея белгисиз функцияны аткаруу болуп саналат, андыктан хакер криптографиялык хэш алгоритмин билсе, бирок ыңгайлаштырылган алгоритмди билбесе, анда сырсөздү текшерүү суммасын билүү пайдалуу эмес.

Сырсөздөр жана криптографиялык хэш-функциялар

Базасы колдонуучунун сырсөздөрүн асан-үсөн таблицасына окшош кылып сактайт. Сырсөзүңүз киргизилгенде, текшерүү суммасы түзүлөт жана колдонуучу атыңыз менен жазылган менен салыштырылат. Эгер экөө бирдей болсо, сизге кирүү мүмкүнчүлүгү берилет.

CHF кайтарылгыс текшерүү суммасын түзөрүн эске алып, сырсөзүңүздү 12@34 ордуна 12345 сыяктуу жөнөкөй кылып койсоңуз коопсузбу? $5, жөн гана текшерүү суммасынын өзү түшүнүксүз болгондуктанбы? Жок, бул жерде.

Бул эки сырсөздү тең текшерүү суммасына карап эле чечмелөө мүмкүн эмес:

12345 үчүн MD5: 827ccb0eea8a706c4c34a16891f84e7b

MD5 for 12@34$5: a4d3cc004f487b18b2ccd4853053818b

Бир караганда, бул сырсөздөрдүн бирин колдонуу жакшы деп ойлошуңуз мүмкүн. Эгер чабуулчу MD5 текшерүү суммасын болжолдоо менен сырсөзүңүздү табууга аракет кылса, бул чындык, бирок аны эч ким жасай албайт, бирок катаал күч же сөздүк чабуул жасалса, бул туура эмес, бул кеңири таралган тактика.

Кара күч чабуулу сырсөздү табууда бир нече туш келди бычак колдонулганда пайда болот. Бул учурда, 12345 аныктоо оңой, бирок экинчисин кокусунан табуу кыйынга турат. Сөздүк чабуулу окшош, анткени чабуулчу ар бир сөздү, санды же фразаны жалпы (жана анчалык көп эмес) сырсөздөрдүн тизмесинен сынап көрө алат жана 12345 сырсөздөр.

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

Криптографиялык хэш-функциялар жөнүндө көбүрөөк маалымат

Криптографиялык хэш-функциялар шифрлөөгө байланыштуу окшойт, бирок экөө башка жолдор менен иштейт.

Шифрлөө – бул эки тараптуу процесс, анда бир нерсе окулбай калуу үчүн шифрленип, кийинчерээк кайра кадимкидей колдонуу үчүн шифрленет. Сиз сактаган файлдарды шифрлеп койсоңуз болот, андыктан аларга киргендер аларды пайдалана албай калышат же сиз жүктөө же онлайн жүктөө сыяктуу тармак аркылуу жылып жаткан файлдарды шифрлөө үчүн файл өткөрүп берүү шифрлөөсүн колдонсоңуз болот.

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

Криптографиялык хэш-функция ар кандай маалымат үчүн бирдей текшерүү суммасын чыгарышы мүмкүн. Мындай болгондо, ал кагылышуу деп аталат, бул функциянын бардык маанисин эске алганда, андагы ар бир маалымат үчүн уникалдуу текшерүү суммаларын түзүү болуп саналат.

Кагылышуулар болушу мүмкүн, анткени ар бир CHF киргизилген маалыматтарга карабастан белгиленген узундуктагы маанини чыгарат. Мисалы, MD5 криптографиялык хэш-функциясы 827ccb0eea8a706c4c34a16891f84e7b, 1f633b2909b9c1addf32302c7a497983 жана e10adc3949ba59abbe550382e үчүн үч түрдүү8949ба59abbe50e blokajынын жалпы санын түзөт.

Биринчи текшерүү суммасы 12345. Экинчиси 700дөн ашык тамгалардан жана сандардан түзүлгөн, үчүнчүсү 123456. Үч киргизүүнүн тең узундугу ар кандай, бирок натыйжалар ар дайым 32 символдон турат, анткени MD5 текшерүү суммасы колдонулган.

Түзүлүүчү текшерүү суммаларынын санында чек жок, анткени киргизүүдөгү ар бир кичинекей өзгөртүү такыр башка текшерүү суммасын чыгарышы керек. Бир CHF өндүрө ала турган текшерүү суммаларынын санында чек бар болгондуктан, кагылышууга туш болуп калуу мүмкүнчүлүгүңүз ар дайым бар.

Ошондуктан башка криптографиялык хэш-функциялар түзүлдү. MD5 32 белгиден турган маанини жаратса, SHA-1 40 символду, ал эми SHA-2 (512) 128 символду жаратат. Текшерүү суммасынын символдорунун саны канчалык көп болсо, кагылышуу ошончолук азыраак болот.

Сунушталууда: