Párhuzamosítható változó hosszú hash függvény
Dátum
Szerzők
Folyóirat címe
Folyóirat ISSN
Kötet címe (évfolyam száma)
Kiadó
Absztrakt
A Paralellizable Variable Length kriptográfiai hash függvény egy változó hosszúsá- gú kimenettel rendelkező iterált hash függvény. Az 1990-ben megjelent Ronald Rivest által megalkotott MD4 algoritmus nagyon jó alappal szolgált a mai napig használatban lévő, fejlesztett és fejlesztés alatt lévő hash függvényeknek. Az MD4 hibáiból és erősségeiből tanulva jöttek létre az MD5 (a következő generáció az MD csalában), az SHA-1 és SHA-2 algoritmusok is amiket az USA szabadalmi hivatala (NIST) fejlesztetett ki és szabadalmazott. A diplomamunka írása közben folyik az SHA-3-ra jelölt algoritmusok versenyeztetése, amelyek egy része hasonlóképp épül fel, mint a diplomamunkában ismertetett PVL hash függvény illetve az előzőleg is említett hash függvények. A PVL hash függvény, mint ahogy említett az iterált hash függvény, MD5 és SHA-1 felépítéséhez hasonlóan 4 körben, összesen 64 lépés- ben titkosítja a bemenetet. A bemenet először a Merkle-Damgård alapelveknek illetve annak megerősített változatának megfelelő módon kiegészíti (padding) az üzenetet és a végére írja az üzenet eredeti hosszát. Ezen felül minden egyes blokkot elejénél fogva kiegészíti megint csak az üzenet eredeti hosszával így biztosítva, hogy az algoritmus védett legyen a length extension (üzenet kiegészítő) támadás ellen. A bemenet blokkjait a meghatározott módon iterált módon összekeverve az inicializációs vektorokkal (IV-k) 2, 4 illetve 6db különböző hash függvényt készít. Feltételezve, hogy az iterált hash függvény ütközésmentes és Nandi tételét használva ugyanazon bemenetből különböző hash függvényeket állíthatunk elő determinisztikusan, ezeket az előállított hash függvényeket előre definiált módon összekeverjük és ezzel állítjuk elő a végleges hasht. A hash mérete függ az üzenet (bement) hosszától, a választott hashelési módtól valamint a számítógépes ar- chitektúrától. Ezek alapján az algoritmus képes 32bites platformokon 160, 320 il- letve 480bites hasheket előállítani illetve 64bites architektúrán 320, 640 és 960bites hasheket.