2020-07-09

演算法圖鑑:26種演算法 + 7種資料結構,人工智慧、數據分析、邏輯思考的原理和應用全圖解 BY 貳團 Vincent Ryan Lai

真的是圖鑑,每一頁都是用淺顯易懂的圖解說明電腦程式常用的演算法〈例如二元搜尋,雜湊函數,公開金鑰,數位簽章等等〉。書中沒有任何一行程式碼也幾乎沒有數學公式,就是讓一般人與程式工作者對這些演算法有概念的了解。

可能有人會問:我不是資工程式專業的,看得懂嗎;看完有幫助嗎?看完這本書不會讓一般人會寫程式,但是至少可以了解我們平常上網購物或是透過操作網路銀行時背後的安全系統與金鑰加密的需求與概念。

網路安全也是我覺得書中寫得最好的一段。所以介紹一下。書中先提及網路上的動作與潛在的危險,例如 A 傳資料 (電子郵件,股票下單,信用卡刷卡等等)給 B,這時可能有四種風險:被第三方竊聽 (eavesdrop),收件人或發件人偽裝 (spoofing) ,傳輸內容被第三方竄改 (falsification),以及發件人抵賴反悔 (repudiation)。然後對應這四種危險,人們發展出加密,訊息鑑別,數位簽章等技術,在依序用圖解簡介這些技術或演算法的概念。