Рейтинг:3

Как создать воссоздаваемые хэши?

флаг lk

Недавно я наткнулся на видео на YouTube, объясняющее игру в казино. Проще говоря, они случайным образом генерируют множитель для ваших первоначальных инвестиций. Этот множитель должен быть подкреплен хеш-значением. Казино также предоставляет клиенту начальное хеш-значение первой игры и хеш-значение каждого последующего броска множителя. Клиент должен проверить случайно сгенерированный хэш, применив его к следующей функции Python:

защита get_prev_game (хэш_код):
    m = hashlib.sha256()
    m.update(hash_code.encode("utf-8"))
    вернуть m.hexdigest()

Ввод полученного хэша в эту функцию снова и снова, конечно же, должен привести к заданному начальному игровому хэшу.

Теперь мой вопрос: так как это get_prev_game Функция в основном хеширует хеш-значение снова и снова, пока не достигнет первого хеш-значения, мне действительно интересно, как создается следующее хеш-значение на стороне казино? Не означает ли это, что им придется создать новый хэш, который совпадает с хэшем предыдущего? Я думал, что это должно быть очень трудно решить проблему. Может быть, я что-то упускаю. Спасибо за любое объяснение заранее!

PS: я не знаю, разрешено ли мне публиковать видео на YouTube, но это /watch?v=F1HA7e3acSI

Редактировать: Добавляю функцию расчета множителя. Статистически очевидно, что в этой игре нельзя выиграть. Меня больше интересует, как они генерируют новые хэши и как работает откат предыдущих хэшей.

защита get_result (game_hash):
    hm = hmac.new(str.encode(game_hash), b'', hashlib.sha256)
    хм.обновление(соль.кодировать("utf-8"))
    h = hm.hexdigest()
    если (int(h, 16) % 33 == 0):
        вернуть 1
    ч = интервал (ч [: 13], 16)
    е = 2**52
    return (((100 * e - h) / (e-h)) // 1) / 100.0
Zac67 avatar
флаг vu
Что должна доказывать эта схема хеширования?
FabZbi avatar
флаг lk
Множитель рассчитывается из хеша. Таким образом, он пытается доказать честность выбора этих множителей таким образом, чтобы они не были выбраны в пользу казино и для него.
Zac67 avatar
флаг vu
Если казино может «случайно» выбрать начальное значение, оно может сделать так, чтобы цепочка хэшей соответствовала их потребностям.
FabZbi avatar
флаг lk
@ Zac67 Zac67 Я добавил функцию расчета множителя. Не подлежит сомнению, что эта игра никогда не будет выгодна покупателю из-за расчета ожидаемого значения, как объясняется в видео, но меня больше интересует генерация хэша и возврат.
Рейтинг:4
флаг in

-снаружи-

$К$ схема, так что плеер$я$ может вычислять значения$x_i$ дать каждому игроку так, чтобы если хотя бы$t$ игроки сотрудничают, эти игроки могут вычислить значения для $a_i$так что сумма

$a_ix_i$

для всех взаимодействующих игроков будет равно $у$

Шамир делится секретом с $т=К$очень похоже на то, что вы описали, с той лишь разницей, что нет

  • $a_i$

и$x_i$ разрешено быть. Для этой схемы вы должны выбрать равномерно случайный $x_i$для всех

$я$

кроме

$я=К$

. Затем установите $2^{256}$$$ x_K = y - \sum_{i=1}^{K-1}x_i$$

Тогда любой набор $К-1$

секретные значения равномерно случайны и не зависят от

FabZbi avatar
флаг lk
Это потрясающе! Понятно… единственная цель этого механизма — показать клиенту, что он не выбирает множитель случайным образом, а следует обязательству своего первого семени, что поддается проверке. Но стартовое семя все же может быть в пользу казино.Но с их функцией `get_result` каждый может вычислить ожидаемое значение как проигрыш, не принимая во внимание вопрос истинной случайности первого семени. Но это ответ на мой вопрос, спасибо!
kodlu avatar
флаг sa
да. и разве это не *схема Лампорта*?
kelalaka avatar
флаг in
@kodlu Lamport больше [чем это](https://external-content.duckduckgo.com/iu/?u=https%3A%2F%2Fmedia.geeksforgeeks.org%2Fwp-content%2Fuploads%2F20200602205839%2FLamport1.png&f =1&nofb=1), там у нас много битовых коммитов. Я что-то пропустил?
kodlu avatar
флаг sa
нет, ты прав, я что-то упустил.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.