現在說的加密狗壹般都是硬件加密狗。這是壹種類似u盤的東西,是壹種反盜版的方式。通常,程序的壹小部分或解密部分被集成到加密狗的硬件中,以防止軟件盜版。加密狗是壹種插入計算機並口的軟硬件結合的軟件加密產品,被大多數軟件開發者采用。加密狗壹般有幾十或幾百字節的非易失性存儲空間用於讀寫,現在較新的加密狗還包括壹個單片機。軟件開發人員可以通過接口函數(即讀寫加密狗)與加密狗交換數據,檢查加密狗是否插入並口;或者用加密狗附帶的工具直接加密自己的EXE文件(俗稱“包裝”)。這樣,軟件開發者可以在軟件中設置多個軟件鎖,並用加密狗作為鑰匙打開這些鎖;如果加密狗未插入或與加密狗不對應,軟件將無法正常執行。“加密狗”是壹種軟硬件結合的加密產品,插在電腦的並口上。壹般有幾十或幾百字節的非易失性存儲空間用於讀寫,現在比較新的狗也包括單片機。軟件開發人員可以通過接口函數(即讀寫加密狗)與加密狗交換數據,檢查加密狗是否插入並口;或者用加密狗附帶的工具直接加密自己的EXE文件(俗稱“包裝”)。這樣,軟件開發者可以在軟件中設置多個軟件鎖,並用軟件狗作為鑰匙打開這些鎖;如果加密狗未插入或與加密狗不對應,軟件將無法正常執行。加密狗通過在軟件執行過程中與加密狗交換數據來實現加密。加密狗內置了單片機電路(也叫CPU),使加密狗具備了判斷分析的處理能力,增強了主動防解密能力。這種加密產品被稱為“智能”加密狗。加密狗內置的微控制器包含專用於加密的算法軟件。軟件寫入微控制器後,就不能再讀出了。這樣,確保了加密狗硬件不能被復制。同時,加密算法是不可預測和不可逆的。加密算法可以將壹個數字或字符轉換成整數,如dog convert(1)= 17345,DogConvert(A)=43565。下面,我們舉個例子來說明單片機算法的使用。比如壹個程序裏有壹句話: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,因為解密器在接觸加密狗算法之前要面臨很多困難。
上一篇:誰能給我解釋壹下:網絡服務提供商在網絡環境中的地位及侵權責任下一篇:wto多哈談判的突破性進展包括哪些方面