從正弦生成的密碼是否容易受到某些攻擊?
一位朋友提到他使用了一個數字的正弦,即 sind(54),來生成長密碼。這樣他只需要記住 sine 54 並有一個計算器來取回他的密碼。我想知道這是否安全。它可以很容易地生成一個長密碼,但是由於這些數字不是隨機的,如果它們新的數字是使用正弦生成的,它是否容易受到某種類型的攻擊?
如果有人知道您的密碼創建方法,那麼您挫敗攻擊的唯一希望是該方法是否具有大量熵 - 大致而言,如果您可以使用該方法擁有很多不同的密碼(如果有些密碼比其他密碼更有可能,但這是一個很好的啟發式)。如果該方法是“某個精度的整數度的正弦”,這是一種相當弱的方法。假設它的基數在 2 到 36 之間(即 0-9 和 az),並且您只使用整數度數(這意味著攻擊者只需要考慮 -90 到 90 之間的整數),並且位數介於 1 到 15 之間,並且它從 1 到 5 之間的數字開始,密碼的數量只是 $ 180\cdot 15\cdot 5\cdot 35=472,500 $ . 稍加思考,我們可以猜出他最有可能使用基數 10 或基數 16,所以你有 $ 180\cdot 15\cdot 5\cdot 2=27,000 $ 密碼。更多的想法將進一步減少可能的密碼數量(例如,如果他這樣做是為了懶惰,他很可能會從第一個數字開始有 8 到 15 位數字,有 2,880 種可能性)。
如果攻擊者只能通過 Web 登錄頁面嘗試密碼,那麼您可能不需要太多密碼來保證安全;登錄頁面可以在 10 次嘗試或類似的事情后鎖定帳戶,從而減慢蠻力。但是如果攻擊者可以進行離線攻擊,那就相當容易了。
密碼的長度並不能決定密碼對智能攻擊者的安全性;熵可以。如果我有兩個可能的密碼(“藍色月亮升起在陽光明媚的海灘上”和“無色的綠色想法瘋狂地沉睡”),我會隨機選擇它們,那麼不知道我的計劃的攻擊者可能難以破解它們。但最好假設攻擊者可以找出您的方案,並且只考慮您向每個單獨的密碼注入多少隨機性,在這種情況下,儘管密碼很長,但我的方案只注入 1 位。