A kriptográfiában a MOSQUITO egy hardver alapú önszinkronizáló adatfolyam-rejtjel , amelyet 2005-ben fejlesztett ki Yoan Dymen és Paris Kitsos . A [link 1] MOUSQUITO feltörése után kifejlesztették a titkosítás második verzióját, amelyet benyújtottak az eSTREAM projekthez , ahol a kiválasztás harmadik fordulójába jutott. 2008-ban feltörték a MOSQUITO második verzióját, a MOUSTIQUE -t is [link 2] .
A MOSQUITO önszinkronizáló adatfolyam-rejtjel munkájának általános jelentése hasonló az önszinkronizáló adatfolyam-rejtjelek munkájához, amelyben a kulcsbitek és egy rejtjelezett bit függvénye hozza létre a kulcsfolyamot, amely valójában hasonló a CFB működéséhez egy permutációs blokkal. A MOSQUITO titkosítás jellemzői egy kilencfokozatú csővezeték jelenléte, amely kiegészíti a váltási regiszter feltételes függőségét (Conditional Complementing Shift Registers – CCSR [Note 1] ), valamint egy speciális típusú csővezeték szakaszai közötti átmeneti függvényeket.
A MOSQUITO titkosításnak nyolc különböző hosszúságú regisztere van, nevezzük a regisztert CCSR - , az első regisztert - , a másodikat - és így tovább a hetedik regiszterig - . A j regiszter i-edik pozícióját a következőképpen jelöljük ki: . Regisztráció hossza:
CCSR - 128 bit;
- 53 bit; - 12 bit; - 3 bit.A titkosítás lényege, hogy minden ciklushoz kiszámítja bármelyik regiszter bitjeit (kivéve a CCSR-t) az előző regiszter biteinek valamilyen kombinációja alapján. A CCSR regiszter úgy működik, mint egy shift regiszter: a regiszter elemei eltolódnak, és egy rejtjelezett szöveg bit (a rejtjelkimenetből) a CCSR regiszter nulla pozíciójába kerül. Jelölje azzal a szabállyal, amellyel a j regiszter i-edik pozíciójában lévő bitet számítja ki. Akkor:
, hol ; , ahol és , ha bármely elem alsó indexe az egyenlőség jobb oldaláról nagyobb lesz, mint 53, akkor ezt az elemet 0-ra cseréljük; , hol ; , hol ;és végül a kulcsfolyam bit .
Érdemes megjegyezni, hogy a regiszterbitek kiszámítása kombinációs logikával történik , az eltolás pedig természetesen regiszterlogikával , ami azt jelenti, hogy a csővezeték helytelen működésének elkerülése érdekében, amikor a regiszterből származó biteknek nincs idejük Kombinációs logikával kell feldolgozni , akkor szükséges, hogy a számításokat megvalósító függvény viszonylag egyszerű legyen.