作者freePrester (Prester)
看板AntiVirus
標題[心得] 淺談 RSA
時間Wed Mar 16 15:55:48 2016
最近看到許多人一直在問勒索病毒中的 RSA 是什麼,及為何無法破解
所以我挖出以前的課本和維基整理一下簡單的說明
但我非專業,有些東西說明不是很完善,還請大大補充
---------------------------------------------------------------------------
RSA 是什麼?為什麼會跟勒索病毒扯上關係?
RSA 是一種
加解密程序,是在 1977 年由 Ron Rivest、Adi Shamir 和 Leonard Adleman
所提出,是現今常見的加密標準之一。現在常用於交換或保護資訊、數位簽章、憑證等資
訊應用上,也是因為其
破解難度高,所以被用在勒索病毒加密被害人的檔案並要求交付贖
金才供以解密。
其本身是一種工具並不是病毒,只是被用在不當的地方而已。
套一句專業三樓的補充:
1F:→ palsuet: 偷車賊不偷車,而是把車子上大鎖,給錢才給鎖匙的原理 03/16 17:01
車子就是被害人的檔案,而 RSA 就是鎖。
絕對沒有人因為車子被鎖了,反而叫其它人不能生產大鎖
為什麼勒索病毒常使用 RSA ?
要知道這答案,要先了解目前主統的加密系統有二種:對稱式與非對稱式的系統
對稱式的系統原理如下圖:
┌───┐ ┌───┐ ┌───┐
│ │──────→│加密法│──────→│ │
│ │ └───┘ │ │
│ │ ↑ │ │
│ │ ┌───┐ │ │
│原 文│ │
金 鑰│ │密 文│
│ │ └───┘ │ │
│ │ ↓ │ │
│ │ ┌───┐ │ │
│ │←──────│解密法│←──────│ │
└───┘ └───┘ └───┘
簡單來說,就是加密和解密都是用同一組金鑰
像 DES 、 AES 等就是此類的加密系統
優點是速度快,但加解密是用同一組金鑰會存在其它風險
而
非對稱系統的原理如下圖:
┌───┐ ┌───┐ ┌───┐
│ │──────→│加密法│──────→│ │
│ │ └───┘ │ │
│ │ ↑ │ │
│ │ ┌
加密鑰┘ │ │
│ │┌────┴─┐
↑ │ │
│原 文││金鑰產生函數│
X │密 文│
│ │└────┬─┘
↓ │ │
│ │ └
解密鑰┐ │ │
│ │ ↓ │ │
│ │ ┌───┐ │ │
│ │←──────│解密法│←──────│ │
└───┘ └───┘ └───┘
注意加密鑰和解密鑰是不一樣的,而且很難從加密鑰推出解密鑰
RSA 就屬此型
優點是安全性高,但速度比較慢
而且非對稱性的特性可以用在更多地方,像數位簽章等功能
所以 RSA 要解密的話
必須要求出解密鑰,但從加密鑰卻很難求出解密鑰
勒索病毒要把檔案加密的話只要向主謀拿一組加密鑰就好。就算被看到仍然無法利用加密
鑰還原成原始的檔案,加害人就是利用這點來向被害人索取高額的贖金。
為何 RSA 這麼難以破解?
因為 RSA 在產生金鑰時會用到兩個大質數相乘的結果
所以用加密鑰推出解密鑰最快的方法是將一個大整數分解成兩個質數相乘
你可以試試分解像 403636909574053 這樣的數看看有多困難
更不用說 RSA-2048 使用的是 617 位數的大整數,
之前 RSA 公司有舉辦 RSA Challenge(
http://goo.gl/sQCEUK)
來懸賞可以分解出這種大整數的團隊,但至今最高記錄是分解 232 位數的整數 RSA-768
(還花了不少時間)
請不要再誤會 RSA 了,沒有 RSA 就沒有網路安全
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.160.165.82
※ 文章網址: https://webptt.com/m.aspx?n=bbs/AntiVirus/M.1458114951.A.CFF.html
2F:推 chang0206: 為什麼要分解,找yoyo繞過去啊 XD 03/16 16:04
3F:推 Kreen: 你太小看台灣神人 yoyodiy 了,找團隊分解有繞過去快?XD 03/16 16:45
請先受我一拜 … m(_ _)m
4F:→ palsuet: 偷車賊不偷車,而是把車子上大鎖,給錢才給鎖匙的原理 03/16 17:01
這比諭真的很貼切,希望您不介意借我用一下XD
5F:推 TobyH4cker: 下一篇可以淺談FBI跟CIA嗎? 03/17 00:25
6F:推 SuperPenguin: 推 03/17 02:04
7F:推 yshinri: 推三樓, 這個比喻比較容易跟不懂密碼學的人講解 03/17 08:47
※ 編輯: freePrester (27.245.19.202), 03/17/2016 12:23:53
※ 編輯: freePrester (27.245.19.202), 03/17/2016 12:24:36
8F:推 bojack: 淺顯易懂,分享給推 03/18 15:38
9F:推 miacp: 三樓比較淺顯易懂 03/21 23:38
10F:推 abram: 破解了 20090711 * 20090723 用電腦算花了20幾分鐘 03/22 15:37
11F:→ freePrester: 樓上正解 ( ̄^ ̄)ゞ 03/24 18:18