Если злоумышленник имеет доступ к 20 зашифрованным версиям, меньше ли время расшифровки? В этом точном сценарии можно ли взломать шифрование?
Нет, не ниже, и никакое шифрование не будет взломано больше, чем один шифротекст.
Команда gpg -c
по умолчанию будет использовать итерированную и соленую функцию преобразования строки в ключ (проверено с использованием gpg (GnuPG) 2.2.19).
Следующее генерируется с использованием pgpdump
инструмент командной строки после того, как я зашифровал небольшой текстовый файл, используя gpg -c
:
Старый: пакет ключа сеанса, зашифрованный симметричным ключом (тег 3) (13 байтов).
Новая версия(4)
Sym alg — AES с 256-битным ключом (sym 9)
Итерированная и соленая строка-ключ (s2k 3):
Алгоритм хеширования — SHA1 (хэш 2)
Соль - bc da bd be 72 43 43 8a
Счетчик - 65011712 (кодированный счет 255)
Новое: пакет с симметричным шифрованием и MDC (тег 18) (90 байт)
Версия 1
Зашифрованные данные [sym alg указан в зашифрованном сеансовом ключе sym-key]
(простой текст + MDC SHA1 (20 байт))
Функция преобразования строки в ключ известна как функция получения ключа на основе пароля или PBKDF.
Случайная 64-битная соль объединяется с паролем для создания нового секретного значения, которое будет использоваться для выполнения шифрования. Поскольку каждый ключ генерируется с использованием разных входных данных, а поскольку PBKDF необратимы, ключи шифрования не предоставляют никакого вектора атаки. Информация об одном ключе не дает никакой информации о других сгенерированных ключах.
Фактические ключи шифрования также могут быть сгенерированы безопасным генератором случайных чисел — до тех пор, пока злоумышленник не найдет пароль. Но поиск пароля совсем не ускоряется по сравнению с одним зашифрованным текстом.