<?xml version="1.0" encoding='utf-8'?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<card id="card1" title="One-key MAC - Page 4 - Wikipedia">
<p>
<a accesskey="1" href="page.php?w=One-key_MAC&amp;p=3">1.Previous</a><br />
<a accesskey="3" href="page.php?w=One-key_MAC&amp;p=5">3.Next</a>
</p>
<p>and k<sub>2</sub>) using the following algorithm (this is equivalent to multiplication by x and x<sup>2</sup> in a <a href="page.php?w=finite_field">finite field</a> GF(2<sup>b</sup>)). Let << denote the standard left-shift operator and ? denote bit-wise <a href="page.php?w=Exclusive_or">exclusive or:</<></p>

<p>
# Calculate a temporary value k<sub>0</sub> = E<sub>k</sub>(0).<br/>
# If msb(k<sub>0</sub>) = 0, then k<sub>1</sub> = k<sub>0</sub> << 1, else k</i><sub>1</sub> = (k<sub>0</sub> << 1) ? C</i>; where C is a certain constant that depends only on b. (Specifically, C is the non-leading coefficients of the lexicographically first irreducible degree-b binary polynomial with the minimal number of ones:  for 64-bit,  for 128-bit, and  for 256-bit blocks.)<br/>
# If , then , else .<br/>
# Return keys (k<sub>1</sub>, k<sub>2</sub>) for the MAC generation process.</<></<></p><p>
<a accesskey="1" href="page.php?w=One-key_MAC&amp;p=3">1.Previous</a><br />
<a accesskey="3" href="page.php?w=One-key_MAC&amp;p=5">3.Next</a>
</p>

<do type="prev" label="Search">
        <go href="search.wml"/>
</do>

</card>
</wml>
