日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

总结几种常用的安全算法

發布時間:2025/3/15 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 总结几种常用的安全算法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?本文簡單總結幾種常用的安全算法

  • 摘要算法
  • 對稱加密算法
  • 非對稱加密算法
  • 數字簽名
  • 數字證書

web安全系列目錄?

  • 總結幾種常見web攻擊手段極其防御方式
  • 總結幾種常見的安全算法

數字摘要

實現

  • 將任意長度的明文通過單向hash函數摘要成固定長度的串。?Hash(明文)-->固定長度的摘要

特點

  • 無論明文多長,計算出來的摘要長度總是固定的。hash(‘a’)和hash(‘aaaaaaaaaaa’)形成的摘要長度是一樣的
  • 一般明文不同,計算出來的摘要也不同。也就是相同的明文,計算出來的摘要是一樣的,不同的明文形成的摘要一般是不一樣(好的hash函數不會發生碰撞)
  • 只能進行正向的消息摘要。也就是說從消息摘要中不能恢復成原來的明文。

數字摘要算法?

  • md5
  • sha

md5

  • 將待加密串進行md5計算形成128比特位(32位16進制)的摘要。

    字符串:jiajun md5摘要:a51c0678c060ae4c4630d930fe83102c?

SHA-1

  • 將待加密串進行SHA計算后形成160比特位(40位16進制)的摘要。
  • 對比md5,摘要信息更長,運算過程更復雜,速度更慢,但相對也更加安全。

    字符串:jiajun SHA-1摘要:26352d75496932fd05e65724610ce1aaadf9259c?

base64不是一種加密算法而是一種編碼算法

  • 將二進制數據編碼成ascll碼。比如說我們將圖片以json的形式上傳到服務器,那么可以將圖片二進制數據通過base64編碼轉化為二進制。
  • base64是可逆的,通過解碼算法可以恢復成二進制數據,所以根本不能加密。

彩虹表破解hash算法

  • 上面提到的兩種數字摘要算法md5和sha-1都是不可逆算法,那么如何破解呢?彩虹表是一種破解的方式。
明文hash算法密文
xxxmd5xxx
xxxsha-1xxx

?

  • 彩虹表破解法通過這樣的一張表進行查詢,比如攻擊者拿到了一個用戶密碼密文,是通過md5算法加密的,那么他可以在這樣的一張表進行查詢,從而查到密碼的明文。
  • 彩虹表是不斷的積累的過程,表的內容不斷豐富,從而破解的機率慢慢提高。
  • 如果用戶的密碼是常見的密碼,比如說生日,攻擊者知道有些用戶會用生日作為密碼,那么攻擊者可以提前將這些生日組合進行計算,提前記錄在表里面。那么在彩虹表查詢很快可以查詢的到密碼明文。而如果密碼較為復雜,如果泄露了密文,根據生成的密文在彩虹表進行查詢,是很難查到的(因為表里面并沒有)。這也就是為什么我們為用加鹽的方法降低破解率的原因了。?

對稱加密

實現

?

  • 發送方和接收方約定一個密鑰,生成加密密文發送。接收方接受后,使用相同的密鑰和加密算法的逆算法進行解密。通俗將,我給小花寫一封情書,然后放在一個上鎖的小箱子,經過多人的,最后到達小花,小花通過相同的鑰匙打開箱子。但是如果鑰匙中途被人撿到,那么情書就公開了。所謂對稱指的是加密解密用同一個加密密鑰。?

特點?

  • 算法是公開的,加密速度快。
  • 一旦泄露密鑰,因為算法是公開的,所以可以輕松解密。

應用分析

  • A向B發送秘密文件,這個時候可以采用對稱加密算法,沒有密鑰者不能解密文件。
  • 如果密鑰泄露那么文件可以被解密,而且隨著技術的發展,如果采用窮舉暴力解密也是有可能。
  • 如果A向很多人發送秘密文件,那么需要多次約定。

?

對稱加密算法

  • DES算法,密鑰64位
  • AES算法,,密鑰長度之處128,192,256三種,加密強度更高。

DES(Data Encryption Standard):數據加密標準,速度較快,適用于加密大量數據的場合。

3DES(Triple DES):是基于DES,對一塊數據用三個不同的密鑰進行三次加密,強度更高。

AES(Advanced Encryption Standard):高級加密標準,是下一代的加密算法標準,速度快,安全級別高;?

非對稱加密?

實現?

  • A向B發送消息,B先產生一個公鑰和私鑰,然后將公鑰公開,A獲得公鑰。
  • 然后用公鑰進行加密,然后將密文發送給B。
  • B得到后用私鑰進行解密。

特點

  • 非對稱加密更加復雜,所以加密解密速度沒有對稱加密快,但是也更加安全。?

非對稱加密算法?

  • RSA算法

應用分析

  • 即使中途有人截獲文件,因為沒有私鑰,并且加密算法復雜,解密是很困難的。
  • 如果A向多人發送秘密文件,那么他不需要多次約定的過程,從公鑰庫根據接收方的公鑰分別進行加密就行。

數字簽名?

實現?

  • A給B發送信息,A生成公鑰和私鑰,將公鑰公開。
  • A對發送消息進行數字摘要算法,然后再通過私鑰進行加密。
  • A將加密后的密文和原文發送給B
  • B收到后,對密文用公鑰進行解密,獲得串C,再用原文進行摘要算法,獲得串D,然后對比C D。這樣就能確認A的身份。
  • 數字簽名:將明文進行摘要,然后再通過私鑰進行加密的結果

數字簽名算法?

  • MD5withRSA算法
  • SHA1withRSA算法

應用分析?

  • B收到A的文件,B想確認是A發送的,那么可以根據數字簽名方式,根據A的公鑰進行解密然后比較,因為A的私鑰是不公開的,這樣匹配成功就能確認是A發送的。?

數字證書?

實現?

  • A給B發送消息,A生成公鑰和私鑰。
  • A將公鑰,還有公鑰持有者,簽名算法,過期時間等信息發送給CA(數字證書認證機構)
  • CA認可信息之后,通過CA的私鑰進行簽名,這時候數字證書就產生了。
  • 接著A將明文,明文數字簽名,和數字證書一起發送給B
  • B接受到后,通過CA的公鑰進行解密,進行第一次校驗,校驗數字證書。
  • 驗證成功后,進行第二次檢驗,提取數字證書中的公鑰,對密文進行解密。

應用分析

  • 在數字簽名的基礎上,再發送一個數字證書,這樣的話接收方不需要維護一個公鑰庫,通過CA驗證后在數字證書提取,獲得公鑰。

?

?

?

?

總結

以上是生活随笔為你收集整理的总结几种常用的安全算法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。