密碼學之加密演算法簡記

2021-07-24 06:18:09 字數 1800 閱讀 7053

編碼:base64

摘要演算法:md5、sha-1

對稱加密演算法:aes、des、3eds

非對稱加密演算法:rsa、dsa、ecc

數字簽名:dsa

訊息摘要演算法:

關鍵數字:512、448、64、0、1、四輪、28

大端位元組序 a=0x01234567,b=0x89abcdef,c=0xfedcba98,d=0x76543210

1、一般用於客戶端對密碼md5加密處理,傳給伺服器,即使黑客攻擊了伺服器,明文密碼也不會被洩露(伺服器的保護)

2、客戶端保護(如果黑客通過反編譯手段則也有可能攻破),所以單獨進行md5還是可以通過破解**破解的

所以可以如下方法

1)多次md5 (黑客逆向解密,還是一樣)

2)加密後加鹽再加密 (加鹽就是在固定位置拼接上一段雜亂的字串) (有規律性)

破解步驟:解密—》鹽有規律性—》去鹽 —》解密 明文獲得

3)先加密,後亂序 破解難度增加 因為他不知道你怎麼換的位置

md5被衝撞一次的時間

被設計專門用來搜尋md5衝突的機器(這台機器在2023年的製造成本大約是一百萬美元)可以平均每24天就找到乙個衝突

2023年王小雲和他的研發小組通過雜湊衝撞的方式兩個不同的明文可得到相同的md5編碼

注意:並非是真正的破解,只是加速了雜湊衝撞

2023年 每幾秒就可以找到一對碰撞

加密原理

1、字型代替 類似 密保卡樣式

2、行移位

3、列混淆

4、輪金鑰加

塊加密 輪詢

cbc模式 優於 ecb模式

128 金鑰和初始向量

256 金鑰

aes相比同類對稱加密演算法速度算是非常快,比如在有aes-ni的x86伺服器至少能達到幾百m/s的速度。安全性在可預見的未來是基本等同的,因為即使是128位也足夠複雜無法被暴力破解。現在112位密碼還在商業應用,而128位是112位的幾萬倍,所以在實務中用128位比較划算(稍節約資源)。

aes256比128大概需要多花40%的時間,用於多出的4輪round key生成以及對應的spn操作。另外,產生256-bit的金鑰可能也需要比128位金鑰多些開銷,不過這部分開銷應該可以忽略。
安全程度自然是256比128安全,因為目前除了暴力破解,並沒有十分有效的代數攻擊方法。

針對具體的aes-256或aes-128的軟/硬體實現有特定的攻擊方式,不好一概而論。

aes128和aes256主要區別是金鑰長度不同(分別是128bits,256bits)、加密處理輪數不同(分別是10輪,14輪),後者強度高於前者。當前aes是較為安全的公認的對稱加密演算法。
現代密碼學分為對稱加密與非對稱加密(公鑰加密),代表演算法分別有des(現在發展為3des)、aes與rsa等。非對稱加密演算法的資源消耗大於對稱加密。一般是進行混合加密處理,例如使用rsa進行金鑰分發、協商,使用aes進行業務資料的加解密。

關於這個編碼的規則:

①.把3個字元變成4個字元。

②每76個字元加乙個換行符。

③.最後的結束符也要處理。

base64編碼要求把3個8位位元組(3*8=24)轉化為4個6位的位元組(4*6=24),之後在6位的前面補兩個0,形成8位乙個位元組的形式。 如果剩下的字元不足3個位元組,則用0填充,輸出字元使用『=』,因此編碼後輸出的文字末尾可能會出現1或2個『=』。

為了保證所輸出的編碼位可讀字元,base64制定了乙個編碼表,以便進行統一轉換。編碼表的大小為2^6=64,這也是base64名稱的由來。

上傳rsa

ecc

密碼學之RSA加密

最近在學習網易公開課上可汗學院現代密碼學的課程,整理了一下自己的筆記3 rsa加密 非對稱金鑰,公開金鑰演算法 rsa加密利用了單向函式正向求解很簡單,反向求解很複雜的特性。具體是利用了 1.對兩個質數相乘容易,而將其合數分解很難的這個特點進行的加密演算法。n p1 p2,已知p1 p2求n簡單,已...

密碼學之RSA加密

最近在學習網易公開課上可汗學院現代密碼學的課程,整理了一下自己的筆記3 rsa加密 非對稱金鑰,公開金鑰演算法 rsa加密利用了單向函式正向求解很簡單,反向求解很複雜的特性。具體是利用了 1.對兩個質數相乘容易,而將其合數分解很難的這個特點進行的加密演算法。n p1 p2,已知p1 p2求n簡單,已...

密碼學演算法

密碼學概述 公開相對安全 攻擊方法多樣 應用標準 不比具備很強數學知識 解決特定問題 目標機密性 完整性不可抵賴性 身份驗證 常用密碼庫 miracl cryptoapi openssl 密碼學演算法分類 隨機數偽隨機數生成器 密碼學偽隨機數生成器 工作原理 生成器內部維護乙個狀態 internal...