Перейти к содержанию

Шифры и режимы ГОСТ в Linux Crypto API

Здесь приведены имена реализации и сценарии использования, а теоретические определения вынесены в Кузнечик, Магму, ГОСТ 28147-89, CTR, CBC, XTS.

Имя Crypto API (при регистрации) Применение Что проверять
kuznyechik базовый блок kernel, длины ключа/блока
magma базовый блок kernel, правильный профиль
ctr(kuznyechik) потоковое преобразование nonce/счётчик, аутентификация
cbc(kuznyechik) блочное шифрование IV, padding, MAC
xts(kuznyechik) данные на секторном устройстве формат ключа/tweak, отсутствие MAC
gost28147-tc26z, gost28147-cpa старый ГОСТ конкретные S-box, режимы
grep -E '^name[[:space:]]*:' /proc/crypto | grep -Ei 'gost|magma|kuznyechik|ctr|cbc|xts'

Не подбирайте параметры шифрования по одному отображаемому имени: интерфейс dm-crypt описан в ГОСТ/LUKS; поток и AEAD — в соответствующем протоколе. Для вызова Kernel Crypto API используйте AF_ALG, а не создавайте собственный криптографический протокол.