Подписване. Какво е подписването на съобщения?

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

Криптиране срещу подписване

Електронната комуникация изисква специална операция, наречена подписване (signing).

Представете си, че искате например да изпратите данъчна декларация до съответната служба. Несъмнено вие можете да криптирате документа, използвайки публичния ключ на данъчните, така че само те да могат да го декриптират. Обаче всеки (публичният ключ наистина е публичен!) може да изпрати документ, твърдейки, че е от вас. А това може доста да ви вгорчи живота.

Това, което искате, е да подпишете документа така, както подписвате неговия хартиен вариант. Но как се прави това?

Подписване с общ секрет

Когато установите общ секрет (криптография със секретен ключ / симетрична криптография) с вашия партньор (например данъчната служба), всяко ваше съобщение, криптирано с ключа, казва и неписаната истина: "Аз съм създадено от една от страните, споделяща секретния ключ, освен ако ключът случайно не е станал публично достояние".

Следователно този алгоритъм прави другите механизми за подписване излишни. Но той изисква сложна инфрастуктура, особено от страна на получателя (данъчните служби). Те биха се нуждаели от голяма база данни, съхраняваща защитено всички ключове на потребителите. Когато защитата на базата данни бъде разбита, всички данъкоплатци ще трябва да отидат до данъчната служба лично (понеже трябва сигурна обмяна на ключ) и да генерират нови ключове.

Подписване с публичен ключ

Можете да използвате вашата двойка публичен/частен ключ в обратен ред, за да подписвате съобщения.

Запомнете, и двата ключа могат да се използват за криптиране на съобщение. Тогава вторият ключ се използва за декриптиране. Нормално вие кодирате с публичния ключ на друг човек, така че само той да може да го декриптира със своя частен ключ.

Представете си, че направите вашия публичен ключ наистина публичен – например го публикувате в интернет сайт. Сега всички могат да криптират съобщения до вас, така че само вие да можете да ги прочетете. Но какво става, ако криптирате съобщение с вашия собствен частен ключ?

Всеки, който знае вашия публичен ключ (на практика всеки), може да го декриптира. Така че в случая няма никаква сигурност.

Но когато съобщението може да бъде декриптирано с публичния ключ, това означава, че то задължително е криптирано с частния. Само вие имате вашия частен ключ, следователно само вие можете да бъдете авторът на това съобщение.