Система KEELOQ
Система разработки KeeLoq фирмы Mirochip реализует алгоритм обеспечения безопасности, позволяющий аппаратно управлять микроконтроллером. Эта система служит надстройкой над остальными программными средствами, которые могут предоставляться другими фирмами. В системе защиты от угона моего автомобиля используются микроконтроллеры PICMicro с системой KeeLoq в карманном пульте отпирания-запирания и самом автомобиле. Пульт передает расположенному в автомобиле приемнику число, которое кажется случайным, а затем переходит к следующему псевдослучайному числу, которое будет послано в качестве сигнала отпирания-запирания в следующий раз.
Каждая комбинация пульт-приемник содержит уникальный кольцевой регистр сдвига, который формирует псевдослучайное число на основе специально заданного начального значения. Мне кажется удобным представить генератор псевдослучайных чисел в виде колеса с большим количеством точек, расположенных по окружности (рис. 27.10). Когда вы находитесь в любой точке окружности, то можете определить, какое число будет следующем при повороте колеса. Когда передатчик пульта посылает сигнал, приемник проверяет его значение в соответствии с положением своего «колеса» и обеспечивает срабатывание замка, если полученное число равно значению, указанному в следующей позиции «колеса». Если числа не совпадают, то приемник отмечает это место и переходит к следующей точке на «колесе». Если в следующий раз пульт пошлет число, которое совпадает со следующим числом на «колесе» приемника, то он выдаст сигнал срабатывания. Причина, по которой приемник снова проверяет поступающий сигнал, состоит в том, что сигнал передатчика может быть потерян или искажен приемником.