Цифровые технологии ПЗ

Кодирование графической информации

Графическая информация, как и информация любого другого типа, хранятся в памяти
компьютера в виде двоичных кодов. Изображение, состоящее из отдельных точек, каждая
из которых имеет свой цвет, называется растровым изображением. Минимальный элемент
такого изображения в полиграфии называется растр, а при отображении графики на
мониторе минимальный элемент изображения называют пиксель (pix).

Пиксель                                      Растр

Рис. 1 Минимальная единица изображения: пиксель и растр

Если пиксель изображения может быть раскрашен только в один из 2х цветов, допустим,
либо в черный (0), либо в белый (1), то для хранения информации о цвете пикселя
достаточно 1 бита памяти (log2(2)=1 бит). Соответственно, объем, занимаемый в памяти
компьютера всем изображением, будет равен числу пикселей в этом изображении (рис. 2а).

Если под хранение информации о цвете пикселя выделить 2 бита, то число цветов,
допустимых для раскраски каждого пикселя, увеличится до 4х (N=22=4), а объем файла
изображения в битах будет вдвое больше, чем количество составляющих его пикселей (рис.
2б).

Рис. 2а 1 бит на пиксель – 2
цвета

Рис. 2б 2 бита на пиксель – 4
цвета

При печати на не цветном принтере обычно допускает 256 градаций серого цвета (от
черного (0) до белого (255)) для раскраски каждой точки изображения. Под хранение
информации о цвете точки в этом случае отводится 1 байт, т.е. 8 бит (log2(256)=8 бит).

  • 2.    Цветовые модели RGB и CMYK

Все объекты окружающего мира можно разделить на: излучающие (светящиеся: солнце,
лампа, монитор), отражающие излучение (бумага) и пропускающие (стекло).

Рис. 3 Излучающие, отражающие и пропускающие объекты

В зависимости от того, является объект излучающим или отражающим для представления
описания его цвета в виде числового кода используются две обратных друг другу цветовые
модели: RGB или CMYK.

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

Основные цвета в этой модели: красный (Red), зеленый (Green), синий (Blue). Их парное
сочетание в равных долях дает дополнительные цвета: желтый (Yellow), голубой
(Cyan) и пурпурный (Magenta).

R+G=Y; G+B=C; B+R=M.

Сумма всех трех основных цветов в равных долях дает белый (White) цвет: R+G+B=W.

Цветовая модель CMYK используется в полиграфии при формировании изображений,
предназначенных для печати на бумаге. Основными цветами в ней являются те, которые
являются дополнительными в модели RGB, т.к. они получаются вычитаниемцветов RGB из
белого цвета. Поэтому модель CMYK называется субтрактивной.

C=W-R; M=W-G; Y=W-B.

В свою очередь парное сочетание в равных долях цветов модели CMY дает цвета модели
RGB. Всем известно, что если смешать на бумаге желтую и голубую краску, получится
зеленый цвет. На языке цветовых моделей, это описывается выражением: Y+C=G, кроме
того, C+M=B и M+Y=R.

В теории, сумма C+M+Y=K, т.е. дает черный (blacK) цвет, но поскольку реальные
типографские краски имеют примеси, их цвет не совпадает в точности с теоретически
рассчитанным голубым, желтым и пурпурным. Особенно трудно получить из этих красок
черный цвет. Поэтому в модели CMYK к триаде CMY добавляют черный цвет K. От слова

blacK для обозначения черного цвета взята последняя буква, и т.к. буква B уже используется
в модели RGB для обозначения синего цвета.

Рис. 4а Излучающий объект RGB        Рис. 4б Отражающий объект CMYK

Если кодировать цвет одной точки изображения тремя битами, каждый из которых будет
являться признаком присутствия (1) или отсутствия (0) соответствующей компоненты
системы RGB, то мы получим все восемь различных цветов описанных выше моделей.

Таблица 1

1 бит на каждый компонент
RGB
23=8

R

G

B

Цвет

1

1

1

W (white /белый)

1

1

0

Y (yellow / желтый)

1

0

1

M (magenta / пурпурный)

1

0

0

R (red / красный)

0

1

1

C (cyan / голубой)

0

1

0

G (green / зеленый)

0

0

1

B (blue /синий)

0

0

0

K (black / черный)

На практике же, для сохранения информации о цвете каждой точки цветного изображения
в модели RGB обычно отводится 3 байта (т.е. 24 бита) - по 1 байту (т.е. по 8 бит) под
значение цвета каждой составляющей. Таким образом, каждая RGB-составляющая может
принимать значение в диапазоне от 0 до 255 (всего 28=256 значений), а каждая точка
изображения, при такой системе кодирования может быть окрашена в один из 23*8=224=16
777 216 цветов. Такой набор цветов принято называть TrueColor (правдивые цвета), потому
что человеческий глаз все равно не в состоянии различить большего разнообразия.

Рис. 5 Цветовой куб.

Изменяющиеся в диапазоне от 0 до 255 координаты RGB образуют цветовой куб. Любой
цвет расположен внутри этого куба и описывается своим набором координат,
показывающем в каких долях смешаны в нем красная, зеленая и синяя составляющие.

Таблица 2

Изображение

Основа
кодирования

Памяти на
пиксель

Кол-во цветов

байт

бит

Черно-белое

Bitmap

1

Оттенки серого

256 градаций
серого

1

8

28=256

Цветное
излучающее

RGB

3

24

224=16 777 216

Цветное
отражающее

CMYK

4

32

232=429 4967 296

2. Обобщенная схема шифрования изображения

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

Рис. 6 Схема шифрования

При шифровании изображения применяются технологии различных способов
кодирования матриц. Для перестановки элементов матрицы используется стандартный
генератор псевдослучайных чисел.Поэтому чаще используют гамму, получаемую с
помощью генератора псевдослучайных чисел (ПСЧ). В этом случае ключ - порождающее
число (начальное значение, вектор инициализации) для запуска генератора ПСЧ. Каждый
генератор ПСЧ имеет период, после которого генерируемая последовательность
повторяется. Период псевдослучайной гаммы должен превышать длину шифруемой
информации.

Генератор ПСЧ считается корректным, если наблюдение фрагментов его выхода не
позволяет восстановить пропущенные части или всю последовательность при известном
алгоритме, но неизвестном начальном значении.

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

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

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

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

Алгоритм шифрования

графического объекта будет состоять из следующих шагов:

  • 1)    Сопоставление пикселю графического изображения трех координат r, g, b (эти
    числа составляют RGB-код пикселя);

  • 2)    Задание начальных условий (параметров) динамической системы;

  • 3)    На основе решения нелинейного отображения с хаотической динамикой –
    генерация последовательности значений псевдослучайных чисел h;

  • 4)    Определение индексов нового цвета пикселя

Ir’=Ir+Ih

Ig’=Ig+Ih

Ib’=Ib+Ih

  • 5)    Получение нового (абсолютно другого) цвета пикселя;

  • 6)    Выполнение шагов 1-5 для всех элементов многоцветной матрицы.

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

  • 3.    Понятие симметричного фрактального ключа

В схеме с симметричным ключом имеется один ключ, который участвует в
шифровании и дешифровании информации. Шифрующая процедура при помощи ключа
производит ряд действий над исходными данными, дешифрующая процедура при помощи
того же ключа производит обратные действия над кодом.

К классу алгоритмов с симметричным ключом относится метод «одноразового
блокнота» - one-timepad, заключающийся в побитовом сложении – «гаммировании»
шифруемого текста со случайной последовательностью битов – ключом.

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

Алгоритм шифрования

Циклы зашифровки и расшифровки информации идентичны, опишем более
подробно первый из них:

  • -    Первый этап

На первом этапе, после загрузки необходимого файла для шифрования, производится
его перевод в двоичный код.

  • -    Второй этап

Формируется гамма последовательность на основе САФС такой же длинны, как и
длина полученной на первом этапе бинарной последовательности.

  • -    Третий этап

Следующий этап в цикле зашифрования - определение максимального и
минимального значений САФС w(t).

  • -    Четвертый этап

Сравнение максимума и минимума временных реализаций САФС с пороговым
значением. Задача вычисления величины порогаhявляется ключевой, от выбранного
значения порогабудет зависеть выходная двоичная последовательность для суммирования
с последовательностью сформированной из загруженного файла.

Значение порога должно удовлетворять условию:

min(w(t) )< h <max( w(t) ).

Установлено, что оптимальное значение порога h соответствует математическому
ожиданию w(t).

  • -    Пятый этап

Операция побитового сложения по модулю 2 последовательности сформированной
из загруженного файла и последовательности сформированной из САФС.

  • 4.    Задание

  • 1)    Шифрование-расшифрование с помощью собственного имени

Полиалфавитная подстановка

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

Зашифровать фразу «Я люблю радиотехнику», используя свою фамилию имя и
отчество в качестве ключа.

Я люблю РОАТ и автоматику

1

Кодовое слово:

Фамилия Имя Отчество

2

Сообщение:

Я люблю радиотехнику

Алгоритм шифрования:

3

Зашифрованное
сообщение:

Пример:

Кодовое слово:                 АлександрСергеевичПушкин

Убираем повторяющиеся буквы:   алекс ндр г вичпуш

Сообщение:                     Ялюблюрадиотехнику

Убираем повторяющиеся буквы:   ялюб радиотехн ку

Алгоритм шифрования:

алексндргвичпуш
ялюбрадиотехнку

Зашифрованное слово: алеклесндргвичпруш

  • 2)    Шифрование своей фамилии с помощью кода Цезаря

Код Цезаря

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

  • 3)    Шифрование с помощью имени преподавателя, а расшифрование с
    помощью собственного имени

Понять идеи и методы криптографии с открытым ключом помогает следующий
пример — хранение паролей в компьютере. Каждый пользователь в сети имеет свой пароль.
При входе он указывает имя и вводит секретный пароль. Но если хранить пароль на диске
компьютера, то кто-нибудь его может считать (особенно легко это сделать администратору
этого компьютера) и получить доступ к секретной информации. Для решения задачи
используется односторонняя функция. При создании секретного пароля в компьютере
сохраняется не сам пароль, а результат вычисления функции от этого пароля и имени
пользователя. Например, пользователь Алиса придумала пароль «Гладиолус». При
сохранении этих данных вычисляется результат функции / (АЛИСА_ГЛАДИОЛУС),
пусть результатом будет строка РОМАШКА, которая и будет сохранена в системе. В
результате файл паролей примет следующий вид:

Таблица 4

Имя

АЛИСА

/(имя_пароль)
РОМАШКА

БОБ

НАРЦИСС

Вход в систему теперь выглядит так:

Таблица 5

Имя:

АЛИСА

Пароль:

ГЛАДИОЛУС

Когда Алиса вводит «секретный» пароль, компьютер проверяет, даёт или нет
функция, применяемая к АЛИСА_ГЛАДИОЛУС, правильный результат РОМАШКА,
хранящийся на диске компьютера. Стоит изменить хотя бы одну букву в имени или в
пароле, и результат функции будет совершенно другим. «Секретный» пароль не хранится в
компьютере ни в каком виде. Файл паролей может быть теперь просмотрен другими
пользователями без потери секретности, так как функция практически необратимая.

В предыдущем примере используется односторонняя функция без лазейки, поскольку
не требуется по зашифрованному сообщению получить исходное. В следующем примере
рассматривается схема с возможностью восстановить исходное сообщение с помощью
«лазейки», то есть труднодоступной информации. Для шифрования текста можно взять
большой абонентский справочник, состоящий из нескольких толстых томов (по нему очень
легко найти номер любого жителя города, но почти невозможно по известному номеру
найти абонента). Для каждой буквы из шифруемого сообщения выбирается имя,
начинающееся на ту же букву. Таким образом букве ставится в соответствие номер
телефона абонента. Отправляемое сообщение, например «КОРОБКА», будет зашифровано
следующим образом:

Таблица 6

Сообщение

Выбранное имя

Криптотекст

К

Королёв

5643452

О

Орехов

3572651

Р

Рузаева

4673956

O

Осипов

3517289

Б

Батурин

7755628

К

Кирсанова

1235267

А

Арсеньева

8492746

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

Коробка = 5643452357265146739563517289775562812352678492746

Таблица 7

Криптотекст 1

Криптотекст 2

Криптотекст 3

1235267

5643452

1235267

3572651

3517289

3517289

4673956

4673956

4673956

3517289

3572651

3572651

7755628

7755628

7755628

5643452

1235267

5643452

8492746

8492746

8492746

Чтобы расшифровать текст, надо иметь справочник, составленный согласно возрастанию
номеров. Этот справочник является лазейкой (секрет, который помогает получить
начальный текст), известной только легальным пользователям. Не имея на руках копии
справочника, криптоаналитик затратит очень много времени на расшифровку [1].

4)Определите, каким цветам из набора: красный, зеленый, синий, белый,
черный, соответствуют следующие десятичные коды в системе RGB:

  • •    0,255,0;

  • •    255,255,255;

  • •    0,0,0;

  • •    0,0,255;

  • •    255,0,0.

  • 5) Контрольные вопросы

  • 1.    Что такое растровое изображение?

  • 2.    Дайте определение симметричного фрактального ключа. Какие еще виды ключей вы
    знаете?

  • 3.    Расскажите про известные вам модели изображений.

  • 4.    В каком случае генератор ПСЧ считается корректным?

  • 5.    Определите индексы цвета пикселя.

  • 6.    Из каких шагов состоит алгоритм шифрования графического объекта?

  • 7.    Перечислите недостатки схемы с симметричным фрактальным ключом.

  • 8.    Опишите алгоритм шифрования с помощью симметричного фрактального ключа.

6)Библиографический список

1. Саломаа А. Криптография с открытым ключом. с. 74-75

Комментарии (0)

Чтобы оставить комментарий, нужно войти в личный кабинет или зарегистрироваться.