Commit 4dd061a7ac

Frank Denis <github@pureftpd.org>
2022-11-17 23:54:21
ghash: handle the .hi_lo case when no CLMUL acceleration is present, too
1 parent 3051e27
Changed files (1)
lib
std
crypto
lib/std/crypto/ghash.zig
@@ -146,7 +146,7 @@ pub const Ghash = struct {
 
     // Software carryless multiplication of two 64-bit integers.
     fn clmulSoft(x_: u128, y_: u128, comptime half: Selector) u128 {
-        const x = @truncate(u64, if (half == .hi) x_ >> 64 else x_);
+        const x = @truncate(u64, if (half == .hi or half == .hi_lo) x_ >> 64 else x_);
         const y = @truncate(u64, if (half == .hi) y_ >> 64 else y_);
 
         const x0 = x & 0x1111111111111110;