Un codice rolling, noto anche come codice hopping, è un tipo speciale di sistema di crittografia utilizzato su dispositivi di accesso wireless senza chiave, come telecomandi di auto e apriporta da garage. In passato, una persona avrebbe premuto un pulsante per sbloccare la sua auto e il telecomando avrebbe trasmesso un codice di sblocco al ricevitore dell’auto, che a sua volta avrebbe sbloccato la macchina. Questo metodo aveva un difetto significativo, poiché chiunque poteva captare il segnale mentre veniva trasmesso e in seguito poteva usare il codice per sbloccare il garage o l’auto del proprietario senza il suo permesso. Per questo motivo, i codici rolling sono stati inventati in modo che dopo ogni utilizzo, sia il telecomando sia il ricevitore creino un nuovo codice e il vecchio codice non funzionerà più.
Affinché il rolling code funzioni, sia il trasmettitore trovato nel telecomando sia il ricevitore trovato nell’auto o nel dispositivo che interagiscono con il trasmettitore devono essere progettati per reagire tra loro e avere lo stesso generatore di codice, quindi dopo aver usato un codice, entrambi i dispositivi genereranno lo stesso nuovo codice e continueranno a lavorare insieme. Il trasmettitore si riferisce in genere al dispositivo di accesso senza chiave, come un telecomando per auto per sbloccare le portiere senza inserire fisicamente la chiave nell’auto. Il ricevitore si riferisce al dispositivo, come l’auto stessa, a cui il telecomando invia il segnale.
Quando il proprietario preme il pulsante di sblocco, il telecomando trasmette il codice all’auto, che quindi verifica che il codice sia corretto e sblocca le porte. Sia il telecomando che l’auto generano quindi un nuovo codice e quando il proprietario preme di nuovo il pulsante, invia questo nuovo codice per sbloccare l’auto e crea un altro nuovo codice. Se un ladro dovesse raccogliere il codice mentre era trasmesso, sarebbe già stato usato e non funzionerebbe più.
Se un proprietario preme un pulsante e il telecomando è troppo lontano perché il ricevitore possa intercettare il segnale, il telecomando crea un nuovo codice rolling, ma il ricevitore no. Per evitare che un proprietario si blocchi dalla propria auto o garage se preme accidentalmente il pulsante da troppo lontano, il telecomando e il ricevitore sono entrambi progettati per generare 256 nuovi codici casuali ogni volta che viene utilizzato un codice. Se il telecomando trasmette uno di questi 256 codici rolling al ricevitore, sbloccherà comunque l’auto e i due dispositivi sincronizzeranno il backup e genereranno gli stessi codici casuali perché entrambi contengono lo stesso generatore di numeri progettato per creare il prossimo set di 256 codici.
Sebbene 256 codici possano non sembrare molto, è praticamente impossibile sbloccare l’auto di un’altra persona, anche se a una persona capita di avere un telecomando progettato per funzionare con lo stesso tipo di ricevitore trovato in quella macchina specifica. Le possibilità di avere un telecomando compatibile e quel telecomando che genera uno dei 256 codici accettati dall’auto della persona è ancora inferiore a uno su un miliardo. Un ladro avrebbe bisogno di anni per trovare il giusto rolling code, rendendo il sistema rolling code un metodo abbastanza semplice, ma affidabile, per bloccare e sbloccare in sicurezza gli oggetti utilizzando dispositivi di accesso senza chiave.