Cards, devices, systems, methods and dynamic security codes
First Claim
1. A method, comprising:
- receiving, by a communication interface, a random object, a dynamic code and an identifier;
obtaining a function determination object using the identifier;
determining a function using the function determination object;
determining, by a processor of a device, a verification code using the function and the random object; and
comparing the verification code to the dynamic code,wherein the determining a function includes obtaining a plurality of base variables, a plurality of exponents based on the function determination object, and at least one operator based on the function determination object and a look-up-table (LUT), and using the base variables, exponents and at least one operator to determine the function, andthe determining a verification code includes replacing the base variables with values based on the random object.
1 Assignment
0 Petitions
Accused Products
Abstract
A dynamic code may be validated by comparing the dynamic code to a verification code. The card may generate the dynamic code using a random object and a function. The random object may be generated using a random object generator. The function may be determinable using a function determination object and a look-up-table (LUT), the function determination object associable to exponents and operators, listed in the LUT, that may be combined with base variables to determine the function. The dynamic code may be determined by substituting portions of the random object for the base variables in the function. The card may communicate the dynamic code, the random object and an identifier to a remote processing facility. The remote processing facility may use the identifier to determine the function, use the random object to determine a verification code and compare the verification code to the dynamic code.
-
Citations
15 Claims
-
1. A method, comprising:
-
receiving, by a communication interface, a random object, a dynamic code and an identifier; obtaining a function determination object using the identifier; determining a function using the function determination object; determining, by a processor of a device, a verification code using the function and the random object; and comparing the verification code to the dynamic code, wherein the determining a function includes obtaining a plurality of base variables, a plurality of exponents based on the function determination object, and at least one operator based on the function determination object and a look-up-table (LUT), and using the base variables, exponents and at least one operator to determine the function, and the determining a verification code includes replacing the base variables with values based on the random object. - View Dependent Claims (2, 3, 4)
-
-
5. A method, comprising:
-
receiving, by a communication interface, a random object, a dynamic code and an identifier; obtaining a function determination object using the identifier; determining a function using the function determination object; determining, by a processor of a device, a verification code using the function and the random object; and comparing the verification code to the dynamic code, wherein the random object is a first three digit number, the dynamic code is a second three digit number, the function determination object is a five digit number, the determining a function includes obtaining three base variables, three exponents based on three digits of the five digit number, and two operators from a look-up-table (LUT) based on two digits of the five digit number, and combining the base variables, exponents and operators to determine the function, and the determining a verification code includes replacing each of the three base variables with a different digit of the first three digit number.
-
-
6. A method, comprising:
-
receiving, by a communication interface, a random object, a dynamic code and an identifier; obtaining a function determination object using the identifier; determining a function using the function determination object; determining, by a processor of a device, a verification code using the function and the random object; comparing the verification code to the dynamic code; and validating the dynamic code based on the comparing the verification code, wherein the random object is a first three digit number, the dynamic code is a second three digit number, the verification code is a third three digit number, the function determination object is a random five digit number, the determining a function includes obtaining three base variables and three exponents, and obtaining two operators based on the five digit number and one or more fields of a look-up-table (LUT), and combining the base variables, exponents and operators to obtain a polynomial function, the operators are each one of addition, subtraction, multiplication and division, the determining a verification code includes replacing each of the three base variables with a different digit of the first three digit number, and obtaining a solution of the polynomial function, and the validating the dynamic code includes communicating validation upon determining a match between the second and third three digit numbers.
-
-
7. A method, comprising:
-
generating a random object using a random object generator, determining a function based on a function determination object; determining, by a processor of a device, a dynamic code based on the function and the random object; and communicating, via a communication interface, the random object, the dynamic code and an identifier, wherein the determining the function includes obtaining a plurality of base variables, and obtaining a plurality of exponents and at least one operator based on at least one of the function determination object and a look-up-table (LUT), and using the base variables, exponents and at least one operator to determine the function, and the determining a dynamic code includes replacing the base variables with values based on the random object.
-
-
8. A method, comprising:
-
generating a random object using a random object generator, determining a function based on a function determination object; determining, by a processor of a device, a dynamic code based on the function and the random object; and communicating the random object, the dynamic code and an identifier to a computing device, wherein the random object is a first three digit number, the dynamic code is a second three digit number, the function determination object is a five digit number, the determining the function includes obtaining three base variables, obtaining three exponents based on the five digit number, and obtaining two operators from a look-up-table (LUT) based on the five digit number, and combining the base variables, exponents and operators to obtain a polynomial function, and the operators are each one of addition, subtraction, multiplication and division.
-
-
9. A device, comprising:
-
a random object generator configured to generate a random object; a memory configured to store base variables, a look-up-table (LUT) and a function determination object; a processor configured to determine a function based on the base variables, the function determination object and the LUT, and to determine a dynamic code based on the function and the random object; and a communication interface configured to communicate the random object and the dynamic code to a processing entity, wherein the random object is a first three digit number, the dynamic code is a second three digit number, the function determination object is a five digit number, and the processor is configured to determine the function by obtaining three exponents and two operators based on at least one of the LUT and the five digit number, and to combine the base variables, exponents and operators to obtain a polynomial function, and to determine the dynamic code by substituting each digit of the first three digit number for a different one of the base variables in the polynomial function. - View Dependent Claims (10, 11, 12, 13, 14, 15)
-
Specification