Rsa
Euler totient 在 RSA 算法中是否共享?
根據我從 RSA 算法中了解到的情況,加密消息的接收者需要 Euler totient 來生成其私有解密密鑰。如果發送者選擇了兩個素數 p 和 q,那麼歐拉方程可以是(p−1)∗(q−1) $ (p-1)*(q-1) $ 這是接收器所需的值。在這種情況下,Euler totient 是如何共享的,因為它看不到接收者如何獲得該值。
該算法是相當容易理解的,但我還沒有找到有關此值是否共享或如何共享的資訊?
謝謝
很簡單:發送者不選擇任何素數。密鑰對由接收方生成,發送方使用公鑰對消息進行加密。因此,Euler totient 只是在接收器處計算,素數永遠不需要傳遞。
當使用非對稱加密時,私鑰或密鑰的私有組件永遠不需要傳輸,除非該密鑰用於多個相關係統或可能用於備份目的。
必須信任公鑰來自接收方,以保持消息的機密性。在這裡,密鑰管理和公鑰基礎設施 (PKI) 的各個方面都發揮了作用。
要簽署消息,發送者確實使用他們自己生成的密鑰對,現在接收者必須使用並信任發送者的公鑰來驗證簽名。
不,假設 Alice 會收到 Bob 的消息,生成密鑰的步驟是:
Alice 的密鑰設置
- 選擇p,q $ p, q $ 3072 位的隨機素數。
- 計算n=pq $ n = pq $ .
- 計算披(n)=(p−1)(q−1) $ φ(n) = (p − 1)(q − 1) $
- 選擇和=65537 $ e = 65537 $ , 併計算 d 使得(僅在此處使用歐拉方程) 和d≡1(反對披(n))$$ ed ≡ 1 \pmod {φ(n)} $$
- 公鑰:;私鑰(n,和) $ (n, e) $ (d) $ (d) $
無需為 Bob 設置密鑰。Bob 將獲得公鑰並進行以下計算: C=米和(反對n) $ c = m^e \pmod{n} $
C $ c $ 是要發送給 Alice 的加密消息。
Alice 將使用:
並恢復純文字消息。米=Cd(反對n) $ m = c^d \pmod{n} $
關於 RSA 安全性的一些擔憂(Understanding Cryptography , Paar):
定理以下三個計算問題是等價的:
- 分解 RSA 模數:給定 n,找到 p 和 q 比 。n=pq $ n = pq $
- 求 φ:給定 n,求 φ(n)。
- 求 d:給定 n 和 e,求 d。