Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Криптографический покер
|
|||
|---|---|---|---|
|
#18+
Dima TМожно, только что это меняет? Допустим A знает соответствие своего ID каждой карте, его ID не шифрован. Проблема не решилась. Ну если у каждого из участников будет отдельная таблица для каждого, а не одна на всех, т.е. открыть позицию в своей таблице через таблицы остальных игроков :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2018, 09:39 |
|
||
|
Криптографический покер
|
|||
|---|---|---|---|
|
#18+
hVostt1. Каждый участник на раунд придумывает себе XOR ключ. Одна штука. Ломается элементарно, достаточно иметь шифрованную и нешифрованную колоды. 21109370 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2018, 09:40 |
|
||
|
Криптографический покер
|
|||
|---|---|---|---|
|
#18+
Basil A. SidorovЕсть казино, шулеры и игрок. Казино в сговоре с шулерами. Требуется разработать покер, позволяющий сохранить игроку тайну своих карт. Схема возможна, если оставить за казино только публикацию ходов и раздачу зашифрованных карт участникам. Каждый участник умеет создавать последовательности уникальных (псевдо)случайных чисел. В духе плагиаторов назовём их гаммами. Гаммы участников формируются парами. Одна последовательность используется для шифрования (гамма ключей), другая - для идентификации ключей (гамма индексов). Разрядность элементов гаммы кратна разрядности (симметричного) алгоритма шифрования. Казино создаёт колоду в виде (одиночной) гаммы и публикует её. Первый участник тасует колоду, шифрует каждую карту индивидуальным ключом, добавляет индексы и передаёт раздачу следующему. Следующий участник тасует раздачу, шифрует её элементы, добавляет свои индексы и далее по кругу. Раздача, таким образом, состоит из слоёв, где каждый элемент слоя - пара "индекс, шифр предыдущего слоя", а самый первый слой - "индекс, шифр карты". Казино получает от последнего участника растасованную колоду и сдаёт по две карты каждому участнику. Каждый из участников, в обратном порядке, начинает запрашивать ключи шифрования, отправляя индексы владельцу ключей. После первой расшифровки вскрывается очередной слой с очередными индексами и процедура повторяется. Казино, точно так же, вскрывает карты для стола. Если хотя бы один участник честен - он не отдаст больше ключей, чем положено, что не позволит ни шулерам, ни казино вскрыть произвольную карту. Процедуры подписания ходов и сдач, а так же процедура (послеигрового) аудита - не рассматриваются. Процитирую всё, так как ваша постановка задачи мне нравится больше, чем моя :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2018, 09:42 |
|
||
|
Криптографический покер
|
|||
|---|---|---|---|
|
#18+
Dima ThVostt1. Каждый участник на раунд придумывает себе XOR ключ. Одна штука. Ломается элементарно, достаточно иметь шифрованную и нешифрованную колоды. 21109370 Не, еще проще: получив одну любую карту и ее расшифрованный вариант сразу получаем ключ для расшифровки всех карт K^K`. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2018, 09:45 |
|
||
|
Криптографический покер
|
|||
|---|---|---|---|
|
#18+
Dima TНе, еще проще: получив одну любую карту и ее расшифрованный вариант сразу получаем ключ для расшифровки всех карт K^K`. поэтому формируется временный XOR, я думал это поможет ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2018, 09:47 |
|
||
|
Криптографический покер
|
|||
|---|---|---|---|
|
#18+
hVosttDima TНе, еще проще: получив одну любую карту и ее расшифрованный вариант сразу получаем ключ для расшифровки всех карт K^K`. поэтому формируется временный XOR, я думал это поможет ) Поможет для защиты от других игроков, но если игрок в сговоре с сервером, то не поможет, т.к. сервер видит карту без временного XOR. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2018, 10:00 |
|
||
|
Криптографический покер
|
|||
|---|---|---|---|
|
#18+
Basil A. SidorovКазино создаёт колоду в виде (одиночной) гаммы и публикует её. Первый участник тасует колоду, шифрует каждую карту индивидуальным ключом, добавляет индексы и передаёт раздачу следующему. Следующий участник тасует раздачу, шифрует её элементы, добавляет свои индексы и далее по кругу. ... Казино получает от последнего участника растасованную колоду и сдаёт по две карты каждому участнику. Каждый из участников, в обратном порядке, начинает запрашивать ключи шифрования, отправляя индексы владельцу ключей. После первой расшифровки вскрывается очередной слой с очередными индексами и процедура повторяется. А теперь представим, что игрок который первый получил колоду - шулер. Как только ему придёт запрос на индекс ключа он сразу будет знать какую карту достали из колоды, т.к. у него есть табличка [номинал - индекс]. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2018, 10:01 |
|
||
|
Криптографический покер
|
|||
|---|---|---|---|
|
#18+
alekcvpА теперь представим, что игрок который первый получил колоду - шулер. Как только ему придёт запрос на индекс ключа он сразу будет знать какую карту достали из колоды, т.к. у него есть табличка [номинал - индекс].Точно. Таки, мной внутренний оптимист убедился, что мой внутренний пессимист прав и задача - нереальная: нельзя забыть то, что хочется запомнить. В общем, я - пас и умываю руки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2018, 10:07 |
|
||
|
Криптографический покер
|
|||
|---|---|---|---|
|
#18+
Basil A. SidorovТаки, мной внутренний оптимист убедился, что мой внутренний пессимист прав и задача - нереальная Тоже склоняюсь в эту сторону. Должен быть хотя бы один участник, которому все будут доверять. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2018, 10:12 |
|
||
|
Криптографический покер
|
|||
|---|---|---|---|
|
#18+
Dima TПоможет для защиты от других игроков, но если игрок в сговоре с сервером, то не поможет, т.к. сервер видит карту без временного XOR. да не.. содержание перетасованной колоды со всеми номиналами всем известно, также известно какие именно карты из колоды у кого на руках. вот только превратить этот номинал в правильный номинал можно, применив XOR ключ каждого из участников, включая сервер. для этого, участник генерирует временный XOR ключ, применяет его к двум номиналам карты, или для каждой карты генерируется свой XOR временный ключ, применяется, затем передаётся по кругу, чтобы к этим данным были применены ключи всех участников. затем к результату применяется тот же самый ранее использованный временный XOR ключ, затем свой постоянный секретный XOR ключ, и получаем правильный номинал :) допустим, у нас 3 игрока + сервер: A, B, C + S у игрока A на руках известные всем карты K0 и K3 (пусть это будут Туз Пик (ТП) и 5 Бубны (5Б)) -- почему K0 и K3, потому что карты раздавались по очереди по одной теперь игрок А хочет узнать истиные номиналы карт К0 и К3 у него есть свой секретный XOR KEY (AXK) он генерирует Temporary Xor Key (T-AXK) затем T0 = K0 XOR T-AXK T3 = K3 XOR T-AXK теперь он передаёт T0 и T3 игроку B, он делает следующее: T0 = T0 XOR BXK (секретный ключ игрока B) T3 = T3 XOR BXK он передаёт полученные даныне игроку C: T0 = T0 XOR CXK (секретный ключ игрока C) T3 = T3 XOR CXK он передаёт серверу T0 = T0 XOR SXK (секретный ключ сервера) T3 = T3 XOR SXK сервер возвращает игроку А, игрок теперь может получить номинал карты: T0 = T0 XOR T-AXK XOR AXK T3 = T3 XOR T-AXK XOR AXK теперь T0 и T3 -- истиные номиналы карт в конце игры все XOR ключи вскрываются, чтобы убедиться, что небыло мухлежа выяснить какой у кого секретный ключ, не представляется возможным :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2018, 10:19 |
|
||
|
Криптографический покер
|
|||
|---|---|---|---|
|
#18+
Dima T, это может быть не XOR, а банальный сдвиг индекса 0..51 с переполнением, т.е. 51 + 2 = 1 )) число сдвига и есть тот самый Key ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2018, 10:24 |
|
||
|
Криптографический покер
|
|||
|---|---|---|---|
|
#18+
т.е. Key можно применить "туда" и "обратно" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2018, 10:25 |
|
||
|
Криптографический покер
|
|||
|---|---|---|---|
|
#18+
hVostt, Код: sql 1. T0' это расшифрованное значение. Теперь простейшее преобразование Код: sql 1. или Код: sql 1. далее можно так делать Код: sql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2018, 10:27 |
|
||
|
Криптографический покер
|
|||
|---|---|---|---|
|
#18+
Чуть напутал с терминологией, мои Tx это твои Kx, а Tx` - твои Tx. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2018, 10:30 |
|
||
|
Криптографический покер
|
|||
|---|---|---|---|
|
#18+
Код: sql 1. ты забыл кое-что :) Dima TТеперь простейшее преобразование Код: sql 1. ну вот здесь и вопрос, собственно, как избежать возможности получить SUPERKEY? может использовать индивидуальную СОЛЬ на каждом этапе? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2018, 10:37 |
|
||
|
Криптографический покер
|
|||
|---|---|---|---|
|
#18+
Dima T, если бы можно было сформировать такую последовательность M, что исходная последовательность K XOR M давала бы уникальную последовательность, то можно было бы говорить о 52-х XOR-ключах, тогда никакой SUPERKEY вычислить невозможно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2018, 10:41 |
|
||
|
Криптографический покер
|
|||
|---|---|---|---|
|
#18+
hVostt Код: sql 1. ты забыл кое-что :) Да, не дописал. hVosttну вот здесь и вопрос, собственно, как избежать возможности получить SUPERKEY? Только отказаться от hVostt1. Каждый участник на раунд придумывает себе XOR ключ. Одна штука. т.к. SUPERKEY это XOR ключей всех участников. И его достаточно чтобы расшифровать любую карту. Отдельно ключ каждого участника не нужен. hVosttможет использовать индивидуальную СОЛЬ на каждом этапе? Не готов сходу сказать поможет ли это, но убирание соли надо будет делать в порядке, обратном ее добавлению. И чем-то это напоминает схему с ID и персональным ключом для каждого ID ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2018, 10:49 |
|
||
|
Криптографический покер
|
|||
|---|---|---|---|
|
#18+
hVosttну вот здесь и вопрос, собственно, как избежать возможности получить SUPERKEY? может использовать индивидуальную СОЛЬ на каждом этапе? Использовать вместо XOR алгоритм, основанный на преобразовании ID' = ID^K mod B. Они тоже коммутативные, но получить ключ даже зная исходный и зашифрованный текст на порядки сложнее. Только вот какой конкретно алгоритм использовать - я не знаю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2018, 10:49 |
|
||
|
Криптографический покер
|
|||
|---|---|---|---|
|
#18+
alekcvp, В принципе, можно попробовать код Шамира, при этом каждый по-очереди зашифровывает всю колоду ключём Cn, а потом расшифровывает требуемую карту ключём dn. Но вот будет ли он работать при таком использовании я не скажу на 100%, т.к. теоретическая математика - не моё :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2018, 10:54 |
|
||
|
Криптографический покер
|
|||
|---|---|---|---|
|
#18+
да... как мы все вместе до этого и дошли, всё сводится к коммутативному шифрованию. нужна крипто-XOR функция, которая не позволяет вычислить ключ )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2018, 11:01 |
|
||
|
Криптографический покер
|
|||
|---|---|---|---|
|
#18+
Резюмирую статью о "Ментальном покере" из вики. Исходные данные прежние: казино, шулеры и игрок. Казино в сговоре с шулерами, но не с игроком. Требуется коммутативный алгоритм шифрования (слабый вариант - исключающее или). В данном конкретном случае исключающее или может подойти. Участники умеют формировать уникальные последовательности (псевдо)случайных чисел большой разрядности. Контроль качества чисел оставляем "за схемой". Назовём последовательность гаммой, а её элементы - ключами. На первом этапе вся колода шифруется одним ключом, что позволяет её тасовать, на втором - каждая карта шифруется индивидуальным ключом, что требует запроса ключей для расшифровки у всех участников. Что, собственно и позволяет (честному) игроку контролировать процесс расшифровки. Казино формирует гамму колоды и публикует электронную подпись гаммы. Все участники, включая казино, формируют собственные гамму из пятидесяти четырёх ключей (два общих и 52 индивидуальных). Электронные подписи собственной гаммы каждый участник отправляет казино, которое публикует все записи (включая собственную), заверив их электронной подписью. Казино тасует колоду, шифрует общим ключом и передаёт по кругу. Очередной участник тасует колоду, шифрует общим ключом и передаёт дальше по кругу. Казино получает снова получает колоду, расшифровывает её (снимает свой общий ключ) и шифрует каждую карту индивидуальными ключами. Казино шифрует колоду вторым общим ключом и передаёт по кругу. Очередной участник снимает свой общий ключ, шифрует карты индивидуальными ключами, зашифровывает колоду вторым общим ключом и передаёт дальше. Казино получает колоду, снимает свой общий ключ и мы получаем перетасованную колоду, карты которой участники могут вскрыть только при наличии ключей всех остальных, один из которых - честный и знает, кому и какие его ключи нужны для расшифровки. "По-моему, так" (ц) Винни-Пух, голосом Е.Леонова. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2018, 18:05 |
|
||
|
Криптографический покер
|
|||
|---|---|---|---|
|
#18+
Basil A. SidorovТребуется коммутативный алгоритм шифрования (слабый вариант - исключающее или). В данном конкретном случае исключающее или может подойти.Не подойдёт - шулеры слева и справа от честного игрока сделают исключающее или над своими колодами и получат общий ключ честного игрока, а значит - выяснят его тасовку. Нужен коммутативный алгоритм, для которого нет обратной операции, но тут я уже не копенгаген. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2018, 18:17 |
|
||
|
Криптографический покер
|
|||
|---|---|---|---|
|
#18+
Ан нет, XOR - подходит. Поправка к алгоритму - размер общих ключей равен размеру колоды. Принцип абсолютно стойкого шифра - ключ равен длине сообщения. В этом случае шулеры не смог восстановить общий ключ честного игрока. Думаю, что для реальных ситуаций хватит и 64-разрядных (псевдо)случайных чисел, которые что-нибудь типа Рутокен/Jacarta/Gemalto может выдавать по десятку-другому за секунду. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2018, 18:33 |
|
||
|
Криптографический покер
|
|||
|---|---|---|---|
|
#18+
Да ёрш твою медь ... Если размер общего ключа равен размеру колоды, то после тасовки нельзя снять общие ключи предыдущих участников. В общем - лично я не знаю подходящего алгоритма. P.S. Вот уж точно: "У меня ещё много идей было ..." ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2018, 18:37 |
|
||
|
|

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

| 0 / 0 |
