Page 11 - 4395
P. 11
Ключ, використовуваний в симетричному шифруванні,
називатимемо секретним ключем. Два ключі, використовувані при
асиметричному шифруванні, називатимемо відкритим (публічним)
ключем і закритим (таємним) ключем. Закритий ключ тримається в
секреті, але називати його будемо закритим ключем, а не секретним,
щоб уникнути плутанини з ключем, використовуваним в
симетричному шифруванні. Закритий ключ позначатимемо KR,
відкритий ключ - KU.
Припустимо, що всі учасники мають доступ до відкритих
ключів один одного, а закриті ключі створюються локально кожним
учасником і, отже, розподілятися не повинні.
У будь-який час учасник може змінити свій закритий ключ і
опублікувати відкритий ключ, що становить йому пару, замінивши
ним старий відкритий ключ.
Діффі і Хеллман описують такі вимоги, які повинен
задовольняти алгоритм шифрування з відкритим ключем:
обчислювально легко створювати пару (відкритий ключ KU і
закритий ключ KR);
обчислювально легко, маючи відкритий ключ і
незашифроване повідомлення М, створити відповідне зашифроване
повідомлення С= Е [М];
KU
обчислювально легко дешифрувати повідомлення,
використовуючи закритий ключ М = D [C] = D [E [M]];
KR
KR
KU
обчислювально неможливо, знаючи відкритий ключ KU,
визначити закритий ключ KR.
обчислювально неможливо, знаючи відкритий ключ KU і
зашифроване повідомлення С, відновити початкове повідомлення М.
можна додати шосту вимогу, хоча вона не виконується для
всіх алгоритмів з відкритим ключем: функції шифрування E (англ.
Encrypt) і дешифрування D (англ. Decrypt) можуть застосовуватися у
будь-якому порядку:
М = Е [D [M]] = D [E [M]].
KU
KR
KU
KR
Це достатньо сильні вимоги, які вводять поняття
односторонньої функції з люком.
Односторонньою функцією називається така функція, у якої
кожен аргумент має єдине зворотне значення, при цьому обчислити
саму функцію легко, а обчислити зворотну функцію важко. Тобто
Y = f(X) – легко,
-1
X = f (Y) – важко.
11