加密狗的原理是什么

如题所述

第1个回答  2019-12-22

加密狗的原理是:加密锁内置的单片机里包含有专用于加密的算法软件,该软件被写入单片机后,就不能再被读出。这样,就保证了加密锁硬件不能被复制。同时,加密算法是不可预知、不可逆的。

加密算法可以把一个数字或字符变换成一个整数,如DogConvert(1)=17345、DogConvert(A)=43565。

比如一段程序中有这样一句:A=Fx(3)。程序要根据常量3来得到变量A的值。于是,就可以把原程序这样改写:A=Fx(DogConvert(1)-17342)。

那么原程序中就不会出现常量3,而取之以DogConvert(1)-17342。这样,只有软件编写者才知道实际调用的常量是3。

而如果没有加密锁,DogConvert函数就不能返回正确结果,结果算式A=Fx(DogConvert(1)-17342)结果也肯定不会正确。这种使盗版用户得不到软件使用价值的加密方式,要比一发现非法使用就警告、中止的加密方式更温和、更隐蔽、更令解密者难以琢磨。

扩展资料

加密锁软件设计包括计算机端的软件设计和加密锁端的软件设计。计算机端的软件主要是给应用软件提供调用的函数模块。包括认证驱动模块、会话密钥产生模块、加密解密模块、数据交换模块。

其中,认证驱动模块产生认证请求,如根据时间或事件产生认证请求,当认证事件发生后,应用程序调用其它模块,通过与加密锁通信来确定当前应用软件的合法性。

加密解密模块对给定的明文和密钥计算出对应的密文,或者对给定的密文和密钥计算出相应的明文。

数据交换模块将计算机中指定的数据发送到加密锁,并接收加密锁返回的数据或确认信号,并在其中设置超时时间,当超时次数大于指定次数时,认为加密锁未接在并行端口上,或加密锁非法。程序采用标准C语言编写,易于跨平台使用。

相似回答