不久前,我试图强行发送一个12位二进制"密钥"的遥控器.
我制作的设备工作,但速度非常慢,因为它以每秒约50位的速度尝试每个组合(4096个代码= 49152位= ~16分钟)
我打开接收器,发现它使用移位寄存器检查代码,尝试之间不需要延迟.这意味着接收器只是查看要接收的最后12位,看它们是否与密钥匹配.
这意味着如果流111111111111000000000000
被发送,它已经有效地尝试了所有这些代码.
111111111111 111111111110 111111111100 111111111000 111111110000 111111100000 111111000000 111110000000 111100000000 111000000000 110000000000 100000000000 000000000000
在这种情况下,我使用了24位来尝试13个12位组合(> 90%压缩).
有没有人知道一种算法可以通过利用这个来减少我发送的49152位?
你所说的是de Bruijn序列.如果你不关心它是如何工作的,你只需要结果,就在这里.