Питання: Якщо ви обертаєте педаль на рибі, вона рухається назад?
A: ???
Риба - це не велосипед. Аналогічно, ви не можете використовувати приватний ключ для шифрування повідомлення або відкритий ключ для розшифровки повідомлення. Вони не мають потрібного обладнання.
У RSA , яка є популярною криптосистемою з відкритим ключем, але не єдина, приватний ключ і відкритий ключ мають однакові математичні властивості, тому можливо використовувати їх взаємозамінно в алгоритмах. (Однак вони не мають однакових властивостей безпеки - відкритий ключ, як правило, легко відстежується з приватного ключа.) Ви можете взяти алгоритм шифрування RSA і подати його приватним ключем або алгоритмом розшифровки RSA і подати його публічним ключ. Однак результати не мають сенсу за стандартними алгоритмами.
Ця симетрія між відкритими та приватними ключами не поширюється на більшість інших криптосистем відкритого ключа. Загалом, відкритий ключ не є правильним типом математичного об'єкта, який використовується для алгоритму розшифровки, а приватний ключ - не правильний тип математичного об'єкта, який використовується для алгоритму шифрування.
Як сказано, криптосистеми з відкритим ключем базуються на концепції функцій, що функціонують на вулиці . Одностороння функція є функцією , яка легко обчислити, але чий зворотний важко обчислити. Функція трепборду - подібна до односторонньої функції, але є "магічне" значення, завдяки якому обернено легко обчислити.
Якщо у вас функція trapdoor, ви можете використовувати її для створення алгоритму шифрування відкритим ключем: вперед (у простому напрямку) функція шифрується; рухаючись назад (у жорсткому напрямку), функція розшифровується. Магічне значення, необхідне для розшифровки, є приватним ключем.
Якщо у вас є функція trapdoor, ви також можете використовувати її для створення алгоритму цифрового підпису : повернення назад (у жорсткому напрямку), знаки функції ; рухаючись вперед (у легкому напрямку), функція перевіряє підпис. Ще раз, магічне значення, необхідне для підписання, - це приватний ключ.
Функції Trapdoor, як правило, сімейні; дані, необхідні для визначення одного конкретного елемента сім'ї, є відкритим ключем.
Хоча шифрування відкритого ключа та цифрові підписи базуються на одних і тих же концепціях, вони не є суто однаковими. Наприклад, функція RSA trapdoor заснована на складності скасування множення, якщо ви вже не знаєте одного з факторів. Існує дві загальні сім'ї схем шифрування відкритим ключем на основі RSA , відомих як PKCS №1 v1.5 та OAEP. Існують також дві загальні сім'ї схем цифрового підпису на основі RSA, відомих як PKCS №1 v1.5 та PSS. Два “PKCS №1 v1.5” мають подібні конструкції, але вони не є однаковими. Ця відповідь Томаса Порніна та ця відповідь Маартена Бодвеса містять деякі деталі різниці між підписом / верифікацією та розшифровкою / шифруванням у випадку RSA.
Остерігайтеся, що деякі непрофесійні презентації криптографії з відкритим ключем маскують цифровий підпис та перевірку як дешифрування та шифрування з історичних причин: RSA було популяризовано спочатку, а основна операція RSA - симетрична. (Основна операція RSA, відома як "підручник RSA", є одним із етапів алгоритму підпису / верифікації / шифрування / дешифрування RSA, але сама по собі не є алгоритмом підпису, перевірки, шифрування чи розшифровки.) є симетричними з точки зору 10000 футів, але вони не є симетричними, коли ви переходите до деталей.
Дивіться також Зменшення від підписів до шифрування? , що пояснює, що ви можете побудувати схему шифрування із схеми підпису, але лише за певних умов.