Поиск:

Ответ в темуСоздание новой темы Создание опроса
> diffie-hellman-group1-sha1, ssh 
:(
    Опции темы
Dray
Дата 10.10.2006, 15:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Материалист
**


Профиль
Группа: Участник
Сообщений: 652
Регистрация: 7.10.2003
Где: г. Всеволожск

Репутация: нет
Всего: 6



Объясните пожалуйста алгоритм diffie-hellman-group1-sha1 для протокола ssh. В двух словах хотябы.


--------------------
忍者

user posted image
PM MAIL   Вверх
Dray
Дата 15.10.2006, 15:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Материалист
**


Профиль
Группа: Участник
Сообщений: 652
Регистрация: 7.10.2003
Где: г. Всеволожск

Репутация: нет
Всего: 6



Цитата

Обмен ключа Диффи-Хеллмана обеспечивает разделяемый секрет, который не может быть определен оппонентом. При обмене ключа используется подпись, создаваемая закрытым ключом сервера для аутентификации сервера и защиты от атак «man-in-the-middle».

Будем использовать следующие обозначения:
С - клиент;
S - сервер;
р - простое число;
g - генератор для подгруппы GF (p);
V_S - строка версии S;
V_C - строка версии С;
K_S - открытый ключ сервера S;
I_C - сообщение KEXINIT C;
I_S - сообщение KEXINIT S, которыми участники обменялись перед данными сообщениями.

   1. С создает случайное число х и вычисляет e = gx mod p. C посылает e к S.

      SSH_MSG_KEXDH_INIT
      e

   2. S создает случайное число у и вычисляет f = gy mod p. S получает e и вычисляет K = еу mod p, H = hash (V_C || V_S || I_C || I_S || K_S || e || f || K) и подпись s для Н своим закрытым ключом сервера. S посылает {K_S || f || s} к С. Операция подписывания может включать вторую операцию хэширования.

      SSH_MSG_KEXDH_REPLY
      открытый ключ сервера и сертификаты (K_S)
      f s

   3. С проверяет, действительно ли K_S является ключом сервера S, используя сертификаты или локальную БД. С также может принимать ключ без проверки, однако это делает протокол небезопасным против активных атак (но это может быть сделано из практических соображений во многих окружениях). Затем С вычисляет K = fx mod p, H = hash (V_C || V_S || I_C || K_S || e || f || K) и проверяет подпись s для Н.

      Хэш Н вычисляется от конкатенации следующих значений:
      V_C – строка версии клиента (CR и NL исключаются)
      V_C – строка версии сервера (CR и NL исключаются)
      I_C – содержимое сообщения SSH_MSG_KEXINIT клиента
      I_S – содержимое сообщения SSH_MSG_KEXINIT сервера
      K_S – ключ хоста
      e – значение, посылаемое клиентом
      f – значение, посылаемое сервером
      K – разделяемый секрет

Эти значения называются хэшем обмена и используются для аутентификации сервера.

Алгоритм подписи применяется к значению Н. Большинство алгоритмов подписи включают хэширование. Например, ssh-dss определяет использование SHA. В этом случае данные, во-первых, хэшируются HASH, в результате чего вычисляется Н, и затем Н хэшируется с использованием SHA как часть операции подписывания.

Объясните, пожалуйста, в пункте 1 что такое g, p и как должно выглядеть получаемое e.


--------------------
忍者

user posted image
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Алгоритмы"

maxim1000

Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Алгоритмы | Следующая тема »


 




[ Время генерации скрипта: 0.0656 ]   [ Использовано запросов: 20 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.