
- •«Защита программ и данных»
- •2. Анализ и исследование алгоритмов несимметричной цифровой подписи
- •2.1 Цель работы
- •2.2 Методические указания к организации самостоятельной работы студентов
- •2.3 Краткие сведения из теории.
- •2.4 Порядок выполнения работы и методические указания по ее выполнению
- •3.1 Краткие сведения из теории по системе Эль-Гамаля
- •3.2.1 Алгоритм формирования эцп
- •3.2.2 Алгоритм проверки эцп.
- •3.4. Порядок выполнения работы и методические указания по ее выполнению
- •1.5. Содержание отчета
- •1.6. Контрольные вопросы и задания
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ УКРАИНЫ
ХАРЬКОВСКИЙ НАЦИОНАЛЬНЫЙ УНИВЕРСИТЕТ
РАДИОЭЛЕКТРОНИКИ
МЕТОДИЧЕСКИЕ УКАЗАНИЯ
К ЛАБОРАТОРНОЙ РАБОТЕ №2
ПО ДИСИПЛИНЕ
«Защита программ и данных»
Лектор: доц. Торба А.А.
Харьков 2013
2. Анализ и исследование алгоритмов несимметричной цифровой подписи
2.1 Цель работы
Закрепить теоретические знания и приобрести навыки по применению и исследованию систем цифровой подписи с использованием несимметричных дискретных преобразований.
2.2 Методические указания к организации самостоятельной работы студентов
При подготовке к лабораторной работе необходимо:
изучить основные понятия и определения по вопросам аутентификации;
изучить системы аутентификации, базирующиеся на цифровой подписи RSA и цифровой подписи Єль Гамаля;
ознакомиться с описанием лабораторной работы и ее программным обеспечением;
подготовить ответы на контрольные вопросы.
2.3 Краткие сведения из теории.
Определение подлинности полномочий пользователя сети, ее элементов или сообщения – одна из важных задач, стоящих перед абонентами. В системах и сетях связи решение этой задачи усложняется отсутствием физического носителя информации, подтверждающего полномочия. Другой важнейшей задачей является определение целостности принимаемой абонентами информации.
Под процедурой аутентификации понимается установление целостности и подлинности информации исключительно на основе внутренней структуры самой информации, и независимо от источника этой информации.
Наиболее полно проблема аутентификации должна быть решена в сетях передачи информации. В системах и сетях связи необходимо осуществлять:
аутентификацию абонента, т.е. процедуру установления подлинности абонента, который хочет подключиться к сети или получить защищенную информацию;
аутентификацию сети, т.е. процедуру установления подлинности данной сети, к которой получен доступ;
аутентификацию сообщений в виде установления подлинности содержания, полученного по каналам связи сообщения и решение вопросов об авторстве этого сообщения;
аутентификацию объектов (программ, массивов данных) в виде проверки того факта, что объект (сообщение) не был изменен в течение времени, когда он был вне контроля, а также установление авторства объекта.
Аутентификация абонента может быть осуществлена следующими способами:
контроль объекта – проверка паспорта, пропуска, специальной карточки;
проверки некоторых знаний – пароля, ключа;
проверка некоторых действий (своеобразие «почерка» оператора и т.п.);
физиологические проверки (отпечатки пальцев, цвет роговицы глаз и проч.).
Наибольший интерес представляет решение задачи аутентификации сообщений.
По общепринятой модели считается, что сообщение в канале связи доступно криптоаналитику, но смысловое содержание сообщения криптоаналитик сможет получить лишь после выполнения криптоанализа. При этом возможны следующие ситуации:
злоумышленник, зная лишь общую схему аутентификации, используемую передатчиком и приемником, может послать ложное сообщение приемнику, в надежде, что тот интерпретирует его как подлинное, в то время как передатчик сообщение не посылал (в этом случае злоумышленник осуществляет навязывание посредством имитации сообщения);
другая стратегия криптоаналитика заключается в подмене сообщения. При этой стратегии он перехватывает истинное сообщение и посылает вместо него ложное, им сформированное или модифицированное сообщение;
злоумышленник повторяет ранее переданное сообщение, которое передатчик А посылал приемнику.
Таким образом, имеется ограниченное множество сообщений, которые приемник будет интерпретировать как подлинные и подмножество этих сообщений, которые будут использоваться передатчиком.
Задача аутентификации сводится к обеспечению с наибольшей вероятностью правильности интерпретации сообщения приемником. Условия, определяющие множество сообщений, которые приемник может принять, а также ту часть этого множества, которую может использовать передатчик и составляет суть конкретной схемы, конкретного способа аутентификации.
В настоящее время наиболее перспективным способом аутентификации является использование цифровой подписи.
Цифровая подпись – есть цифровой эквивалент подписи (печати, штампа и т.п.), наличие которой в сообщении позволяет с высокой вероятностью определить источник (источники) этого сообщения и юридически доказать, что с указанной (требуемой) вероятностью Рз только он мог его создать, но подделать эту подпись в течение интервала времени t криптоаналитик может с вероятностью, не превышающей допустимую Pд.
Цифровая подпись представляет собой зашифрованную совокупность данных, содержащих:
адрес отправителя;
адрес получателя;
подпись отправителя;
время создания подписи;
сведения о сообщении (длина файла, контрольная сумма и т.п.).
Цифровая подпись может быть реализована с помощью:
- симметричного шифрования;
- несимметричного шифрования.
В первом случае проверочная комбинация – аутентификатор, вводится в исходный текст, а затем зашифровывается одним из известных алгоритмов симметричного шифрования.
В этом случае шифрование производится достаточно быстро, текст передается в недоступном противнику виде и обладает высокой аутентичностью. При использовании этих шифров сложно разрешимой является проблема рассылки и хранения ключей.
Во втором случае используется необратимая функция, не зависящая от криптографического ключа. Примером такой функции может быть функция дискретного возведения в степень. В этом случае противнику для расшифровки сообщения необходимо решить задачу нахождения дискретного логарифма, либо разложения большего числа на простые сомножители. Несмотря на то, что системы, построенные на таком принципе, могут обеспечивать высокую стойкость шифрования и аутентичность сообщения при удобстве распространения ключевых данных, все же скорость шифрования очень низкая, что является серьезным недостатком таких систем (например, RSA). Процесс шифрования RSA может быть описан следующим выражением:
Ci = Mi En (mod N), (2.1)
где: Mi – открытый блок информации;
Ci – криптографический преобразованный блок информации;
En – ключ шифрования – случайное число;
N – модуль преобразования.
Отправитель сообщения находит два простых больших числа, каждое длиной по n бит – P и Q. В этом случае модуль преобразования вычисляется в виде
N =P • Q, (2.2)
а функция Эйлера от N как
φ(N)=(P – 1) • (Q – 1), (2.3)
Отправитель держит в тайне P, Q, φ(N), решая уравнение вида:
En • Dn mod φ(N) = 1, (2.4)
вычисляет ключ дешифрования Dn. Ключи En и Dn могут быть вычислены и на центральной станции. Тогда P, Q, φ(N), Dn будут являться секретными ключами, а En и N могут быть опубликованы в открытом виде.
Дешифрование осуществляется по правилу:
Mi = Ci Dn (mod N) (2.5)
В зависимости от схемы распространения ключевых данных система цифровой подписи (ЦП) может быть индивидуальна, циркулярна или с определенным количеством абонентов.
Mi сообщение |
|
|||||
|
|
|
|
|
|
N1 |
N2 |
A |
Li |
Ks |
Tv |
Рис.2.1 – Структура сообщения с цифровой подписью
Цифровая подпись(открытая структура),включающая:
N1 – адрес отправителя;
N2 – адрес получателя;
A – подпись отправителя;
Li – длина сообщения;
Ks – контрольная сумма Mi;
Tv – время формирования ЦП.
Стойкость цифровой подписи с использованием алгоритмов RSA определяется сложностью разложения числа N на простые сомножители P и Q. Чем больше длина простых чисел P и Q, следовательно и числа N, тем выше стойкость подписи. К настоящему времени вычислительно стойкими считаются системы цифровой подписи, у которых N есть число, содержащее не менее 130 десятичных цифр. (На практике применяют 256, 512 и 1024 битные модули N).