Відкритий ключ тому й назвали "відкритим", що він не представляє секрету. Можна створити загальнодоступний "довідник відкритих ключів", куди можна помістити відкриті ключі всіх учасників обміну. При цьому кожен власник ключа вольний відкликати свій ключ з довідника або замінити його - ця процедура не відіб'ється на інших учасниках обміну. При цьому виникає проблема автентичності ключа в довіднику, але і вона залагодити. p align="justify"> Але за зручність треба платити. У разі використання асиметричної криптографії платою є час і довжини ключів. При використанні асиметричної криптографії характерною довжиною ключів є 512-1024 біт. Зараз, коли стали доступні високопродуктивні обчислювальні системи, набирає популярність використання 2048-бітних ключів. p align="justify"> Чи можна скоротити час шифрування, зберігши зручність асиметричної криптографії і додавши швидкість блокових шифрів? Виявляється, можна. Зазвичай надходять так: виробляють випадкову (або псевдовипадкову) послідовність і використовують її в якості одноразового (так званого сеансового) ключа для шифрування документа швидким симетричним алгоритмом. Потім, використовуючи асиметричний алгоритм, шифрують сеансовий ключ і передають його в зашифрованому вигляді разом з документом. При расшифровании документа спочатку розшифровують сеансовий ключ, а потім і сам документ. Через те, що сеансовий ключ має малу довжину, на його шифрування витрачається небагато часу. Використовувані зараз симетричні криптоалгоритми мають продуктивність порядку мегабайта в секунду (для програмних реалізацій) і десятків мегабайт у разі використання спеціалізованих кріптопроцессоров. p align="justify"> Асиметричні алгоритми показують продуктивність від одиниць до десятків кілобайт в секунду, в залежності від довжини ключа. При довжині сеансового ключа в 8-32 байта подібна гібридна кріптосхеми виявляється цілком ефективною. Але повернемося ненадовго до оцінок стійкості асиметричних алгоритмів і до проблем, що виникають при їх використанні. У цьому огляді ми постараємося обійтися без математичних викладок і формул, однак, відзначимо, що складність відновлення секретного ключа по про ідкрити визначається складністю розкладання великого числа на прості співмножники (так звана "задача факторизації") або складністю завдання "дискретного логарифмування".
Задачу "дискретного логарифмування" можна сформулювати так: взяли деякий відоме число, звели його в невідому ступінь і залишок від ділення цієї експоненти на деякий відоме велике просте число (так званий модуль) повідомили в якості результату. Всі числа натуральні. Потрібно знайти показник ступеня. Характерні довжини чисел, що беруть участь в обчисленнях, - кілька сотень десяткових розрядів (ось ті самі 512-1024-2048 біт). p align="justify"> Сьогоднішні результати теорії складності свідчать, що обчислювальна складність завдання дискретного логарифмування експоненціально залежить від величини модуля. Але нікому ще не вдалос...