Криптосистемы с открытым ключом (асимметричные).

Слабым местом криптографических систем, при их практической реализации, является проблема распределения ключей. Для того чтобы был возможен обмен конфиденциальной информацией между двумя субъектами информационной системы, ключ должен быть сгенерирован одним из них, а затем, в конфиденциальном порядке, передан другому. В общем случае для передачи ключа опять же требуется использование крипто­системы.

Для решения этой проблемы на основе результатов, полученных классической и со­временной математикой, были предложены системы с открытым ключом.

Суть их состоит в том, что каждым адресатом информационной системы генерируются два ключа, связанные между собой по определенному правилу. Один ключ объявляется открытым, а другой за­крытым. Открытый ключ публикуется и доступен любому, кто желает послать сообщение адресату. Секретный ключ сохраняется в тайне.

Исходный текст шифруется открытым ключом и передается адресату. Зашифро­ванный текст не может быть расшифрован тем же открытым ключом. Де­шифрование сообщение возможно только с использованием закрытого ключа, который из­вестен только адресату рис. 6.4.

Асимметричные криптографические системы используют так называемые необрати­мые или односторонние функции, которые обладают следующим свойством: при заданном значении x относительно просто вычислить значение f(x), однако если y=f(x), то нет простого пути для вычисления значения x.

Алгоритмы шифрования с открытым ключом получили широкое распространение в современных информационных системах.

Алгоритмы криптосистем с открытым ключом можно использовать как:

· самостоятельные средства защиты передаваемых и хранимых данных.

· средства для распределения ключей.

· средства аутентификации пользователей.

 

 

 
 

 

 


Рис. 6.4. Криптосистема с открытым ключом.

 

Алгоритмы криптосистем с открытым ключом более трудоемки, чем традицион­ные криптосистемы, поэтому использование их в качестве самостоятельных средств защиты нерационально. Поэтому на практике рационально с помощью криптосистем с открытым ключом рас­пределять ключи, объем которых как информации незначителен. А потом с помощью обыч­ных алгоритмов осуществлять обмен большими информационными потоками.

Несмотря на довольно большое число различных криптосистем с открытым ключом, наиболее популярна – криптосистема RSA, разработанная в 1977 году и получившая назва­ние в честь ее создателей: Ривеста, Шамира и Эйдельмана.

Ривест, Шамир и Эйдельман воспользовались тем фактом, что нахождение больших простых чисел в вычислительном отношении осуществляется легко, но разложение на мно­жители произведения двух таких чисел практически невыполнимо. Доказано (теорема Рабина), что раскрытие шифра RSA эквивалентно такому разложению. Поэтому для любой длины ключа можно дать нижнюю оценку числа операций для раскрытия шифра, а с учетом производительности современных компьютеров оценить и необходимое на это время.

Пусть n=p q, где p и q – различные простые числа, а e и d удовлетворяют уравнению

e d(mod (p-1) (q-1))=1

Если p и q – достаточно большие простые числа, то разложение ппрактически не осуществимо. Это и заложено в основу системы шифрования RSA.

{е,п}– образует открытый ключ, а {d,п}– закрытый (или наоборот).

Открытый ключ публикуется и доступен каждому, кто желает послать владельцу клю­ча сообщение, которое зашифровывается указанным алгоритмом. После шифрования, сооб­щение невозможно раскрыть с помощью открытого ключа. Владелец же закрытого ключа без труда может расшифровать принятое сообщение.

Шифрование осуществляется по формуле: Sшифр=Se mod N.

Дешифрование осуществляется по формуле: S = Sdшифр mod N.

Где S – исходный текст, Sшифр – преобразованный текст, при этом S < N.