我現在碩博連讀的方向就是密碼學,想想都是淚啊。精通密碼學是不可能,因為是學不完的。密碼學總體上可以分為密碼編碼學和密碼分析學(也就是破解)。這兩門需要的基礎都壹樣,主要是數論和近世代數。但我不建議題主壹開始就學這兩門課。題主可以先弄本,密碼學的書,搞懂裏面各種算法。接下來就可以邊看算法邊看數論近世代數,這是探討它們的數學原理。然後是學壹門編程語言,嘗試實現每壹種算法,以及更有效率的實現方法。實際上就是密碼學的理論方向和工程方向,理論方向主要就是數學,數論近世代數還有很多世界難題呢,工程方向也要學數學,不過不要以為懂算了妳就能寫出來,就像妳知道S盒的設計是為了擴散和混沌,但是妳知道S盒為什麽要設計成那幾個數據呢,沒幾個人懂的。密碼破解也不是所謂的網上的破解,這裏的破解是原理上的破解,主要是數學上的破解,比如王小雲教授用比特追蹤法破解了SHA,這不是暴力破解能做到的。所以學密碼學最重要的堅持和興趣,而且密碼學有可能妳研究壹輩子也破解不了壹個算法,所以妳做好準備了麽?如果是高中基礎,先學高數、概率論數理統計、離散數學(最好啃掉形式語言與自動機和計算復雜性理論,否則後面肯定得補),最好會寫點代碼(Matlab也行,SAGE也行),然後啃密碼學入門書籍,到能看懂會議文章的程度怎麽地也得2年(每天6-8小時學習)。能做出點自己的東西,呃,通常得積累到等同於信息安全相關專業的碩士畢業的程度,時間因個人才能而定。從工科大三的基礎開始算的話,半年啃完Introduction to Cryptography, 再花半年到壹年啃完諸如Zero-Knowledge-Proof, BR-Model,IBE的東西的話,就能看懂不少新的成果和經典的文章了。接下來得接觸Cryptanalysis的東西,這時候,就必須補初等數論(包括橢圓曲線)、群論,否則針對加密算法的數學攻擊那看得是壹頭霧水。