Шифрование — это сокрытие или видоизменение данных таким образом, чтобы другие люди не могли их прочитать или понять. Даже если злоумышленникам удастся украсть зашифрованную информацию, они не смогут её использовать, не разгадав код.
Шифрование используют все: дети придумывают собственный язык, который никто кроме них не понимает, а взрослые переписываются в мессенджерах: такая переписка хранится в зашифрованном виде. Криптография — наука о шифровании — выделяет три основных составляющих шифра:
1. Объект. В современном мире закодировать можно практически что угодно: текст, аудио, видео, изображения и любые файлы в любом объёме.
2. Алгоритм. Это правила видоизменения информации, которые подчиняются определённой логике. Простой пример алгоритма шифрования — когда буквы заменяются их порядковым номером в алфавите.
При использовании алгоритма замены букв на их номер в алфавите вместо «К» пишется 12, вместо «О» — 15, а вместо «Т» — 20
3. Ключ. Это код расшифровки информации. В случае с алгоритмом, упомянутым выше, это будет таблица с порядковыми номерами букв алфавита.
Практический пример шифрования: человек оплачивает подписку онлайн-кинотеатра банковской картой. Кинотеатр хранит личные и финансовые данные пользователя в зашифрованном виде, сайт сервиса поддерживает HTTPS, который также кодирует информацию при передаче на сервер, а банк в свою очередь шифрует все транзакции клиента.
Другой пример: пользователь размещает фото в социальных сетях. В этой ситуации шифрование происходит сразу в нескольких направлениях. Фотография с телефона автоматически загружается в облачное хранилище, где информация содержится в зашифрованном виде. При этом соцсеть хранит закодированные данные пользователя, в том числе фотографии и пароли.
Чтобы заниматься шифрованием, не обязательно становиться криптографом. Кодирование данных используется во многих профессиях, например, в программировании и анализе данных. Какая именно IT-специальность подойдёт тому, кто интересуется шифрованием, подскажет тест профориентации, который Практикум разработал совместно с МГУ.
Шифрование использовали и до появления интернета. Основные события в истории шифрования информации:
● Древнеегипетский шифр. Один из первых примеров шифрования — папирус с текстом о медицине, который был написан примерно 4000 лет до нашей эры в Древнем Египте. В папирусе неизвестный видоизменил часть иероглифов.
● Древнесемитский шифр. Использовался начиная с VI века до н. э., встречается в том числе в Библии.
Алгоритм шифрования атбаш заключался в том, что буквы заменялись друг на друга в обратном порядке, к примеру, в русском языке «А» менялась на «Я», «Б» на «Ю» и так далее
● Шифр спартанцев. Появились первые криптографические устройства для шифрования данных. Спартанцы записывали информацию на бумажной ленте, обёрнутой вокруг специального цилиндра. Когда бумагу снимали, записи превращались в непонятный набор букв. Для расшифровки нужно было снова обернуть ленту вокруг цилиндра такого же размера.
● Шифр Юлия Цезаря. С помощью шифра древнеримский полководец передавал информацию своим сторонникам. Суть алгоритма шифрования Цезаря в том, что каждая буква заменяется на другую, следующую за ней через несколько шагов. Например, при шаге в две буквы «А» заменяется на «В», а «Б» на «Г».
● Шифр Вижинера. Первый пример полиалфавитного шифрования, которое включает несколько алфавитов. Шифр Вижинера основан на методе Цезаря, где одна буква заменяется на другую с определённым шагом. Однако в этом случае алфавит используется столько раз, сколько букв в нём содержится. При этом буквы в шифре последовательно сдвигаются влево.
Таблица шифра Вижинера в русском алфавите представляет собой 33 строки и столбца. Столбцы отвечают за кодирование исходного сообщения в ключ, а строки — за кодирование ключа в шифрованный текст
Шифр усложняется тем, что исходное сообщение кодируется ключом, который отправитель придумывает сам. При этом ключ записывается циклично так, чтобы количество его символов было равно количеству символов исходного текста. Сопоставляя в таблице буквы исходного текста и ключа, подобно судоку, можно составить зашифрованное послание.
Возьмём для примера фразу «Я учусь в Практикуме», а за основу ключа слово «Яндекс». Используя русскую таблицу шифра Вижинера, получим такой результат шифрования.
Исходный текст: ЯУЧУСЬВПРАКТИКУМЕ
Ключ: ЯНДЕКСЯНДЕКСЯНДЕК
Шифрованный текст: ЮБЫЧЬНБЭФЕХДЗШЧСП
Не зная ключа, такое послание довольно трудно разгадать. Долгое время считалось, что шифр Вижинера невозможно расшифровать, однако его всё-таки взломали в XIX веке.
● Шифровальная машина Томаса Джефферсона. Первой шифровальной машиной стал цилиндр, изобретённый Томасом Джефферсоном. Он представлял собой 36 вращающихся диска, установленных на одной оси. На каждом диске в произвольном порядке написаны буквы, из которых на одной линии составлялось исходное сообщение. Зашифрованным текстом становилась любая другая строчка цилиндра.
● Роторные шифровальные машины. Во время Второй мировой войны началось использование роторных машин для шифрования информации. Один из известных примеров таких устройств — «Энигма». Внешне она была похожа на печатную машинку, при нажатии клавиш которой внутри машины вращались роторы, отвечающие за преобразование букв в шифр. Такой механизм создавал миллионы различных вариантов шифрования.
● Электронное шифрование. С распространением компьютеров криптография вышла на новый математический уровень. В конце XX века компания IBM разработала стандарт электронного шифрования DES, который лёг в основу современных алгоритмов кодирования информации. Один из них — алгоритм RSA, который сейчас используется для защиты программного обеспечения и цифровых подписей.
В XXI веке появилось множество способов шифрования информации, которые можно разделить на три основных вида:
1. Симметричное. Его суть в том, что для кодирования и расшифровки информации используется один и тот же открытый ключ, доступ к которому может получить любой пользователь. Такой способ достаточно уязвим с точки зрения безопасности данных, поэтому он чаще применяется не для передачи, а для хранения информации. К примеру, на симметричном шифровании основано хранение переписки в мессенджерах и передача данных через HTTP.
2. Асимметричное. Более сложный вид шифрования данных, при котором для кодирования и дешифровки используются разные ключи. При этом ключ, который нужен для разгадывания кода, — закрытый, то есть им владеет только нужный получатель. Такой вид шифрования информации считается более надёжным, и его алгоритмы применяются, например, в системе цифровых подписей и блокчейне.
3. Хеш-функция (hash function — перемешивание). Особенность этого вида шифрования в том, что он не имеет обратной силы, то есть хеш-функцию невозможно раскодировать. Исходные данные можно преобразовать миллион раз, и результат всегда будет одинаковый. Однако, если внести изменение в первоначальную информацию, изменится и хеш-функция. Благодаря этому свойству использование этого вида шифрования чаще всего встречается при хранении паролей на сайтах. Когда пользователь вводит набор символов, система создаёт из него хеш-функцию и сверяется с хеш-функцией из хранилища данных. Если они совпадают, пользователь попадает в личный кабинет, если нет — значит, он ввёл неверный пароль.
Во многих компаниях часто применяется гибридное шифрование. В этом случае с помощью симметричных и асимметричных методов кодируется не только информация, но и ключи шифрования
Можно выделить три основных плюса шифрования информации, благодаря которым оно получило такое широкое распространение:
1. Данные доступны только тем, для кого они предназначены: без ключа и информации о методе шифровки другие люди не могут их разгадать.
2. Зашифрованная информация остаётся неизменной: её невозможно скорректировать в процессе передачи. Код шифрования уникален, и даже если попробовать его разгадать, внести изменения в данные и зашифровать обратно, он будет другим.
3. Отправитель данных может быть уверен, что доступ к ним имеет только нужный получатель. Это возможно благодаря аутентификации — подтверждению личности, которую проходит человек, прежде чем расшифровать информацию. Для этого, например, используется цифровая подпись.
Сегодня шифрование информации применяется во многих сферах: финансах, онлайн-коммуникациях, интернет-торговле, информационной безопасности, в электронном документообороте, на военной и государственной службе и т. д. По сути, шифрование данных необходимо везде, где собирается, хранится и передаётся конфиденциальная информация, в том числе — данные пользователей.
Читать также: