SHA ir akronīms vārdam Secure Hash Algorithm, šifrēšanas standartam, ko izgudroja Nacionālās drošības aģentūra un publicēja Nacionālais standartu un tehnoloģiju institūts. Tika konstatēts, ka sākotnējam SHA algoritmam ir trūkumi tā šifrēšanas metodēs, un tas tika aizstāts ar SHA-1, lai nodrošinātu lielāku drošību.
Drošs hash algoritms
SHA ir kriptogrāfiska jaukšanas funkcija. Jaucējfunkcija izmanto sākotnējo nešifrētu tekstu, ko sauc par vienkāršu tekstu, un rada teorētiski unikālu numuru, kas veido šifrēto ziņojumu. SHA izveido 160 bitu skaitli, kas ir skaitlis no 0 līdz 1,46 x 10^48. Nav iespējams garantēt, ka šis numurs ir unikāls visām iespējamām vienkāršā teksta ziņām, jo šādu ziņojumu skaits ir teorētiski bezgalīga, bet izredzes ir aptuveni 2^80 jeb 1,21 x 10^24 pret diviem ziņojumiem, kas rada vienu un to pašu šifrētu rezultāts. Ja tas notiek, to sauc par sadursmi. Sadursme nodrošina matemātisko uzbrukumu šifrēšanas algoritmam, ļaujot kriptogrāfam atšifrēt vienkāršu tekstu.
Dienas video
SHA-0 un SHA-1
Pēc tā publicēšanas tika atklāti sākotnējā SHA algoritma trūkumi, kas ļāva kriptogrāfiskam uzbrukumam izraisīt jaucējkodolu sadursmes, ievērojami vājinot tā efektivitāti. Tika izstrādāta pārskatīta SHA versija SHA-1, kas radīja tos pašus 160 bitu rezultātus bez sākotnējiem algoritma trūkumiem. Sākotnējais SHA ar atpakaļejošu spēku tika pārdēvēts par SHA-0, lai atšķirtu tā izmantošanu un SHA-1 lietojumu.
Izmaiņas SHA-1
Sākotnējie SHA-0 trūkumi nekad nav publicēti, jo šie trūkumi nodrošina rīku komplektu ikvienam uzbrucējam, kurš mēģina atšifrēt ziņojumu, izmantojot SHA-0 šifrēšanu. Vienīgā publiskā informācija par sākotnējā algoritma trūkumiem liecina, ka jaucējkoda sadursmes ir lielākas nekā no nejaušības, izmantojot SHA-0, un ka sadursmes, izmantojot nepublicēto metodi, tiek novērstas, lietojot SHA-1. Tā kā SHA-1 un SHA-0 rada vienāda garuma matemātiskos rezultātus, SHA-1 var izmantot kā nomaiņu. datora programmatūrā oriģinālajam SHA-0 algoritmam, neprasot lielas pārrakstīšanas pārējā programmatūra.
SHA-2 un SHA-3
Ir konstatēts, ka SHA-1 ir izturīgāks par SHA-0, taču tas atstāj iespēju uzlabot. SHA-1 rezultātu matemātiskā analīze parādīja metodi, ar kuras palīdzību SHA-1 šifrēšana var tikt pārtraukta 2000 reižu ātrāk, nekā tas būtu teorētiski iespējams, pārbaudot visas 10^48 iespējamās tā kombinācijas izvade. Tā kā ideāls kriptogrāfijas algoritms novērš šāda veida atšifrēšanas ātruma uzlabojumus, SHA-2 algoritms gan izvairās no šī uzbrukuma, gan palielina iespējamo jaucējfunkciju līdz 512 bitiem jeb 1,34 x 10^154. Pašlaik tiek izstrādāts SHA-3, vēl jaudīgāks šifrēšanas algoritms.