md5


Игрок внес деньги на игровой счет. Открыл игру 777 (к примеру). Увидел там MD5 хэш ответа. К примеру – 4519cc4f7fbb156263d623e3213cbd1e (32 символа). Сделал ставку. Игра прошла, есть результат. Появилась исходная строка, которая содержит результат игры + секретный код (генерируется случайным образом для защиты от подбора MD5 хэша, при короткой строке результата).
К примеру – 705 fab0737f2ec9564c, где 705 – результат игры.

На любом независимом сервисе генерации MD5 хэшей или в любой программе, позволяющей сделать это, игрок может обработать строку 705 fab0737f2ec9564c по алгоритму MD5 и получить MD5 хэш = 4519cc4f7fbb156263d623e3213cbd1e. Т.е. аналогичный исходному.

Насколько сейчас реально подделать такую схему или md5 еще как-никак, но стабильный тут.

Комментарии
— SATtva (10/01/2007 23:03)   
Обсуждалось.[link1]
— unknown (11/01/2007 09:20)   
Вообще это протокол слишком экономный. Было бы логичнее использовать метод "подбрасывания монеты по телефону".

Казино должно сгенерировать случайную строку, поместить в "конверт" и вручить игроку. Игрок тоже должен сгенерировать случаную строку. После ставки он требует раскрытия конверта, делает XOR своей строки и строки из раскрытого конверта казино и только на основании этого XOR-значения можно вычислять результат игры.

Для того, чтобы положить один нулевой бит в конверт можно использовать произведение N=pq, где p=1mod(4), q=3mod(4), для того
чтобы положить бит, равный единице: p=3mod(4), q=1mod(4);
p<q.

Разложить большое N на p и q нельзя, после раскрытия p и q игрок может убедиться, что они простые и посчитать модули.
Из множества бросков битов, можно набрать целую битовую строку.

Это самый простой, но довольно ресурсоёмкий способ. Есть и другие, основанные на "coin flipping problem" и "bit commitment sheme".

По крайней мере, там где в генерации битов в игре участвует только казино не совместно с игроком и без одновременного раскрытия битов, оно может найти какой-нибудь способ мошенничать, используя возможную нестойкость хэша, к примеру. Такой протокол несколько неполноценный.

Ссылки
[link1] http://www.pgpru.com/comment5355