Miaguchi-Presnel funkció

A Miyaguchi-Preneel egyblokkos, egyirányú tömörítési funkció a hasonló Matyas -Meyer-Oseas funkció kiterjesztett változata .  Ezt a funkciót egymástól függetlenül Bart Presnel és Shoji Miaguchi javasolta.

A függvény az eredeti üzenet (m i ) minden egyes blokkját titkosítandó szövegként táplálja. Ezután XOR( ) a titkosított szöveget az eredeti üzenet azonos blokkjával (m i ), majd XOR-t is az előző hash értékkel (H i-1 ), hogy megkapjuk a következő hash értéket (H i ).

Az előző hash érték (H i-1 ) szolgál a blokk titkosítás kulcsaként. Az első körben, amikor nincs korábbi hash érték, egy állandó, előre meghatározott magértéket (H 0 ) használ.

Ha egy blokk-rejtjel különböző blokk- és kulcsmérettel rendelkezik, akkor a hash-érték (H i-1 ) nem megfelelő méretű lesz ahhoz, hogy kulcsként használjuk. A hash függvény a g() függvényhez kerül, amelyet a titkosítási kulcsnak megfelelően kell átalakítani.

A matematikai jelölésben a Miaguchi-Presnel tömörítési függvény a következőképpen írható le:

Az áramkör sebessége:

Az m i és a H i-1 szerepek felcserélhetők egymással, így a H i-1 az m i kulccsal titkosítva lesz . Így a Miaguchi-Presnel tömörítési függvény a Davis-Meier módszer kiterjesztésének tekinthető.