Объяснение асимметричного шифрования без математики

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

В нашей мета­фо­ре шиф­ро­ва­ние — это когда вы веша­е­те замок на что-то, к чему хоти­те огра­ни­чить доступ для посто­рон­них, а рас­шиф­ро­вы­ва­ние — это когда кто-то откры­ва­ет этот замок.

Коротко об асимметричном шифровании

Если вам нуж­но погру­зить­ся получ­ше — почи­тай­те нашу ста­тью, там всё про клю­чи и чис­ла. Корот­кая вер­сия зву­чит так:

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

Мир с замками и заводами

Пред­ставь­те себе такой мир, в кото­ром у каж­до­го жела­ю­ще­го есть свой малень­кий завод по про­из­вод­ству зам­ков. Любой чело­век может выпу­стить любое чис­ло зам­ков в любой момент. 

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

Так как ключ к каж­дой серии зам­ков выпус­ка­ет­ся толь­ко один, то хозя­ин заво­да дол­жен его беречь. Если ключ поте­ря­ет­ся, зам­ки нель­зя будет открыть. А если ключ ста­нет досто­я­ни­ем обще­ствен­но­сти, то кто угод­но смо­жет открыть замок. 

Шифрование — запираем ящик на замок

Теперь пред­ста­вим такую ситу­а­цию:

  1. Вы зака­зы­ва­е­те новую серию зам­ков с клю­чом.
  2. Ключ пря­че­те у себя.
  3. Зам­ки раз­да­ё­те всем жела­ю­щим.

После это­го вы всем объ­яв­ля­е­те, что если кто-то захо­чет пере­дать вам что-то по сек­ре­ту, то он дол­жен сде­лать так:

  1. Поло­жить сек­рет­ное сооб­ще­ние в ящик.
  2. Запе­реть этот ящик, защёлк­нув на нём ваш замок.
  3. Отпра­вить ящик на ваш адрес.

Расшифровка — открываем ящик

Когда вла­де­лец сек­рет­но­го клю­ча полу­ча­ет посыл­ку, он откры­ва­ет замок сво­им клю­чом и видит содер­жи­мое ящи­ка. Если он поте­ря­ет ключ, то запас­ных вари­ан­тов у него в этом слу­чае не будет — сооб­ще­ние оста­нет­ся непро­чи­тан­ным.

Плюсы и минусы

Плюс — сек­рет­ное сооб­ще­ние может вам отпра­вить кто угод­но, у кого есть ваш замок. А ещё одни­ми и теми же зам­ка­ми мож­но запи­рать мно­го раз­ных посы­лок, если нуж­но пере­дать мно­го сооб­ще­ний.

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

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

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

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

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

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

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