外行人製作個人密碼的算法是什麼
我將向觀眾介紹算法。我想給他們一個為網站創建唯一的個人密碼。
- 他們可以從網站的域名和他們自己的秘密“詞”開始。
- 該算法將足夠簡單以便記憶。如果做不到這一點,他們可以在名片或其他可以放在錢包裡的東西的背面畫出我的流程圖。
這個網站上有類似的問題;對我來說,給出的答案甚至比加密雜湊更不透明。
但是有幾個人指出了 Blum 的人類可電腦器牢不可破的散列函式 (HCMU),正如在此處實現的那樣。問題是(a)Blum 說記住算法需要一個小時,以及(b)我看不懂 Python。
有沒有符合這些標準的方法?
**主要編輯:**我突然想到我得到了錯誤的答案,因為我問錯了問題。
我的意圖不是給班級(成人,而不是兒童)一個密碼算法。這是向他們展示如何創建自己的算法。這可能會緩解“洩露算法”問題。
我可以這樣說:
“你可以使用 domainname.MySecretWord。這是一個不好的例子,因為$$ several obvious reasons $$. 更好的方法是 DomainName.MySecretPhrase.NumberOfLettersInDomainName,但 ____
最終,我會以類似的方式結束
“獲取這些元素;決定是否要添加任何其他元素;按照這些步驟安排它們,但首先要確定要遵循它們的順序。”
那個更好嗎?
不,因為任何易於記憶的算法都會違反 Kerckhoff 原則。你基本上有一個秘密算法,如果它被洩露,你所有的密碼都會失敗。很可能多人會選擇相同的算法。
相反,請使用經過驗證的密碼管理器來顯示(可能的)熵並生成隨機密碼。您仍然很可能依賴一個密碼(儘管存在啟用 2FA 的密碼管理器),但至少您只能在有限數量的設備和應用程序上使用它。
一種常見的技術是Diceware與新的電子前沿基金會的單詞列表之一。
但你顯然需要骰子。就是這樣,您需要一些可以提供很大程度的不確定性(熵)的“設備”。您可以隨意選擇單詞,但對於整個班級的孩子,他們可能只會聚集在中間。
或者,您可以使用英國政府現在推薦用於家庭使用的使用三個隨機詞的方法。選擇您選擇的三個完全隨機的單詞或數字。細微差別是想出三個描述性的詞來形容令人難忘的事物,例如您最喜歡的寵物蜘蛛。這樣你就可以避免骰子的費用。
可以肯定的是,最初並不是複雜的算法,但是作為一名教師,你可以按照自己認為合適的方式充實機制。熵測量是一個很好的起點……