Patent ID: 9432337
Filing Date: 2016-08-30
CPC Classification: G16H,H04L

Claim Text:
1. A system for generating and authenticating product codes, the system comprising: a client computing device that receives a request from a user for a predetermined quantity of unique, pseudo-random codes to be applied to one or more products or packaging and transmits the request to at least one code generation computing device of a plurality of code generation computing devices, wherein each unique, pseudo-random code of a first predetermined quantity of unique, pseudo-random codes associated with a first request is unique from each unique, pseudo-random code of a second predetermined quantity of unique, pseudo-random codes; the at least one code generation computing device that receives the request from the client computing device and generates a predetermined quantity of sequential codes in response to the request for the predetermined quantity of unique, pseudo-random codes are wherein the predetermined quantity of unique, pseudo-random codes are generated in a specific format from the predetermined quantity of sequential codes using a format-preserving encryption (FPE) process and a single data element generated to specify that the predetermined quantity of unique, pseudo-random codes associated with the predetermined quantity of sequential codes that have been issued, the single data element being a highest numbered sequential code that has been generated using the FPE process; and an authentication computing device that receives authentication requests from the user for authentication of at least one unique, pseudo-random code of the predetermined quantity of unique, pseudo-random codes, and thereafter determines authenticity of the one or more products or packaging associated with the at least one unique, pseudo-random code that the user has requested to be authenticated by decrypting the at least one unique, pseudo- random code that the user has requested to be authenticated using the FPE process to generate at least one decrypted sequential code and comparing the decrypted sequential code to the single data element, the authenticity being determined when the decrypted sequential code is equal to or less than the single data element.