Применение криптографии в решении вопросов аутентификации, целостности
данных, передачи конфиденциальной информации
по каналам связи и т.п. стало неотъемлемым
атрибутом информационных систем. В современном
мире криптография находит множество
различных применений - она используется
в сотовой связи, платном цифровом телевидении,
при подключении к Wi-Fi, для защиты билетов
от подделок на транспорте, в банковских
операциях, в системах
электронных платежей и т.д.
1.5 Современные методы шифрования
Симметричное шифрование использует один и тот же ключ и для зашифрования, и для расшифрования.
Асимметричное шифрование использует два разных ключа: один для зашифрования (который также называется открытым), другой для расшифрования (называется закрытым).
Эти методы решают
определенные задачи и обладают как достоинствами,
так и недостатками. Конкретный выбор
применяемого метода зависит от целей,
с которыми информация подвергается шифрованию.
Симметричное
шифрование
В симметричных криптосистемах
для шифрования и расшифрования используется
один и тот же ключ. Отсюда название — симметричные.
Алгоритм и ключ выбирается заранее и
известен обеим сторонам. Сохранение ключа
в секретности является важной задачей
для установления и поддержки защищённого
канала связи. В связи с этим, возникает
проблема начальной передачи ключа (синхронизации
ключей). Кроме того существуют методы
криптоатак, позволяющие так или иначе
дешифровать информацию не имея ключа
или же с помощью его перехвата на этапе
согласования. В целом эти моменты являются
проблемой криптостойкости конкретного
алгоритма шифрования и являются аргументом
при выборе конкретного алгоритма.
Недостатками симметричного
шифрования является проблема передачи
ключа собеседнику и невозможность установить
подлинность или авторство текста. Поэтому,
например, в основе технологии цифровой
подписи лежат асимметричные схемы.
Асимметричное
шифрование (с открытым ключом)
В системах с открытым
ключом используются два ключа — открытый
и закрытый, связанные определенным математическим
образом друг с другом. Открытый ключ передаётся
по открытому (то есть незащищённому, доступному
для наблюдения) каналу и используется
для шифрования сообщения и для проверки
ЭЦП. Для расшифровки сообщения и для генерации
ЭЦП используется секретный ключ[21].
Данная схема решает
проблему симметричных схем, связанную
с начальной передачей ключа другой стороне.
Если в симметричных схемах злоумышленник
перехватит ключ, то он сможет как «слушать»,
так и вносить правки в передаваемую информацию.
В асимметричных системах другой стороне
передается открытый ключ, который позволяет
шифровать, но не расшифровывать информацию.
Таким образом решается проблема симметричных
систем, связанная с синхронизацией ключей.
Если необходимо наладить
канал связи в обе стороны, то первые две
операции необходимо проделать на обеих
сторонах, таким образом, каждый будет
знать свои закрытый, открытый ключи и
открытый ключ собеседника. Закрытый ключ
каждой стороны не передается по незащищенному
каналу, тем самым оставаясь в секретности.
Если вы с собеседником
обмениваетесь информацией посредством
идеальной шифрующей системы, то всегда
существует возможность найти дефект
не в используемой системе, а в тех, кто
её использует. Можно выкрасть ключи у
доверенного лица или подкупить его, и
зачастую это оказывается гораздо дешевле,
чем взламывание шифра. Поэтому процесс,
содержанием которого является составление
и распределение
ключей между пользователями, играет важнейшую
роль в криптографии как основа для обеспечения
конфиденциальности обмена информацией.
- Шифрования и кодирования
информации
Одна из наиболее важных задач информатизации
процессов – кодирование сообщений и
шифрования информации.
Код – правило соответствия набора знаков
одного множества Х знакам другого множества
Y. Если каждому символу Х при кодировании
соответствует отдельный знак Y, то это кодирование. Если для каждого символа
из Y однозначно отыщется по некоторому
правилу его прообраз в X, то это правило
называется декодированием.
При представлении сообщений в ЭВМ все
символы кодируются байтами.
Пример. Если каждый цвет кодировать двумя битами,
то можно закодировать не более 22 = 4 цветов, тремя – 23 = 8 цветов, восемью битами (байтом) – 256
цветов.
Правила шифрования должны
быть выбраны так, чтобы зашифрованное
сообщение можно было расшифровать. Однотипные
правила объединяются в классы, и внутри
класса определяется некоторый параметр
(числовой, символьный табличный и т.д.),
позволяющий перебирать (варьировать)
все правила. Такой параметр называется шифровальным
ключом.
Традиционные
симметричные криптосистемы
В симметричных криптосистемах (криптосистемах
с секретным ключом) шифрование и дешифрование
информации осуществляется на одном ключе
K, являющемся секретным. Рассекречивание
ключа шифрования ведет к рассекречиванию
всего защищенного обмена. Ключ алгоритма
должен сохраняться в секрете обеими сторонами.
Ключ алгоритма выбирается сторонами
до начала обмена сообщениями.
В симметричной криптосистеме секретный
ключ необходимо передать всем участникам
криптографической сети по некоторому
защищенному каналу.
В настоящее время симметричные шифры
- это:
· блочные шифры,
· поточные шифры.
Распространенные алгоритмы симметричного
шифрования:
· DES и TripleDES (3DES)
· AES (Rijndael)
· ГОСТ 28147-89
По состоянию на 2006 год AES является
одним из самых распространённых алгоритмов
симметричного шифрования.
Шифры традиционных симметричных
криптосистем можно разделить на следующие
основные виды:
1. Шифры замены.
2. Шифры перестановки.
3. Шифры гаммирования.
Шифрование
методом замены
Шифрование заменой (подстановкой) заключается
в том, что символы шифруемого текста заменяются
символами того же или другого алфавита
в соответствие с заранее оговоренной
схемой замены. Данные шифры являются
наиболее древними. Принято делить шифры
замены на моноалфавитные и многоалфавитные.
Шифрование
методом Цезаря
При шифровании исходного текста
по данному методу каждая буква заменяется
на другую букву того же алфавита путем
ее смещения в используемом алфавите на
число позиций равное K. При достижении
конца алфавита выполняется циклический
переход к его началу. Общая формула шифра
Цезаря имеет следующий вид:
где P – номер символа открытого
текста, С – соответствующий ему номер
символа шифротекста, K – ключ шифрования
(коэффициент сдвига), M – размер алфавита
(для русского языка M=32)
Шифрование методами перестановки
Шифрование перестановкой
заключается в том, что символы открытого
текста переставляются по определенному
правилу в пределах некоторого блока этого
текста. Данные преобразования приводят
к изменению только порядка следования
символов исходного сообщения.
Метод
простой перестановки
При шифровании методом
простой перестановки производят деление
открытого текста на блоки одинаковой
длины равной длине ключа. Ключ длины n представляет
собой последовательность неповторяющихся
чисел от 1 до n. Символы открытого
текста внутри каждого из блоков переставляют
в соответствие с символами ключа. Элемент
ключа Ki в заданной позиции блока говорит
о том, что на данное место будет помещен
символ открытого текста с номером Ki из
соответствующего блока.
Шифрование методом гаммирования
Под гаммированием понимают
наложение на открытые данные по определенному
закону гаммы шифра.
Гамма шифра – псевдослучайная
последовательность, вырабатываемая по
определенному алгоритму, используемая
для шифровки открытых данных и дешифровки
шифротекста.
Принцип шифрования заключается
в формировании генератором псевдослучайных
чисел (ГПСЧ) гаммы шифра и наложении этой
гаммы на открытые данные обратимым образом,
например, путем сложения по модулю два.
Процесс дешифрования данных сводится
к повторной генерации гаммы шифра и наложении
гаммы на зашифрованные данные. Ключом
шифрования в данном случае является начальное
состояние генератора псевдослучайных
чисел. При одном и том же начальном состоянии
ГПСЧ будет формировать одни и те же псевдослучайные
последовательности. Перед шифрованием
открытые данные обычно разбивают на блоки
одинаковой длины, например по 64 бита.
Гамма шифра также вырабатывается в виде
последовательности блоков той же длины.
КОДИРОВАНИЕ
Существуют несколько способов
КОДИРОВАНИЯ:
Переход от естественных
обозначений к более компактным. Подавление
повторяющихся символов.
Кодирование часто
используемых элементов данных.
Коды переменной
длины.
4. Кодирование
двоичным кодом
Кодирование
целых и действительных чисел
Целые числа кодируются
двоичным кодом достаточно просто - необходимо
взять целое число и делить его пополам
до тех пор, пока частное не будет равно
единице. Совокупность остатков от каждого
деления, записанная справа налево вместе
с последним частным, и образует двоичный
аналог десятичного числа.
Кодирование
текстовых данных
Если каждому символу
алфавита сопоставить определённое целое
число, то с помощью двоичного кода можно
кодировать текстовую информацию. Восьми
двоичных разрядов достаточно для кодирования
256 различных символов. Это хватит, чтобы
выразить различными комбинациями восьми
битов все символы английского и русского
языков, как строчные, так и прописные,
а также знаки препинания, символы основных
арифметических действий и некоторые
общепринятые специальные символы.
Кодирование
графических данных
Если рассмотреть
с помощью увеличительного стекла чёрно-белое
графическое изображение, напечатанное
в газете или книге, то можно увидеть, что
оно состоит из мельчайших точек, образующих
характерный узор, называемый растром.
Поскольку линейные координаты и индивидуальные
свойства каждой точки (яркость) можно
выразить с помощью целых чисел, то можно
сказать, что растровое кодирование позволяет
использовать двоичный код для представления
графических данных. Общепринятым на сегодняшний
день считается представление чёрно-белых
иллюстраций в виде комбинации точек с
256 градациями серого цвета, и, таким образом,
для кодирования яркости любой точки обычно
достаточно восьмиразрядного двоичного
числа.
Для кодирования
цветных графических изображений применяется
принцип декомпозиции произвольного цвета
на основные составляющие. В качестве
таких составляющих используют три основные
цвета: красный (Red), (Green) и синий (Blue). На
практике считается, что любой цвет, видимый
человеческим глазом, можно получить механического
смешения этих трёх основных цветов. Такая
система кодирования получила названия
RGB по первым буквам основных цветов.
Кодирование
звуковой информации
Методы кодирования
звуковой информации двоичным кодом далеки
от стандартизации. Множество отдельных
компаний разработали свои корпоративные
стандарты, но среди них можно выделить
два основных направления:
- Метод FM (Frequency Modulation) основан
та том, что теоретически любой сложный
звук можно разложить на последовательность
простейших гармонических сигналов разных
частот, каждый из которых представляет
собой правильную синусоиду, а, следовательно,
может быть описан числовыми параметрами,
т.е. кодом.
- Метод таблично волнового
(Wave-Table) синтеза лучше соответствует современному
уровню развития техники. В заранее подготовленных
таблицах хранятся образцы звуков для
множества различных музыкальных инструментах.
В технике такие образцы называют сэмплами.
ПРОГРАММА ДЛЯ ШИФРОВАНИЯ
ИНФОРМАЦИИ «CYBERSAFE»
В современном сообществе компьютерные
сети и интернет играют огромную роль
в деловом и частном мире. И защита информации
является одним из основных вопросов,
требующих профессионального решения.
Для решения вопросов защиты применяются
передовые технологии кодирования и шифрования
информации в компьютерных системах. Наблюдается интенсивное
развитие IT-технологий, компьютерной техники
и Internet, информационная безопасность становится
в ряды наиболее важных и существенных
вопросов. В защите информационных ресурсов
нуждаются все, от обычных пользователей,
до компаний и организаций.
«CyberSafe» – программа для шифрования
информации, созданная профессиональными
специалистами для обеспечения защиты
данных от любого рода атак
и угроз на электронных носителях.
ПО способно применять для работы около
десяти алгоритмов кодирования и шифрования.
Обладает совместимостью с наиболее известными
продуктами в области шифрования конфиденциальной
информации, такими как OpenPGP, Крипто-Про,
MS CSP, что позволяет использовать ее в комплексе
с этими программными продуктами. CyberSafe не ограничивается
одним лишь шифрованием, что обеспечивает комплексный подход к защите ваших данных.
«CyberSafe» выполняет задачи по кодированию
и шифрованию персональной информации
(системных программ, файлов, папок), имеет
функцию защиты электронной почты, шифрования
с переносом в криптоконтейнеры, на внешние
диски и съемные носители резервных копий.
Позволяет работать с использованием
облачного хранилища Amazon S3. Для защиты данных
в своем наборе CyberSafe Top Secret имеет
более десяти алгоритмов шифрования, таких
как AES, RSA, BlowFish, OpenPGP, 3DES и другие. Кроме
того, программа поддерживает шифрование ГОСТ.
ГОСТ —
отечественный стандарт симметричного
шифрования, который был введен в начале
90-х, который также входит в число стандартов
Союза Независимых Государств. ГОСТ —
блочный алгоритм шифрования с размером
ключа в 256 бит, 32 циклами преобразования
работающий с блоками размером 64 бита,
в основе которого лежит сеть Фейстеля.