powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Криптографический покер
25 сообщений из 156, страница 4 из 7
Криптографический покер
    #39584204
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мы плавно подходим к изобретению блокчейна.
...
Рейтинг: 0 / 0
Криптографический покер
    #39584206
alekcvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttНет, проблема в другом. Ключевая проблема -- необходимо исключить уже взятые каждым игроком карты из колоды таким образом, чтобы это было до конца игры не известно, какие именно карты были взяты.
Вы не видите противоречия в этой фразе? Кто-то должен исключить из колоды взятые карты, т.е. этот кто-то однозначно будет знать какие карты были взяты из колоды, при этом никто не должен знать какие именно карты взяты. При исходном условии что обмен информацией возможен между любыми сущностями за столом - это нерешаемая задача.
...
Рейтинг: 0 / 0
Криптографический покер
    #39584257
Фотография LR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttLRХм... а что тут непонятного? Существование в каком-то мире какого-то объекта равнозначно знанию этого мира об этом объекте во всех возможных деталях. Т.е., если мир чего-то не знает о некотором объекте, то, вероятней всего, этого объекта не существует (в этом мире). Вполне приемлемая (в т.ч. и для программиздоф) аксиома. (Соответственно, для любой цомпутерной игры не может быть объекта, о котором чего-то не знает "сервер", иначе такой объект - вне игры)

Сервер может использоваться для шифрованной переписки и не знать содержание мессаджей.
Не работает ваша теория.
Тогда что мы здесь обсуждаем? Используйте сервер для обмена информацией между участниками игры с реальной колодой в реальном казино - и будет вам счастье)
...
Рейтинг: 0 / 0
Криптографический покер
    #39584291
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Иван FXSчуйка подсказывает, что решение есть, но, возможно, каждому из игроков придётся сгенерировать ~ 52! (факториал) шифроключейn! ~ n^n (нижняя граница). log2(52^52) ~ 5,5*52 (нижняя граница) ~= 280 (нижняя граница).
2^280 ... Петабайт, напомню - 2^50.
Я уже молчу, что сами ключи закончатся гораздо раньше, но такое подмножество будет сильно проблематично записать типичному датацентру, ориентированному на хранение данных. Про время генерации и чтения - скромно помолчу.

P.S. Вот неужели трудно сделать примитивную оценку, чтобы не вываливать всякий бред тогда, когда без этого можно обойтись?
...
Рейтинг: 0 / 0
Криптографический покер
    #39584297
Иван FXS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov,

да хоть Фруктобайт ... я высказал свою интуицию о том, что принципиальное решение может быть продемонстрировано где-то там.
...
Рейтинг: 0 / 0
Криптографический покер
    #39584305
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Иван FXSда хоть Фруктобайт ... я высказал свою интуицию о том, что принципиальное решение может быть продемонстрировано где-то там.Моё физическое образование даёт чёткий такой критерий ...
Да, физика занимается моделями , но это модели реального мира. Аналогичный "критерий разумности" обязан быть в любой инженерной дисциплины.
Программист (это инженерная дисциплина) может использовать заумную математику, включая ту, которую он не очень понимает, но программист не вправе игнорировать пределы аппаратных ограничений. Особенно, когда речь идет о ресурсах среднестатистичиеских граждан, а не о ресурсах государства, решающего стратегическую задачу.
...
Рейтинг: 0 / 0
Криптографический покер
    #39584307
Иван FXS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov,

насколько я успеваю следить за веткой, тут пока идёт обсуждение вопроса о том, возможно ли в принципе построение криптопокера. А не "физическая" реализация.
...
Рейтинг: 0 / 0
Криптографический покер
    #39584356
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Иван FXSнасколько я успеваю следить за веткой, тут пока идёт обсуждение вопроса о том, возможно ли в принципе построение криптопокераОно и в принципе невозможно.
Хотите опровергнуть - предложите вариант. Может просто разъяснить алгоритм работы дао.казино.
Всё, что было предложено требовало или доверенной стороны или арбитра, что суть - тоже самое.
...
Рейтинг: 0 / 0
Криптографический покер
    #39584385
Иван FXS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov,

я не утверждал, что дао.казино решило поставленную здесь задача. И сам я про него знаю только из прессы. Вот интервью с их СЕО (да вы и сами, наверное, его уже нашли в Яндексе, если искали): https://forklog.com/ceo-dao-casino-nasha-osnovnaya-zadacha-sozdat-ekosistemu-dlya-vseh-uchastnikov-rynka/
...
Рейтинг: 0 / 0
Криптографический покер
    #39584405
Иван FXS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а просветите меня, господа, существуют ли коммутативные способы шифрования? То есть такие, что Ш1(Ш2(х)) = Ш2(Ш1(х))?

Если да, то: первый участник шифрует названия карт, тасует колоду и отправляет её второму. Тот тоже шифрует, тасует и выкладывает на стол. В результате ни один не знает, что означают "надписи" на картах.

Когда первый берёт карту, то второй расшифровывает её своим шифром, но при этом не узнаёт её номинал. А первый -- уже дорасшифровывает и узнаёт номминал.
...
Рейтинг: 0 / 0
Криптографический покер
    #39584423
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если ш1 и ш2 это раунды шифрования.
...
Рейтинг: 0 / 0
Криптографический покер
    #39584439
alekcvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Иван FXSа просветите меня, господа, существуют ли коммутативные способы шифрования? То есть такие, что Ш1(Ш2(х)) = Ш2(Ш1(х))?
Два одноразовых блокнота и тупо xor.
...
Рейтинг: 0 / 0
Криптографический покер
    #39584442
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Иван FXSа просветите меня, господа, существуют ли коммутативные способы шифрования? То есть такие, что Ш1(Ш2(х)) = Ш2(Ш1(х))?
Есть, если данные не участвуют в шифровании.
Код: sql
1.
(A^B)^C = A^(B^C)
...
Рейтинг: 0 / 0
Криптографический покер
    #39584443
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
шифрование и т.д. в этой задаче вторично
...
Рейтинг: 0 / 0
Криптографический покер
    #39584444
alekcvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Иван FXSЕсли да, то: первый участник шифрует названия карт, тасует колоду и отправляет её второму. Тот тоже шифрует, тасует и выкладывает на стол. В результате ни один не знает, что означают "надписи" на картах.
Если эти двое в сговоре, то ничто не мешает им по другому каналу обменяться информацией по порядку карт в колоде.
...
Рейтинг: 0 / 0
Криптографический покер
    #39584455
alekcvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати да, эта идея, походу будет работать:

1. Генерируется последовательность карт (52 GUID, например). Соответствие GUID-номинал публикуется всем в открытом виде.

2. Игрок перемешивает эту последовательность и шифрует одноразовым блокнотом, после чего передаёт следующему.

3. После того как она вернётся к первому игроку – он вытаскивает из неё две карты и снова передаёт их «по кругу» для расшифровки.

4. Когда эти две карты вернутся к нему он расшифровывает две свои карты, после чего передаёт оставшуюся колоду следующему в неизменном виде и тот вытаскивает две своих карты.

5. В конце кто-то таким же образом вытаскивает 5 карт на стол, отличие только в том, что он расшифровывает их первым.

В итоге не может быть задвоения карт и каждый знает только свои карты, а для того чтобы узнать карты другого игрока или содержимое колоды сговориться должны ВСЕ участники игры, что не имеет смысла.

Т.к. для шифрования используется одноразовый блокнот и примитивный XOR, то ни у какого игрока нет шансов расшифровать карту или колоду не имея все ключи. Единственное замечание: все действия каждого игрока (включая его блокнот) должны быть зашифрованы сессионным ключем при помоща какого-нибудь AES и опубликованы одновременно с самим действием, чтобы по окончанию раунда можно было провести синхронизацию и убедиться в отсутствии жульничества (например выписывания себе желаемой карты, вместо реальной расшифровки пришедшей - а вдруг прокатит?..).
...
Рейтинг: 0 / 0
Криптографический покер
    #39584460
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alekcvp5. В конце кто-то таким же образом вытаскивает 5 карт на стол, отличие только в том, что он расшифровывает их первым.
Последний может отдать на стол свою карту, а получше из колоды оставить себе.
...
Рейтинг: 0 / 0
Криптографический покер
    #39584473
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alekcvpТ.к. для шифрования используется одноразовый блокнот и примитивный XOR
Шифр легко ломается: берем шифрованную карту К и открытую К', делаем К^К' и получаем ключ шифрования.
...
Рейтинг: 0 / 0
Криптографический покер
    #39584514
alekcvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima Talekcvp5. В конце кто-то таким же образом вытаскивает 5 карт на стол, отличие только в том, что он расшифровывает их первым.
Последний может отдать на стол свою карту, а получше из колоды оставить себе.
Не может. Как я уже сказал, все действия параллельно публикуются в зашифрованном виде для проверки после раунда. Т.к. к этому моменту он уже выбрал свои две карты, то они (пока ещё в зашифрованном виде) уже опубликованы, и такой подлог вскроется при аудите сразу после завершения раунда.

Dima TalekcvpТ.к. для шифрования используется одноразовый блокнот и примитивный XOR
Шифр легко ломается: берем шифрованную карту К и открытую К', делаем К^К' и получаем ключ шифрования.
Что такое "одноразовый блокнот" в курсе? Сделав К^К' мы получим только ключ для этой карты . А зачем он нам нужен, если мы её и так уже знаем?
...
Рейтинг: 0 / 0
Криптографический покер
    #39584521
Иван FXS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alekcvpЕсли эти двое в сговоре, то ничто не мешает им по другому каналу обменяться информацией по порядку карт в колоде.сколько игроков, столько и "слоёв", конечно. Если четверо - Ш1(Ш2(Ш3(Ш4(х))))
...
Рейтинг: 0 / 0
Криптографический покер
    #39584526
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alekcvpDima Tпропущено...

Шифр легко ломается: берем шифрованную карту К и открытую К', делаем К^К' и получаем ключ шифрования.
Что такое "одноразовый блокнот" в курсе? Сделав К^К' мы получим только ключ для этой карты . А зачем он нам нужен, если мы её и так уже знаем?
Тогда надо какой-то идентификатор чтобы при расшифровке узнать какой ключ для какой карты использовать. Тот кто первый шифрует, тот будет знать где какая карта.
...
Рейтинг: 0 / 0
Криптографический покер
    #39584536
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alekcvpЧто такое "одноразовый блокнот" в курсе? Сделав К^К' мы получим только ключ для этой карты Если каждую карту шифровать индивидуальным кодом, то колоду нельзя тасовать - неизвестно, какой код потребуется, когда понадобится "следующая карта". А если за столом всего один честный участник и мы не знаем, кто это - тасовать колоду должны все.
...
Рейтинг: 0 / 0
Криптографический покер
    #39584538
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima TТогда надо какой-то идентификатор чтобы при расшифровке узнать какой ключ для какой карты использовать. Тот кто первый шифрует, тот будет знать где какая карта.... что автоматически делает требует доверия к этому участнику.
...
Рейтинг: 0 / 0
Криптографический покер
    #39584560
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как вариант - раздача с шифрованием в 2 прохода:
1. Каждый участник придумывает свой ключ (один для всех карт), шифрует им и перемешивает. Затем каждой карте присваивается ID.
2. Каждый участник расшифровывает ключом из п.1 и шифрует каждую карту отдельным ключом, в соответствии с ID.

Т.о. в п.2 будет неизвестно какая карта шифруется.
...
Рейтинг: 0 / 0
Криптографический покер
    #39584561
alekcvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. SidorovalekcvpЧто такое "одноразовый блокнот" в курсе? Сделав К^К' мы получим только ключ для этой карты Если каждую карту шифровать индивидуальным кодом, то колоду нельзя тасовать - неизвестно, какой код потребуется, когда понадобится "следующая карта". А если за столом всего один честный участник и мы не знаем, кто это - тасовать колоду должны все.

Решаемо. Например, для 4х игроков:

Карты создаются в виде: {ID}, шифруются по кругу в виде {{ID, CRC1}^K1, CRC2}^K2, CRC3}^K3, CRC4}^K4}, после шифрования колоды запоминается кто её зашифровал последний (N). При этом ключи для всех 52х карт сохраняются.
Когда надо расшифровать карту, то просто начинают с игрока N и идут обратно по кругу, каждый игрок расшифровывает текущую карту всеми ключами по-очереди пока не совпадёт CRC. Для того чтобы остальные игроки не могли подобрать ключ шифрования перебором - для CRC использовать какой-нибудь хэш с солью в виде того же самого ключа.

И да, если карта на руках у игрока N3, например, то он в свою очередь расшифровывает не всю карту, а только блоки CRC1, CRC2 и CRC3, после чего передаёт её дальше. А саму карту он расшифровывает последним.

При таком подходе тасовать зашифрованные карты может кто угодно и сколько угодно раз.
...
Рейтинг: 0 / 0
25 сообщений из 156, страница 4 из 7
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Криптографический покер
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]