Szyfr KeeLoq akceptuje 64-bitowe klucze i szyfruje 32-bitowe bloki poprzez uruchomienie swojego jednobitowego NLFSR z wykorzystaniem 528 rund. Funkcja zwrotna NLFSR to 0x3A5C742E lub F(a,b,c,d,e) = d ⊕ e ⊕ ac ⊕ ae ⊕ bc ⊕ be ⊕ cd ⊕ de ⊕ ade ⊕ ace ⊕ abd ⊕ abc. Wykorzystuje ona bity 1, 9, 20, 26 oraz 31 stanu NLFSR jako wejścia podczas szyfrowania, oraz bity 0, 8, 19, 25 i 30 podczas deszyfrowania. Dane wyjściowe z niej są liniowo łączone (funkcja XOR) z dwoma bitami stanu NLFSR (bity 0 i 16 przy szyfrowaniu oraz bity 31 i 15 przy deszyfrowaniu), a następnie bit klucza (bit 0 stanu klucza przy szyfrowaniu oraz bit 15 stanu klucza przy deszyfrowaniu). Potem jest zwracany do stanu NLFSR podczas każdej z rund.

Kryptoanaliza thumb|KeeLoq Decryption KeeLoq został po raz pierwszy przeanalizowany kryptograficznie przez Andrieja Bogdanowa przy użyciu techniki ślizgowej oraz wydajnej aproksymacji liniowej. Nicolas Courtois dokonał ataku na KeeLoq przy użyciu metody ślizgowej oraz metod algebraicznych. Ataki wykonane przez Bogdanowa i Courtois nie wskazały na żadne zagrożenie przy aktualnych implementacjach świadczące, że algorytm jest nieodporny na pojedyncze ataki typu „brute-force” w przestrzeni kluczy kryptograficznych, która jest gorsza niż wszystkie implementacje „szyfrów przeskakujących” znanych w tym czasie.