Найти в Дзене

Шифрование, хеширование, кодирование данных: различия и применение

Оглавление

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

Шифрование данных

Шифрование - обратимое преобразование информации в целях сокрытия сведений от несанкционированного круга лиц.

Шифрование происходит на основе алгоритмов, известных передающей и принимающей сторонам. Процесс преобразования открытой информации в закрытый вид называется шифрование. Обратный процесс преобразования закрытой (зашифрованной) информации в открытый вид называется дешифрование.

Взламывание шифра с получением алгоритма шифрования и ключа шифрования (при наличии) называется криптоанализ.

Алгоритм шифрования может использовать ключ шифрования или обходиться без него. Ключи шифрования бывают открытыми и закрытыми.

Шифрование применяется для реализации средств криптографической защиты информации (СКЗИ) - средства защиты хранимой информации и средства защиты передаваемой информации.

Узнать подробнее о криптографии можно в ответах Яндекс.Знатоки по вопросу "Что такое криптография?"

Хеширование данных

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

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

Известными алгоритмами хеширования являются MD5, SHA-1 и SHA-2.

Основные принципы хеширования:

  • при хешировании одинаковых данных получается одинаковое значение хеша (хеш-кода);
  • разные данные преобразуются в разные хеш-коды (хеш-суммы);
  • криптостойкость хеш-функции заключается в стойкости к восстановлению хешируемых данных и стойкости к коллизиям преобразования.

Одним из самых простых применений хеширования является хранение паролей (считается более защищённым способом, чем хранение паролей в явном виде).

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

Кодирование данных

Код - это система условных обозначений или сигналов.

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

Самым простым примером кодирования данных является текст. Кодирование может производиться рукописным или машинописным способом на определённом языке речи. Далее можно произвести перекодирование текста документа способом перевода его на другой язык.

Кодированием является написание программы для ЭВМ или перевод программы на другой язык программирования.

Элементами кодируемой информации могут быть:

  • буквы, слова и фразы естественного языка;
  • различные символы (знаки препинания, арифметические и логические операции и др.);
  • числа;
  • аудиовизуальные образы;
  • ситуации и явления;
  • генетическая информация;
  • и другие элементы.

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

Кроме языка речи и программирования известными кодовыми системами являются: азбука Морзе, код Бодо, компьютерная кодировка символов ASCII и Unicodе, шрифты, системы штрих-кодов и др.

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

Дополнительные материалы по теме этой статьи:

24 августа 2019 года.

автор: юрист Демешин Сергей Владимирович.

Участвуйте в обсуждении, пройдите опрос об интересных темах будущих публикаций (ссылка опроса в описании канала, также в описании указаны правила комментирования публикаций).