<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          你必須知道的 5 個重要的密碼學(xué)知識

          共 1671字,需瀏覽 4分鐘

           ·

          2022-05-10 08:20

          引言

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

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

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

          對稱加密

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

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

          • AES
          • DES

          密鑰交換

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

          Diffie Hellmann

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

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

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

          混合系統(tǒng)

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

          非對稱加密

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

          1. 接收者共享公鑰
          2. 發(fā)送者公鑰加密數(shù)據(jù)
          3. 密文被傳送至接收者
          4. 接收者私鑰解密密文

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

          • RSA
          • ECC

          散列

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

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

          當(dāng)今最流行的散列算法:

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

          輸入 Foo 的哈希值示例:

          SHA-3

          195e5c2ddf90d08e0c12357a75fd11180c85b989a9d3b6bc3327aa23a98f278a

          bcrypt

          $2a$12$.LJ6zlZXAZ2iRIyzRMcvpeQsPJ6pJ0/zb0daxnhxeGXNqN4KmJ9ny

          MD5

          1356c67d7ad1638d816bfb822dd2c25d

          數(shù)字簽名

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

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

          此過程在下圖中可視化:

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

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

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

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

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


          瀏覽 14
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  www,色色 | 日B免费视频 | 亚洲综合色网 | 日本一级黄色电影 | 狼网久久|