淺析:加密算法

不願醉死溫柔鄉,仍慕武帝白雲鄉。

最近看了本書,裏面涉及加密算法,挺感興趣的。
另外,隨着新時代的發展,大數據的普及,似乎沒什麼祕密可言,感到加密算法甚是重要。
前兩天看到微博一個搞笑短視頻:一個男人給客服打電話,客戶通過數據分析,他的年齡、血型、住址、所處位置、緊急情況、甚至連他情人都知道……哈哈大笑之後,難免一陣唏噓,在互聯網下的我們,像極了暴露在X光射線下的一節節白骨,沒有了外衣和流動的血液,徒留分明且真實的骨頭……
可,誰還能沒點祕密呢,不過是有的隱匿在心裏,有的潛藏在網絡中
我想,網絡中的祕密,必然需要加密算法

想了解加密算分,先從一些絕密的事、需要加密的事,思考加密加密,如銀行卡密碼,QQ、微信等賬號密碼,空間內容權限、身份驗證、線上付款等等

接着,下面介紹加密算法一些知識

一、基本概念

明文:英文:plaintext,指有意義的字符或比特集,可以理解爲,沒有加密前的原文信息,通常用字母m或p表示

密文:英文:ciphertext,指不可直接理解的字符或比特集,可以理解爲,經過加密後的隱藏原文的信息,通常用字母c表示

密鑰:英文:secret key,分爲加密密鑰和解密密鑰,指密碼算法中的祕密參數,一般是一組滿足一定條件的隨機序列。通常只有通訊者擁有。

加密:英文:encrypt或encipher,指 將明文轉換成密文的過程。

解密:英文:decrypt或decipher,指 將密文轉換成明文的過程。

密碼算法:密碼系統採用的加密方法和解密方法,隨着基於數學密碼技術的發展,加密方法一般稱爲加密算法,解密方法一般稱爲解密算法。

加密算法:英文:Encryption algorithm,分爲對稱加密算法和非對稱加密算法

加密的作用:對原來明文的內容按照算法處理,使之成爲不可讀的一段代碼,也就是密文,只有在輸入相應的密鑰之後才能顯示出原本的內容。

二、加密系統

一個加密系統S可以用數學符號描述如下:

S={P, C, K, E, D}

P——明文空間,表示全體可能出現的明文集合,
C——密文空間,表示全體可能出現的密文集合,
K——密鑰空間,密鑰是加密算法中的可變參數,
E——加密算法,由一些公式、法則或程序構成,
D——解密算法,它是E的逆。

公開密鑰 密碼系統的加密過程

這裏寫圖片描述

公開密鑰 密碼系統的鑑別過程

這裏寫圖片描述

三、常見加密算法

1、簡單圖解
這裏寫圖片描述
這裏寫圖片描述
2、常見加密算法

DES: DES加密算法屬於對稱算法,是一種分組密碼,以64位爲分組對數據加密,它的密鑰長度是56位,加密解密用同一算法。DES加密算法是對密鑰進行保密,而公開算法,包括加密和解密算法。這樣,只有掌握了和發送方相同密鑰的人才能解讀由DES加密算法加密的密文數據。因此,破譯DES加密算法實際上就是搜索密鑰的編碼。對於56位長度的密鑰來說,如果用窮舉法來進行搜索的話,其運算次數爲256。

隨着計算機系統能力的不斷髮展,DES的安全性比它剛出現時會弱得多,然而從非關鍵性質的實際出發,仍可以認爲它是足夠的。不過,DES現在僅用於舊系統的鑑定,而更多地選擇新的加密標準。

RSA: RSA加密算法屬於非對稱算法,是目前最有影響力的公鑰加密算法,並且被普遍認爲是目前最優秀的公鑰方案之一。RSA是第一個能同時用於加密和數宇簽名的算法,它能夠抵抗到目前爲止已知的所有密碼攻擊,已被ISO推薦爲公鑰數據加密標準。RSA加密算法基於一個十分簡單的數論事實:將兩個大素數相乘十分容易,但那時想要,但那時想要對其乘積進行因式分解卻極其困難,因此可以將乘積公開作爲加密密鑰。

MD5: MD5算法屬於消息摘要算法,爲計算機安全領域廣泛使用的一種散列函數,用以提供消息的完整性保護。對MD5加密算法簡要的敘述可以爲:MD5以512位分組來處理輸入的信息,且每一分組又被劃分爲16個32位子分組,經過了一系列的處理後,算法的輸出由四個32位分組組成,將這四個32位分組級聯後將生成—個128位散列值。

MD5被廣泛用於各種軟件的密碼認證和鑰匙識別上。MD5用的是哈希函數,它的典型應用是對一段信息產生信息摘要,以防止被篡改。MD5的典型應用是對一段Message產生fingerprin指紋,以防止被“篡改”。如果再有—個第三方的認證機構,用MD5還可以防止文件作者的“抵賴”,這就是所謂的數字簽名應用。MD5還廣泛用於操作系統的登陸認證上,如UNIX、各類BSD系統登錄密碼、數字簽名等諸多方面

參考:

知乎

百度百科

搜狗百科

幾種常見加密算法比較

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