Возможно ли вычислить константы динамически? (shs, sha, константы)

Тема в разделе "WASM.CRYPTO", создана пользователем only, 31 окт 2008.

  1. only

    only New Member

    Публикаций:
    0
    Регистрация:
    21 окт 2008
    Сообщения:
    147
    Возможно ли вычислить константы определенные спецификацией на sha?
    Подскажите куда смотреть, где искать, если есть смысл.
     
  2. RElf

    RElf New Member

    Публикаций:
    0
    Регистрация:
    25 дек 2004
    Сообщения:
    159
    См. в Шнайере - http://www.ssl.stu.neva.ru/psw/crypto/appl_rus/appl_cryp.htm

    Например, для семейства аля MD5 константы вычисляются так:
    на i-м раунде константа равна [2^32 * |sin(i)|].
     
  3. RElf

    RElf New Member

    Публикаций:
    0
    Регистрация:
    25 дек 2004
    Сообщения:
    159
    В википедийном псевдокоде тоже расписано как эти константы вычисляются: 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):
     
  4. flankerx

    flankerx New Member

    Публикаций:
    0
    Регистрация:
    2 июл 2004
    Сообщения:
    423
    Адрес:
    Moscow, Russia
    Для SHA1 такого алгоритма вычисления нет, но можно просто сгенерировать случайное A и вычислить B = A ^ CONST, а в рантайме вычислять CONST = A ^ B.
     
  5. only

    only New Member

    Публикаций:
    0
    Регистрация:
    21 окт 2008
    Сообщения:
    147
    Это тривиально и ясно.
    Интересовал вопрос - откуда вообще эти константы,
    как вычисляются.

    Уже сам разобрался почти.
    Все-равно спасибо за помощь.