Шифрование больших файлов с использованием открытого ключа

Мне нужно зашифровать файл размером 100 КБ с использованием открытого ключа. Я читал несколько сообщений, в которых утверждалось, что напрямую шифровать большие файлы с помощью открытого ключа непрактично, и что предпочтительный метод - зашифровать файл с помощью симметричного ключа, а затем зашифровать этот симметричный ключ с помощью открытого ключа. {{ 1}} Кажется, наивным решением было бы разбить большой файл на части и зашифровать каждый из них с помощью одного и того же открытого ключа. Мой вопрос в том, является ли это решение неправильным и почему?

10
задан Josip Ivic 30 September 2015 в 15:44
поделиться

4 ответа

Разделение файла на более мелкие части и последующее их шифрование с помощью некоторого асимметричного шифра не имеет ничего общего с затратами времени выполнения процесса шифрования. Лучшей практикой является шифрование данных с помощью хорошего симметричного шифра с использованием относительно надежного ключа и шифрование секретного ключа, который вы использовали в симметричном шифровании, с помощью асимметричного шифра (с использованием вашего открытого ключа).

1
ответ дан 4 December 2019 в 01:55
поделиться

Упомянутый вами гибридный подход (создание случайного симметричного ключа, его использование для шифрования данных и асимметричное шифрование только ключа) имеет огромное преимущество в производительности.

Вы также можете «разбить большой файл на части и зашифровать каждый из них, используя один и тот же открытый ключ», в этом нет ничего плохого, но это намного медленнее.

4
ответ дан 4 December 2019 в 01:55
поделиться

Если я вас правильно понимаю, вы хотите зашифровать файл с помощью чужого открытого ключа, чтобы он был расшифрован с помощью их закрытого ключа?

Преимущества использования симметричного шифрования и только использование криптографии с открытым ключом для (симметричного) ключа - это производительность: симметричная криптография в вычислительном отношении гораздо менее ресурсоемка (компромисс: вы должны хранить ключ в секрете - и для этого нужен второй асимметричный шаг).

Разделение файла увеличивает накладные расходы на управление (как вы можете быть уверены, сколько блоков будет? Что вы их все передали?) И не добавляет никакой безопасности. Напротив.

2
ответ дан 4 December 2019 в 01:55
поделиться

Асимметричная криптография слишком медленная, наиболее используемый подход - зашифровать случайный симметричный ключ асимметричным, и зашифровать ваши данные этим симметричным ключом. И, кроме того, лучше всего использовать известный протокол/стандарт для этой цели (например, OpenPGP).

1
ответ дан 4 December 2019 в 01:55
поделиться
Другие вопросы по тегам:

Похожие вопросы: