【轉載】密碼學研究-基本知識

引入:

最近項目組用到了一些密碼學相關的知識,雖然這些話題我幾年前就很熟悉了,並且還經歷過很多經典算法破解的新聞,背景,細節,但是這裏我還是希望炒下冷飯,方便以後直接拿來用。其實密碼學這個話題非常重要,如果大家經常看諜戰劇,尤其是牛小峯主演的諸多諜戰劇,就不難發現密碼學其實很重要,而且密碼/密碼本/發報機經常是諜報人員嘴上說最多的東西,也是敵我雙方爭奪的重點。本文主要講密碼學中的經典概念,我自己用visio畫了一些圖,以方便讀者理解


1.現代密碼學設計的基本原則-科克霍夫原則(數據的安全基於密鑰而不是算法的保密)

這個原則是有道理的,因爲算法是一個活的東西,它總是在不斷的進步中,如果算法保密了,那麼就缺少了對於算法的研究,從而沒辦法去更新或者設計更好的算法了。從歷史上來看,以前紅極一時的許多算法都被破解,然後被更可靠的算法所替代。所以,開放算法,對於整個密碼學的發展是有好處的。對於密碼的使用者來說,如果算法公開了,還可以讓專家去評審算法,從而杜絕算法設計者故意在其算法中“開後門”


2.從密碼學的加密方式上看,密碼學分爲兩大類,單向加密和雙向加密。雙向加密又分爲兩種:一種是對稱加密,一種是非對稱加密。如何去理解呢?

單向表示只有明文的加密過程,不用去處理密文。雙向表示不僅有明文的加密過程,而且在適當時候還會對密文解密從而還原明文。

對稱和非對稱,其研究的過程都是加密和解密。如果加密密鑰和解密密鑰是同一個,那麼這算對稱,如果加密密鑰和解密密鑰不是同一個,那麼算非對稱。


3.單向加密,對稱加密,非對稱加密的典型的算法。

加密方式主要使用場合典型算法
單向加密校驗消息的完整性MD5,SHA,MAC
對稱加密用於數據存儲的加密DES,AES
非對稱加密用於數據傳輸的加密RSA,DSA,DH



4.加密方式的理解示意圖(爲了方便區分和理解,我所有消息發送者以及動作都用藍色表示,接收者和動作都用黃色表示):


對於單向加密:

124916225.png

對於對稱加密:

144715197.png


對於非對稱加密:


151645820.png

特別注意:公鑰加密的內容必須私鑰解密,私鑰加密的內容必須公鑰解密。

本文出自 “平行線的凝聚” 博客,請務必保留此出處http://supercharles888.blog.51cto.com/609344/1313864


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章