久久国产乱子伦精品免费M,亚洲一区二区三区91,欧美国产在线视频,国产精品视频久久

你必須知道的 5 個重要的密碼學知識

引言

密碼學用于將輸入(明文)轉換為加密的輸出(密文)。因此,使用不同的算法將輸入轉換為輸出,大多數情況下需要使用密鑰加密解密密碼學中的密鑰是用于算法的字符序列。然后,密文可用在世界各地的安全存儲和傳輸數據,只有發送者和接收者才能解密和讀取明文。

加密分為三種不同的方法:

  • 對稱加密(Symmetric Encryption)
  • 非對稱加密(Asymmetric Encryption)
  • 散列(Hashing)

對稱加密

你必須知道的 5 個重要的密碼學知識

對 “FILM” 單詞的加密和解密:

你必須知道的 5 個重要的密碼學知識

對稱加密的主要優點是速度快。在速度很重要的用例(VPN、數據流等)中,主要使用對稱加密。因此,目前主要使用兩種對稱加密算法:

  • AES
  • DES

你必須知道的 5 個重要的密碼學知識

密鑰交換

在對稱加密中,有一個主要問題必須解決,然后才能夠安全地使用它:如何獲取彼此的密鑰?

Diffie Hellmann

1976 年,該問題的第一個解決方案由 Whitfield Diffie 和 Martin Hellmann ?提出,同時該算法被命名為 Diffie Hellmann。Diffie Hellmann 會對通信的兩個成員生成相同的密鑰,而不需要預先共享密鑰。此過程的步驟是:

  1. 約定公有值
  2. 選擇私有(秘密)值
  3. 交換公有值秘密值計算出來的
  4. 用步驟 3 得出的和自己的秘密值計算密鑰,對于兩個通信員來說該密鑰的值是相同的

這個過程在下圖中用顏色(而非數字)進行了可視化,以便理解:

你必須知道的 5 個重要的密碼學知識

混合系統

混合系統是使用對稱和非對稱加密的密碼系統。大多數情況下,非對稱加密系統用于加密對稱加密系統密鑰。因為前者更安全,而后者更快速

非對稱加密

非對稱加密中,需要一個密鑰對來進行加密解密。密鑰對由公鑰私鑰組成。公鑰用于加密數據,然后只能用私鑰解密密文。公鑰可以公開共享,但私鑰必須保密,才能擁有安全的密碼系統。轉換過程包括以下步驟:

  1. 接收者共享公鑰
  2. 發送者公鑰加密數據
  3. 密文被傳送至接收者
  4. 接收者私鑰解密密文

你必須知道的 5 個重要的密碼學知識

該系統的優點是,可以在沒有任何安全措施密鑰交換系統的情況下共享公鑰。缺點是非對稱加密的速度慢。最常見的非對稱加密算法有:

  • RSA
  • ECC

散列

散列算法用于生成唯一且固定長度的字符串,也叫做哈希。其要求如下:

  • 輸出長度固定(Fixed-Length-Output):輸出的長度始終相同
  • 單向函數(One-Way-Function):很容易從輸入計算哈希,反向則幾乎不可。
  • 碰撞阻力(Collision resistance):不容易找到兩個能產生相同輸出的輸入

當今最流行的散列算法:

  • SHA-2(Secure Hash Algorithm 2)
  • SHA-3(Secure Hash Algorithm 3)
  • MD5(Message-Digest Algorithm 5)→ 不應該再被使用
  • bcrypt?→ 主要用于密碼散列

你必須知道的 5 個重要的密碼學知識

輸入?Foo?的哈希值示例:

SHA-3

你必須知道的 5 個重要的密碼學知識

bcrypt

你必須知道的 5 個重要的密碼學知識

MD5

你必須知道的 5 個重要的密碼學知識

數字簽名

數字簽名是一個不同的密碼學概念的用例,用于驗證數據和文檔的真實性。因此使用了非對稱加密散列函數。簽名過程的步驟如下:

  1. 計算要被簽名文檔哈希值
  2. 非對稱密碼系統私鑰加密哈希值
  3. 創建由文檔加密哈希值組成的簽名文檔

此過程在下圖中可視化:

你必須知道的 5 個重要的密碼學知識

驗證已簽名的文檔,必須執行以下步驟:

  1. 使用公鑰解密被附加到文檔的哈希值
  2. 計算文檔哈希值
  3. 被解密(被傳輸)的哈希值根據該文檔計算的哈希值進行比較

若這兩值匹配,則簽名有效,否則簽名無效

你必須知道的 5 個重要的密碼學知識

鏈接:https://medium.com/nerd-for-tech/5-cryptography-concepts-you-should-know-9b2681067a35

(版權歸原作者所有,侵刪)

 

相關新聞

歷經多年發展,已成為國內好評如潮的Linux云計算運維、SRE、Devops、網絡安全、云原生、Go、Python開發專業人才培訓機構!

    1. 主站蜘蛛池模板: 梅州市| 西林县| 丹棱县| 耿马| 汕头市| 英山县| 方山县| 平顶山市| 阿拉善左旗| 崇阳县| 堆龙德庆县| 将乐县| 金溪县| 连城县| 九龙县| 芦山县| 临朐县| 滨海县| 庆城县| 花垣县| 永修县| 隆尧县| 志丹县| 邹城市| 邵武市| 崇信县| 龙江县| 津市市| 仁布县| 武安市| 鄂州市| 蒲江县| 靖远县| 育儿| 南丰县| 铜山县| 定结县| 绩溪县| 平罗县| 泰州市| 思南县|