加密狗的原理是什么?
加密狗通过在软件执行过程中与加密狗交换数据来实现加密。加密狗内置单片机电路(也称CPU),使加密狗具有判断分析的处理能力,增强了主动防解密能力。
这种加密产品被称为“智能”加密狗。加密狗内置的微控制器包含专用于加密的算法软件。软件写入微控制器后,就不能再读出了。这样,确保了加密狗硬件不能被复制。同时,加密算法是不可预测和不可逆的。
加密算法可以将数字或字符转换成整数,如dog convert(1)= 12345。这里,我们举一个例子来说明单片机算法的使用。比如一个程序里有一句话:A=Fx(3)。程序应该根据常量3得到变量A的值。
所以原程序可以改写如下:A = FX(dog convert(1)-12342)。那么常量3就不会出现在原程序中,而是dog convert(1)-12342。这样只有软件作者知道实际调用的常数是3。
没有加密狗,DogConvert函数无法返回正确的结果,结果公式A = FX(dog convert(1)-12342)肯定不会正确。这种让盗版用户失去软件使用价值的加密方式,比发现非法使用就警告制止的加密方式更温和,更隐蔽,更难被解密者琢磨。
此外,还有读写功能,可用于读写加密狗的内部存储器。所以上面公式中的12342也可以写入狗的内存,这样A的值就完全依赖于DogConvert()和DogRead()函数的结果,这就增加了解密的难度。
但一般来说,加密狗微控制器的算法比一些公开的加密算法难度要小,比如DES,因为解密器在接触加密狗算法之前要面临很多困难。
扩展数据:
加密狗是一种用于软件加密的小型外部硬件设备。常见的有两种:并口和USB接口。加密狗广泛应用于各种软件中,如著名的绘图软件AutoCAD,以及相当数量的国内工程软件和财务软件。加密狗的成功应用揭开了软件知识产权保护的新篇章。
中国最早的加密狗是由北京彩虹天地信息技术有限公司总经理兼董事长陈龙森先生在1990提出并设计的。
他的想法是把一个小的硬件设备装入微型计算机的并口,里面内置几个逻辑芯片,以一个计数器为核心;然后,软件向外部硬件设备发送脉冲信号,并等待返回信号。如果有,说明外面有硬件设备,否则视为非法操作,加密软件停止工作。
所以在陈龙森设计的软件中,有一个专门的模块来读取并口上的硬件信息。软件开发的技术人员可以将实现这一功能的软件模块加载到任何需要判断用户信息的地方,并进行编译连接,从而形成能够自我保护的软件产品。
参考资料:
百度百科-电脑加密锁