code: public static byte kuz_mul_gf256_fast(byte a, byte b) {
          if (a == 0 || b == 0) return 0;
          int t = (KuznechikTables.gf256_L[(a & 0xff)] & 0xff) + (KuznechikTables.gf256_L[(b & 0xff)] & 0xff);
          if (t > 255) t = t - 255;
          return KuznechikTables.gf256_E[(t & 0xff)];
      }
docs: Implemented with