我说是它用到闪存,并不是说它只是用闪存。闪存是用来存贮,另外的芯片(单片机)来进行计算。闪存与电脑之间并没有接口,所以并不能直接从电脑中取到其中的数据。将自己定义的算法程序和密钥通过专用软件写入到狗的闪存中去,当然写入过程中一般还要用到几级密钥来保证安全。
设计良好的加密算法可以加密狗每次验证时输出的值都不同,并且不可能根据这些值反推出原来的密钥。很多不能使用自定义算法的加密狗虽然也是可以做到这样的效果,但因为使用的都是标准加密算法,可以通过截出加密狗的输入输出值,使用穷举法来生成新的密钥。这个新的密钥不一定与原来的相同,但却同样有效。很多软件就是这样被破解的。
而自定义算法的难度在于算法本身是没办法确定的,也就无法使用穷举法来推密钥了,所以破解难度就完全不是一个量级的了。
[ 本帖最后由 珂珂 于 2006-7-8 11:53 编辑 ]