воскресенье, 2 сентября 2018 г.

Отличие кода от шифра

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


Что такое кодирование

При кодировании буква, знак, цифра, слог, слово могу заменять букву, знак, слог, слово, группу слов (предложение) или даже целую мысль.

Существуют общеизвестные коды. Например, азбука Морзе, Q-код (Щ-код) или пляшущие человечки в рассказах о Шерлоке Холмсе... Даже написание программ и сайтов называется "написание программного кода".

Для прочтения закодированного сообщения нужно знать алгоритм и таблицу кодирования.

Кодирование не ставит своей целью обязательное сокрытие передаваемой информации. Цели тут обычно другие: вложить больше данных в единицу времени (пример – всем известная "ширина канала в Интернет"); обеспечить помехоустойчивость; экономить энергию и т.д.


Что такое шифрование

Для шифрования, в отличии от кодирования, сокрытие информации – это главная и определяющая цель.

При шифровании одна буква или цифра заменяет только одну букву или цифру. «1» может означать «А» или «Я», но никак не слог «НА» или целое слово «Англия».

Для прочтения зашифровонного сообщения недостаточно знать только алгоритм шифрования, нужно знать ключ

Типы шифров

Шифры могут использовать один ключ для шифрования и расшифрования или два различных ключа. По этому признаку различают:
  • Симметричный шифр использует один ключ для шифрования и расшифрования.
  • Асимметричный шифр использует два различных ключа.

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

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

Отдельно можно выделить подстановочные шифры в котором элементы исходного открытого текста заменяются зашифрованным текстом в соответствии с некоторым правилом, обладающие в своём большинстве слабой криптостойкостью. Одним из самых известных таких шифров является шифр Цезаря.



Для большей защищенности возможно использовать и оба метода: сначала сообщение кодируется, а потом шифруется... 

Комментариев нет:

Отправить комментарий