Кодирование и шифрование — в чём разница?

👉 Эта ста­тья — для рас­ши­ре­ния кру­го­зо­ра. Если нуж­на прак­ти­ка, захо­ди­те в раз­дел «Это баг», там вагон прак­ти­ки.

«Дан­ные зако­ди­ро­ва­ны» и «дан­ные зашиф­ро­ва­ны» — это не одно и то же. После этой ста­тьи вы тоже смо­же­те раз­ли­чать эти два под­хо­да к дан­ным.

Кодирование 

Коди­ро­ва­ние — это пред­став­ле­ние дан­ных в каком-то виде, с кото­рым удоб­но рабо­тать чело­ве­ку или ком­пью­те­ру. 

Коди­ро­ва­ние нуж­но для того, что­бы все, кто хочет, мог­ли полу­чать, пере­да­вать и рабо­тать с дан­ны­ми так, как им хочет­ся. Бла­го­да­ря коди­ро­ва­нию мы можем обме­ни­вать­ся дан­ны­ми меж­ду собой — мы про­сто коди­ру­ем их в понят­ном для всех виде. 

Напри­мер, древ­ний чело­век видит вол­ка, это для него дан­ные. Ему нуж­но пере­дать дан­ные сво­е­му пле­ме­ни. Он про­из­но­сит какой-то звук, кото­рый у дру­гих его сопле­мен­ни­ков вызы­ва­ет ассо­ци­а­ции с поня­ти­ем «волк» или «опас­ность». Все моби­ли­зу­ют­ся. В нашем слу­чае звук — это был спо­соб коди­ро­ва­ния.

Кодирование и шифрование — в чём разница? Сло­во «волк» и сопут­ству­ю­щий ему звук — это вид коди­ро­ва­ния. Сам волк может не исполь­зо­вать такую коди­ров­ку

Для сле­ду­ю­ще­го при­ме­ра возь­мём бук­ву «а». Её мож­но про­из­не­сти как звук — это зна­чит, что мы зако­ди­ро­ва­ли эту бук­ву в виде зву­ко­вой вол­ны. Так­же эту бук­ву мож­но напи­сать про­пи­сью или в печат­ном виде. Всё это при­ме­ры коди­ро­ва­ния бук­вы «а», удоб­ные для чело­ве­ка. 

Кодирование и шифрование: примеры кодирования буквы «а», удобные для человека

В ком­пью­те­ре бук­ва «а» коди­ру­ет­ся по-разному, в зави­си­мо­сти от выбран­ной коди­ров­ки внут­ри опе­ра­ци­он­ной систе­мы:

Кодирование и шифрование: в компьютере буква «а» кодируется по-разному, в зависимости от выбранной кодировки внутри операционной системы

Коди­ро­ва­ние — это то, как удоб­нее вос­при­ни­мать инфор­ма­цию тем, кто ей поль­зу­ет­ся. Напри­мер, моря­ки коди­ру­ют бук­ву «а» после­до­ва­тель­но­стью из корот­ко­го и длин­но­го сиг­на­ла или точ­кой и тире. На язы­ке жестов, кото­рым поль­зу­ют­ся глу­хо­не­мые, она обо­зна­ча­ет­ся сло­жен­ны­ми почти в кулак паль­ца­ми. 

Сломанная кодировка

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

Похо­жая ситу­а­ция в ком­пью­те­ре. Допу­стим, вы уви­де­ли такой текст: 

рТЙ­ЧЕФ, ЬФП ЦХТОБМ лПД!

Здесь напи­са­но «При­вет, это жур­нал Код!», толь­ко в коди­ров­ке КОИ-8, кото­рую интер­пре­ти­ро­ва­ли через коди­ров­ку CP-1251. Ком­пью­тер не знал, какая здесь долж­на быть коди­ров­ка, поэто­му взял стан­дарт­ную для него CP-1251, посмот­рел сим­во­лы по таб­ли­це и выдал то, что полу­чи­лось. Если бы ком­пью­тер знал, что для этой коди­ров­ки нуж­на дру­гая таб­ли­ца, мы бы всё про­чи­та­ли пра­виль­но с пер­во­го раза.

Ещё кодирование

Коди­ро­ва­ни­ем поль­зу­ет­ся весь мир на про­тя­же­нии всей сво­ей исто­рии:

  • наскаль­ные рисун­ки коди­ру­ют исто­рии древ­них людей;
  • еги­пет­ская кли­но­пись на таб­лич­ках и бере­стя­ные гра­мо­ты — при­ме­ры алфа­вит­но­го коди­ро­ва­ния. Обыч­но нуж­ны были, что­бы зако­ди­ро­вать и зафик­си­ро­вать чис­лен­ность голов ско­та и меш­ков зер­на;
  • ноты у музы­кан­тов — коди­ру­ют музы­ку, а точ­нее, инструк­цию по испол­не­нию музы­ки;
  • дорож­ные зна­ки и сиг­на­лы све­то­фо­ра коди­ру­ют пра­ви­ла дорож­но­го дви­же­ния;
  • икон­ки в смарт­фоне — тоже при­мер коди­ро­ва­ния;
  • раз­ные наро­ды коди­ру­ют одни и те же сло­ва по-разному, каж­дый на сво­ём язы­ке;
  • знач­ки на ярлыч­ке одеж­ды коди­ру­ют инфор­ма­цию о том, как сти­рать и уха­жи­вать за вещью.

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

Шифрование 

Если коди­ро­ва­ние нуж­но, что­бы сде­лать инфор­ма­цию понят­ной для всех, то шиф­ро­ва­ние рабо­та­ет наобо­рот — пря­чет дан­ные от всех, у кого нет клю­ча рас­шиф­ров­ки.

Зада­ча шиф­ро­ва­ния — пре­вра­тить дан­ные, кото­рые могут про­чи­тать все, в дан­ные, кото­рые может про­чи­тать толь­ко тот, у кого есть спе­ци­аль­ное зна­ние (ключ без­опас­но­сти, сер­ти­фи­кат, пароль или рас­шиф­ро­воч­ная мат­ри­ца). Если паро­ля нет, то дан­ные внешне пред­став­ля­ют из себя пол­ную бес­смыс­ли­цу, напри­мер:

d73(5n-24^gj2*3=sdn%4^e

Здесь зашиф­ро­ва­на та же самая фра­за — «При­вет, это жур­нал Код!». Но не зная клю­ча для рас­шиф­ров­ки и прин­ци­па шиф­ро­ва­ния, вы не смо­же­те её про­чи­тать. 

Шиф­ро­ва­ние нуж­но, напри­мер, что­бы пере­дать дан­ные от одно­го к дру­го­му так, что­бы по пути их никто не про­чи­тал. Шиф­ро­ва­ние исполь­зу­ют:

  • госор­га­ны, что­бы защи­тить пер­со­наль­ные дан­ные граж­дан;
  • бан­ки, что­бы хра­нить инфор­ма­цию о кли­ен­тах и о пере­во­дах денег;
  • мес­сен­дже­ры, что­бы защи­тить пере­пис­ку;
  • сай­ты;
  • мобиль­ные при­ло­же­ния;
  • и всё осталь­ное, что свя­за­но с без­опас­но­стью или тай­на­ми.

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

Текст и иллю­стра­ции:
Миша Поля­нин

Редак­тор и кар­тин­ка с вол­ком:
Мак­сим Илья­хов

Кор­рек­тор:
Ира Михе­е­ва

Иллю­стра­тор:
Даня Бер­ков­ский

Вёрст­ка:
Маша Дро­но­ва

Достав­ка:
Олег Веш­кур­цев