Aes
用於 AES-256 加密的文件第一行中的密碼
我正在使用
openssl
加密aes-256-cbc
來加密文件。密碼在文件的第一行,加密腳本自動讀取文件的第一行進行加密。這個程序安全嗎?OpenSSL 將 salt 儲存在文件的前 8 個字節。該文件如下所示: 1: random_generated_password 2: data 3: data …
加密文件的命令如下:
openssl aes-256-cbc -a -salt -in data.txt -out data.txt.enc -k 'head -n 1 data.txt'
是的,如果:
- 密碼包含(即選擇使用)足夠的熵來抵抗攻擊。在實踐中,這意味著它必須由非人類選擇的物理過程(如擲公平骰子或擲公平硬幣)或良好的電腦程序(通常不是 C 庫 rand() 函式)生成。人類在選擇“隨機”方面非常糟糕,即使我們認為某些東西“看起來真的很隨機”,它也不是;另請參閱https://security.stackexchange.com/questions/79275/are-humans-a-strong-or-weak-rng。請注意,PBKDF 通常被設計為人為地昂貴,從而“拉伸”人工選擇的密碼,但僅
openssl enc
使用MD5 的**一次迭代並且沒有增加強度;**即使在 1990 年代,這也不是好的做法。- pw 文件,以及它的所有儲存和/或**(編輯)**傳輸的副本,**永遠不會被攻擊者使用,**但相反,文件中的密碼數據永遠不會失去(除非使用它加密的所有數據也被丟棄或失去,所以它不再需要)