Rolling code

Rolling code, noto anche come hopping code, è una tecnologia di sicurezza comunemente utilizzata per fornire un nuovo codice per ogni autenticazione di un sistema di accesso senza chiave remoto (RKE) o di un sistema di accesso senza chiave passivo (PKE). L'uso di codici a rotazione previene gli attacchi di replay, in cui un intercettatore accede e registra il codice inviato e quindi lo riproduce per violare il sistema.

In un sistema non crittografico per il rolling code, il trasmettitore e il ricevitore utilizzano lo stesso generatore di numeri pseudocasuali (PRNG), che conserva le informazioni sull'ultimo codice utilizzato e un calcolo da eseguire. L'esecuzione del calcolo produce la generazione di una sequenza di numeri specifica e non ripetitiva. Quando un'estremità della comunicazione, ad esempio il portachiavi o il modulo nel veicolo, trasmette il numero successivo nella sequenza, l'altra estremità può controllarlo con il proprio PRNG. Un sistema attuale potrebbe utilizzare un codice a rotazione a 40 bit per circa un trilione di possibili codici. 

Se il codice corrisponde, il sistema si autentica e la portiera della macchina si sblocca. In caso contrario, il sistema scorrerà la sequenza di numeri cercando quello che è stato inviato. Ogni utilizzo riuscito del sistema determina la sincronizzazione dei punti finali, il che significa che il sistema dovrebbe funzionare al primo tentativo la volta successiva.

I sistemi crittografici a codice mobile aggiungono l'ulteriore elemento di una chiave segreta condivisa dal trasmettitore e dal ricevitore.