Использование scrypt + gpg --symmetric для шифрования файлов, правильная ли эта конфигурация? ⇐ Python

Программы на Python
Anonymous
Использование scrypt + gpg --symmetric для шифрования файлов, правильная ли эта конфигурация?

Сообщение Anonymous »

Я написал следующий скрипт Python для получения ключа из пароля с использованием hashlib.scrypt, а затем передачи ключа в шестнадцатеричной кодировке в gpg. Скажите, пожалуйста, является ли это безопасным подходом. Это для моих личных резервных копий, и я пытаюсь собрать что-то простое, надежное и не требующее слишком большой специальной разработки.
Использую scrypt, потому что gpg использует s2k с SHA512, который для насколько мне известно, это всего лишь алгоритм хеширования, а не KDF (просветите меня, если я что-то упускаю).
def encryptFile(tarFile):

N = 2**16
R = 8
P = 2
mem = N * P * R * 65

salt = "some random hardcoded salt"
passPhrase = "user provided password"

key = scrypt(password=passPhrase, salt=salt, n=N, r=R, p=P, maxmem=mem).hex()

subprocess.run(
[
"gpg",
"--no-symkey-cache",
"--verbose",
"-o",
gpg_output_file,
"--s2k-mode",
"0", # using hexadecimal key derived from password using scrypt
"--symmetric",
"--s2k-cipher-algo",
"AES256",
"--pinentry-mode",
"loopback",
"--passphrase",
key,
tarFile,
]
)


Подробнее здесь: https://stackoverflow.com/questions/790 ... on-correct

Вернуться в «Python»