我希望使用OpenSSL(多个文件)安全地加密千兆字节的数据。
我使用以下命令(openSSL 1.0.2p-i386-win32):
openssl.exe enc -e -aes-256-ctr -in secret.txt -out encrypted.txt -salt -pass pass:AsIDHnd19!&@#@!#lJglG1f31!
我的问题是:
编辑:
我下载了较新的版本,可以使用PBKDF2(openSSL 1.1.1-win32-mingw):
openssl.exe enc -e -aes-256-ctr -in secret.txt -out encrypted.txt -salt -pass pass:AsIDHnd19!&@#@!#lJglG1f31! -pbkdf2 -p
使用-p可以看到用于加密文件的盐,密钥和IV。每次我运行openssl时,所有3个参数都会更改,即使是在同一文件中且使用相同的密码。
这是否意味着我现在很安全并且静脉注射是随机的?
答案 0 :(得分:0)
如果没有-salt选项,则可以对密码进行有效的字典攻击并攻击流密码加密的数据。原因是没有盐,相同的密码始终生成相同的加密密钥。使用盐时,将为盐保留加密数据的前八个字节:加密文件时会随机生成该盐,解密后会从加密文件中读取该盐。