Шифрование, хеширование и кодирование

В школьные годы я всегда почему-то считал, что шифрование и кодирование - просто синонимы друг друга. Со временем я понял, насколько эти слова отличаются друг от друга. Но потом я познакомился с новым словом «хеширование». Это снова было почти похоже на «шифрование».

Сегодня, в этой 1-й части серии статей о безопасности, давайте обсудим основные различия между ними. Тогда разберемся в использовании каждого из них.

Кодировка:

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

Таким образом, кодирование в основном используется для правильных методов связи, поэтому данные не следует интерпретировать в чем-то еще.

Шифрование:

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

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

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

Хеширование:

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

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

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

Если у вас есть вопросы, напишите мне.