Методические указания к выполнению работы
Поможем в ✍️ написании учебной работы
Поможем с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой

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

В 1976 году Диффи и Хеллман /1,2,3/ опубликовали алгоритм открытого распределения ключей, который позволяет двум абонентам путем обмена открытыми сообщениями сформировать одинаковые секретные ключи для своей одноключевой (симметричной) системы шифрования.

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

Суть алгоритма Диффи-Хеллмана состоит в следующем.

Предположим, что два пользователяА и В хотят организовать защищенный коммуникационный канал.

1. Обе стороны заранее уславливаются о модуле n (n должно быть простым числом) и примитивном элементе с (1<c < n). Эти два целых числа n и смогут не храниться в секрете. Как правило, эти значения являются общими для всех пользователей системы.

2. Затем пользователи А и В независимо друг от друга выбирают собственные секретные ключи Хa и Хb (Хa и Хb – случайные большие целые числа, которые хранятся пользователями А и В в секрете).

3. Далее пользователь А вычисляет открытый ключ Ya= (cXa)mod n,

а пользователь В– открытый ключYb = (cXb) mod n.

4. Затем стороны обмениваются вычисленными значениями открытых ключей Ya и Ybпо любому, даже совсем незащищенному каналу, т.к. открытые ключи не являются секретом. (Мы считаем, что все данные, передаваемые по незащищенному каналу связи, могут быть перехвачены злоумышленником).

5. Далее пользователи А и В вычисляют общий секретный ключ, используя следующие соотношения:

пользователь А: Kab= (YbXa)mod n = (cXbXa)mod n,

пользователь В: Kba= (YaXb)mod n = (cXaXb)mod n.

Очевидно, что Kab= Kba.

Ключ Кможет использоваться в качестве общего секретного ключа (ключа шифрования), например, в таких симметричных криптосистемах, как DES, ГОСТ 28147-89, AES и др.

Возможные действия злоумышленника.

Перехватив значения n, c, Ya и Yb, криптоаналитик тоже хотел бы определить значения ключа К. Очевидный путь для решения этой задачи состоит в вычислении такого значения Хa по n, c и Ya, что ( cXa)mod n = Ya (поскольку в этом случае, вычислив Xa, можно найти K = (YbXa)mod n). Однако нахождение Xa по n,cиYa – это задача нахождения дискретного логарифма в конечном поле, которая считается неразрешимой.

Выбор значений nиcможет иметь существенное влияние на безопасность этой системы. Модуль n должен быть большим и простым числом. Число (n-1)/2 также должно быть простым числом. Число с желательно выбирать таким, чтобы оно было примитивным элементом множества ненулевых элементов Zn, т.е. {c,c2,….cn-1} = Zn – {0}.

В принципе достаточно, чтобы с генерировало большую подгруппу мультипликативной группы по mod n.

Алгоритм открытого распределения ключей Диффи-Хеллмана позволяет обойтись без защищенного канала для передачи ключей. Однако, работая с этим алгоритмом, необходимо иметь гарантию того, что пользовательА получил открытый ключ именно от пользователя В, и наоборот. Эта проблема решается с помощью электронной подписи, которой подписываются сообщения об открытом ключе.

Метод Диффи-Хеллмана дает возможность шифровать данные при каждом сеансе связи на новых ключах. Это позволяет не хранить секреты на дискетах или других носителях. Не следует забывать, что любое хранение секретов повышает вероятность попадания их в руки конкурентов или противника.

Преимущество метода Диффи-Хеллмана по сравнению с методом RSA заключается в том, что формирование общего секретного ключа происходит в сотни раз быстрее. В системе RSA генерация новых секретных и открытых ключей основана на генерации новых простых чисел, что занимает много времени. Кроме того, сам процесс зашифровывания и расшифровывания информации в симметричных (одноключевых) системах протекает значительно быстрее, чем в асимметричных (двухключевых), а система Диффи-Хеллмана как раз и ориентирована на то, что сам процесс информационного обмена будет производиться в симметричных системах.

 

8. Лабораторное задание

1.Произвести рапределение ключей при различных значениях аргументов n, c,Xa и Xb.

2.Зафиксировать по секундомеру длительность выполнения основных процедур при различной длительности аргументов.

3.Выход на рабочее поле алгоритма производится из Главного меню вызовом пункта «Диффи-Хеллман».

4.Установку открытых ключей n и с произвести с учетом указанных ограничений. Вышеупомянутые требования к значениям n и c (n –простое, а с - примитивный элемент поля GF(n)) не являются строго обязательными.

5.Понаблюдайте за поведением системы при значениях c=1 и c=n-1. Объясните результаты.

 

Общие сведения

Дата: 2016-10-02, просмотров: 285.