Обычно, когда есть вариант алгоритма ARX, который переходит от 32-битных слов к 64-битным словам, мы увеличиваем количество раундов. Как упоминал DannyNu, BLAKE2 — это вариант ChaCha, и в то время как BLAKE2s (32-разрядная версия) использует 10 раундов, а BLAKE2b (64-разрядная версия) использует 12 раундов. Один раунд BLAKE2 эквивалентен двум раундам ChaCha, поэтому мы, вероятно, захотим использовать 24-раундовый вариант 64-битного ChaCha.
Точно так же SHA-256 и SHA-512 представляют собой конструкции ARX, основанные на блочном шифре, который задним числом называется SHACAL, и SHA-512 имеет 80 раундов, тогда как SHA-256 имеет 64. Keccak, т.е. нет дизайн ARX, но работает примерно так же, а также имеет больше раундов между 32-битным и 64-битным вариантами.
Типичная причина, по которой мы добавляем раунды в этом случае, заключается в том, что с большим количеством битов мы должны проделать больше работы, чтобы гарантировать, что каждый ключевой бит или входной бит должным образом влияет на все выходные биты.
Сколько раундов следует добавить, зависит от характеристик шифра, таких как показатели лавинного эффекта и устойчивости к линейной и дифференциальной криптографии. Если бы мы разрабатывали алгоритм, представляющий собой 64-битный вариант ChaCha, мы бы исследовали эти критерии и, вероятно, попытались бы распространить самые известные атаки на ChaCha на наш вариант, чтобы увидеть, какой дополнительный уровень раундов будет правильным, чтобы иметь аналогичный уровень безопасности.