Цель занятия - сравнить результаты работы разных хэш-функций и наглядно увидеть, какие хэш функции хуже, а какие лучше. 1) Выбрать одну из следующих хэш функций: MD5, SHA-1, SHA-2, SHA-3, RIPEMD-160, Whirlpool, BLAKE2, BLAKE3, "Стрибог", хэш из стандарта ГОСТ Р 34.11-94. 2) Запрограммировать алгоритм нахождения коллизии и применить его для выбранной хэш функции (имеется в виду, что хэш функцию можно использовать из стандартных библиотек C#, Java и т.д. или просто взять реализацию из интернета). Так как перебор для поиска коллизий для большинства стандартных хэш функций будет очень большим, то предлагается искать коллизии только для заданного числа байт. То есть, вместо всего выхода хэш функции вы берете только младшие n-байт (где n - параметр алгоритма) и ищите коллизии для этих байт. Желательно, чтобы в группе не было повторений в выборе хэш фукнций. 3) Для всех приведенных хэш функций есть реализации в интернете, поэтому проблем возникнуть не должно.