加密

加密的種類
MD5 AES RSA

加密的目的
加密的目的是為了防止數(shù)據(jù)的泄漏,在client和server之間傳遞的數(shù)據(jù)的時候,內容可能被三方截獲。為了防止第三方解讀、篡改數(shù)據(jù),產生了各種各樣的加密技術。
MD5
MD5算法具有以下特點:
1、壓縮性:任意長度的數(shù)據(jù),算出的MD5值長度都是固定的128bit。
2、容易計算:從原數(shù)據(jù)計算出MD5值很容易。
3、抗修改性:對原數(shù)據(jù)進行任何改動,哪怕只修改1個字節(jié),所得到的MD5值都有很大區(qū)別。
4、強抗碰撞:已知原數(shù)據(jù)和其MD5值,想找到一個具有相同MD5值的數(shù)據(jù)(即偽造數(shù)據(jù))是非常困難的。

RSA

非對稱加密,公鑰加密,私鑰解密,反之亦然。由于需要大數(shù)的乘冪求模等算法,運行速度慢,不易于硬件實現(xiàn)。通常私鑰長度有512bit,1024bit,2048bit,4096bit,長度越長,越安全,但是生成密鑰越慢,加解密也越耗時。
既然是加密,那肯定是不希望別人知道我的消息,所以只有我才能解密,所以可得出公鑰負責加密,私鑰負責解密;同理,既然是簽名,那肯定是不希望有人冒充我發(fā)消息,只有我才能發(fā)布這個簽名,所以可得出私鑰負責簽名,公鑰負責驗證。

AES

對稱加密,密鑰最長只有256個bit,執(zhí)行速度快,易于硬件實現(xiàn)。由于是對稱加密,密鑰需要在傳輸前通訊雙方獲知。
基于以上特點,通常使用RSA來首先傳輸AES的密鑰給對方,然后再使用AES來進行加密通訊。

現(xiàn)在比較流行的加密方案是組合型的,上面三種方法的組合,MD5做簽名,RSA+AES加密數(shù)據(jù)。
利用RSA的pk對AES的key做加密,然后發(fā)送給服務器;服務器利用SK解密得到AES的key。之后所有的數(shù)據(jù)都用AES做加密,所以服務器也能夠正常解密。

參考資料
RSA與AES的區(qū)別
數(shù)據(jù)傳輸加密

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

友情鏈接更多精彩內容