Aes
是否可以確定用於使用 AES 128 加密文件的密碼的字元數?
我在 2016 年底失去了一個乙太坊錢包的密碼。電腦立即關閉,密碼無法恢復。
我知道有很多潛在的途徑可以縮小我對密碼的搜尋範圍,但我想知道是否可以從加密文件中確定字元數?
我不知道這是否會有所作為,但它是一個乙太坊錢包,使用 Geth
不可以。密碼不能直接用於加密任何東西,除非它具有一定的大小,否則它很可能很弱。加密密碼被散列,希望散列慢,輸出用作密鑰。
不,不可能通過分析文件來確定用於加密文件的密碼。
AES 是一種塊密碼,它使用固定長度的加密密鑰(不是您的密碼)來創建固定的加密字節塊。這意味著您使用的密碼系統的設計者必須獲取使用者送出的可變長度密碼(這不是很隨機,因為密碼中的字元在電腦上由一小部分字節表示)並將其轉換為非常隨機的固定長度加密密鑰(又名具有高熵)。這種轉換通常通過應用許多散列來發生(在稱為基於密碼的密鑰派生函式,PBKDF 的過程中)。雜湊是一種轉換(又名函式),它接受任意大小的字節串並產生固定長度的輸出。雜湊還具有這種轉換只能在一個方向上發生的期望屬性。
如果我遇到這種情況,我會調查我使用的應用程序是否是開源的。然後我會調查軟體儲存庫(很可能託管在 Gitlab 或 GitHub 上)並查看負責加密的程式碼。然後,我將使用該程式碼創建一個小型解密程序,該程序嘗試解密文件,然後檢查輸出。這當然假設回收的貨幣數量是值得的。