西西河

主题:【原创】汽车遥控防盗器安全吗 续篇 -- 代码ABC

共:💬19 🌺39 新:
全看分页树展 · 主题 跟帖
家园 随机数的作用在这里的作用有两个

一个是身份验证,另一个是防止回放攻击

随机数算法破解的意思是通过观察该算法产生的随机序列推算出该算法的密钥。在算法公开的情况下有了密钥就可以生成相同的随机序列和预测这个算法的后续输出。在算法不公开的情况下可以生成一个等效算法或者预测后续的输出。这才叫完全破解算法。

我这里所说的随机都不是真随机,是伪随机。一个伪随机算法实际上是输出一个循环周期很长的数列的算法。现在各种伪随机算法的周期都很长,比如一个64位的伪随机函数周期就是2的64次方。一般不会出现你说的只在几个范围里面打转这种低级错误。

伪随机数之所以可以用来验证身份是因为,只需要知道密钥就可以根据要求输出伪随机序列中指定的数值。这样验证者通过要求被验证者生成指定序号的数值就可以验证对方是否知道密钥。只要监听者无法通过听到的随机数反推密钥或预测未来输出,这种验证就是安全的。

通信加密中无法使用真随机数,这样对方也无法预测这个数值,除非事先用别的安全方法先沟通。你的方法就是事先沟通好的真随机数方法。其实就安全性而言直接传那个K0就好了,就用明码传,效果和加密是一样的。为了防止手欠的人没事乱按遥控器,可以事先多存几个(几千个,让你按到抽筋)。不过产生真随机序列的方法并不简单,有不少看上去像随机的东西都有一定的规律性,但你提出的想法确实不错,也具备可行性。

全看分页树展 · 主题 跟帖


有趣有益,互惠互利;开阔视野,博采众长。
虚拟的网络,真实的人。天南地北客,相逢皆朋友

Copyright © cchere 西西河