Возможно ли вычислить константы определенные спецификацией на sha? Подскажите куда смотреть, где искать, если есть смысл.
См. в Шнайере - http://www.ssl.stu.neva.ru/psw/crypto/appl_rus/appl_cryp.htm Например, для семейства аля MD5 константы вычисляются так: на i-м раунде константа равна [2^32 * |sin(i)|].
В википедийном псевдокоде тоже расписано как эти константы вычисляются: http://en.wikipedia.org/wiki/Sha-1 Например, для SHA-256: Initialize variables (first 32 bits of the fractional parts of the square roots of the first 8 primes 2..19): ... Initialize table of round constants (first 32 bits of the fractional parts of the cube roots of the first 64 primes 2..311):
Для SHA1 такого алгоритма вычисления нет, но можно просто сгенерировать случайное A и вычислить B = A ^ CONST, а в рантайме вычислять CONST = A ^ B.
Это тривиально и ясно. Интересовал вопрос - откуда вообще эти константы, как вычисляются. Уже сам разобрался почти. Все-равно спасибо за помощь.