加密鎖的工作原理:
加密鎖通過在軟件執(zhí)行過程中和加密鎖交換數(shù)據(jù)來實(shí)現(xiàn)加密的.加密鎖內(nèi)置單片機(jī)電路(也稱CPU),使得加密鎖具有判斷、分別的處理能力,增強(qiáng)了主動(dòng)的反解密能力。這種加密產(chǎn)品稱它為"智能型"加密鎖.加密鎖內(nèi)置的單片機(jī)里包含有專用于加密的算法軟件,該軟硬件被寫入單片機(jī)后,就不能再被讀出。這樣,就保證了加密鎖硬件不能被復(fù)制。同時(shí),加密算法是不可預(yù)知、不可逆的。加密算法可以把一個(gè)數(shù)字或字符變換成一個(gè)整數(shù),如DogConvert(1)=17345、DogConvert(A)=43565。下面,我們舉個(gè)例子說明單片機(jī)算法的使用。 比如一段程序中有這樣一句:A=Fx(3)。程序要根據(jù)常量3來得到變量A的值。于是,我們就可以把原程序這樣改寫:A=Fx(DogConvert(1)-17342)。那么原程序中就不會(huì)出現(xiàn)常量3,而取之以DogConvert(1)-17342。這樣,只有軟件編寫者才知道實(shí)際調(diào)用的常量是3。而如果沒有加密鎖,DogConvert函數(shù)就不能返回正確結(jié)果,結(jié)果算式A=Fx(DogConvert(1)-17342)結(jié)果也肯定不會(huì)正確。這種使盜版用戶得不到軟件使用價(jià)值的加密方式,要比一發(fā)現(xiàn)非法使用就警告、中止的加密方式更溫和、更隱蔽、更令解密者難以琢磨。此外,加密鎖還有讀寫函數(shù)可以用作對加密鎖內(nèi)部的存儲(chǔ)器的讀寫。于是我們可以把上算式中的17342也寫到加密鎖的存儲(chǔ)器中去,令A(yù)的值wq取決于DogConvert()和DogRead()函數(shù)的結(jié)果,令解密難上加難。不過,一般說來,加密鎖單片機(jī)的算法難度要低于一些公開的加密算法,如DES等,因?yàn)榻饷苷咴谟|及加密鎖的算法之前要面對許多難關(guān)。