個人認為,除了計算機專業所學的基礎課程之外,還應該具備或重點掌握以下基礎知識:
1,高等數學絕非無用,線性代數很重要,數論發展了幾千年,密碼學第壹次把它變成了實用學科;
2.離散數學:數理邏輯、近世代數(代數結構、群論);
3.掌握各種經典密碼算法和現代密碼算法。經典密碼算法應具備200年以上歷史的算法編程能力,現代密碼算法至少應能實現DES;掌握哈希算法的原理和功能;
4.掌握對稱密碼體制和非對稱密碼體制的模型和代表算法,熟悉兩種密碼體制特別是非對稱密碼體制的用法,掌握數字簽名、加密、密鑰分發、身份認證等應用的模型和原理,掌握PKI體系。
5.知道網絡OSI的七層結構和五層結構的區別,掌握各層的主要協議;
6.掌握壹些主要協議的缺陷(如IP、TCP、UDP、ARP等。),掌握這些協議的安全改進協議或安全改進方案,掌握SSL握手過程;
7.非常熟練使用C語言;掌握C語言程序和匯編代碼的對應關系,知道系統棧和堆的分配,知道轉換過程中常見的安全隱患,至少知道數組溢出,能夠自己完成溢出;
8、掌握基本的系統安全策略;
這些都是基礎知識的基礎,比較傾向於理論。掌握了理論之後,運用到實踐中就相當容易了。