1. 程式人生 > >加密軟件的問答-加密軟件與密碼學有什麽關系?

加密軟件的問答-加密軟件與密碼學有什麽關系?

加密技術 密碼學 加密軟件

問:加密軟件有何作用?
答:加密軟件主要用於保護軟件開發者的合法權益,防止軟件被復制、算法分析及目標碼反匯編等達到控制或緩非法擴散的目的。

問:國外的軟件都是不加密的,國內軟件為什麽要加密?
答:在國外PC機軟件開發初期,象dBASE這樣的通用軟件都是加密的。近年來,國外用戶的軟件版權意識逐步形成,絕大多數軟件才開始不加密。但大型系統,如AutoCAD12.0網絡版由於價格高,不得已仍然采用加密手段。看來軟件加不加密的問題,在美國也是具體情況具體分析。
國內由於軟件保護法規不完善,法制觀念不強,盜版現象此較嚴重,開發者不得不想辦法保護自己的產品不被別人侵權。如果大家都使用正版軟件的話,估計國內的軟件行業也會和國外樣,不再選擇加密這種方式。相信在不久的將來,這種手強完全會被法律和社會的文明所取代。

問:軟件加密技術主要由哪幾部分構成?
答:軟件加密技術主要由密鑰技術、反跟蹤技術和代碼插入技術構成。一套完整的加密軟件,就是由這些技術組合而成,缺一不可。

問:什麽是密鑰技術?
答:密鑰技術是指與密鑰有關的密鑰盤的制作、識別密鑰盤、安裝和回收密鑰等。密鑰技術主要特點是防止程序被復制。密鑰主要分軟盤、加密卡和並行加密盤(也稱“軟件狗”)。

問:什麽是反跟蹤技術
答:反跟蹤技術是加密軟件關鍵,工作量大的部分,是加密技術不斷推陳出新、永無止境的原因。有了好的密鑰技術,沒有強有力的反跟蹤手段,解密者使用功能強大的調試器和些輔助工具就可破譯,達不到保護的目的。
反跟蹤手殷主要有以下幾種;一種方法是把程序寫亂或使用高級語言生成代碼,使代碼雜亂無章,跟蹤者不易看懂。另一種方法是設置陷阱,讓調試器不能正常工作。還有一種方法是做大量變形和跳轉,拖跨對手。

問:什麽是代碼插人技術?
答:代碼插入技術就是把加密的代碼插到用戶的程序中去。

問:加密軟件有幾種加密方式?
答:加密軟件有三種加密方式;外殼式、內含式和結合式。

問:外殼式有何特點?是如何工作的?
答:外殼式加密是把段加密代碼附加到執行程序上,並把程序入口指向附加代碼中。當被加密的程序裝人內存後,附加代碼首先執行,檢查是否有跟蹤程序存在,如果沒有,再檢查密鑰是否正確,如果正確,則轉入原來的程序中。
這種方式的優點是不需要修改源代碼,使用簡單。但是其缺,點也很明顯:一旦附加代碼被擊破就,會被解得幹幹凈凈沒有一,點遺留的問題。

問:內含方式有何特點是如何工作的?
內含式加密碼是以OBJ文件形式存在,應程序調用這些加密代碼,*後要與擬加密的程序編譯連接到一起。

這種方式需要修改源代碼,比較可靠,但是代碼復雜性不如外殼式,不容易對二進制代碼做復雜變形,容易被跟蹤。這種方式主要用於使用軟件狗和加密卡的加密程序。

問:什麽是結合式?
答:結合式加密方式就是把外殼式與內含式兩種方法結合起來,用OBJ去檢查外殼的可靠性,內外結合,功能*強。

問:加密軟件與密碼學有什麽關系?
答:加密軟件與密碼學不是一個概念,它們之間有著很深的聯系,加密軟件的變形算法都源於密碼學的理論。有的加密軟件采用的變形算法比較簡單,認為無關緊要,其實這樣給解密者留下了很大的“後門”。比如說用加密軟件加密“全零”等各種有規律的數據采研究推斷,不用分析程序就可以輕松地解開。為了提高加密軟件的安全性,必須使用復雜可靠的算法。如有的加密軟件采用了幾十套隨機可選的算法,可有效地增加解密難度。

加密軟件的問答-加密軟件與密碼學有什麽關系?