http://akhtyrka.livejournal.com/ ([identity profile] akhtyrka.livejournal.com) wrote in [community profile] useless_faq2014-11-03 08:37 pm

Онлайн покер

Играл в покер. Техасский холдем.
Сначала игроки получают по 2 карты
потом открывается 3 на столе (флоп)
потом еще одна (терн)
и потом последняя (ривер).
Стало интересно, в какой момент компьютер/сервер знает какие выпадут карты?
Непосредственно перед открытием очередной порции карт на столе?
Или в самом начале раздачи сервер исход партии уже предопределен, если, конечно, никто не скажет "пас".

[identity profile] lazylonelion.livejournal.com 2014-11-21 09:45 am (UTC)(link)
перетасовка - это вообще большой обман. Если у карт остаются уникальные АКИ, ВКИ в открытом виде...

смотрите, пусть у нас 4 карты, идентифицируем их числом: 1, 2, 3, 4. Пусть КА=5 (0b101 в бинарной системе)

2а) Перетасованные (4,3,2,1) и "зашифрованные" они будут:
4 xor 5 = 1
3 xor 5 = 6
2 xor 5 = 7
1 xor 5 = 4

2б)Игрок Б тасует их (4,7,1,6) и шифрует ключом 2:
4 xor 2 = 6
7 xor 2 = 5
1 xor 2 = 3
6 xor 2 = 4

3а) Игрок А тасует их (5436) и шифрует ключами 1234, добавляет индекс ключа (на хеш пока забьём)
5*1=4 (АК1) (знак умножения вместо xor пишу)
4*2=6 (АК2)
3*3=0 (АК3)
6*4=2 (АК4)

3б) Игрок Б делает то же самое (6042*3456)
6*3=5 (АК2,ВК1)
0*4=4 (АК3,ВК2)
4*5=1 (АК1,ВК3)
2*6=4 (АК4,ВК4)

Присылает игроку А и мы видим жопу.
Игрок А, сволочь, берёт первую "фразу" 5(АК2,ВК1), находит у себя фразу с АК2, и пишет на нычку:
6(АК2) * ВК1 = 5 (АК2,ВК1)
следовательно ВК1=3, и остальные ключи В аналогично.

*** Игрок А знает все индивидуальные ключи игрока Б! ***

Дальше жопа усугубляется.
4а) Игрок А тасует "колоду" (4541, он ЗАЧЕМ, если номера типа ВК3 открытые?) и расшифровывает её ключом КА (5):
4 (АК3,ВК2) * 5 = 1 (АК3,ВК2)
5 (АК2,ВК1) * 5 = 0 (АК2,ВК1)
4 (АК4,ВК4) * 5 = 1 (АК4,ВК4)
1 (АК1,ВК3) * 5 = 4 (АК1,ВК3)

4б) Игрок Б берёт, сволочь, первую карту из колоды, видит там "ВК2", понимает, что там была карта "4", имеет уравнение:
4 * КА = 1, следовательно КА=5, следовательно игрок В уже знает начальную колоду

Аналогично на следующем шаге игрок А узнает КВ

*** теперь игрок А знает ВООБЩЕ ВСЕ КЛЮЧИ ! ***

5а) PlayerB берёт из колоды карту [ KB2(KA1(C3)), AKI=1, AKH1=H(AK1), BKI=2, BKH2=H(BK2) ], иргок А отлично знает ВСЕ ключи, следовательно видит карту.

[identity profile] azarkevich.livejournal.com 2014-11-21 10:18 am (UTC)(link)
Да, пичалька. Видимо не придётся мне в безопасный покер сыграть. :(
Может ещё подумаю на досуге, но пока что сдаюсь.