Abstract: An authentication server and user device are provided. The authentication server includes: a memory for storing a user identification code associated with a user; a function generator for generating a plurality of functions, the functions adapted to produce a pass code based on the user identification code; a memory for storing a function associated with the user; an application generator for generating an application adapted to implement the function on a user device; an application distributor for distributing the application to the user device; a transaction code generator for generating a transaction code for a transaction; a transaction code distributor for supplying the transaction code to the application; and a controller for receiving a pass code for the transaction from the user device and for authenticating the transaction based on the received pass code, the function, the user identification code and the transaction code.