CH-J Server Managerуправление серверами через SSH
Меню
Все руководства и статьи →

SHA-256, SHA-512 или BLAKE3: какую контрольную сумму выбрать?

Чем три алгоритма отличаются по безопасности, скорости и совместимости, чего контрольная сумма не доказывает и какой алгоритм выбрать.

Краткий ответ

Используйте алгоритм, указанный издателем файла: для сравнения нужен тот же алгоритм. Для новых задач SHA-256 — наиболее совместимый вариант; SHA-512 тоже хорошо подходит. BLAKE3 — самый быстрый выбор для ваших собственных больших объёмов данных, если инструмент доступен на всех задействованных системах. Сегодня все три считаются безопасными, и ни для одного не известно практически осуществимой атаки.

В чём различия

SHA-256 и SHA-512 входят в семейство SHA-2, стандартизованное NIST, и часто требуются правилами соответствия нормативным требованиям. BLAKE3 новее и не является стандартом NIST, поэтому может не отвечать таким правилам. SHA-256 и BLAKE3 с выводом по умолчанию дают 256 бит, что означает примерно 128 бит стойкости к коллизиям. SHA-512 даёт 512 бит и около 256 бит стойкости. На практике оба уровня далеко за пределами возможностей осуществимых атак.

Скорость зависит от оборудования

BLAKE3 рассчитан на использование нескольких ядер CPU и современных векторных инструкций, поэтому на больших файлах обычно заметно выигрывает. Среди вариантов SHA-2 результат зависит от процессора: SHA-512 часто быстрее на 64-битных CPU без специальных инструкций, а CPU с расширениями SHA ускоряют SHA-256. Измеряйте на своей машине с большим файлом, поскольку на результат влияют кэш и диск. Возможно, b3sum потребуется установить отдельно.

time sha256sum large.iso
time sha512sum large.iso
time b3sum large.iso

Что доказывает контрольная сумма

Совпадение контрольной суммы показывает, что файл идентичен тому, для которого был вычислен хеш. Оно не показывает, кто создал файл. Если злоумышленник может изменить и загружаемый файл, и контрольную сумму на той же странице, сравнение пройдёт успешно. Для проверки происхождения нужен хеш из отдельного доверенного канала или подпись, например GPG.

sha256sum -c SHA256SUMS
gpg --verify SHA256SUMS.asc SHA256SUMS

Чего следует избегать

Стойкость MD5 и SHA-1 к коллизиям взломана, поэтому их не следует использовать для защиты от намеренной подмены. Они всё ещё могут встречаться в старых манифестах, где обнаруживают только случайные повреждения. Некриптографические функции, такие как CRC-32 и xxHash, предназначены для скорости и обнаружения случайных ошибок, но никогда не для обеспечения безопасности.

Контрольные суммы в CH-J Server Manager

Модуль Hash & Checksum включает все три алгоритма и отмечает SHA-256, SHA-512 и BLAKE3 как рекомендуемые, а MD5 и SHA-1 — как взломанные. Он может вычислять хеши, сравнивать файлы и проверять ожидаемое значение. Модуль не может определить, заслуживает ли доверия само ожидаемое значение, поэтому берите его из надёжного источника. Приложение проверяет собственные обновления одновременно с помощью SHA-512 и подписи OpenPGP.

Подробная документация

NIST FIPS 180-4 →

BLAKE3 specification →

Биометрическое разблокирование и безопасность →