資訊安全基礎
以嘗試所有候選的暴力法搜尋8個字元的密碼。若每秒可嘗試1×10^10個候選,對於只以英文小寫字母(26種)組成的密碼,以及以英文大寫字母、小寫字母與數字(62種)組成的密碼,試完所有候選所需時間最接近的組合是哪一項?
- A僅小寫字母約21秒,62種約6小時
- B僅小寫字母約21秒,62種約4.7分鐘
- C僅小寫字母約3.5分鐘,62種約2.5天
查看答案與解析
正確答案:A. 僅小寫字母約21秒,62種約6小時
8個字元密碼的候選數,是可用字元種類數自乘8次。只用小寫字母時為 26^8 = 208827064576 種(約2.1×10^11),每秒嘗試1×10^10個,約 2.1×10^11 ÷ 1×10^10 ≈ 21秒就能全部試完。用62種時為 62^8 = 218340105584896 種(約2.2×10^14),需要約21834秒,也就是約6小時。增加字元種類時,候選數會以每個字元倍率的8次方增加,因此這裡約增加1000倍。不過,這項計算只是離線對外洩的快速雜湊值進行暴力搜尋時的參考。字典上的單字或重複使用的密碼,會比暴力法更早被找到,因此使用長且隨機的密碼,並在服務端搭配慢速雜湊方式、登入嘗試次數限制與多因素驗證,是很重要的。
- A. 正確。26^8 ≈ 2.1×10^11 約需21秒,62^8 ≈ 2.2×10^14 約需21834秒(約6小時)。
- B. 約4.7分鐘是誤用小寫字母加數字的36種(36^8 ≈ 2.8×10^12,約282秒)所得的值。
- C. 這是把每秒嘗試次數錯看一位數、當成1×10^9個所得的值(約209秒與約218340秒)。