Ответы пользователя по тегу Случайные числа
  • Можно ли использовать функцию HMAC в качестве генератора случайных чисел и насколько хорошо?

    @pestunov
    HMAC - это не функция, а схема использования хеш-функции. Поэтому ответ на вопрос зависит от того, какую хеш-функцию используют организаторы казино. Если это современная известная хеш-функция, на которую нет известных опубликованных атак быстрее полного перебора или известных коллизий, то она выдает равномерно распределенные выходы при любых входных данных, даже если они различаются минимально (скажем, на 1 бит). И эти псевдослучайные числа неотличимы от истинно случайных никакими известными способами. Такими функциям, например, являются SHA-3 (Keccak) или SHA2^2 из Биткоина. Российский ГОСТ "Стрибог" пока тоже неуязвим.

    Однако если в схему HMAC засунуть какую-нибудь устаревшую хеш-функцию, то появятся возможности для мошенничества. Например, для MD5 коллизии известны, но они крайне маловероятны, поэтому, скорее всего, даже при MD5 махинаций быть не может. Однако ее лучше обходить стороной, поскольку она устарела.

    Так что главный вопрос - какая хеш-функция используется в этом HMACe. Если новая (особенно госстандарт SHA-3 или "Стрибог"), то махинации невозможны, если в программном коде нет каких-нибудь косяков или утечек.
    Ответ написан
    2 комментария