how to multiply two hexadecimal numbers under Galois Field (256)
<p>I am trying to do this with this code </p>

<pre><code>private Byte GMul1(Byte a, Byte b)
{ // Galois Field (256) Multiplication of two Bytes
    Byte p = 0;
    Byte counter;
    Byte hi_bit_set;
    for (counter = 0; counter &lt; 8; counter++)
    {
        if ((b &amp; 1) != 0)
        {
            p ^= a;
        }
        hi_bit_set = (Byte)(a &amp; 0x80);
        a &lt;&lt;= 1;
        if (hi_bit_set != 0)
        {
            a ^= 0x1b; /* x^8 + x^4 + x^3 + x + 1 */
        }
        b &gt;&gt;= 1;
    }
    return p;
}
</code></pre>

<p>but i need this function to work with a,b as string not byte and return p as string also</p>
