Saugus maišos algoritmas, dažnai vadinamas tiesiog „SHA“, yra maišos algoritmas, kuris laikomas kriptografiškai saugiu. Paprastai maišos funkcijos naudojamos skaitmeniniams duomenims rūšiuoti ir suskirstyti į mažesnius, labiau suskirstytus paketus. Algoritmai yra programos, kurios valdo funkcijas, o šių algoritmų saugumas yra svarbus tiek, kiek jis kontroliuoja, kaip lengvai galima atrakinti ir pertvarkyti duomenis. Kaip viskas turi būti saugi, dažniausiai priklauso nuo aplinkybių. Daugelis programinės įrangos ir kodų kūrėjų nori neįveikiamų algoritmų, nes jų temų rūšiavimo ir ryšių nubrėžimo metodai yra patentuoti ir jie tai naudoja norėdami užsidirbti pinigų. Kitais atvejais patys duomenys yra labai jautrūs, kaip dažnai būna su medicininiais įrašais ar tam tikrais vyriausybės dokumentais. Tikroji SHA mechanika paprastai būna labai sudėtinga, o norint suprasti, kaip jie veikia ir kaip jie kuriami, paprastai reikia bent tam tikro techninio išmanymo. Kaip ir dauguma technologinių dalykų, vystymasis taip pat augo į viršų; Ankstesni modeliai iš esmės buvo pakeisti, o naujesni, saugesni dizainai beveik nuolat pristatomi.
Maišos algoritmų supratimas apskritai
Šiuolaikiniame skaitmeniniame kraštovaizdyje yra šimtai milijonų duomenų taškų, kurie visi yra tarpusavyje susiję ir bendri tiek svetainėse, tiek socialinėje srityje, kai kalbama apie vartotojų generuojamus pranešimus ir įrašus. Maišos naudojimas yra vienas iš būdų sujungti duomenis, kurie yra panašūs arba susiję taip, kad sudarytų kažką panašaus į sąvadą arba mažesnį, labiau tarpusavyje susijusį „žiniatinklį žiniatinklyje“. Saugūs maišos algoritmai siekia tai organizuoti efektyviai ir saugiai.
Pradinių duomenų, sumaišytų naudojant SHA, paprastai negalima atkurti be didžiulės skaičiavimo galios. Saugūs algoritmai dažnai naudojami kartu su kitais algoritmais pranešimams, įskaitant skaitmeninius parašus, autentifikuoti.
Kaip jie įgyvendinami
Kai kurie tinklo maršruto parinktuvai ir ugniasienės įdiegia SHA tiesiogiai savo aparatinėje įrangoje. Tai leidžia autentifikuoti duomenų paketus, turinčius ribotą poveikį pralaidumui. Kita galimybė yra specialiai sukurta programinė įranga, įskaitant daugybę atvirojo kodo diegimų. Pavyzdžiui, JAV nacionalinis standartų ir technologijų institutas (NIST) ir Kanados ryšių saugumo įstaiga (CSE) kartu vykdo Kriptografinio modulio tikrinimo programą (CMVP). Ši oficiali programa patvirtina teisingą saugių algoritmų diegimą jautrioms programoms.
Standartizacija
JAV vyriausybė standartizavo mažiausiai šešis saugius maišos algoritmus. SHA-0 ir SHA-1 buvo pirmieji modeliai, sukurti 1990 m. 2-aisiais sukurta SHA-2000 serija apėmė SHA-224, -256, -384 ir -512. Jie sukurti taip, kad du skirtingo turinio dokumentai paprastai sukuria du unikalius maišos reikšmių rinkinius, o tai tikrai padeda išvengti maišos susidūrimų.
Ankstyviausios iteracijos
SHA-0 algoritmas, pirmą kartą paskelbtas 1993 m. NIST, buvo greitai nutrauktas, kai buvo nustatytas didelis trūkumas. 1 m. jis buvo pakeistas SHA-1995, kuris apima papildomą skaičiavimo veiksmą, sprendžiantį neatskleistas SHA-0 problemas. Abu algoritmai sumaišo iki 264–1 bitų pranešimą į 160 bitų „santrauką“. Abu jie naudoja 512 bitų bloko dydį ir 32 bitų žodžio dydį.
SHA-1 naudojamas kai kuriuose įprastuose interneto protokoluose ir saugos priemonėse. Tai apima IPsec, PGP, SSL, S/MIME, SSH ir TLS. SHA-1 taip pat paprastai naudojamas kaip neįslaptintų vyriausybės dokumentų apsaugos schemos dalis. Kai kurios privataus sektoriaus dalys taip pat naudoja šį algoritmą tam tikrai neskelbtinai informacijai. Tačiau 2010 m. jis buvo oficialiai pašalintas iš valdžios sektoriaus naudojimo.
Evoliucija ir nuolatinis vystymasis
SHA-224, -256, -384 ir -512 paskelbė NIST 2001–2004 m. Šie keturi algoritmai, taip pat žinomi kaip SHA-2 šeima, paprastai yra patikimesni nei SHA-1. SHA-224 ir SHA-256 naudoja tuos pačius bloko, žodžio ir didžiausio įvesties pranešimų dydžius kaip ir SHA-1. Priešingai, SHA-224 sukuria 224 bitų santrauką, o SHA-256 sukuria 256 bitų santrauką. SHA-384 ir SHA-512 padidina bloko dydį iki 1024 bitų, žodžio dydį iki 64 bitų ir didžiausią įvesties pranešimo ilgį iki 2128-1 bitų. SHA-384 sukurta santrauka yra 384 bitų ilgio, o SHA-512 santrauka yra 512 bitų.
Kaip ir SHA-0 ir SHA-1, SHA-2 šeimą sukūrė JAV Nacionalinė saugumo agentūra (NSA). Nors rimti SHA-2 trūkumai nebuvo viešai atskleisti, NIST paskelbė konkursą, kad sukurtų kitą saugų maišos algoritmą. Šis naujas algoritmas, vadinamas SHA-3, greičiausiai bus pasirinktas iš viešųjų įrašų rinkinio. Tikimasi, kad tai bus naujas dizainas, neparemtas esamais algoritmais.