code: public static byte kuz_mul_gf256(byte x, byte y) {
          // uint8_t z;
          // z = 0;
          byte z = 0;
  
          // while (y) {
          while ((y & 0xFF) != 0) {
              // if (y & 1)
              if ((y & 1) != 0) {
                  // z ^= x;
                  z ^= x;
              }
  
              // x = (x << 1) ^ (x & 0x80 ? 0xC3 : 0x00);
              x = (byte) (((x & 0xFF) << 1) ^ ((x & 0x80) != 0 ? 0xC3 : 0x00));
              // y >>= 1;
              y = (byte) ((y & 0xFF) >> 1);
          }
  
          // return z;
          return z;
      }
docs: totally not constant time