【发布时间】:2013-07-07 11:08:12
【问题描述】:
我正在尝试实施 SRP 协议以进行安全身份验证。我的问题是,当我必须计算一个负数的 ModPow 时,它也会返回一个负数。我知道它可能被称为余数而不是模数,但我真的必须得到正模数才能生成正确的散列。
我该怎么做?
【问题讨论】:
-
为什么要计算负数的 ModPow?我认为 SRP 从来没有做过这种操作。
-
因为减法后得到一个负数。 B - k * pow(g, x, N)。这对我来说是一个负值。
-
你应该添加 N 直到它不再是负数。 2 点 - 3 点是 11 点,而不是 -1 点。你可以做 result mod N 以确保它在 N of 0 的加法之一内。
标签: c# .net math srp-protocol