Я бы сказал, что это отчасти так. Из-за раундов даже операция с одним блоком будет выполняться несколько раз. Блок также не принимает каких-либо специальных входных данных: у вас есть один блок, который отображается на один выходной блок.
Однако это не полная история. Прежде всего, некоторые расчеты в раундах могут потребовать немного больше магии, чем обычно. Если есть какие-либо возможные пограничные случаи, они не могут быть вызваны одной операцией с одним блоком. Те, которые вы должны проверить отдельно.
Что еще более важно: в то время как приведенный выше тест проверяет блочную операцию, он не проверяет потоковую операцию. Это с большей вероятностью вызовет проблемы. Проблема в том, что кодирование/декодирование (например, преобразование байтов в слова) и буферизация менее тривиальны, чем многие думают. Так что имеет смысл, например, протестировать все виды размеров открытого текста и убедиться, что Обновить
функции работают корректно. Это не так уж отличается от тестирования некриптографических функций; вы ожидаете, например, те же проблемы с операциями кодирования/декодирования и ввода-вывода.
Одна проблема, с которой я сталкивался много раз, заключается в том, что команды тестирования игнорируют саму реализацию. Можно протестировать в соответствии с официальными спецификациями тестирования, но если есть выбор дизайна для конкретной реализации, то его также следует протестировать. В качестве примера: вполне может быть, что реализация имеет переполнение буфера, даже если все официальные тесты проходят без инцидентов. Я не буду повторять здесь страшилки, но да...
Наконец, поскольку это криптографический сайт: если вы делаете какие-либо заявления о защите от атак по сторонним каналам, вам, вероятно, следует протестировать и их. Конечно, здесь вам несколько повезло, так как Бернштейн обычно предполагает такие атаки при разработке шифра, но, тем не менее, реализации могут быть уязвимы.
При всем при этом никогда не помешает запустить вашу реализацию на более обширном наборе. Просто возьмите любую существующую библиотеку (или две независимые) и сгенерируйте большой набор векторов самостоятельно. Опять же, сосредоточьтесь на крайних случаях; немного нечеткого тестирования тоже никогда не помешает.