資訊安全中RSA的步驟是什麼?


RSA演算法是由羅恩·萊維斯特、阿迪·薩莫爾和倫納德·阿德曼發明的公鑰簽名演算法。RSA還可以加密和解密通用資料,以安全地交換資訊以及管理數字簽名驗證。

RSA演算法基於大數分解中包含的複雜性。RSA演算法依賴於這樣一個事實,即沒有有效的方法來分解非常大的數字。因此,推匯出RSA金鑰將需要大量的時間和處理能力。

RSA演算法是一種非對稱加密演算法,因為它使用兩個不同的金鑰,例如公鑰和私鑰。公鑰對所有人公開,而私鑰則保密。公鑰包含兩個數字,其中一個是兩個大素數的乘積。

在RSA加密中,訊息使用稱為公鑰的程式碼進行加密,該程式碼不需要隱藏。它基於RSA演算法的數學特性,因為使用公鑰加密的訊息只能由另一個稱為私鑰的金鑰解密。因此,需要一組金鑰(即公鑰和私鑰)來讀取此類訊息。

RSA演算法包含以下步驟:

  • 生成金鑰
    • 選擇兩個大素數,例如P和Q。素數需要足夠大,以至於其他人難以找出。

    • 計算N = P x Q

    • 選擇公鑰(即加密金鑰)E,使其不是(P-1)和(Q-1)的因子。

    • 選擇私鑰(即解密金鑰)D,使其滿足以下等式:

         (D x E) mod (P - 1) x (Q – 1) = 1

    • 對於加密,根據以下公式計算密文(CT)從明文(PT):

                             CT = PTE mod N

    • 將CT作為密文傳送給接收方。

    • 對於解密,根據以下公式計算明文(PT)從密文(CT):

                               PT = CTD mod N

  • **加密/解密函式** - 一旦可以生成金鑰,就可以將引數傳遞給使用相應金鑰計算密文和明文的函式。

    • 如果明文是m,則密文 = me mod n。

    • 如果密文是c,則明文 = cd mod n

  • 例如,其中p = 17,q=13。e的值可以是5,因為它滿足條件1 < e < (p-1) (q-1)。

    N = p * q = 91

    D = e-1 mod (p-1) (q-1) = 29

    公鑰對 = (91, 5)

    私鑰對 = (91, 29)

    如果明文(m)值為10,則可以使用公式me mod n = 82對其進行編碼。

    要將此密文(c)解密回原始資料,應使用公式cd mod n = 29。

更新於: 2022年3月16日

1K+ 瀏覽量

啟動您的職業生涯

透過完成課程獲得認證

開始
廣告

© . All rights reserved.