Криптосистема с открытым ключом — это тип криптографической системы, в которой используются два ключа: открытый ключ, известный всем, и закрытый (секретный) ключ, известный только получателю. Открытый ключ используется для шифрования или проверки подписи, а закрытый — для расшифрования или создания подписи.
Основные особенности криптосистем с открытым ключом:
Криптосистемы с открытым ключом устраняют необходимость передачи секретного ключа между отправителем и получателем, что улучшает безопасность.
Односторонняя функция — это функция, которая легко вычисляется в одном направлении, но чрезвычайно трудна для обратного вычисления. Иными словами, легко найти значение функции f(x), но сложно найти x, зная только значение f(x).
Односторонние функции — основа криптографии с открытым ключом, так как они обеспечивают сложность, необходимую для безопасности. Примером односторонней функции является умножение двух больших простых чисел: произведение легко найти, но разложение его на простые множители — сложная задача.
Односторонняя функция с секретом — это функция, которая остаётся трудновычислимой без знания определённого секрета. Если секрет известен, то функция становится обратимой. Эти функции используются для построения криптографических систем с открытым ключом, где открытый ключ доступен всем, но расшифровать сообщение можно только зная секрет (закрытый ключ).
Пример: экспоненциальная функция по модулю простого числа является односторонней функцией. Однако при знании секретного ключа (показателя) она может быть обратима.
RSA — это криптосистема с открытым ключом, основанная на сложности разложения на множители произведения двух больших простых чисел. Она была разработана Рональдом Ривестом, Ади Шамиром и Леонардом Адлеманом в 1977 году и является одной из самых популярных криптосистем для шифрования и цифровой подписи.
p и q, их произведение n = p * q становится модулем, а φ(n) = (p-1)(q-1) — функцией Эйлера. Выбирается число e, взаимно простое с φ(n), затем находится d такое, что (e * d) mod φ(n) = 1. Открытый ключ — (e, n), закрытый — (d, n).M преобразуется в шифротекст C по формуле C = M^e mod n.C преобразуется обратно в сообщение по формуле M = C^d mod n.RSA обеспечивает высокую безопасность при использовании ключей достаточной длины и применяется для защиты данных и создания цифровых подписей.
Ранцевая криптосистема — это тип криптосистемы с открытым ключом, основанный на сложной комбинаторной задаче — задаче ранца. Основная идея заключается в том, что отправитель зашифровывает сообщение, преобразуя его в задачу нахождения подмножества, сумма которого равна заданному значению.
Простая версия ранцевой криптосистемы строится следующим образом:
Хотя ранцевые криптосистемы были одними из первых примеров криптосистем с открытым ключом, они оказались уязвимыми для некоторых типов атак. На практике они редко используются, но играют исторически важную роль в развитии криптографии с открытым ключом.
Криптосистемы с открытым ключом обеспечивают защиту данных, не требуя предварительной передачи секретного ключа, и опираются на односторонние функции и задачи, которые трудно решить без знания секрета. RSA остаётся одной из самых надёжных и широко применяемых криптосистем, а ранцевые криптосистемы внесли вклад в развитие криптографических методов. Эти технологии играют важную роль в обеспечении конфиденциальности и безопасности данных в современных цифровых системах.