Обмяна на ключове. За какво служи бавната криптография с публичен ключ?

В предишния урок вие научихте, че криптографията с публичен ключ е много бавна за криптиране на цели съобщения. Въпреки това тя има приложение – сигурна обмяна на ключ за криптографията с общ ключ.

Сигурна обмяна на общ ключ

Проблемът с криптографията с общ секретен ключ (наричана още симетрична криптография) беше методът на обмяна на ключа между комуникиращите страни.

От друга страна предимството й е нейната скорост. Тя е значително по-бърза от днешните асиметрични алгоритми.

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

Представете си двама души, които си приказват – Алиса (А) и Боб (B). Те искат тяхната комуникация да е защитена.

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

  1. A генерира своята двойка PUBLIC_A и PRIVATE_A – съответно публичен и частен ключ.
  2. A: PUBLIC_A --------> B (B вече знае PUBLIC_A)
  3. B генерира общия секретен ключ SYMETRIC_KEY
  4. B криптира SYMETRIC_KEY, използвайки PUBLIC_A (така само А ще може да декриптира, използвайки своя PRIVATE_A)
  5. PUBLIC_A ( SYMETRIC_KEY) ---> ШИФРОВАН_ТЕКСТ ---> PRIVATE_A ( ШИФРОВАН_ТЕКСТ) ---> SYMETRIC_KEY
  6. Двете страни знаят SYMETRIC_KEY, който пропътува безопасно пътя между тях
  7. Криптирането започва, използвайки SYMETRIC_KEY

Преглед на производителността

Това решение предлага най-добри параметри на производителността. Използвайки криптография с публичен ключ (бавна), вие кодирате съвсем малко количество данни – SYMETRIC_KEY. След това криптирането на голям обем данни се прави чрез симетрична криптография (която е бърза).