Если кому нитересно — вот что я разузнал:
Оценить стойкость алгоритма можно временной сложностью вычислений, необходимых для его вскрытия.
Временная сложность — функция, различная для каждого алгоритма и каждого типа атаки на него.
Криптостойкость алгоритма — временная сложность той атаки на него, которая в данный момент считается самой эффективной.
Для RSA это сложность разложения на множители, для блочного шифра ГОСТ — перебор всех возможных вариантов ключа и т.д.
Временная сложность полного перебова ключей — простая функция: O=2^n, n — длина ключа.
Измеряется временная сложность в попугаях, но зная сколько процессорных операций уходит на один попугай и сколько таких операций может выполнить компьютер в единицу времени можно перейти ко времени, которое потребуется на взлом. Это как раз и есть те тысячи и миллионы лет вычислений, которые публикуют в книжках.
Для алгоритмов хеширования стойкость измеряют следующей формулой: sqrt(2^n), n — длина хэш-значения. Для хэш-функции ГОСТ сложность равна 2^128. Для SHA-1: 2^80, недавние события снизили её до 2^69. (
http://www.cryptopro.ru/CryptoPro/doc/SHA-1_collision.pdf) Как получили такую новую цифру — пока не понял.