Терминология терминов: кодирование и шифрование

Почему-то последнее время всё чаще можно услышать/прочитать, как путают и неверно употребляют такие два термина, как “кодирование” и “шифрование”. То есть употребляют “кодирование” в смысле термина “шифрование” (даже в “профильных” публикациях, скажем, по программированию).

Вообще, кодирование – это из области способов записи, представления информации. Вот, например, пусть у нас есть “азбука Морзе” – это код, представляющий буквы “письменного алфавита”. Тогда кодирование – это процесс превращения слов текста в последовательности “точек и тире”, скажем, при передаче по каналу электросвязи. В принципе, здесь один код – фонетическая система записи речи – преобразуется в другой код, которому соответствуют импульсы электротока.

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

А вот для шифрования как раз сокрытие информации – это главная, определяющая цель. Зашифрованные данные можно кодировать всякими разными способами, например при передаче по различным каналам связи. Да. Но от этого шифрование не становится кодированием. И нехорошо писать “кодирование по RSA” или “текст кодируется с помощью DES”.

Addon: Поясню: да, формально можно определить шифрование “в виде” кодирования, потому что кодирование – это отображение символов одного кода в символы другого кода, и, понятно, алгоритм шифрования тоже отображает элементы множества открытых текстов в элементы множества шифртекстов – отсюда как раз растут неточности и ошибки. Но, ещё раз, кодирование имеет дело с представлением информации в каналах связи, в устройствах хранения. Шифры, шифрование – это уровнем выше. Такая уж сложилась терминология.

Адрес записки: https://dxdt.ru/2009/02/18/2118/

Похожие записки:



Далее - мнения и дискуссии

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

Комментарии читателей блога: 8

  • 1. 18th February 2009, 19:14 // Читатель xarkonnen написал:

    юзер Вася отправил юзеру Ире письмо емейлом.
    юзер Вася был хитёр и осторожен, поэтому письмо было зашифровано с помощью GPG.

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

    и прочитал сыщик в расшифрованном письме:

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

    и долго плакал сыщик, бился головой об стену и грыз клавиатуру, но так и не смог разгадать – что же закодировал Вася в этом послании..

  • 2. 18th February 2009, 19:44 // Читатель Evil Harconen написал:

    Совершенно нормальное употребление слова “кодирование”. Шифрование – частный случай кодирования.

  • 3. 18th February 2009, 19:55 // Читатель зашел в гости написал:

    В корне не согласен с автором заметки.

    Вот цитата из словаря Даля:
    “КОД: система условных обозначений, сигналов, передающих информацию”

    Как видите, определение на редкость размытое. В специализированной литературе хороший автор в самом начале четко должен оговорить, где он проводит границу между “шифровкой” и “кодировкой”. Если нет – то он заслуживает, чтобы его не поняли. А в разговорной речи – вообще какая разница, если люди понимают друг друга.

  • 4. 18th February 2009, 20:09 // Александр Венедюхин:

    Даль вообще старый. Но, тем не менее, и на его основе можно разобраться. Код – система сигналов, передающих информацию. Шифрование – действия/алгоритмы, преобразующие информацию.

  • 5. 18th February 2009, 20:23 // Читатель Дмитрий Пленкин написал:

    Александр, вы в своем комментарии сравниваете код (объект) и шифрование (процесс). Ну разве так можно?

    Как кодирование, так и шифрование саму информацию не изменяют. Меняется только ее представление. Согласны?

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

    ps. И где-нибудь в комментариях к спамозщите напишите, пожалуйста – латинские буквы используются или кириллица (а то фиг знает, как набирать код типа 123АВЕ). И есть ли зависимость от регистра :(

  • 6. 18th February 2009, 20:49 // Александр Венедюхин:

    Александр, вы в своем комментарии сравниваете код (объект) и шифрование (процесс). Ну разве так можно?

    По-моему, я не сравниваю, а как раз наоборот.

    Поэтому, как мне видится, шифрование от кодирования имеет смысл отличать по цели действия

    Ну можно, наверное, и с такой точки зрения посмотреть.

    латинские буквы используются или кириллица (а то фиг знает, как набирать код типа 123АВЕ)

    Латинские. Регистр важен, насколько я помню.

  • 7. 18th February 2009, 22:21 // Читатель memo написал:

    Александр прав, всё остальное от лукавого и от отсутствия образования (школьного). Для тех, кто ставит знак равенства советую подумать над фразами “я шифрую программы на С++”, “шифр Хемминга”, “кодирование текста решеткой” и т.п.

    З.Ы. Если человек не понимает сути произносимых слов, то он однозначно не понимает сути предмета.

  • 8. 19th February 2009, 09:48 // Читатель Alatar написал:

    [offtopic]
    To Александр Венедюхин
    Кстати, раз уж зашла речь о терминологии. Регулярно читаю Ваш блог и вижу, что Вы хорошо разбираетесь в компьютерной тематике (как минимум, в той её части, что связана с сетями и безопасностью), по-этому меня сильно коробит, когда Вы в статьях и комментариях употребляете термин “хакер” для обозначения компьютерных взломщиков, злоумышленников и тд. Конечно понятно, что благодаря всяким журналистам писателям, кинематографами тд., слабо связанным с этой сферой, для большинства людей это примерно одно и тоже, но я считаю, что специалисты в области ИТ должны знать значение этого термина и употреблять его правильно (дабы подавать пример остальным =)).
    [/offtopic]