Topic:RSA 是什麼?

RSA 是一種 非對稱加密演算法(Asymmetric Encryption Algorithm)。


一、什麼是非對稱加密?

非對稱加密使用「一對金鑰」:

  • 🔓 公開金鑰(Public Key)
    可以提供給他人,用來加密資料

  • 🔐 私密金鑰(Private Key)
    僅自己持有,用來解密資料

👉 與對稱加密(只有一把金鑰)相比,非對稱加密(如 RSA)可以做到:

  • ✅ 別人可以加密給你
  • ✅ 只有你能解密

二、RSA 與對稱加密比較

比較項目 對稱加密 非對稱加密(RSA)
🔑 金鑰數量 1 把 2 把(公鑰 + 私鑰)
⚡ 加解密速度 快 慢
📦 加密大量資料 適合 不適合
🔁 金鑰交換難度 高(需安全傳送) 低(公鑰可公開)
🔏 支援數位簽章 否 是
🔧 常見用途 檔案加密、VPN 金鑰交換、身份驗證、簽章

三、RSA 的核心數學概念

RSA 的安全性建立在一個關鍵事實上:

大數質因數分解非常困難

金鑰產生流程(Key Generation)

  1. 選擇兩個大質數

  2. 計算模數

  3. 計算歐拉函數

  4. 選擇加密指數

    • 常見選擇:65537
  5. 計算私鑰指數

    (也就是 $ e \times d \equiv 1 \pmod{\varphi(N)} $)

最終得到:

  • 公開金鑰(Public Key):$(e, N)$

  • 私密金鑰(Private Key):$d$


四、RSA 加解密流程

🔐 加密(使用公開金鑰)

假設明文為 $ m $(需先轉為整數):

  • $ m $:明文
  • $ c $:密文

🔓 解密(使用私密金鑰)

✅ 只有擁有私鑰的人才能成功解密


五、RSA 的應用場景

  • ✅ HTTPS / TLS(安全傳輸)
  • ✅ 數位簽章(Digital Signature)
  • ✅ 金鑰交換
    • 在混合式加密中,用 RSA 傳送「對稱加密金鑰」

六、RSA 的安全性來自哪裡?

RSA 的安全性來自於:

目前沒有有效方法能在合理時間內,將非常大的 $ N $ 分解成 $ p $ 與 $ q $

⚠️ 如果未來出現能快速分解大數的方法(例如成熟的量子電腦):

  • RSA 將不再安全

總結

項目 說明
金鑰種類 非對稱(公開金鑰 + 私密金鑰)
安全基礎 大數質因數分解困難
常見用途 加密、簽章、金鑰交換
常見公開指數 65537

📌 一句話記住 RSA:

「大家都能用你的公鑰加密,但只有你能用私鑰解密。」