Patent ID: 7730315

Claim:
One or more computer-readable storage media having stored thereon a plurality of instructions for generating a product identifier, wherein the plurality of instructions, when executed by one or more processors, causes the one or more processors to perform the following acts: receiving a value; padding the received value using a recognizable pattern; converting the padded value to a number represented by a particular number of bits; converting the number to an element of the Jacobian of a curve, wherein the curve is given by the equation y 2 =f(x), wherein f(x) has a degree of 2·g+1, and wherein g refers to the genus of the curve, and wherein converting the number to an element of the Jacobian of a curve comprises: determining a value a(x), wherein the value a(x) is a monic irreducible polynomial of degree g; determining a value b(x), wherein the value b(x) is a square root of f(x) modulo a(x) of degree less than a(x); and using, as the element of the Jacobian of the curve, the values a(x) and b(x); raising the element to a particular power; compressing the result of raising the element to the particular power; and outputting, as the product identifier, the compressed result.