aboutsummaryrefslogtreecommitdiff
path: root/lib/std/crypto/poly1305.zig
diff options
context:
space:
mode:
authorFrank Denis <github@pureftpd.org>2020-08-21 20:33:16 +0200
committerFrank Denis <github@pureftpd.org>2020-08-21 20:33:16 +0200
commit0fe6677736fae205543c6f1c57ea864049bade73 (patch)
tree21d1cb121c42491632cbe8a9427cefbf18df2b8f /lib/std/crypto/poly1305.zig
parent2fc2ebd920a83e737ebb5f8b3499fd0e48d94043 (diff)
downloadzig-0fe6677736fae205543c6f1c57ea864049bade73.tar.gz
zig-0fe6677736fae205543c6f1c57ea864049bade73.zip
No need to keep a 128-bit carry around
Diffstat (limited to 'lib/std/crypto/poly1305.zig')
-rw-r--r--lib/std/crypto/poly1305.zig4
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/std/crypto/poly1305.zig b/lib/std/crypto/poly1305.zig
index b401939c5c..c0b462c60e 100644
--- a/lib/std/crypto/poly1305.zig
+++ b/lib/std/crypto/poly1305.zig
@@ -64,7 +64,7 @@ pub const Poly1305 = struct {
var d2 = @as(u128, h0) * r2 + @as(u128, h1) * r1 + @as(u128, h2) * r0;
// partial reduction
- var carry = d0 >> 44;
+ var carry = @intCast(u64, d0 >> 44);
h0 = @truncate(u44, d0);
d1 += carry;
carry = @intCast(u64, d1 >> 44);
@@ -75,7 +75,7 @@ pub const Poly1305 = struct {
h0 += @truncate(u64, carry) * 5;
carry = h0 >> 44;
h0 = @truncate(u44, h0);
- h1 += @truncate(u64, carry);
+ h1 += carry;
}
st.h = [_]u64{ h0, h1, h2 };
}