Patent ID: 8332651

Claim:
A computerized method of generating a password protocol using elliptic polynomial cryptography, comprising the steps of: (a) defining a maximum block size that can be embedded into (nx+1) x-coordinates and ny y-coordinates, wherein nx and ny are integers, and setting the maximum block size to be (nx+ny+1)N bits, wherein N is an integer; (b) a sending correspondent and a receiving correspondent agree upon an elliptic polynomial EC nx+ny+2 by agreeing upon the values of nx and ny, and further agree on a set of coefficients a 1k ,a 2kl ,a 3k ,c 1lki ,c 2kl ,c 3kli ,b 1l ,b 2lk ,b 3lk ,b 4k & b c ∈F, wherein F represents a finite field where the field's elements can be represented in N-bits, the sending and receiving correspondents further agreeing on a base point on an elliptic polynomial (x 0,B ,x 1,B , . . . , x nx,B ,y 0,B ,y 1,B , . . . , y ny,B )∈EC xn+ny+2 , wherein EC nx+ny+2 represents the elliptic polynomial, the sending and receiving correspondents further agreeing upon a method that converts a password into a bit string that has an equivalent scalar value, and the sending and receiving correspondents then further agree on the password, which represents a shared secret key for communication; the sending correspondent then performs the following steps: (c) converting the password into a bit string by the agreed method and defining an equivalent scalar value k U ; (d) computing a scalar multiplication of the scalar value k U with the base point (x 0,B ,x 1,B , . . . , x nx,B ,y 0,B ,y 1,B , . . . , y ny,B ) as (x 0,C ,x 1,C , . . . , x nx,C ,y 0,C ,y 1,C , . . . , y ny,C )=k U (x 0,B ,x 1,B , . . . , x nx,B ,y 0,B ,y 1,B , . . . , y ny,B ), wherein (x 0,C ,x 1,C , . . . , x nx,C ,y 0,C ,y 1,C , . . . , y ny,C ) is a cipher point; (e) sending appropriate bits of the x-coordinates and of the y-coordinates of the cipher point (x 0,C ,x 1,C , . . . , x nx,C ,y 0,C ,y 1,C , . . . , y ny,C ) to the receiver; the receiving correspondent then performs the following steps: (f) converting the password into a bit string by the agreed upon method and defining an equivalent scalar value k US ; (g) computing a scalar multiplication of the scalar value k US with the base point (x 0,B ,x 1,B , . . . , x nx,B ,y 0,B ,y 1,B , . . . , y ny,B ) as (x 0,SC ,x 1,SC , . . . , x nx,SC ,y 0,SC ,y 1,SC , . . . , y ny,SC )=k US (x 0,B ,x 1,B , . . . , x nx,B ,y 0,B ,y 1,B , . . . , y ny,B ); and comparing (x 0,SC ,x 1,SC , . . . , x nx,SC ,y 0,SC ,y 1,SC , . . . , y ny,SC ) and (x 0,C ,x 1,C , . . . , x nx,C ,y 0,C ,y 1,C , . . . , y ny,C ) and if (x 0,SC ,x 1,SC , . . . , x nx,SC ,y 0,SC ,y 1,SC , . . . , y ny,SC ) is equal to (x 0,C ,x 1,C , . . . , x nx,C ,y 0,C ,y 1,C , . . . , y ny,C ) then authenticating the user, wherein if (x 0,SC ,x 1,SC , . . . , x nx,SC ,y 0,SC ,y 1,SC , . . . , y ny,SC ) is not equal to (x 0,C ,x 1,C , . . . , x nx,C ,y 0,C ,y 1,C , . . . , y ny,C ), then denying access.