Rsa
教科書 RSA 的定義
教科書或“原始” RSA 的定義是什麼?
教科書 RSA 有哪些特性?
它與其他基於 RSA 的方案有何不同?
教科書 RSA:
選擇兩個大素數 $ p $ 和 $ q $ . 讓 $ n=p\cdot q $ . 選擇 $ e $ 這樣 $ gcd(e,\varphi(n))=1 $ (在哪裡 $ \varphi(n)=(p-1)\cdot (q-1) $ )。尋找 $ d $ 這樣 $ e\cdot d\equiv 1\bmod{\varphi(n)} $ . 換句話說, $ d $ 是的模逆 $ e $ , ( $ d\equiv e^{-1}\bmod{\varphi(n)} $ ).
$ (e, n) $ 是公鑰, $ (d, n) $ 私人的。
- 加密消息 $ m $ , 計算 $ c\equiv m^e\mod n $ .
- 解密密文 $ c $ , 計算 $ m \equiv c^d\mod n $ .
還定義了簽名和驗證消息(為簡潔起見,省略)。
教科書 RSA 的一些(不受歡迎的)屬性:
- 它具有延展性。即,如果你給我一個密文 $ c $ 加密 $ m $ , 我可以計算 $ c’\equiv c\cdot 2^e\mod n $ . 當私鑰的擁有者解密時 $ c’ $ ,她會得到 $ 2m\mod n $ . 換句話說,我可以對密文進行可預測的更改。
- 它是確定性的,因此在語義上不安全。即,我可以區分 $ 0 $ 和 $ 1 $ (只需自己加密兩個值並比較密文)。
與已部署 RSA 的區別:
- 填充
- 中國剩餘定理有時用於已部署的系統中以更有效地解密。
- $ e $ 通常靜態設置為 $ 65537 = 2^{16} + 1 $ 用於加密速度(因為該數字中只有兩個設置位)。
- 也可以為已部署的系統實施側通道攻擊緩解措施。
我的清單絕不是全面的,但希望這會有所幫助。