бумага в алгоритмах "SNEIKEN and SNEIKHA" AE и HASH на основе губки, соответственно, представлена 512-битная функция перестановки "SNEIK512", которая, в отличие от других перестановок (например, Keccak-f1600, gimli и т. д.), принимает параметр домена. Их алгоритмы AE и HASH используют этот параметр для установления разделения доменов.
Все другие алгоритмы AE и HASH, которые я видел, основанные на губке, выполняют разделение доменов, изменяя биты в CAPACITY губки перед вычислением перестановки.
SNEIK512 изменяет биты состояния с доменом (через XOR к состоянию) в каждом раунде перестановки, чтобы эффективно генерировать специфичную для домена перестановку. Конечный результат один и тот же: разделение доменов для AE и HASH.
В документе не содержится подробного описания того, как они выбирают, какую переменную состояния перестановки модифицировать (они изменяют RATE), и ничего не говорится о возможном влиянии этой модификации на безопасность.
После размышлений об этом дизайне перестановки кажется, что это может быть обобщенный способ изменить существующие перестановки для поддержки разделения доменов.
Тогда мои вопросы:
- Можно ли это применить к существующим перестановкам (например: keccak-f1600, gimli и т. д.) в общем случае без снижения/влияния на безопасность?
- Если да, можно ли обобщить эту модификацию (т. е. применить простое правило для любой функции перестановки)?
- Существуют ли общие ограничения на то, какую часть состояния можно изменить, прежде чем возникнет неприемлемое влияние на безопасность (если таковое имеется)?