Имеется зашифрованный tar.gz архив размером в 800 МБ . Вопрос в заголовке. Да, я осознаю всю глупость ситуации. Данные свои, это не попытка хацкерского взлома. Но так получилось, что вместе с системой утерян ключ от архива. Длина ключа могла быть от 10 до 50 символов с мощностью алфавита в 103 знака. Поэтому о брутфорсе речи не может идти. Возможно есть уязвимость в алгоритме шифрования? Python 3:
def encrypt(in_file, out_file, password, key_length=32):
bs = AES.block_size
salt = Random.new().read(bs - len('Salted__'))
key, iv = derive_key_and_iv(password, str(salt), key_length, bs)
cipher = AES.new(key.encode('UTF-8'), AES.MODE_CBC, iv.encode('UTF-8'))
out_file.write('Salted__'.encode() + salt)
finished = False
while not finished:
chunk = in_file.read(1024 * bs)
if len(chunk) == 0 or len(chunk) % bs != 0:
padding_length = (bs - len(chunk) % bs) or bs
chunk += padding_length * chr(padding_length).encode()
finished = True
out_file.write(cipher.encrypt(chunk))
Данные в архиве не совсем коммерческие. Это сохранения игрового сервера. Делать бэкапы мы догадались, но сохранять пароли нет. Если у кого-то есть идеи и у того получится расшифровать разумеется не за бесплатно, то напишите, пожалуйста, догадки или контакты для связи. А если ничего не получится, то хотя бы буду уверен за надёжность будущих архивов. Спасибо.