Kriptogrāfiskā sprādziena funkcija

Kriptogrāfiskā sprādziena funkciju definīcija

Kriptogrāfijas hash funkcija ir sava veida algoritms, kuru var darbināt uz datu kopas, piemēram, atsevišķu failu vai paroli, lai izveidotu vērtību, ko sauc par kontrolsummu.

Galvenā kriptogrāfiskās jaucējfunkcijas izmantošana ir pārbaudīt datu daļas autentiskumu. Var pārliecināties, ka divi faili ir vienādi, ja no katra faila ģenerētās kontrolsummas, izmantojot vienu un to pašu kriptogrāfiskās jaudas funkciju, ir identiskas.

Dažas bieži izmantotas kriptogrāfiskās hash funkcijas ietver MD5 un SHA-1 , lai gan daudzi citi arī pastāv.

Piezīme. Kriptogrāfijas jaucējfunkcijas bieži tiek sauktas par īnas funkcijām , taču tas nav tehniski pareizi. Hašfunkcijas ir daudz vispārīgāks termins, kas parasti tiek izmantots, lai ietvertu kriptogrāfiskās hash funkcijas kopā ar cita veida algoritmiem, piemēram, cikliķu atlaišanas pārbaudes.

Kriptogrāfiskās pietūkuma funkcijas: izmantošanas gadījums

Pieņemsim, ka lejupielādējat pārlūkprogrammas Firefox jaunāko versiju . Lai kāds būtu iemesls, jums vajadzēja lejupielādēt to no vietnes, kas nav Mozilla. Neizmantojot vietnē, par kuru esat iemācījies uzticēties, jūs vēlaties pārliecināties, ka tieši lejupielādētā instalācijas fails ir tas pats, ko piedāvā Mozilla.

Kontrolsummas kalkulatora izmantošana aprēķina kontrolsummu, izmantojot noteiktu kriptogrāfiskās jaudas funkciju (piemēram, SHA-2), un pēc tam salīdzina to ar Mozilla vietnē publicēto.

Ja tie ir vienādi, tad jūs varat būt pamatoti pārliecināti, ka jūsu lejupielāde ir tā Mozilla programma, kuru jums vajadzētu.

Skatiet, kas ir kontrolsumma? lai saņemtu plašāku informāciju par šiem īpašajiem kalkulatoriem, kā arī vairāk piemēri, kā izmantot kontrolsummas, lai pārliecinātos, ka faili, kurus jūs lejupielādējat, patiešām ir tie, ko jūs sagaidāt.

Vai kriptogrāfiskās izkustēšanas funkcijas var mainīt?

Kriptogrāfiskās maiņas funkcijas ir paredzētas, lai novērstu iespēju mainīt kontrolsummas, kuras tās rada atpakaļ oriģinālajos tekstos.

Tomēr, pat ja tos praktiski nav iespējams mainīt, tas nenozīmē, ka tie garantē datu aizsardzību.

Kaut ko sauc par varavīksnes galdu, var izmantot, lai ātri noskaidrotu kontrolsummas vienkāršo tekstu. Varavīksnes tabulas pamatā ir vārdnīcas, kurās kopā ar atbilstošo teksta vērtību ir uzskaitīti tūkstošiem, miljoniem vai pat miljardiem.

Kaut arī tas tehniski neizmanto kriptogrāfiskā hash algoritmu, tas varētu arī būt, jo tas ir tik vienkārši. Patiesībā, tā kā nevienā varavīksnes tabulā nav iespējams uzskaitīt visas iespējamās kontrolsummas, tās parasti ir tikai "noderīgas" vienkāršām frāzēm ... tāpat kā vājas paroles.

Šeit ir vienkāršota varavīksnes plākšņu versija, kurā parādīts, kā strādāt, izmantojot SHA-1 kriptogrāfiskās mijiedarbības funkciju:

Plaintext SHA-1 kontrolsumma
12345 8cb2237d0679ca88db6464eac60da96345513964
parole1 e38ad214943daad1d64c102faec29de4afe9da3d
ilovemydog a25fb3505406c9ac761c8428692fbf5d5ddf1316
Jenny400 7d5eb0173008fe55275d12e9629eef8bdb408c1f
dallas1984 c1ebe6d80f4c7c087ad29d2c0dc3e059fc919da2

Lai šīs vērtības, kas jāņem vērā, izmantojot kontrolsummu, prasītu, lai hakeris saprastu, kurš kriptogrāfiskā hash algoritms tika izmantots, lai tos ģenerētu.

Lai nodrošinātu papildu aizsardzību, dažās vietnēs, kurās tiek saglabātas lietotāju paroles, tiek veiktas papildu funkcijas kriptogrāfiskā hash algoritmā pēc vērtības izveidošanas, bet pirms tā saglabāšanas.

Tas rada jaunu vērtību, kuru saprot tikai tīmekļa serveris, un tas precīzi neatbilst sākotnējai kontrolsummai.

Piemēram, pēc tam, kad ir ievadīta parole un tiek ģenerēta kontrolsumma, to var sadalīt vairākās daļās un pārkārtot, pirms tas tiek saglabāts paroles datubāzē, vai dažas zīmes var tikt apmainītas ar citiem. Ja lietotājs mēģina autentificēt nākamajā reizē, kad pierakstīsies, tad šī papildu funkcija pēc tam tiks mainīta tīmekļa serverī un sākotnējā kontrolsumma tiks ģenerēta vēlreiz, lai pārbaudītu, vai lietotāja parole ir derīga.

Tas palīdz ierobežot to, ka tiek nozagtas visas kontrolsummas.

Atkal jēga ir veikt funkciju, kas nav zināma, lai, ja hacker zinātu kriptogrāfiskā hash algoritmu, bet ne šis pielāgotais, tad zinot, ka paroles kontrolsumma nav lietderīga.

Paroles un kriptogrāfiskās pārslēgšanās funkcijas

Līdzīgs varavīksnes tabulai ir tas, kā datubāze saglabā lietotāju paroles. Kad ir ievadīta jūsu parole, kontrolsumma tiek ģenerēta un salīdzināta ar reģistrēto personu ar jūsu lietotājvārdu. Tad jums piešķir piekļuvi, ja abi ir identiski.

Ņemot vērā, ka kriptogrāfijas hex funkcija rada neatsaucamu kontrolsummu, vai tas nozīmē, ka jūs varat izveidot paroli tikpat vienkāršu kā 12345 , nevis 1234 $ 5 , vienkārši tāpēc, ka pašas kontrolsummas nav saprotamas? Tas noteikti nav , un tieši tāpēc ...

Kā redzat, šīs abas paroles ir neiespējami atšifrēt, tikai izskatot kontrolsummu:

MD5 par 12345: 827ccb0eea8a706c4c34a16891f84e7b

MD5 par 12 @ 34 $ 5: a4d3cc004f487b18b2ccd4853053818b

Tātad, no pirmā acu uzmetiena jūs domājat, ka ir pilnīgi pareizi izmantot kādu no šīm parolēm. Tas noteikti ir taisnība, ja uzbrucējs mēģināja noteikt savu paroli, nolaidot MD5 kontrolsummu (ko neviens to nedara), bet ne taisnība, ja tiek veikts brutāls spēks vai vārdnīcu uzbrukums (kas ir bieži sastopama taktika).

Bruņotu spēku uzbrukums ir tad, kad paroles noņemšanā tiek ņemti vairāki izlases punkti. Šajā gadījumā būtu ļoti viegli uzminēt "12345", bet diezgan grūti nejauši izdomāt otru. Vārdnīca uzbrukums ir līdzīgs, jo uzbrucējs var izmēģināt katru vārdu, numuru vai frāzi no parasto (un mazāk izplatīto) paroļu saraksta, "12345" noteikti ir tāds, kas tiks izmēģināts.

Tātad, pat ja kriptogrāfijas jaucējfunkcijas rada grūtības vai neiespējamību kontrolēt summas, joprojām ir jāizmanto sarežģīta parole visiem jūsu tiešsaistes un vietējo lietotāju kontiem.

Padoms. Skatiet vājo un spēcīgo paroļu piemērus, ja neesat pārliecināts, vai jūsu tiek uzskatīta par spēcīgu paroli.

Plašāka informācija par kriptogrāfiskās slazdošanas funkcijām

Tas varētu šķist, ka kriptogrāfijas jaucējfunkcijas ir saistītas ar šifrēšanu, bet abi darbojas ļoti dažādos veidos.

Šifrēšana ir divvirzienu process, kurā kaut kas tiek šifrēts, lai kļūtu nesalasāms, bet pēc tam vēlāk atšifrē un parasti atkal tiek izmantots. Varat šifrēt saglabātos failus, lai ikviens, kas tos piekļūtu, nevarētu tos izmantot, vai arī jūs varat izmantot failu pārsūtīšanas šifrēšanu, lai šifrētu failus, kas pārvietojas tīklā, piemēram, tie, kurus augšupielādējat vai lejupielādējat tiešsaistē.

Kā aprakstīts iepriekš, kriptogrāfijas maiņas funkcijas darbojas citādi, jo kontrolsummas nav jāmaina ar īpašu paraksta noņemšanas paroli, piemēram, to, kā šifrētos failus nolasa ar īpašu atšifrēšanas paroli. Vienīgais mērķis kriptogrāfijas jaucējfunkciju uzdevums ir salīdzināt divus datus, piemēram, failu lejupielādē, paroļu glabāšanā, datņu datu vilkšanā utt.

Kriptogrāfijas jaucējfunkcijas iespēja ir tāda pati kontrolsumma kā dažādiem datiem. Kad tas notiks, to sauc par sadursmi. Skaidrs, ka šī ir milzīga problēma, ņemot vērā to, ka viss kriptogrāfiskā hash funkcija ir padarīt pilnīgi unikālas kontrolsummas par katru ievadīto informāciju.

Iemesls sadursmēm var rasties tādēļ, ka katra kriptogrāfiskā maiņas funkcija nodrošina fiksētu garumu neatkarīgi no ievaddatiem. Piemēram, MD5 kriptogrāfijas hash funkcija ģenerē 827ccb0eea8a706c4c34a16891f84e7b, 1f633b2909b9c1addf32302c7a497983 un e10adc3949ba59abbe56e057f20f883e trīs pilnīgi dažādiem datu blokiem.

Pirmā kontrolsumma ir no 12345 , otrā tika radīta no vairāk nekā 700 burti un cipari, bet trešais - no 123456 . Visi trīs izejmateriāli ir dažāda garuma, bet rezultātiem vienmēr ir tikai 32 rakstzīmes, kopš MD5 tika izmantots.

Kā redzat, praktiski nav nekādu ierobežojumu attiecībā uz kontrolsummu skaitu, ko varētu izveidot, jo katrai nelielai ievades izmaiņai paredzēts radīt pilnīgi citu kontrolsummu. Tomēr, tā kā kontrolsummu skaits ir ierobežots, var rasties viena kriptogrāfiskā maiņas funkcija, vienmēr pastāv iespēja, ka jūs saskarsieties ar sadursmi.

Tieši tāpēc ir izveidotas citas kriptogrāfiskās jaucējfunkcijas. Lai gan MD5 ģenerē 32 rakstzīmju vērtību, SHA-1 ģenerē 40 rakstzīmes, un SHA-2 (512) ģenerē 128. Jo lielāks ir kontrolsummas rakstzīmju skaits, jo mazāka ir sadursme, jo tā nodrošina vairāk vietas unikālas vērtības.