Показать сообщение отдельно
Старый 08.10.2012, 15:36   #37
lovepsone
Ученый
 
Регистрация: 07.03.2010
Адрес: Беларусь,Брест
Сообщений: 188
Сказал(а) спасибо: 131
Поблагодарили 34 раз(а) в 27 сообщениях
lovepsone Хрен знает что...lovepsone Хрен знает что...
По умолчанию

В коде мангоса вот что я нарыл:
Цитата:
b.SetRand(19 * 8);
BigNumber gmod = g.ModExp(b, N);
B = ((v * 3) + gmod) % N;

MANGOS_ASSERT(gmod.GetNumBytes() <= 32);

BigNumber unk3;
unk3.SetRand(16 * 8);

///- Fill the response packet with the result
pkt << uint8(WOW_SUCCESS);

// B may be calculated < 32B so we force minimal length to 32B
pkt.append(B.AsByteArray(32), 32); // 32 bytes
pkt << uint8(1);
pkt.append(g.AsByteArray(), 1);
pkt << uint8(32);
pkt.append(N.AsByteArray(32), 32);
pkt.append(s.AsByteArray(), s.GetNumBytes());// 32 bytes
pkt.append(unk3.AsByteArray(16), 16);
uint8 securityFlags = 0;
pkt << uint8(securityFlags); // security flags (0x0...0x04)
Прочитал много статей по SRP-6. теперь встал вопрос. Зачем хешировать loginassword, если эти данные не отправляются к клиенту. И еще вопрос. Переменная N = 2*q+1 как я понял из татей это простое число. Но как оно генерируется я так и не понял. Откуда оно берется вообще?В коде мангоса так и не нашел.
__________________
sql-language.ru

Последний раз редактировалось lovepsone; 08.10.2012 в 16:14.
lovepsone вне форума   Ответить с цитированием