學習路線
0.基礎中的基礎
- 簡單的python編程
- markdown語法和markdown文本編輯器(比較常用的是Typora)
- Anaconda的安裝和配置環境,prompt命令行模式的簡單運用
- 常見相關的python擴展包的運用
- 如果不太會,可以去CSDN、博客園這些網站找找解決方法
- 如果實在弄不了,可以想辦法找相應的工具
注:這些不用在最前面就學完,可以碰到了再去找響應的資料學習
1.編碼
ASCII編碼、Unicode與UTF-8、base編碼(常用:base16、base32、base64;比較奇怪冷門的:base36、base58、base91,這幾個不需要詳細看,知道有就可以)、url編碼、莫爾斯電碼、UUencode、XXencode、進制轉換和二進制數……(還有一些其它的,就不列出來了,加粗的是比較重要的,剩下的可以遇到了再說)
2.古典密碼學
置換密碼 ——> 代換密碼 ——>轉輪密碼——>古典密碼的分析
常見的古典密碼:
- 凱撒加密與凱撒變種
- 柵欄密碼與W型變種
- ROT 5/13/18/47
- 維吉尼亞密碼密碼
- Playfair(簡單的分組密碼)
古典密碼分析
- 單表密碼統計分析
- 多表密碼統計分析:Kasiski測試法(Kasiski攻擊)
- 多表密碼統計分析:Friedman實驗(Friedman攻擊、Index of Coincidence-重合指數法)
3.分組密碼(對稱加密)
- DES
- AES
- 差分密碼分析
- 線性密碼分析
4.公鑰加密系統(非對稱加密)(數論與離散數學基礎)
- RSA
- 離散對數加密
注:以上學習路線的順序並非絕對,不過最好還是先看編碼和古典密碼,3、4可以看興趣選擇學的順序(暫時你們應該也學不到這,要看的東西還是挺多的)
推薦書籍
-
《密碼學——基礎理論與應用》
李子辰 編著
中國工信出版集團、電子工業出版社
國家十三五規划教材
優點:比較齊全,覆蓋面很廣,表述非常嚴謹
缺點:整篇的公式和數學表達,圖標少,基礎知識也不是很多,不利於入門,有想要挑戰的同學可以試一試
-
《密碼學與編碼理論》
【美】Wade Trappe、Lawrence C. Washington
王全龍、王鵬、林昌露譯
人民郵電出版社
圖靈計算機科學叢書
優點:基礎知識多,介紹比較簡單,注重引導
缺點:似乎師大的圖書館里是沒有這本書的
-
《現代密碼學及其應用》
【美】理查德 E. 布拉胡特(Richard E. Blahut) 伊利諾伊大學香檳分校
黃玉划 薛明富 許娟 譯 南京航空航天大學
機械工業出版社
計算機科學叢書
優點:基礎知識很全,覆蓋面也很廣
缺點:公式數字比重多於圖像,不形象,不過圖書館是有這本書的
-
《計算機安全與密碼學》
【美】Alan G. Konheim 著
唐明、王后珍、韓海清、李春雷、童言、楊啟 譯
張煥國 審校
電子工業出版社
優點:大佬寫的,跟Feistel網絡的發明者Feistel、Coppersmith定理的提出者Don Coppersmith等人共事過,在密碼學寫作和教育上好像很厲害
缺點:公式多,不知道適不適合入門(我沒有仔細看過),很多地方會講的比較深,可能用不到(短時間內)
注:《密碼學基礎》 【以色列】Oded Goldreich 著 這本書強烈不推薦,雖然它叫基礎,但是它更像是進階的書籍,里面基本上全都是密碼學用到的純數學,有想要挑戰極限的同學可以試一試~
注2:這些書大部分是我看過或者我借過的書,圖書館也有其它的密碼學書籍可以借,有興趣大家可以酌情借閱不過最好不要借太老的書,太老的書很多會更注重數學基礎,摳細節。
題目網站
根據自己的情況去刷題,實在不會的就找找別人的做題記錄
提取碼:abcd