Современные
информационные технологии/Информационная безопасность
Иваница А.В.
Национальный горный университет, Украина
Основные алгоритмы шифрования
В отношении криптоалгоритмов существует
несколько схем классификации, каждая из которых основана на группе характерных
признаков. Таким образом, один и тот же алгоритм «проходит» сразу по нескольким
схемам, оказываясь в каждой из них в какой-либо из подгрупп.
Основной схемой классификации всех
криптоалгоритмов является следующая:
· Тайнопись. Отправитель и получатель
производят надсообщением преобразования, известные только им двоим. Сторонним
лицам неизвестен сам алгоритм шифрования.
· Криптография с ключом. Алгоритм
воздействия на передаваемые данные известен всем сторонним лицам, но он зависит
от некоторого параметра — «ключа», которым обладают только отправитель и
получатель.
Симметричные криптоалгоритмы. Для
зашифровки и расшифровки сообщения используется один и тот же блок информации
(ключ).
Асимметричные криптоалгоритмы. Алгоритм
таков, что для зашифровки сообщения используется один («открытый») ключ,
известный всем желающим, а для расшифровки — другой («закрытый»), существующий
только у получателя.
Обратное же преобразование практически
невозможно.
В зависимости от характера воздействий,
производимых над данными, алгоритмы подразделяются на:
· Перестановочные. Блоки информации (байты,
биты, более крупные единицы) не изменяются сами по себе, но изменяется их
порядок следования, что делает информацию недоступной стороннему наблюдателю.
· Подстановочные.
Сами блоки информации изменяются по законам криптоалгоритма. Подавляющее
большинство современных алгоритмов принадлежит этой группе.
Важно: любые криптографические
преобразования не увеличивают объем информации, а лишь изменяют ее
представление. Поэтому, если программа шифрования значительно (более, чем на
длину заголовка) увеличивает объем выходного файла, то в ее основе лежит не
оптимальный, а возможно и вообще некорректный криптоалгоритм.
Уменьшение объема закодированного файла
возможно только при наличии встроенного алгоритма архивации в криптосистеме и
при условии сжимаемости информации (так, например, архивы, музыкальные файлы
формата МРЗ, видеоизображения формата JPEG сжиматься более чем на 2-4% не
будут).
В зависимости от размера блока информации
криптоалгоритмы делятся на:
· Потоковые шифры. Единицей кодирования
является один бит. Результат кодирования не зависит от прошедшего ранее
входного потока. Схема применяется в системах передачи потоков информации, то
есть в тех случаях, когда передача информации начинается и заканчивается в
произвольные моменты времени и может случайно прерываться. Наиболее
распространенными представителями поточных шифров являются скремблеры.
· Блочные шифры. Единицей кодирования
является блок из нескольких байтов (в настоящее время 4-32). Результат
кодирования зависит от всех исходных байтов этого блока. Схема применяется при
пакетной передаче информации и кодировании файлов.
Ключ, используемый для дешифровки может не
совпадать с ключом, используемым для шифрования, однако в большинстве
алгоритмов ключи совпадают.
Симметричные алгоритмы подразделяют на потоковые шифры
и блочные шифры. Потоковые позволяют шифровать информацию побитово, в то время как блочные работают
с некоторым набором бит данных (обычно размер блока составляет 64 бита) и
шифруют этот набор как единое целое. Асимметричные шифры (также именуемые
алгоритмами с открытым ключом, или — в более общем плане — криптографией с
открытым ключом) допускают, чтобы открытый ключ был доступен всем (скажем, опубликован
в газете). Это позволяет любому зашифровать сообщение. Однако расшифровать это
сообщение сможет только нужный человек (тот, кто владеет ключом дешифровки).
Ключ для шифрования называют открытым ключом, а ключ для дешифрования —
закрытым ключом или секретным ключом.
Многие качественные криптографические
алгоритмы доступны широко — в книжном магазине, библиотеке, патентном бюро или
в Интернет. К широко известным симметричным алгоритмам относятся DES и IDEA,
наверное самым лучшим асимметричным алгоритмом является RSA.
Литература:
1.
Сергей Панасенко. Алгоритмы шифрования.
Специальный справочник - " БХВ-Петербург", 2009. -576 с.:ил.
2.
Л. К. Бабенко, Е. А. Ищукова. Современные
алгоритмы блочного шифрования и методы их анализа – "Гелиос АРВ", 2006
-376с.:ил.