При symmetric encryption един и същ ключ се използва както за криптиране, така и за декриптиране на информацията. Следователно този ключ трябва да се пази таен само между двете страни.
Това не е особено подходящо, защото ако трябва да го раздаваш на много отсрещни страни, се губи елементът на секретност. Всеки, който има този ключ ще може да послушва връзката.
E да, той няма да е вечно един и същ, пак ще е per connection basis, но все пак…
При asymmetric encryption (или public key encryption) за криптиране ти трябва public ключа, а за декриптиране – private ключа. Следователно, и да имат public ключа, ще могат да подслушват трафика, но няма да могат да го разбират (декриптират). Само сървъра ще разбира какво „му говорят“, защото само той има private ключа.
Но това пък значи, че информацията ще може да се криптира само в едната посока, към този, който има private ключа.
Да, и затова asymmetric encryption се използва часто само за да се установи т.н. session key, и с него да се премине пак към symmetric encryption.
Литература: