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

Реестр встроенных криптографических алгоритмов

/proc/crypto отражает реализацию алгоритмов ядром: названия, драйверы, приоритеты, типы операций и сведения о том, является ли реализация встроенной.

cat /proc/crypto | less
grep -E '^name[[:space:]]*:' /proc/crypto |   grep -Ei 'gost|magma|kuznyechik|streebog|ecrdsa'

Показываем module : kernel для каждого алгоритма

python3 - <<'PY'
from pathlib import Path
for block in Path('/proc/crypto').read_text().split('\n\n'):
    info={}
    for line in block.splitlines():
        if ':' in line:
            key,value=line.split(':',1)
            info[key.strip()]=value.strip()
    name=info.get('name','')
    if any(word in name.lower() for word in ('gost','kuznyechik','magma','streebog','ecrdsa')):
        print(f"{name:36} {info.get('type',''):12} module={info.get('module','-')}")
PY

Для встроенного алгоритма ожидается module=kernel. Если алгоритм не найден, сначала проверьте, какое ядро запущено, затем соответствующий /boot/config-... и журнал ядра.

Составные режимы

Шаблоны Crypto API могут появляться по требованию. Чтобы отличить отсутствие регистрации от отсутствия поддержки XTS, проверяйте режим через AF_ALG. Это полезнее, чем искать только xts(kuznyechik) в реестре до первого обращения.

Почему lsmod пуст

lsmod показывает внешние загруженные .ko. Алгоритмы, скомпонованные в vmlinux, там не отображаются. Встроенная поддержка не зависит от дополнительных бинарных файлов криптомодулей на диске.