Расчет проверки DSA - PullRequest
       36

Расчет проверки DSA

3 голосов
/ 20 декабря 2010

Я что-то упустил? из FIPS180-2 , на странице 25, он дает значения u1, u2, g ^ u1 mod p, y ^ u2 mod p и v. я вычислил все значения, кроме v. пока, когда я делаю математику, мои расчеты отказываются быть v = 0x8bac1ab66410435cb7181f95b16ab97c92b341c0. вместо этого я получаю v = 0xc5a54698ae8e5b94661134260594ff4e3f488e26, который не равен r, ранее. я делаю (pow(g, u1, p) * pow(y, u2, p)) % q для вычисления, где pow - встроенная функция, а не функция математического модуля

1 Ответ

5 голосов
/ 21 декабря 2010

Вы пропускаете один мод p расчет.Вы должны вычислить:

(((pow(g, u1, p) * pow(y, u2, p))) % p ) % q

...