SpaceQaraseeque

SpaceQaraseeque

На Пикабу
106 рейтинг 0 подписчиков 0 подписок 1 пост 0 в горячем
6

Шифровальщик картинок (с использованием Perfect Shuffle). Чтобы мамка не заругала1

Шифровальщик картинок (с использованием Perfect Shuffle). Чтобы мамка не заругала Шифровальщик, Криптография, Картинки, Фракталы, Конфуций, Длиннопост

Фрактал


Perfect shuffle - это не танцы ногами из тиктока, а перемешивание карт. Берешь колоду, делишь на две половины, и перемешиваешь так, чтобы чередовались карты из первой половины и из второй. Если первая карта идет из второй половины - это in-shuffle, если из второй - out-shuffle.

Не понятно. Хорошо. Вот на картиночках объяснение.

in-shuffle - первая карта из второй половины (5) идет вперед:

Шифровальщик картинок (с использованием Perfect Shuffle). Чтобы мамка не заругала Шифровальщик, Криптография, Картинки, Фракталы, Конфуций, Длиннопост

in-shuffle

out-shuffle - первая карта из первой половины (1) идет вперед

Шифровальщик картинок (с использованием Perfect Shuffle). Чтобы мамка не заругала Шифровальщик, Криптография, Картинки, Фракталы, Конфуций, Длиннопост

out-shuffle

Чередуя in-shuffle и out-shuffle мы запутываем колоду так, что распутать ее практически невозможно, не зная поочередности in/out.

Собственно поочередность in/out - это и будет наш ключ шифрования.

Дальше больше. Вместо перемешивания строки, мы можем перемешивать пиксели - то есть, столбики и строки на картинке. Делим картинку на 4 сегмента-квадратика и перемешиваем. Опять же чередуя in/out.

Допустим, ты Андрей Максимович, хочешь передать своему другу Дмитрию Геннадиевичу фотку своего котяры, но не хочешь, чтобы её увидел Петр Борисович.

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

В качестве примера, будем использовать фотку Конфуция:

Шифровальщик картинок (с использованием Perfect Shuffle). Чтобы мамка не заругала Шифровальщик, Криптография, Картинки, Фракталы, Конфуций, Длиннопост

Конфуций

После перемешивания:

Шифровальщик картинок (с использованием Perfect Shuffle). Чтобы мамка не заругала Шифровальщик, Криптография, Картинки, Фракталы, Конфуций, Длиннопост

Зашифрованный Конфуций

Ключ шифрования:

0101010010100111001100010110100110101011010101101001011110011011

mode: [1, 0, 0, 0]

Mode? Да! Для создания пущей энтропии. Помнишь, мы делили картинку на 4 квадратика-сегмента. Вот mode определяет трансформации, применяемые к этим сегментам перед перемешиванием. Например [1, 0, 0, 0] означает, что мы вращаем левый верхний квадратик на 90 градусов, остальные 3 квадратика не трогаем.

Если Борисыч даже 1 бит в ключе перепутает - вместо оригинала получит шум (в примере ниже перепутан последний бит в ключе):

Шифровальщик картинок (с использованием Perfect Shuffle). Чтобы мамка не заругала Шифровальщик, Криптография, Картинки, Фракталы, Конфуций, Длиннопост

Конфуций расшифрованный с ошибочным ключом

Вот тут репозиторий вам выкатил:

https://github.com/xcontcom/perfect-shuffle-cryptography

Там куча непонятного текста, который можешь сразу пропускать и переходить к онлайн демо:

https://xcontcom.github.io/perfect-shuffle-cryptography/shuf...

Инструкция:

Шифровать:
1. Загружаешь картинку туда, где кнопка "Shuffle →" (левая сторона).
2. Жмякай "Random Modes".
3. Автоматически сгенерируется случайный ключ 64 бита.
4. Этот ключ, сгенерированную картинку и Mode отправляешь Дмитрию.

Расшифровать:
2. Загружаешь зашифрованную картинку в правую половину, где кнопка "← Unshuffle".
3. Снимаешь галочку с "Generate new key" и вставляешь туда ключ.
4. Выставляешь Mode.
5. Жмякай "← Unshuffle".

Фракталы:
1. Ставишь галочку "Resize image", оставляешь 1024 (2^10)
2. Снимаешь галочку с "Generate new key", вводишь ключ 10 единиц: 1111111111
3. Жмякай "Random Modes".

Конфуций в качестве примера:

Оригинальный Конфуций скукоженный до 512х512

Шифровальщик картинок (с использованием Perfect Shuffle). Чтобы мамка не заругала Шифровальщик, Криптография, Картинки, Фракталы, Конфуций, Длиннопост

Конфуций с ресайзом

Ключ 9 единиц, "Randome Modes":

Фрактальные Конфуции

Показать полностью 17
Отличная работа, все прочитано!