В коде мангоса вот что я нарыл:
Цитата:
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. теперь встал вопрос. Зачем хешировать login
assword, если эти данные не отправляются к клиенту. И еще вопрос. Переменная N = 2*q+1 как я понял из татей это простое число. Но как оно генерируется я так и не понял. Откуда оно берется вообще?В коде мангоса так и не нашел.