Encryption
有沒有辦法修改現有的 RSA 密鑰對以保留該功能?
我有一個現有的 RSA 密鑰對,如何根據現有密鑰“派生”不同的密鑰對,以便保留加密解密功能但原始密鑰不能與“修改”/“派生”密鑰互換?
一種執行要求的方法是打開公鑰 $ (n,e) $ 進入 $ (n,e’) $ 和 $ e’=e^2 $ , 和私鑰 $ (n,e,d,p,q,d_p,d_q,q_\text{inv}) $ 至 $ (n,e’,d’,p,q,d_p’,d_q’,q_\text{inv}) $ [或者 $ (n,d) $ 至 $ (n,d’) $ ] 和 $ d’=d^2 $ 或者 $ d’=d^2\bmod\operatorname{lcm}(p-1,q-1) $ , $ d_p’=d_p^2\bmod(p-1) $ , 和 $ d_q’=d_q^2\bmod(q-1) $ .
這是不推薦的。特別是,如果舊私鑰洩露(包括將來),新私鑰也會洩露。加密需要將近兩倍的時間。此外,還有一些奇怪的屬性(如使用舊密鑰對的雙重教科書 RSA 加密/解密等同於使用新密鑰對的教科書 RSA 加密/解密)。
相反,推薦的過程是從頭開始生成一個新的密鑰對,並使用原始密鑰簽署(證書)新的公鑰。