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

Discussion in 'Мировые новости. Обсуждения.' started by facobaff, 6 Mar 2014.

  1. facobaff

    facobaff Member

    Joined:
    9 Jan 2013
    Messages:
    30
    Likes Received:
    9
    Reputations:
    0
    Математики и криптографы давно экспериментируют с игральными картами для кодирования и шифрования информации. Это связано с тем, что колода карт обычно не вызывает подозрения у правоохранительных органов, спецслужб и разведчиков. Любой школьник может записать пароль в колоде в цифровом виде, повернув карты лицом (1) или рубашкой (0).

    [​IMG]

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

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

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

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

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

    06.03.2014 http://www.xakep.ru/post/62161/