- •Криптография
- •Модель традиционного шифрования
- •Криптосистемы с открытым ключом
- •Американский стандарт шифрования данных des
- •Матрица обратной перестановки ip-1
- •Отечественный стандарт шифрования данных
- •32, 31, ... 2, 1 Номер разряда n1
- •32, 31, .. 2, 1 Номер разряда n2
- •Комбинированный метод шифрования
- •Электронная цифровая подпись Проблема аутентификации данных и электронная цифровая подпись
- •Однонаправленные хэш-функции
Криптосистемы с открытым ключом
Алгоритмы шифрования с открытым ключом зависят от одного ключа для шифрования и другого, связанного с первым, ключа для дешифрования. Эти алгоритмы имеют следующую важную особенность.
• С точки зрения вычислений нереально определить ключ дешифрования, зная только используемый криптографический алгоритм и ключ шифрования.
Кроме того, некоторые алгоритмы (например, RSA) имеют следующее свойство.
• Любой из этих двух связанных ключей может служить, для шифрования, и тогда другой может применяться для дешифрования.
1. Каждая конечная система в сети генерирует пару ключей для шифрования и дешифрования получаемых сообщений.
2. Каждая из систем публикует свой ключ шифрования, размещая его ключ в открытом для всех реестре или файле. Этот и есть открытый ключ. Второй ключ, соответствующий открытому, остается в личном владении.
3. Если пользователь А собирается послать сообщение пользователю В, он шифрует сообщение, используя открытый ключ пользователя В.
4. Когда пользователь В получит сообщение, он дешифрует его с помощью своего личного влюча. Другой получатель не сможет дешифровать сообщение, поскольку яичный ключ В знает только В.
В рамках этого подхода все участники имеют доступ к открытым ключам, а личные ключи генерируются на месте каждым участником для себя и поэтому их никогда не приходится распределять. До тех пор пока системе удается сохранять свой личный ключ в секрете, поступающие сообщения оказываются защищенными. В любой момент система может изменить свой личный ключ и опубликовать соответствующий ему открытый ключ, заменяющий старый открытый ключ.
В табл. 6.1 сравниваются некоторые важные характеристики традиционного шифрования и шифрования с открытым ключом. Чтобы различать эти два подхода, мы будем называть ключи, предназначенные для традиционного шифрования, секретными ключами. Два ключа, с помощью которых осуществляется шифрование с открытым ключом, будут называться, соответственно, открытым ключом и личным ключом. Личный ключ, конечно же, тоже должен храниться в секрете, но называется личным ключом, а не секретным ключом во избежание путаницы с ключом схемы традиционного шифрования.
Таблица 6.1. Традиционное шифрование и шифрование с открытым ключом
Традиционное шифрование
|
Шифрование с открытым ключом
|
Необходимо для работы 1. Один алгоритм с одним и тем же ключом . служит и для шифрования, и для дешифрования 2. Отправитель и получатель должны использовать . одинаковые алгоритм и ключ
Необходимо для защиты 1. Ключ должен сохраняться в секрете 2. Должно быть невозможно или, по крайней мере, . практически невозможно расшифровать сообще- . ние при отсутствии дополнительной информации 3. Знания алгоритма и наличия образцов . шифрованного текста должно быть едостаточно . для того, чтобы восстановить ключ
|
Необходимо для работы 1. И для шифрования, и для дешифрования . используется один алгоритм, но два ключа: . один ключ для шифрования, а другой — для . дешифрования 2. Отправитель и получатель должны иметь по . . одному из пары соответствующих ключей (не . один и тот же) Необходимо для защиты 1. Один из двух ключей должен храниться в екрете 2. Должно быть невозможно или, по крайней мере, . практически невозможно расшифровать . сообщение при отсутствии дополнительной . информации 3. Знания алгоритма и одного из ключей и наличия . образцов шифрованного текста должно быть . недостаточно для того, чтобы восстановить . второй ключ |
Обеспечение конфиденциальности - решение проблемы защиты информации от ознакомления с её содержанием со стороны лиц, не имеющих права доступа к ней
Обеспечение аутентификации – разработка методов подтверждения подлинности сторон и самой информации в процессе информационного взаимодействия.
Давайте рассмотрим основные элементы схемы шифрования с открытым ключом более подробно. Итак, имеется некоторый источник сообщений А, создающий сообщение X= [X1, Х3,..., Хм] в виде открытого текста. Все М элементовXявляются буквами некоторого конечного алфавита. Сообщение адресовано получателю В. Адресат В генерирует связанную пару ключей: открытый ключKUbи личный ключKRb. КлючKRbостается известным только пользователю В, тогда как ключKUbпублично доступен и, таким образом, оказывается доступным отправителю А.
Имея сообщение Xи ключ шифрованияKUbв качестве входных данных, отправитель А формирует шифрованный текстY= [Y1,Y2,...,YN] следующим образом:
Y= ЕKUb(Х).
Предполагаемый получатель, владея соответствующим личным ключом, сможет обратить это преобразование:
X-DKRb(Y).
Противник, наблюдая Yи имея доступ кKUb, но не кKRbилиX, должен будет пытаться восстановитьXи/илиKRb. Предполагается, что противник знает алгоритмы шифрования (Е) и дешифрования (D). Если противника интересует только данное конкретное сообщение, то он сосредоточит свои усилия на восстановленииXс помощью получения оценокXдля открытого текста. Но часто противник бывает заинтересован в возможности чтения и последующих сообщений. В таком случае будет предпринята попытка восстановить ключKRbпутем генерирования для него оценкиKRb.
X^ Криптоаналитик Адресат
В Источник
А K^Ra
.
Рис. 6.2. Криптосистема с открытым ключом: защита
Мы уже упоминали выше, что любой из двух связанных ключей может применяться для шифрования, при этом предполагается, что другой будет служить для дешифрования. Это дает возможность реализовать различные криптографические схемы. И если схема, показанная на рис. 6.2, обеспечивает конфиденциальность, то рис. 6.3 показывают, как использовать шифрование с открытым ключом для аутентификации:
Y = EKRа(X),
X = DKUa(Y).
В этом случае отправитель А готовит сообщение адресату В и перед отправлением шифрует это сообщение с помощью личного ключа пользователя Л. Получатель В может дешифровать это сообщение, используя открытый ключ А. Ввиду того что сообщение было зашифровано личным ключом отправителя А, только он и мог подготовить это сообщение. Поэтому в данном случае все шифрованное сообщение выступает в качестве цифровой подписи. Кроме того, невозможно изменить сообщение без доступа к личному ключу пользователя А, поэтому сообщение решает и задачу идентификации отправителя, и задачу подтверждения целостности данных.
В схеме, о которой идет речь, шифруется все сообщение, которое, хотя и идентифицирует отправителя, и подтверждает целостность содержимого, требует достаточно много памяти. Каждый документ, чтобы его можно было использовать, должен храниться в виде открытого текста. Еще один экземпляр документа должен сохраняться в виде шифрованного текста, чтобы в случае спора можно было бы восстановить источник и содержимое оригинала. Более эффективным способом достижения того же результата является шифрование небольшого блока битов, являющегося функцией документа. Такой блок, называемый аутентификатором (authenticator), должен иметь такое свойство, чтобы нельзя было изменить документ без изменения аутентификатора. Если аутентификатор будет зашифрован с использованием личного ключа отправителя, он будет служить подписью, удостоверяющей источник, содержимое и порядок отправки сообщений. В главе 10 эта возможность описана более подробно.
Важно подчеркнуть, что только что описанный процесс шифрования не обеспечивает конфиденциальности. Это означает, что пересылаемому таким образом сообщению гарантирована защита от изменения, но не от перехвата. Это очевидно в том случае, когда для форматирования подписи используется только часть сообщения, поскольку тогда остаток сообщения передается открытым текстом. Но даже в случае полностью зашифрованного сообщения, как показано на рис. 6.3, конфиденциальность не обеспечивается ввиду того, что любой сторонний наблюдатель может расшифровать передаваемое сообщение с помощью открытого ключа отправителя.
Однако, можно обеспечить как аутентификацию, так и конфиденциальность повторным использованием схемы шифрования с открытым ключом
Z = EKUb[EKRa(X)].
X = EKUа[EKRb(Z)].
В данном случае мы начинаем, как и прежде, с шифрования сообщения помощью личного ключа отправителя. Это обеспечивает цифровую подпись. Затем мы шифруем результат снова, но уже используя открытый ключ получателя. Конечный шифрованный текст сможет дешифровать только предполагаемый адресат, поскольку только он один имеет соответствующий личный ключ. Таким образом, конфиденциальность обеспечивается.
Криптоаналитик Источник
А
K^Ra
Адресат
В
Рас. 6.3. Криптосистема с открытым ключом: аутентификация
Симметричные криптосистемы.