Mã cuộn yêu cầu một số phần để hoạt động chính xác. Ở đây tôi sẽ mô tả một triển khai chung sử dụng tất cả các phần theo một cách cụ thể. Các hệ thống khác là các biến thể của chủ đề này, nhưng thường sử dụng nhiều kỹ thuật tương tự theo cách tương tự. Thay vì cố gắng mô tả việc thực hiện hoàn chỉnh và cách thức hoạt động cùng một lúc, tôi sẽ mô tả một hệ thống đơn giản và thêm độ phức tạp khi chúng ta đi đến một hệ thống bảo mật bằng mật mã.
Mã cuộn không mã hóa chỉ đơn giản là một máy phát và máy thu mà cả hai đều sử dụng cùng một trình tạo số ngẫu nhiên giả (PRNG). Trình tạo này có hai phần thông tin quan trọng: một phép tính và số được tạo trước đó. Tính toán nói chung là một phương trình phản hồi tuyến tính có thể được biểu diễn bằng một số duy nhất. Bằng cách cung cấp PRNG với số trước đó và giữ số phản hồi giống nhau, một chuỗi số cụ thể được tạo. Chuỗi không có trình tự lặp lại cho đến khi nó đi qua mọi số mà nó có thể tạo ra, và sau đó nó bắt đầu lại với cùng một chuỗi.
Nếu cả điều khiển từ xa và máy phát đều biết số phản hồi và số hiện tại, thì khi điều khiển từ xa truyền số tiếp theo, máy thu có thể kiểm tra nó với máy phát của chính nó. Nếu nó phù hợp, nó kích hoạt. Nếu không, nó sẽ cuộn qua chuỗi cho đến khi tìm thấy số mà điều khiển từ xa được gửi. Nếu bạn nhấn lại điều khiển từ xa, thì nó sẽ khớp và nó sẽ kích hoạt vì việc truyền trước đó đã đồng bộ hóa các trình tạo số. Đây là lý do tại sao đôi khi bạn phải nhấn nút mở khóa hai lần - bộ thu hoặc bộ phát của bạn không đồng bộ.
Đó là phần cán của mã. Nếu PRNG đủ dài, rất khó để tìm ra số phản hồi mà không có nhiều số trong chuỗi liên tiếp, rất khó để có được trong sử dụng bình thường. Nhưng nó không an toàn về mặt mật mã.
Trên đó bạn thêm mã hóa điển hình. Nhà sản xuất xe sử dụng một khóa bí mật cụ thể cho máy phát và máy thu. Tùy thuộc vào nhà sản xuất, bạn có thể thấy rằng mỗi mẫu và năm có một mã khác nhau hoặc họ có thể chia sẻ mã giữa một số mẫu xe và trong nhiều năm. Sự đánh đổi là mỗi cái sau đó yêu cầu phải có một điều khiển từ xa khác nhau, nhưng vấn đề với việc chia sẻ mã trên nhiều mô hình là nếu nó bị hỏng thì nhiều xe hơi dễ bị tổn thương hơn.
Đằng sau mã hóa bạn có thông tin nút, số được tạo PRNG và một ít thông tin về số phản hồi. Không đủ để tạo PRNG từ đầu, nhưng đủ để sau một số lần nhấn nút nhất định và với một số thông tin bên trong về không gian hạn chế, số phản hồi có thể liên quan (một lần nữa, nhà sản xuất, dòng cụ thể) sau đó người nhận có thể, sau vài lần đào tạo truyền, xác định số phản hồi và bắt đầu theo dõi PRNG cho điều khiển từ xa đó.
Mã cuộn chỉ có nghĩa là để ngăn chặn các cuộc tấn công phát lại. Mã hóa có nghĩa là để bảo mật mã cuộn để tránh bị phá vỡ. Chỉ với cái này hay cái kia, hệ thống sẽ quá dễ bị hỏng. Vì nhà sản xuất kiểm soát cả máy phát và máy thu, đào tạo không liên quan đến mật mã khóa công khai hoặc bất kỳ thứ gì đặc biệt liên quan. Nó cũng ngăn chặn fobs hậu mãi làm việc trong xe hơi với loại hệ thống này.
Mã lăn không phải là không thấm, mặc dù. Hệ thống keeloq cũ đã bị tấn công thành công chỉ vài năm trước (sau một thập kỷ sử dụng) để có thể tìm thấy mã mã hóa của nhà sản xuất và mã cuộn có thể dễ dàng tìm thấy hơn. Trước đó, nó đã bị tấn công theo cách cho phép mọi người lấy phương tiện mà không thực sự phá mã. Đáp lại, khóa mã hóa mới là 60 bit. Không an toàn như nhiều hệ thống mã hóa hiện đại, nhưng đủ an toàn để có thể tồn tại nhiều năm nữa trước khi nó bị hỏng.