在這裏尋找理論上的討論。我個人會(並將繼續)使用GPG或SCP來簡單地將某個文件放在某處,只有我可以解密它或者只能下載它。仍然討論以下哪些不足(以及多少)會有助於我的好奇心。一次性襯墊通過'口令'種子'
假設我想在本地加密一個文件,把它放在因特網上,並且能夠稍後抓取它。我想確保只有擁有特定密碼/短語的人才能解密文件......而且我堅持要合併一次性文件。
假設它只用於加密一次信息,如果有人使用非常隨機的密碼(例如Diceware)以可重現的方式播種該pad,這是否會成爲問題?在Python中,我會做類似random.seed("hurt coaster lemon swab lincoln")
的東西,然後生成我的墊。我會使用相同的種子進行加密和解密。
關於Mersenne Twister RNG如何不適用於安全/加密目的,各地都有警告。我看到它有一段很長的時間,而且IIUC,random.seed
允許我選擇16字節的不同種子(Python: where is random.random() seeded?)。
我聽說OTP中的數字應該是「真正的隨機數」,但即使有人看到了我的墊子的前100個字符,那麼多少能幫助他們確定我的種子RNG是(希望解碼其餘的)?我想他們可以通過從每個可能的隨機種子產生墊子並且看到哪些符合我的前100個隨機字母來蠻力。不過,還有不少隨機種子可以嘗試,對吧?
那麼,這有多危險?是否有一種合理的方法通過查看一點點序列來找出普通RNG產生的序列的種子?
即便如此,俗話說「如果您在代碼中輸入字母AES,您就錯了」,只需在對稱模式下使用gpg即可 –