幾種加密解密演算法的介紹

2021-09-08 21:54:58 字數 1763 閱讀 7186

sha是一種資料加密演算法

,該演算法經過加密專家多年來的發展和改進已日益完善,現在已成為公認的最安全的雜湊演算法之一,並被廣泛使用。該演算法的思想是接收一段明文,然後以一種不可逆的方式將它轉換成一段(通常更小)密文,也可以簡單的理解為取一串輸入碼(稱為預對映或資訊),並把它們轉化為長度較短、位數固定的輸出序列即雜湊值(也稱為資訊摘要或資訊認證**)的過程。

雜湊演算法

雜湊是資訊的提煉,通常其長度要比資訊小得多,且為乙個固定長度。加密性強的雜湊一定是不可逆的,這就意味著通過雜湊結果,無法推出任何部分的原始資訊。任何輸入資訊的變化,哪怕僅一位,都將導致雜湊結果的明顯變化,這稱之為雪崩效應。雜湊還應該是防衝突的,即找不出具有相同雜湊結果的兩條資訊。具有這些特性的雜湊結果就可以用於驗證資訊是否被修改。

單向雜湊函式一般用於產生訊息摘要,金鑰加密等,常見的有:

md5(message digest algorithm 5):是rsa資料安全公司開發的一種單向雜湊演算法。

sha(secure hash algorithm):可以對任意長度的資料運算生成乙個160位的數值。

sha-1:該演算法輸入報文的最大長度不超過264位,產生的輸出是乙個160位的報文摘要。輸入是按512 位的分組進行處理的。sha-1是不可逆的、防衝突,並具有良好的雪崩效應。

sha-1與md5的比較

因為二者均由md4匯出,sha-1和md5彼此很相似。相應的,他們的強度和其他特性也是相似,但還有以下幾點不同:

l 對強行攻擊的安全性:最顯著和最重要的區別是sha-1摘要比md5摘要長32 位。使用強行技術,產生任何乙個報文使其摘要等於給定報摘要的難度對md5是2^128數量級的操作,而對sha-1則是2^160數量級的操作。這樣,sha-1對強行攻擊有更大的強度。

l 對密碼分析的安全性:由於md5的設計,易受密碼分析的攻擊,sha-1顯得不易受這樣的攻擊。

l 速度:在相同的硬體上,sha-1的執行速度比md5慢。

rsa演算法

rsa演算法是第乙個能同時用於加密和數字簽名的演算法,也易於理解和操作。

rsa是目前最有影響力的公鑰加密演算法,它能夠抵抗到目前為止已知的所有密碼攻擊,已被iso推薦為公鑰資料加密標準。

rsa演算法基於乙個十分簡單的數論事實:將兩個大素數相乘十分容易,但那時想要對其乘積進行因式分解卻極其困難,因此可以將乘積公開作為加密金鑰。

rsa的缺點主要有:a)產生金鑰很麻煩,受到素數產生技術的限制,因而難以做到一次一密。b)分組長度太大,為保證安全性,n 至少也要 600bits以上,使運算代價很高,尤其是速度較慢,c)rsa金鑰長度隨著保密級別提高,增加很快。

資料加密標準des

des 使用乙個 56 位的金鑰以及附加的 8 位奇偶校驗位,產生最大 64 位的分組大小。這是乙個迭代的分組密碼,使用稱為 feistel 的技術,其中將加密的文字塊分成兩半。使用子金鑰對其中一半應用迴圈功能,然後將輸出與另一半進行「異或」運算;接著交換這兩半,這一過程會繼續下去,但最後乙個迴圈不交換。des 使用 16 個迴圈,使用異或,置換,代換,移位操作四種基本運算。

base64

base64是網路上最常見的用於傳輸8bit位元組**的編碼方式之一,大家可以檢視rfc2045~rfc2049,上面有mime的詳細規範。base64編碼可用於在http環境下傳遞較長的標識資訊。在一些應用程式中常常需要把二進位制資料編碼為適合放在url(包括隱藏表單域)中的形式。此時,採用base64編碼不僅比較簡短,同時也具有不可讀性,即所編碼的資料不會被人用肉眼所直接看到。

加密,解密演算法

private symmetricalgorithm mcsp 宣告對稱演算法變數 private const string civ mi56 4zujhy12se6yjy111a 初始化向量 private const string ckey jkhuiy9d 9i 金鑰 常量 其中civ裡面的值...

簡單的加密解密演算法

本文描述一種專案中採用的簡單加密解密演算法,通過把多種演算法進行組合。特點是同個字串不同時間加密結果不同,混合了多種加密方式,很難用統計的方式對密文進行破解。專案中僅是對密碼進行加密,規定密碼長度不超過16個字元,故以下的演算法均是固定長度的。1 擴充套件字串 在加密字串末加 0 之後新增隨機字串擴...

簡單的加密解密演算法

密碼演算法大致 str abcdefghijklmn 共94個可列印字元 key 2 0,2 1,2 2 2 5 到2 5 加密過程 明文,反轉,加密,密文 每個明文對應2個密文 解密過程 密文,解密,反轉,原文 每2個密文對應1個原文 偽碼 加密過程 str abcdefghijklmn 共94個...