xaker

Запись цифровой информации в колоду карт

  • четверг, 13 марта 2014 г. в 06:07:14
http://www.xakep.ru/post/62161/

Математики и криптографы давно экспериментируют с игральными картами для кодирования и шифрования информации. Это связано с тем, что колода карт обычно не вызывает подозрения у правоохранительных органов, спецслужб и разведчиков. Любой школьник может записать пароль в колоде в цифровом виде, повернув карты лицом (1) или рубашкой (0).

Игральные карты можно использовать как генератор псевдослучайных чисел и даже как криптографический блокнот (см. шифр «Пасьянс»). Фактически, колода карт — это самый удобный и самый надежный метод шифрования информации в отсутствие компьютера.

Кодирование лицом или рубашкой — это очень примитивно, ведь в колоду карт тогда помещается всего 52 бита. Теоретически, туда можно вместить гораздо больше, ведь существует 52! возможных комбинаций расположения карт в колоде. Это примерно 8,0658 × 1067.

На практике плотность информации еще повышается, если использовать различные трюки — переворачивать карты лицом/рубашкой или вверх ногами (при наличии колоды с несимметричными картинками).

Американский инженер и писатель Тим Уорринер (Tim Warriner) провел исследование различных методов скрытия цифровой информации в игральных картах — и добился показателя 550 бит на колоду: 55 символов 10-битными числами, то есть по 10,58 бит на карту. Таким образом, колода может хранить в себе не только пароль, но и довольно длинное сообщение. Главное, чтобы никто случайно не потасовал ее.

Автор понимает, что его достижение можно превзойти, если применить рекурсивные алгоритмы, повторное использование карт, перемещенных вниз колоды, и другие методы. Но это уже тема для отдельных исследований.