Подскажите российские алгоритмы хэширования кроме ГОСТ 34.11-94 (любые, созданные российскими группами криптографов, частными компаниями, институтами и т.д., главное, чтобы российские). И еще вопрос,может не совсем в тему. Нужен алгоритм псевдослучайной генерации перестановки, зависящий от входного значения (порядка 300 бит или 700 бит), который бы давал значения, близкие к случайным. Количество элементов перестановки n в весьма широком диапазоне (от 2^3 до 2^20).
Пусть P(n) количество всех возможных перестановок. Тогда для генерации случайной перестановки нужно сгенерировать случайное число I в диапазоне от 0 до HOK(P(n),2^K)-1. Тогда I mod P(n) будет номером перестановки и распределение случайной величины I mod P(n) будет равно распределению I. Для генерации I с близкому к нормальному распределению можно взять функцию хеширования с выходом в K бит и применить её ровно HOK(P(n),2^K)/2^K раз к входному значению (естественно каждый раз к разным частям или считать хеш от хеша и т.д.) Будет конечно медленно работать на маскимальных ограничениях, но тут размер n очень больной всётаки.
Перестановки, зависящие от ключа, можно формировать, создавая равный по длине исходному массив псевдослучайных чисел (в т.ч. криптостойкими генераторами), а затем сортируя его, одновременно перемещая сцепленные с ним значения из исходного множества. P.S. Если хватит памяти.