Ein Rolling-Code, auch als Hopping-Code bezeichnet, ist eine spezielle Art von Verschlüsselungssystem, das bei drahtlosen, schlüssellosen Zugangsgeräten wie Autofernbedienungen und Garagentoröffnern verwendet wird. In der Vergangenheit drückte eine Person einen Knopf, um ihr Auto zu entriegeln, und die Fernbedienung sendete einen Entriegelungscode an den Empfänger des Autos, der wiederum das Auto entriegelte. Diese Methode hatte einen erheblichen Fehler, da jeder das Signal während der Übertragung aufnehmen und später den Code verwenden konnte, um die Garage oder das Auto des Besitzers ohne dessen Erlaubnis zu entsperren. Aus diesem Grund wurden Rolling Codes erfunden, damit nach jedem Gebrauch sowohl die Fernbedienung als auch der Empfänger einen neuen Code erstellen und der alte Code nicht mehr funktioniert.
Damit der Rolling-Code funktioniert, müssen sowohl der Sender in der Fernbedienung als auch der Empfänger im Auto oder Gerät, das mit dem Sender interagiert, so ausgelegt sein, dass sie miteinander reagieren und denselben Codegenerator haben, so dass nach Verwendung eines Codes beide Geräte generieren denselben neuen Code und arbeiten weiterhin zusammen. Der Sender bezieht sich typischerweise auf das schlüssellose Zugangsgerät, wie beispielsweise eine Autofernbedienung zum Entriegeln von Autotüren, ohne den Schlüssel physisch in das Auto einzuführen. Der Empfänger bezieht sich auf das Gerät, beispielsweise das Auto selbst, an das die Fernbedienung das Signal sendet.
Wenn der Besitzer den Entriegelungsknopf drückt, überträgt die Fernbedienung den Code an das Auto, das dann die Richtigkeit des Codes überprüft und die Türen entriegelt. Sowohl die Fernbedienung als auch das Auto generieren dann einen neuen Code, und wenn der Besitzer den Knopf erneut drückt, sendet er diesen neuen Code zum Entriegeln des Autos und erstellt einen weiteren neuen Code. Würde ein Dieb den Code während der Übertragung mitnehmen, wäre er bereits verwendet worden und würde nicht mehr funktionieren.
Wenn ein Besitzer eine Taste drückt und die Fernbedienung zu weit entfernt ist, um das Signal vom Empfänger abzufangen, erstellt die Fernbedienung einen neuen Rolling-Code, der Empfänger jedoch nicht. Um zu vermeiden, dass sich ein Besitzer aus seinem eigenen Auto oder seiner Garage aussperrt, wenn er versehentlich aus zu großer Entfernung auf den Knopf drückt, sind Fernbedienung und Empfänger so konzipiert, dass bei jeder Verwendung eines Codes 256 zufällige neue Codes generiert werden. Wenn die Fernbedienung einen dieser 256 Rolling-Codes an den Empfänger sendet, wird das Auto trotzdem entriegelt und die beiden Geräte synchronisieren sich wieder und generieren die gleichen Zufallscodes, da beide den gleichen Zahlengenerator enthalten, der zum Erstellen des nächsten Satzes von entwickelt wurde 256 Codes.
Obwohl 256 Codes nicht viel erscheinen mögen, ist es praktisch unmöglich, das Auto einer anderen Person zu entsperren, selbst wenn eine Person zufällig eine Fernbedienung hat, die mit dem gleichen Empfängertyp funktioniert, der in diesem bestimmten Auto verwendet wird. Die Wahrscheinlichkeit, eine kompatible Fernbedienung zu haben, die einen der 256 Codes generiert, die das Auto der Person akzeptiert, ist immer noch kleiner als eins zu einer Milliarde. Ein Dieb würde Jahre brauchen, um den richtigen Rolling-Code zu finden, was das Rolling-Code-System zu einer ziemlich einfachen, aber zuverlässigen Methode zum sicheren Ver- und Entriegeln von Gegenständen mit schlüssellosen Zugangsvorrichtungen macht.