Kriptografinė santraukos funkcija

Kontrolinis parašas – kriptografinės funkcijos () rezultatas, naudojamas informacijos autentiškumui ir integralumui nustatyti. Maišos (hash) funkcija 'apdorojama' informacija (dokumentas / byla / tekstas) ir apskaičiuojama fiksuoto ilgio santrumpa (digest). Šią santrumpą užšifravus privačiu raktu gaunamas kontrolinis parašas.

Kriptografinės savybės 

Kontrolinio parašo kriptografinės funkcijos turi šias savybes:
 Vienpusiškumas () – iš parašo atgaminti pradinę informacija yra  labai sunku.
 Atsparumas kolizijoms () – labai sunku rasti dvi žinutes m1 ir m2, kurių f(m1) = f(m2).

Algoritmai 
Populiariausi kontrolinio parašo algoritmai:
 MD5 (Message-Digest algorithm 5) – šiuo metu populiariausias algoritmas, apskaičiuojantis 128 bitų ilgio parašą. Nors MD5 algoritmas (kaip ir kiti algoritmai) gali apskaičiuoti parašą nuo begalinio skaičiaus žinučių (), galimų parašų skaičius yra baigtinis – 2128, todėl jau seniai buvo žinoma kad kolizijos egzistuoja. Anksčiau tai nebuvo aktualu dėl reliatyviai silpnų kompiuterių pajėgumų, tačiau dabar MD5 algoritmas laikomas nesaugiu, ką parodė 2004 metais atrasti pažeidžiamumai. Pavyzdys:
MD5(„Labas rytas“) = 23f00289ee3181c0ab6ab3fcd20f983b

 SHA-1 (Secure Hash Algorithm) – dar vienas populiarus algoritmas, naudojamas įvairiose programose ir protokoluose kaip antai – TLS, SSL, PGP, SSH, S/MIME, IPSec. SHA-1 buvo laikomas pažeidžiamo MD5 algoritmo įpėdiniu, tačiau 2004 ir 2005 metais atrasti pažeidžiamumai daro šį algoritmą nerekomenduotinu. Yra sukurta saugesnių SHA-1 algoritmo variacijų (SHA-224, SHA-256, SHA-384, SHA-512), kuriose pažeidžiamumų kol kas nerasta. SHA-1 apskaičiuoja 160 bitų parašą:
SHA-1(„Labas rytas“) = 55c3271b687491019ebef614b4261927cd266af4

 RIPEMD-160 (RACE Integrity Primitives Evaluation Message Digest) – sukurtas 1996 metais akademinės bendruomenės, todėl nėra suvaržytas patentų. Šis algoritmas yra mažiau populiarus nei MD5 ar SHA-1, todėl atitinkamai mažiau ir analizuotas. Pažeidžiamumų kol kas nerasta. RIPEMD-160 apskaičiuoja 160 bitų parašą:
RMD160(„Labas rytas“) = 2755eae08ccb73b63872dded3982e50b47d47388

Visi kontrolinio parašo algoritmai turi baigtinį galimų parašų skaičių, todėl yra pažeidžiami grubios jėgos () atakoms. Buvo manoma, jog su dabartinių pajėgumų kompiuteriais, tokios atakos įgyvendinimas gali užtrukti labai daug metų (pvz., buvo manoma, jog MD5 sudėtingumas yra 264, o SHA-1, RIPMD-160–280).

2004 m. buvo atrasti analitiniai būdai visų šių algoritmų nulaužimui. MD5, RIPEMD-160, HAVAL-128 algoritmų sugeneruotoms reikšmėms galima rasti kolizijas per valandas. Detaliau skaitykite čia. T. y. jas galima nesunkiai „nulaužti“. Kurį laiką saugiu laikytam SHA-1 algoritmui taip pat rasti kriptoanalitiniai būdai, leidžiantys sumažinti sudėtingumą tiek, kad koliziją galima rasti priimtino laiko ribose. Todėl specialistai ragina pereiti prie SHA-2 versijos. Kol kas didesnės praktinės naudos įsilaužėliams iš to nėra, tačiau manoma, jog artimoje ateityje bus galima panaudoti šiuos atradimus kenkėjiškų programų plitimui (t. y. panaudojant pre-image ataką).

Susiję algoritmai 

Kontrolinių sumų () algoritmai yra panašūs i kontrolinio parašo, tačiau nėra naudojami duomenų apsaugos tikslams dėl įvairių pažeidžiamumų.

Kriptografija