首頁
社區(qū)
課程
招聘
采用密碼學方面的軟件會越來越多,對于一個破解者是否有必要因此學習大量的數(shù)論知識?
Editor 2021-4-12 1983

采用密碼學方面的軟件會越來越多,對于一個破解者是否有必要因此學習大量的數(shù)論知識?

收藏
2條回答
admin 2021-4-12

首先我們要明確,加密算法在軟件保護中的作用是什么?
加密算法在軟件保護中的作用,是防寫注冊機。而對其他pj方式防護能力較差。
加密算法,在很多情況下是可知的,網(wǎng)絡安全中,可以通過閱讀通信協(xié)議,來了解算法;而軟件中,算法往往嵌入在程序代碼中。所以基于算法保密上的安全永遠是不可靠的。于是人們通過密鑰 來解決這個問題。目前所有流行的算法的安全性,都是基于密鑰的保密。
而對于軟件來說,對稱密鑰算法,沒有什么意義。因為密鑰必須嵌入軟件中。所以公開密鑰(不對稱密鑰)算法,成為軟件加密的理想選擇。

 

對于一個普通的破解者,包括普通的程序員,是沒有必要學習大量的數(shù)論知識。因為現(xiàn)在現(xiàn)成算法函數(shù)接口很多,隨便拿來用就可以,不必自己去一行一行的去寫代碼,只要搞清算法的加密流程就可以了。一個普通的破解者只要跟某段代碼時,能夠感覺到他大概是什么算法,然后用算法驗證軟件(我常用cryptool),檢查一下,就可以了;而且pj軟件的方法很多,比如做補丁,并不是寫注冊機這一種方法。理論上,軟件可以在機器上正常運行所有功能一次,就是可以破解的。

 

當然,對于想往更高層次發(fā)展的Cracker學一些數(shù)論知識是必要的,當然我們不太可能發(fā)現(xiàn)某的算法的弱點,但至少可以在,某個高人,發(fā)現(xiàn)算法的弱點,并公開時,能看懂人家是如何實現(xiàn)的(這需要涉及很多理論性的東西,會涉及數(shù)論的),并能寫成代碼。
(zmworm 回答)

回復
舒默哦 2021-4-14

學了一丁點的理論,智力平庸,就沒往里鉆了,我感覺熟悉常用的加密算法就行了。

回復