Patent ID: 8170203
Filing Date: 2012-05-01
Classification: H04L

Abstract:
1. A computerized method of generating a message authentication code with elliptic polynomial hopping, comprising the steps of: a sending correspondent and a receiving correspondent agreeing upon: (a) a form of an elliptic polynomial equation by deciding on an underlying finite field F; a number of x-coordinates, and a set of monomials used; (b) a random number k (c) a random number generator; d) a random number kp (e) a set of (nx+1) numbers such that xb the sending correspondent then performing the following steps: (f) generating at least a portion of a set of coefficients b (g) embedding the set of (nx+1) numbers xb (h) embedding the first block of the message bit string into an elliptic polynomial message point (x (i) computing a scalar multiplication of the first block shared key k (j) computing the message authentication point of the first data block (x initializing an integer j as j=1 and repeating the following steps (k) to (o), and incrementing j at each step until all of the message data blocks are processed: (k) generating a random number kp (l) generating at least a portion of the coefficients b (m) embedding the j-th block of the message bit string into a j-th elliptic polynomial message point (x (n) hopping the message authentication code point (x (o) computing the message authentication code point of the j-th data block (x (p) appropriate bits of the x-coordinates and a bit indicating the value of α the receiving correspondent performing the following steps: (q) generating at least a portion of the coefficients b (r) embedding the set of (nx+1) numbers xb (s) embedding the first block of the received message bit string into an elliptic polynomial message point (x (t) computing the scalar multiplication of the first block shared key k (u) computing the message authentication code point of the first received data block (x initializing the integer j as j=1 and repeating the following steps (v) to (aa), and incrementing j at each step until all of the message data blocks are processed: (v) generating a random number kp (w) generating at least a portion of the coefficients b (x) embedding the j-th block of the received message bit string into a j-th elliptic polynomial message point (x (y) hopping the message authentication point (x (z) computing the message authentication code point of the j-th received data block (x (aa) the appropriate bits of the x-coordinates, and a bit indicating the value of α (bb) if the message authentication code bit string of the received message data is the same as the message authentication code bit string sent by the sending correspondent, then the message is authenticated.