0x1加密演算法分類
0x11根據加密演算法使用的秘鑰數量,可以將加密體制分為對稱金鑰體制(symmetric cipher,單秘鑰密碼體制,秘密秘鑰密碼體制,對稱秘鑰密碼體制,常規密碼體制)和非對稱秘鑰體制
(asymmetric cipher,雙秘鑰密碼體制,公開秘鑰密碼體制,非對稱**密碼體制);對稱秘鑰體制中某個實體一定同時具備加密和解密能力,des,aes,idea,rc6採用對稱秘鑰;採用
非對稱秘鑰體制的使用者擁有一對秘鑰,公鑰和私鑰,rsa和elgamal,橢圓曲線密碼都是非對稱秘鑰密碼演算法。
在實現上對稱秘鑰密碼體制是基於複雜的非線性變換與迭代運算實現演算法安全性,而非對稱秘鑰密碼體制一般是基於某個數學難題而實現安全性的。普遍認為非對稱秘鑰密碼體制的安
全性沒有對稱秘鑰密碼體制的安全性高。
0x12根據對明文資訊的處理方式,可以分為分組密碼(block cipher)和序列密碼(stream cipher)。
分組密碼:一次處理乙個輸入塊,並產生乙個對應的輸出塊,乙個明文分組被作為乙個整體來產生乙個等長的密文分組,通常使用的分組時64bytes或者128bytes,des,aes,idea,rc6都
是採用的分組密碼
序列密碼:一次只處理乙個位元組或乙個bytes,典型的序列密碼有rc4,a5,seal
0x13根據是否能進行可逆的加密變換可分為單向函式密碼體制和雙向密碼變換體制。典型的單項密碼包括md4.md5,sha-1,用於資訊的完整性保護和鑑別
0x14對稱秘鑰與飛對稱秘鑰體制的優缺點:
對稱秘鑰的加解密處理速度較快,效率較高,安全性也比較高,但是秘鑰分發過程複雜,代價高,保密通訊系統的開放性差,秘鑰管理困難,存在數簽名的困難性;非對秘鑰體制中加密
演算法,解密演算法及公鑰都是公開的,通訊雙方可以通過公開渠道獲取到對方的公鑰,使用公鑰對明文加密後傳送,接收方使用自己的私鑰解密。因此,他的秘鑰分發簡單,系統秘鑰量少,
便於管理,系統開放性好,可以實現數字簽名,但與對稱秘鑰相比,它的加解密運算浮躁,速度較慢,同等的安全強度下它的秘鑰位數較多。非對稱秘鑰密碼體制可能存在「可能報文攻擊」。
0x2對稱秘鑰密碼演算法
0x21des
des是一種分組長度為64位,秘鑰長度為56位,輸出密文為64位的具有16輪迭代的分組對稱密碼演算法,des由初始置換、16輪迭代和初始逆置換組成。由於des的s-盒設計存在爭議,56位的
秘鑰過短,存在弱秘鑰問題,且代數結構存在互補對稱性,導致des可以在一定的資源環境下被攻破
0x22 3重des
0x5雜湊函式和訊息鑑別
密碼學中的雜湊函式有稱為hash函式,雜湊函式,它是一種單向密碼體制,是乙個明文到密文的不可逆對映,只有加密過程,沒有解密過程。雜湊函式式乙個可以將任意長度的訊息輸入壓
縮為某一固定長度的訊息摘要的函式,輸出的訊息摘要也稱為雜湊碼,該特性使它可以生產檔案或其他資料的「數字指紋」,在數字完整性和數字簽名領域得到廣泛使用。
0x51雜湊函式
qq好友列表
sqlcipher是乙個開源的庫,它使用256位的aes演算法來加密sqlite資料庫,
pc版和手機版的區別還是蠻大的,主要是手機上各種資源的限制,加解密需要多考慮效能問題。
手機qq
qq也使用了sqlite,但是沒有使用sqlciher來加密,沒找到相關的api(如sqlitedatabase.loadlibs(this),sqlitedatabase.openorcreatedatabase),pc版的是使用tea加密的,
使用sqlite,但是沒有使用sqlcipher,使用了tea,des,
常見加密演算法及常見加密演算法簡述
通訊雙方即a與b,a傳送資料給b 加密過程 解釋 即便第三方將a傳送給b的資料截獲了,也無法破解資料,因為想要解密密文資料,就需要知道對稱秘鑰,想得到對稱秘鑰就需要知道b的私鑰,其他人是沒有b的私鑰的,所以通過這種方式保證了資料的私密性。如果保管b的私鑰,不是這裡要考慮的問題了 解密過程 以上僅是點...
常見加密演算法
常見用於保證安全的加密或編碼演算法如下 1 常用金鑰演算法 金鑰演算法用來對敏感資料 摘要 簽名等資訊進行加密,常用的金鑰演算法包括 des data encryption standard 資料加密標準,速度較快,適用於加密大量資料的場合 3des triple des 是基於des,對一塊資料用...
常見加密演算法
一 對稱加密演算法 加密和解密採用同一把金鑰,解密 演算法等同於加密演算法?des 3des 基於 des 對一塊資料用三個不同的金鑰進行三次加密 aes,advanced encryption standard 二 非對稱金鑰加密 加密鑰匙 公鑰 和解密鑰匙 私鑰 兩者 數學相關 rsa 加密 a...