1、高等數學絕不是壹點用都沒有的東西,線性代數則非常重要,數論發展了幾千年由密碼學第壹次將其變成壹門可以實用的學科;
2、離散數學:數理邏輯、近世代數(代數結構、群論這些);
3、掌握各種古典密碼算法和現代密碼算法,古典密碼算法應該有編程實現具有200年以上歷史的算法的能力,現代密碼算法至少應該能夠實現DES;掌握哈希算法的原理和作用;
4、掌握對稱密碼體制和非對稱密碼體制的模型和代表算法,熟悉兩種密碼體制,尤其是非對稱密碼體制的用法,掌握數字簽名、加密、密鑰分配、身份認證等應用中的模型和原理,Deffie-Hellman密鑰交換,以及密碼算法在其中的使用,掌握PKI體系;
5、知道網絡OSI七層結構和五層結構的區別,掌握各層的主要協議;
6、掌握壹些主要協議(如IP、TCP、UDP、ARP等)協議的缺陷,掌握這些協議的安全改進協議或者安全改進方案,掌握SSL握手過程;
7、非常熟練使用C語言;掌握C語言程序和匯編代碼的對應關系,知道系統棧和堆的分配,知道變成中常見的安全隱患,至少知道數組溢出並能夠自己完成溢出;
8、掌握基本系統安全策略。
以上這些是基礎知識中的基礎,而且是比較多偏向理論的東西。理論掌握以後還是挺容易用到實踐中的。學習這些以後自然會知道應用中該了解些什麽。