Шифрование
Что такое шифрование
Шифрование - обратимое изменение информации в целях сокрытия её от неавторизованных лиц. Грубо говоря, это процесс, при котором мы меняем информацию так, чтобы доступ к ней могли получить только мы.
Обычно информация шифруется при помощи пароля, называемого ключем.
С помощью шифрования обеспечиваются три состояния безопасности информации:
-
Конфиденциальность. Шифрование используется для скрытия информации от неавторизованных пользователей при передаче или при хранении.
-
Целостность. Шифрование используется для предотвращения изменения информации при передаче или хранении.
-
Идентифицируемость. Шифрование используется для аутентификации источника информации и предотвращения отказа отправителя информации от того факта, что данные были отправлены именно им.
Цели шифрования
Шифрование применяется для хранения важной информации в ненадёжных источниках и передачи её по незащищённым каналам связи. Такая передача данных включает два взаимно обратных процесса:
- Перед отправлением данных по линии связи или перед помещением на хранение они подвергаются зашифровыванию.
- Для восстановления исходных данных из зашифрованных к ним применяется процедура расшифровки.
Методы шифрования
- Симметричное шифрование использует один и тот же ключ и для зашифровывания, и для расшифровывания.
- Асимметричное шифрование использует два разных ключа: один для зашифровывания (который также называется открытым), другой для расшифровывания (называется закрытым).
Хеш, Соль
Хеш с солью — термин, который часто употребляется в криптографии.
- Хеш — это математическая функция, которая преобразует любое количество данных в строку фиксированной длины.
- Соль — это случайная информация, которая добавляется к исходным данным перед хешированием.
Хешируются часто пароли пользователей на сайте, чтобы хранить их в зашифрованном виде. Однако в незашифрованном виде пароли могут быть получены, используя таблицы реверс-инжиниринга. Хеш является неразрешимым для чтения и не может быть обратно преобразован в пароль.
Соль — это рандомно сгенерированная строка, добавляемая к паролю в момент хеширования. Это добавляет дополнительное уровень безопасности и усложняет подбор со стороны злоумышленников.
Для расшифровки хеша с солью, нужно иметь доступ к соли, которая была использована при хешировании. Затем нужно сгенерировать хеш от введенной пользователем строки и соотнести его с имеющимся. Если хеши совпадают — пароль верный.
Пример хеширования с солью
Пароль пользователя: «password123» Сгенерированная соль: «ABCD1234» Хеш: «2e35be0642f92898b8d6fa9d7527da3b»
Без защиты с солью атака на базу данных может привести к краже паролей пользователей. Хранить соль можно в базе данных или в отдельном файле. Важно, чтобы эта информация была недоступна для злоумышленников.
Примеры шифров
Шифр Цезаря
Шифр Цезаря — шифр, при использовании которого каждая буква из открытого текста заменяется на такую букву, которая в алфавите находится на некотором постоянном числе позиций левее или правее от рассматриваемой буквы. Например, при сдвиге букв русского алфавита вправо на 3 позиции
буква «А» заменяется на букву «Г»,
буква «Б» заменяется на букву «Д»,
и так далее,
буква «Ь» заменяется на букву «Я»,
буква «Э» заменяется на букву «А»,
буква «Ю» заменяется на букву «Б»,
буква «Я» заменяется на букву «В».
Что здесь ключ?
В качестве ключа используется число, отрицательно или положительное, указывающее на сдвиг в определенную сторону алфавита. Если число отрицательное - сдвиг будет влево относительно буквы, если положительный - вправо.
Шифр Цезаря назван в честь римского полководца Гая Юлия Цезаря, использовавшего его для шифрования текстов при переписке со своими военачальниками.
Практическое задание
Зашифровать слово "привет", а после расшифровать "щуцйц" с ключем сдвига - 8.
Азбука Морзе
Азбука Морзе - специальный алфавит, часто применяющийся у моряков. В нём каждая буква нашего алфавита имеет свой вариант кодировки - несколько точек или тире. Его нельзя отнести к каким-либо видам шифрования, поскольку он не использует ключа, но он также является одним из вариантов сокрытия информации.

Так, например, известный сигнал СОС (SOS) на Морзянке имеет следующее значение: ... --- ...
Практическое задание
Зашифровать слово "сова", а после расшифровать "- --- .-. -"