Rolling code

Rolling code, também conhecido como hopping code, is uma tecnologia de segurança comumente usado para fornecer um novo código para cada autenticação de uma entrada remota sem chave (RKE) ou sistema de entrada passiva sem chave (PKE). O uso de códigos rolantes evita ataques de replay, nos quais um espião acessa e registra o código enviado e depois o replays para violar o sistema.

Em um sistema não criptográfico para rolagem de código, o transmissor e o receptor usam o mesmo gerador de números pseudo-aleatórios (PRNG), que mantém as informações sobre o último código que foi usado e um cálculo a ser realizado. A realização do cálculo resulta na geração de uma sequência de números não repetitivos e específicos. Quando uma ponta da comunicação -- a chave fob, por exemplo, ou o módulo no veículo -- transmite o próximo número na seqüência, a outra ponta pode verificá-lo com seu próprio PRNG. Um sistema atual pode usar um código de 40-bit rolling code para cerca de um trilhão de códigos possíveis. 

Se o código corresponder, o sistema autentica e o porta do carro desbloqueia. Caso contrário, o sistema irá rolar através da sequência de números procurando por aquele que foi enviado. Cada utilização bem sucedida do sistema resulta na sincronização dos pontos finais, o que significa que o sistema deve funcionar na primeira tentativa da próxima vez.

Sistemas de código rolante criptográfico adicionam o elemento adicional de uma chave secreta que é compartilhada pelo transmissor e receptor.