[資訊安全] RSA 是什麼?快速理解筆記
Topic:RSA 是什麼?
RSA 是一種 非對稱加密演算法(Asymmetric Encryption Algorithm)。
一、什麼是非對稱加密?
非對稱加密使用「一對金鑰」:
🔓 公開金鑰(Public Key)
可以提供給他人,用來加密資料🔐 私密金鑰(Private Key)
僅自己持有,用來解密資料
👉 與對稱加密(只有一把金鑰)相比,非對稱加密(如 RSA)可以做到:
- ✅ 別人可以加密給你
- ✅ 只有你能解密
二、RSA 與對稱加密比較
| 比較項目 | 對稱加密 | 非對稱加密(RSA) |
|---|---|---|
| 🔑 金鑰數量 | 1 把 | 2 把(公鑰 + 私鑰) |
| ⚡ 加解密速度 | 快 | 慢 |
| 📦 加密大量資料 | 適合 | 不適合 |
| 🔁 金鑰交換難度 | 高(需安全傳送) | 低(公鑰可公開) |
| 🔏 支援數位簽章 | 否 | 是 |
| 🔧 常見用途 | 檔案加密、VPN | 金鑰交換、身份驗證、簽章 |
三、RSA 的核心數學概念
RSA 的安全性建立在一個關鍵事實上:
大數質因數分解非常困難
金鑰產生流程(Key Generation)
選擇兩個大質數
計算模數
計算歐拉函數
選擇加密指數
- 常見選擇:
65537
- 常見選擇:
計算私鑰指數
(也就是 $ 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:
「大家都能用你的公鑰加密,但只有你能用私鑰解密。」
本部落格所有文章除特別聲明外,均採用CC BY-NC-SA 4.0 授權協議。轉載請註明來源 YD's 學習筆記!