Rsa

RSA 中的 k 是什麼?

  • September 18, 2019

我目前正在學習 RSA,因為我不了解公鑰系統,但現在我……有點。所以我寫的數字如下:

$ p = prime\ number\ q = prime\ number\ N = Public\ Key\ (p \times q)\ Z = \phi(N)\ E = Public\ exponent\ D = Private\ key $

現在,要計算 $ D $ ,私鑰,你需要下面的公式:

$$ D=\frac{ k \times (\phi(N))) +1 }{ E } $$ 有人可以解釋一下嗎 $ k $ 方法?

$ \big(\hspace{-0.03 in} $ 你不需要那個。 $ : $ $ \operatorname{L}\hspace{-0.02 in}\operatorname{cm}\hspace{.02 in}(\hspace{.04 in}p\hspace{-0.04 in}-\hspace{-0.05 in}1,\hspace{-0.02 in}q\hspace{-0.04 in}-\hspace{-0.05 in}1) $ 可以用來代替 $ \phi(N) $ . $ \hspace{-0.03 in}\big) $

$ k $ 是一個整數,它將使商成為整數。

https://en.wikipedia.org/wiki/Modular_multiplicative_inverse

這是一個翻譯 $ ed \equiv 1 \pmod{\phi(N)} $ ,即 $ e $ 和 $ d $ 是彼此的反模數 $ \phi(N) $ ,它說 $ ed-1 $ 必須是的整數倍 $ \phi(N) $ (回顧 $ a \equiv b \pmod{c} $ 當且當 $ c $ 劃分 $ b-a $ 在整數 iff $ b-a=lc $ 對於某個整數 $ l $ ) 和一些 $ k \in \Bbb Z $ 存在於 $ k\phi(N) = ed-1 $ (作為一個方程 $ \Bbb Z $ ),這通過一些基本的重寫轉換為您的公式。

所以實際值 $ k $ 是完全不相關的(並且在使用或實現 RSA 時不需要儲存或記住),但是這個分析是在 Wiener/Coppersmith 小 $ d $ -攻擊(通過連分數或格),IIRC。可以說,它是 RSA 方程組中的一個必要的輔助未知數。

引用自:https://crypto.stackexchange.com/questions/27113