求大觸們推薦一些比較系統的關於密碼加密解密的書籍?


謝邀,另外下面的答案的出發點是認為題主至少是大學生。

首先推薦一個coursera上的密碼學在線課程,分一、二兩部分,業內大神 Dan Boneh主講。果殼的mooc學院上可能有中文字幕翻譯。自己跟過1,覺得講得特別到位,但可能對初學者來說,課程「濃度」太大。

https://www.coursera.org/course/crypto

下面是自己真正看過的一些書和文獻。

這個閱讀和與其他人討論的過程,讓我現在至少知道拿到一篇新的paper之後如何下手閱讀。

前置基礎知識部分(主要是離散數學、初等數論和複雜性理論。)

1. 高教,2008第一版的《離散數學》,屈婉玲、耿素雲、張立昂 著,這本書的第三部分講了代數結構,第六部分講了初等數論。

2. 機械工業出版社 《數論概論》,A Friendly Introduction to Number Theory, by Joseph H. Silverman, 看中文和英文的都行,需通讀。這本書涵蓋了初等數論直接用於密碼學的所有部分,包含素數理論、費馬小定理、二次剩餘、橢圓曲線,而且可讀性非常好,的確friendly。

複雜性理論可以看類似形式語言與自動機之類的書,這個我當時是上課學會的一些,沒看參考書。

密碼學和密碼分析基礎

3. Introduction to Modern Cryptography: principles and protocols, by J. Katz and Y. Lindel,2008,國內翻譯是《現代密碼學--原理與協議》, 國防工業出版社2012年第一版。

這本書是我的理論密碼學入門書,網上的介紹也很多,建議是按目錄順序讀完。

如果對古典密碼興趣不大,可以跳過相關的半章。讀到到第三章為止,就可以知道私鑰加密的許多方案和它們的安全性證明的基本概念及流程。另外第六章是講如何從最基本的單相函數假設構建一個安全的私鑰協議,也可以選擇性閱讀。自第七章開始,是逐漸切入到公鑰密碼學,開始介紹RSA、Elgamal等常見加密演算法以及由此產生的數字簽名等。

此書建議讀英文版為主,偶爾參照中文版,因為業內術語的翻譯不算特別統一,所以譯文的小瑕疵比較多。

4. Sequences of Games: A Tool for Taming Complexity in Security Proofs

Victor Shoup January 18, 2006 http://www.shoup.net/papers/games.pdf

當你已經熟悉安全性證明,但是卻被前面的安全性證明的複雜搞的暈頭轉向的時候,趕緊看這篇paper吧。這篇不會讓你覺得安全性證明本身變得簡單,但卻會讓你知道怎麼更系統地整理好證明思路,把細節一步步有調理的放在一串Game里。讀完裡面關於RSA和ElGamal安全性證明的「改寫」,會對原先的證明過程有全新認識。

5. Introduction to Mathematical Crpyptography, by J.Hoffstein, J.Pipher, J. H. Silverman

第三作者是上面提到的2.《數論概論》那本書的作者,這本書里用很容易懂的語言和例子講了各種用於解決因數分解(factorization)和離散對數(discrete log)的演算法。其中有些你可能在3.裡面看過,但這本書里說的更具體,更生動。另外亮點之一是提供了基於Lattice的加密解密的清晰講解和例子。

6. Digital Signature, by J. Katz

這本書是專門講各種數字簽名的,由3.的作者之一寫成。講了基於Random Oracle Model和標準模型下的許多簽名方案。

7. Undersatnding Cryptography, C. Paar

自己的課本,屬於什麼都講了,什麼都沒講完的那種「系統性」書籍。

優點是對於私鑰部分的理論和實現講得非常具體,把DES、AES、SHA-1都從裡到外「拆開」看了。

除了這些基礎的話題,剩下的具體問題,比如IBE、ABE或者密鑰生成協議的安全性證明等,很多得找具體的paper和論文集,而不是教科書能解決的了。

======2015年1月19日更新==========================

U1. 計算複雜性理論書籍推薦 Computational Complexity, A modern approach, by S. Arora and B. Barak

.


不是大觸。

信息安全原理與實踐


不請自來,補充一本:

【大學教材】 公鑰基礎設施(PKI)理論及應用 機械工業出版社


Schneier的《應用密碼學、協議、演算法與C源代碼》

@玄星介紹的很全,是真正密碼學的學習,要求有強大的數學功底。如果你的目的是應用就沒必要學這麼深,了解密碼的思想,各公開演算法的特點及應用方式即可。

公開演算法的出現將密碼分析、設計技術成為天才的舞台,在數學理論、計算機科學沒有突破前,偏重應用比較實際。


圖解密碼技術 圖解密碼技術 (豆瓣)


我覺得樓上說的書都還是偏理論了些,我推薦經典密碼學與現代密碼學 (豆瓣),此書真算是循序漸進了,同時最強大的是配合了一個實現各種加密解密演算法的GUI軟體「CAP」,對理解各種演算法的幫助還是很大的。曾經用這本書給高中學生開過幾節課的,效果還是不錯的,然後被稱作「密碼老師」。。。。。


不請自來。如果題主喜歡通俗易懂、妙趣橫生的入門讀物,推薦一個英國人寫的《密碼全攻略》。本來是青少年科普讀物,但由於寫得很有水平,成年人作為入門讀物看看還是很不錯的,裡面充滿英式幽默,節奏很輕快。


你說的加密解密是軟體破解方向吧?我覺得跟現代密碼學關係不是很大,但有聯繫


推薦閱讀:

存不存在一種匿名投票方式(計算機實現),滿足以下條件?
密碼學 安全方向?
Diffie-Hellman密碼交換是如何運作的?
RSA 1024和AES 256,這兩種加密演算法理論上哪種更安全?
能否設計出「可以杜絕主辦方作弊的」匿名投票系統?

TAG:密碼加密 | 密碼學 | 摩斯電碼 |