commit e0be22b6c06530d56308853723f982c492e768fd (tree) parent 71e2a56e3ef7aba10cc0648aab786973cf8416bc Author: Helio Machado <0x2b3bfa0+git@googlemail.com> Date: Wed, 25 May 2022 19:23:49 +0200 std.crypto: cosmetic improvement to AES multiplication algorithm (#11616) std.crypto: cosmetic improvement to AES multiplication algorithm (#11616) Diffstat:
| M | lib/std/crypto/aes/soft.zig | | | 19 | ++++++++----------- |
1 file changed, 8 insertions(+), 11 deletions(-)
diff --git a/lib/std/crypto/aes/soft.zig b/lib/std/crypto/aes/soft.zig @@ -489,21 +489,18 @@ fn generateTable(invert: bool) [4][256]u32 { fn mul(a: u8, b: u8) u8 { @setEvalBranchQuota(30000); - var i: u9 = a; - var j: u8 = b; - var k: u8 = 1; + var i: u8 = a; + var j: u9 = b; var s: u9 = 0; - while (k < 0x100 and j != 0) : (k <<= 1) { - if (j & k != 0) { - s ^= i; - j ^= k; + while (i > 0) : (i >>= 1) { + if (i & 1 != 0) { + s ^= j; } - i <<= 1; - - if (i & 0x100 != 0) { - i ^= poly; + j *= 2; + if (j & 0x100 != 0) { + j ^= poly; } }