Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Криптографический покер
|
|||
|---|---|---|---|
|
#18+
Мы плавно подходим к изобретению блокчейна. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.01.2018, 10:14 |
|
||
|
Криптографический покер
|
|||
|---|---|---|---|
|
#18+
hVosttНет, проблема в другом. Ключевая проблема -- необходимо исключить уже взятые каждым игроком карты из колоды таким образом, чтобы это было до конца игры не известно, какие именно карты были взяты. Вы не видите противоречия в этой фразе? Кто-то должен исключить из колоды взятые карты, т.е. этот кто-то однозначно будет знать какие карты были взяты из колоды, при этом никто не должен знать какие именно карты взяты. При исходном условии что обмен информацией возможен между любыми сущностями за столом - это нерешаемая задача. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.01.2018, 10:24 |
|
||
|
Криптографический покер
|
|||
|---|---|---|---|
|
#18+
hVosttLRХм... а что тут непонятного? Существование в каком-то мире какого-то объекта равнозначно знанию этого мира об этом объекте во всех возможных деталях. Т.е., если мир чего-то не знает о некотором объекте, то, вероятней всего, этого объекта не существует (в этом мире). Вполне приемлемая (в т.ч. и для программиздоф) аксиома. (Соответственно, для любой цомпутерной игры не может быть объекта, о котором чего-то не знает "сервер", иначе такой объект - вне игры) Сервер может использоваться для шифрованной переписки и не знать содержание мессаджей. Не работает ваша теория. Тогда что мы здесь обсуждаем? Используйте сервер для обмена информацией между участниками игры с реальной колодой в реальном казино - и будет вам счастье) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.01.2018, 11:23 |
|
||
|
Криптографический покер
|
|||
|---|---|---|---|
|
#18+
Иван FXSчуйка подсказывает, что решение есть, но, возможно, каждому из игроков придётся сгенерировать ~ 52! (факториал) шифроключейn! ~ n^n (нижняя граница). log2(52^52) ~ 5,5*52 (нижняя граница) ~= 280 (нижняя граница). 2^280 ... Петабайт, напомню - 2^50. Я уже молчу, что сами ключи закончатся гораздо раньше, но такое подмножество будет сильно проблематично записать типичному датацентру, ориентированному на хранение данных. Про время генерации и чтения - скромно помолчу. P.S. Вот неужели трудно сделать примитивную оценку, чтобы не вываливать всякий бред тогда, когда без этого можно обойтись? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.01.2018, 12:05 |
|
||
|
Криптографический покер
|
|||
|---|---|---|---|
|
#18+
Basil A. Sidorov, да хоть Фруктобайт ... я высказал свою интуицию о том, что принципиальное решение может быть продемонстрировано где-то там. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.01.2018, 12:10 |
|
||
|
Криптографический покер
|
|||
|---|---|---|---|
|
#18+
Иван FXSда хоть Фруктобайт ... я высказал свою интуицию о том, что принципиальное решение может быть продемонстрировано где-то там.Моё физическое образование даёт чёткий такой критерий ... Да, физика занимается моделями , но это модели реального мира. Аналогичный "критерий разумности" обязан быть в любой инженерной дисциплины. Программист (это инженерная дисциплина) может использовать заумную математику, включая ту, которую он не очень понимает, но программист не вправе игнорировать пределы аппаратных ограничений. Особенно, когда речь идет о ресурсах среднестатистичиеских граждан, а не о ресурсах государства, решающего стратегическую задачу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.01.2018, 12:17 |
|
||
|
Криптографический покер
|
|||
|---|---|---|---|
|
#18+
Basil A. Sidorov, насколько я успеваю следить за веткой, тут пока идёт обсуждение вопроса о том, возможно ли в принципе построение криптопокера. А не "физическая" реализация. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.01.2018, 12:22 |
|
||
|
Криптографический покер
|
|||
|---|---|---|---|
|
#18+
Иван FXSнасколько я успеваю следить за веткой, тут пока идёт обсуждение вопроса о том, возможно ли в принципе построение криптопокераОно и в принципе невозможно. Хотите опровергнуть - предложите вариант. Может просто разъяснить алгоритм работы дао.казино. Всё, что было предложено требовало или доверенной стороны или арбитра, что суть - тоже самое. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.01.2018, 13:12 |
|
||
|
Криптографический покер
|
|||
|---|---|---|---|
|
#18+
Basil A. Sidorov, я не утверждал, что дао.казино решило поставленную здесь задача. И сам я про него знаю только из прессы. Вот интервью с их СЕО (да вы и сами, наверное, его уже нашли в Яндексе, если искали): https://forklog.com/ceo-dao-casino-nasha-osnovnaya-zadacha-sozdat-ekosistemu-dlya-vseh-uchastnikov-rynka/ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.01.2018, 13:33 |
|
||
|
Криптографический покер
|
|||
|---|---|---|---|
|
#18+
а просветите меня, господа, существуют ли коммутативные способы шифрования? То есть такие, что Ш1(Ш2(х)) = Ш2(Ш1(х))? Если да, то: первый участник шифрует названия карт, тасует колоду и отправляет её второму. Тот тоже шифрует, тасует и выкладывает на стол. В результате ни один не знает, что означают "надписи" на картах. Когда первый берёт карту, то второй расшифровывает её своим шифром, но при этом не узнаёт её номинал. А первый -- уже дорасшифровывает и узнаёт номминал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.01.2018, 13:50 |
|
||
|
Криптографический покер
|
|||
|---|---|---|---|
|
#18+
Если ш1 и ш2 это раунды шифрования. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.01.2018, 14:19 |
|
||
|
Криптографический покер
|
|||
|---|---|---|---|
|
#18+
Иван FXSа просветите меня, господа, существуют ли коммутативные способы шифрования? То есть такие, что Ш1(Ш2(х)) = Ш2(Ш1(х))? Два одноразовых блокнота и тупо xor. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.01.2018, 14:31 |
|
||
|
Криптографический покер
|
|||
|---|---|---|---|
|
#18+
Иван FXSа просветите меня, господа, существуют ли коммутативные способы шифрования? То есть такие, что Ш1(Ш2(х)) = Ш2(Ш1(х))? Есть, если данные не участвуют в шифровании. Код: sql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.01.2018, 14:32 |
|
||
|
Криптографический покер
|
|||
|---|---|---|---|
|
#18+
шифрование и т.д. в этой задаче вторично ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.01.2018, 14:32 |
|
||
|
Криптографический покер
|
|||
|---|---|---|---|
|
#18+
Иван FXSЕсли да, то: первый участник шифрует названия карт, тасует колоду и отправляет её второму. Тот тоже шифрует, тасует и выкладывает на стол. В результате ни один не знает, что означают "надписи" на картах. Если эти двое в сговоре, то ничто не мешает им по другому каналу обменяться информацией по порядку карт в колоде. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.01.2018, 14:36 |
|
||
|
Криптографический покер
|
|||
|---|---|---|---|
|
#18+
Кстати да, эта идея, походу будет работать: 1. Генерируется последовательность карт (52 GUID, например). Соответствие GUID-номинал публикуется всем в открытом виде. 2. Игрок перемешивает эту последовательность и шифрует одноразовым блокнотом, после чего передаёт следующему. 3. После того как она вернётся к первому игроку – он вытаскивает из неё две карты и снова передаёт их «по кругу» для расшифровки. 4. Когда эти две карты вернутся к нему он расшифровывает две свои карты, после чего передаёт оставшуюся колоду следующему в неизменном виде и тот вытаскивает две своих карты. 5. В конце кто-то таким же образом вытаскивает 5 карт на стол, отличие только в том, что он расшифровывает их первым. В итоге не может быть задвоения карт и каждый знает только свои карты, а для того чтобы узнать карты другого игрока или содержимое колоды сговориться должны ВСЕ участники игры, что не имеет смысла. Т.к. для шифрования используется одноразовый блокнот и примитивный XOR, то ни у какого игрока нет шансов расшифровать карту или колоду не имея все ключи. Единственное замечание: все действия каждого игрока (включая его блокнот) должны быть зашифрованы сессионным ключем при помоща какого-нибудь AES и опубликованы одновременно с самим действием, чтобы по окончанию раунда можно было провести синхронизацию и убедиться в отсутствии жульничества (например выписывания себе желаемой карты, вместо реальной расшифровки пришедшей - а вдруг прокатит?..). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.01.2018, 14:47 |
|
||
|
Криптографический покер
|
|||
|---|---|---|---|
|
#18+
alekcvp5. В конце кто-то таким же образом вытаскивает 5 карт на стол, отличие только в том, что он расшифровывает их первым. Последний может отдать на стол свою карту, а получше из колоды оставить себе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.01.2018, 14:52 |
|
||
|
Криптографический покер
|
|||
|---|---|---|---|
|
#18+
alekcvpТ.к. для шифрования используется одноразовый блокнот и примитивный XOR Шифр легко ломается: берем шифрованную карту К и открытую К', делаем К^К' и получаем ключ шифрования. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.01.2018, 15:02 |
|
||
|
Криптографический покер
|
|||
|---|---|---|---|
|
#18+
Dima Talekcvp5. В конце кто-то таким же образом вытаскивает 5 карт на стол, отличие только в том, что он расшифровывает их первым. Последний может отдать на стол свою карту, а получше из колоды оставить себе. Не может. Как я уже сказал, все действия параллельно публикуются в зашифрованном виде для проверки после раунда. Т.к. к этому моменту он уже выбрал свои две карты, то они (пока ещё в зашифрованном виде) уже опубликованы, и такой подлог вскроется при аудите сразу после завершения раунда. Dima TalekcvpТ.к. для шифрования используется одноразовый блокнот и примитивный XOR Шифр легко ломается: берем шифрованную карту К и открытую К', делаем К^К' и получаем ключ шифрования. Что такое "одноразовый блокнот" в курсе? Сделав К^К' мы получим только ключ для этой карты . А зачем он нам нужен, если мы её и так уже знаем? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.01.2018, 15:37 |
|
||
|
Криптографический покер
|
|||
|---|---|---|---|
|
#18+
alekcvpЕсли эти двое в сговоре, то ничто не мешает им по другому каналу обменяться информацией по порядку карт в колоде.сколько игроков, столько и "слоёв", конечно. Если четверо - Ш1(Ш2(Ш3(Ш4(х)))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.01.2018, 15:42 |
|
||
|
Криптографический покер
|
|||
|---|---|---|---|
|
#18+
alekcvpDima Tпропущено... Шифр легко ломается: берем шифрованную карту К и открытую К', делаем К^К' и получаем ключ шифрования. Что такое "одноразовый блокнот" в курсе? Сделав К^К' мы получим только ключ для этой карты . А зачем он нам нужен, если мы её и так уже знаем? Тогда надо какой-то идентификатор чтобы при расшифровке узнать какой ключ для какой карты использовать. Тот кто первый шифрует, тот будет знать где какая карта. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.01.2018, 15:49 |
|
||
|
Криптографический покер
|
|||
|---|---|---|---|
|
#18+
alekcvpЧто такое "одноразовый блокнот" в курсе? Сделав К^К' мы получим только ключ для этой карты Если каждую карту шифровать индивидуальным кодом, то колоду нельзя тасовать - неизвестно, какой код потребуется, когда понадобится "следующая карта". А если за столом всего один честный участник и мы не знаем, кто это - тасовать колоду должны все. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.01.2018, 15:58 |
|
||
|
Криптографический покер
|
|||
|---|---|---|---|
|
#18+
Dima TТогда надо какой-то идентификатор чтобы при расшифровке узнать какой ключ для какой карты использовать. Тот кто первый шифрует, тот будет знать где какая карта.... что автоматически делает требует доверия к этому участнику. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.01.2018, 16:00 |
|
||
|
Криптографический покер
|
|||
|---|---|---|---|
|
#18+
Как вариант - раздача с шифрованием в 2 прохода: 1. Каждый участник придумывает свой ключ (один для всех карт), шифрует им и перемешивает. Затем каждой карте присваивается ID. 2. Каждый участник расшифровывает ключом из п.1 и шифрует каждую карту отдельным ключом, в соответствии с ID. Т.о. в п.2 будет неизвестно какая карта шифруется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.01.2018, 16:19 |
|
||
|
Криптографический покер
|
|||
|---|---|---|---|
|
#18+
Basil A. SidorovalekcvpЧто такое "одноразовый блокнот" в курсе? Сделав К^К' мы получим только ключ для этой карты Если каждую карту шифровать индивидуальным кодом, то колоду нельзя тасовать - неизвестно, какой код потребуется, когда понадобится "следующая карта". А если за столом всего один честный участник и мы не знаем, кто это - тасовать колоду должны все. Решаемо. Например, для 4х игроков: Карты создаются в виде: {ID}, шифруются по кругу в виде {{ID, CRC1}^K1, CRC2}^K2, CRC3}^K3, CRC4}^K4}, после шифрования колоды запоминается кто её зашифровал последний (N). При этом ключи для всех 52х карт сохраняются. Когда надо расшифровать карту, то просто начинают с игрока N и идут обратно по кругу, каждый игрок расшифровывает текущую карту всеми ключами по-очереди пока не совпадёт CRC. Для того чтобы остальные игроки не могли подобрать ключ шифрования перебором - для CRC использовать какой-нибудь хэш с солью в виде того же самого ключа. И да, если карта на руках у игрока N3, например, то он в свою очередь расшифровывает не всю карту, а только блоки CRC1, CRC2 и CRC3, после чего передаёт её дальше. А саму карту он расшифровывает последним. При таком подходе тасовать зашифрованные карты может кто угодно и сколько угодно раз. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.01.2018, 16:19 |
|
||
|
|

start [/forum/topic.php?fid=16&msg=39584561&tid=1340184]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
188ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
67ms |
get tp. blocked users: |
1ms |
| others: | 290ms |
| total: | 593ms |

| 0 / 0 |
