Commit e0be22b6c0

Helio Machado <0x2b3bfa0+git@googlemail.com>
2022-05-25 19:23:49
std.crypto: cosmetic improvement to AES multiplication algorithm (#11616)
std.crypto: cosmetic improvement to AES multiplication algorithm (#11616)
1 parent 71e2a56
Changed files (1)
lib
std
crypto
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;
         }
     }