你也許在接觸本書之前,已經聽過「密碼學(cryptography)」或是看過「密碼」的相關電影(例如:布魯斯威利主演之「終極密碼戰」、約翰屈伏塔之「劍魚」…等等諸如此類的電影或書籍)。或許一些先入為主的觀念已經悄悄在你的腦海裡萌芽,他們不一定就是所謂的密碼學,但是他們的確是資訊隱藏與破解的遊戲。「密碼學」所談論的是一種資訊隱藏藝術,「密碼分析學(cryptoanalysis)」所談的卻是一種破解技巧。在許多實例裡面證明,一個好的密碼設計者必定也是好的密碼分析家。在這裡,我們將用比較嚴謹的態度來看密碼學,不管其被用在網路安全、資料保密、衛星通訊或是軍事通聯,這些都只是密碼學的上層應用,在本書裡面,我們將略而不論,我們僅關心其基本原理與運作,因為有了這些觀念,那些其他上層運作之機密性與安全性各位讀者將自然可以明白。
對稱式編碼方法是過去20年常被使用來確保資訊安全的方法,所以它仍是許多密碼學相關書籍之討論主角,也是目前擔負眾多重要應用之主力,許多網路資訊安全都是其應用之延伸。在本書裡面,我們將會討論各種對稱式編碼方面機制與網路安全問題。本書共分成八個章節,其架構編排如下:
本章節主要是密碼學之前導,在此盡可能以較為輕鬆的方式介紹密碼學之觀念與一些密碼常識,以做為讀者未來進入較深入之密碼觀念前的熱身。
在這一章裡面,我們除了會談到傳統的編碼模型、技術之外,也會談到區塊編碼器與大家熟知的DES編碼系統。
在這一章,我們主要是著重在3 DES與其他對稱式編碼器(例如:Blowfish、RC5…等)的探討。並且在本章後面,我們會深入探討AES編碼觀念,也會簡單介紹一個進入AES(Advance Encryption Standard)決賽中的Twofish編碼方法。
有關傳統編碼的機密性問題,這裡主要是放在網路流量、密鑰散佈與隨機數產生器上面,並且也會在本章最後面簡單介紹一下視覺密碼學。
公鑰密碼學可以說是一個密碼學的里程碑,它以數學函數的方式提供訊息編碼上的安全,而非一般的訊息變換方法。在這一章裡面,我們會將公鑰編碼所需要用到之基本數學觀念補強。
本章著重在訊息驗證的討論與現在普遍被大家使用的赫序演算法(例如:MD5、SHA-1…等),並在本章後面會簡單介紹一下生日攻擊法及生物辨識系統。
公鑰密碼學提供的一個安全服務便是數位簽名與驗證,在這裡我們將看到它們的運作方式,並且也會討論到數位簽名標準(DSS)的運作情形與現行的驗證機制。
本章將針對目前正積極被研究的量子密碼系統與量子運算及其發展作一較深入完整的說明,尤其是一些基礎量子運算觀念與量子電腦與相關演算原理。
本書是專門討論密碼學之書籍,往後章節裡面我們所將談論到的,也將是近代密碼學裡面編碼與解碼等觀念之探討。這些觀念有些不是非常淺顯易懂,使得一些初入此領域之學者有無法一窺廟堂之美的遺憾。為避免學習上的陡峭,我們一開始先在比較輕鬆的環境裡面,跟各位介紹密碼學之重要基礎觀念,與其為何與現代資訊安全息息相關。如果你是初學者,那你的密碼學之路還有一段距離,不過請不要灰心,如果你真的有興趣那就該堅持,畢竟生命要浪費在美好的事物上。學習密碼學或是設計安全系統,最忌諱的就是欺人欺己。我希望讀者可以確切地弄清楚每一個環節觀念,這對各位往後要進入更深入的密碼學領域有非常大的幫助。凡事學習都要誠實,對自己誠實也對真理誠實,希望這本拙著可以為一些想要研究密碼學領域之學子貢獻一些心力。