diff options
Diffstat (limited to 'crypto/src/math/raw/Nat128.cs')
-rw-r--r-- | crypto/src/math/raw/Nat128.cs | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/crypto/src/math/raw/Nat128.cs b/crypto/src/math/raw/Nat128.cs index 27ed5abe4..7617a9ee9 100644 --- a/crypto/src/math/raw/Nat128.cs +++ b/crypto/src/math/raw/Nat128.cs @@ -422,9 +422,10 @@ namespace Org.BouncyCastle.Math.Raw c += x_i * y_3 + zz[i + 3]; zz[i + 3] = (uint)c; c >>= 32; - c += zc + zz[i + 4]; - zz[i + 4] = (uint)c; - zc = c >> 32; + + zc += c + zz[i + 4]; + zz[i + 4] = (uint)zc; + zc >>= 32; } return (uint)zc; } @@ -452,9 +453,10 @@ namespace Org.BouncyCastle.Math.Raw c += x_i * y_3 + zz[zzOff + 3]; zz[zzOff + 3] = (uint)c; c >>= 32; - c += zc + zz[zzOff + 4]; - zz[zzOff + 4] = (uint)c; - zc = c >> 32; + + zc += c + zz[zzOff + 4]; + zz[zzOff + 4] = (uint)zc; + zc >>= 32; ++zzOff; } return (uint)zc; |