Encryption Device and Method
A method is disclosed of encrypting a value input into a user device storing an authentication key, a code generation algorithm, and a value verification code generation algorithm. The method includes the user device processing the authentication key using the code generation algorithm to generate an authentication code; and the user device processing the value using the value verification code generation algorithm to generate a value verification code. The method further includes the user device using the authentication code, the value and the value verification code to construct a message encrypting the value, the message for communicating to an authentication system via a communications network for processing by the authentication system to determine and verify the value, and authenticate the user device and/or the user. A method of communicating a value input into a user device to an authentication system and of verifying the value so communicated as well as an associated user device and authentication system are also disclosed.
1 . A method of encrypting a value input into a user device storing an authentication key, a code generation algorithm, and a value verification code generation algorithm, the method including:
the user device processing the authentication key using the code generation algorithm to generate an authentication code;
the user device processing the value using the value verification code generation algorithm to generate a value verification code; and
the user device using the authentication code, the value and the value verification code to construct a message encrypting the value, the message for communicating to an authentication system via a communications network for processing by the authentication system to determine and verify the value, and authenticate the user device and/or the user.
2 . A method according to claim 1 , wherein processing the value using the value verification code generation algorithm to generate the value verification code further includes processing either the authentication key or a different secret key.
3 . A method according to claim 1 , wherein using the authentication code, the value and the value verification code to construct a message encrypting the value includes performing a logic or arithmetic operation including at least the authentication code and the value.
4 . A method according to claim 3 , wherein performing the logic or arithmetic operation includes concatenating the value and value verification code to provide a concatenated sequence, and adding the authentication code using modulus arithmetic to the concatenated sequence.
5 . A method according to claim 4 , wherein the authentication code, the value and the value verification code comprise a sequence of digits from a digit set comprising X digits, and wherein the modulus arithmetic includes modulus X arithmetic.
6 . A method according to claim 4 , wherein the authentication code is an n-digit sequence, wherein the value has a sequence length less than the sequence length of the authentication code, and wherein the value verification code has a sequence length which corresponds to the difference between the sequence length of the authentication code and the sequence length of the value.
7 . A method according to claim 6 , wherein each digit in the authentication code is added separately to a respective digit of the concatenated sequence.
8 . A method according to claim 1 , wherein processing the authentication key using the code generation algorithm to generate an authentication code further includes processing a PIN entered by a user of the user device.
9 . A method according to claim 1 , wherein processing the value using the value verification code generation algorithm to generate a value verification code further includes processing a PIN entered by a user of the user device.
10 . A method according to claim 1 , wherein the value is a replacement PIN for storage at the authentication system.
11 . A method of verifying a value communicated to an authentication system via a communications network, the authentication system storing an authentication key associated with a user device, a code generation algorithm, and a value verification code generation algorithm, the method including:
the authentication system receiving a message constructed by a user device;
the authentication system processing the authentication key using the code generation algorithm to generate an expected authentication code;
the authentication system processing the message using the expected authentication code to determine a received value and a received value verification code;
the authentication system processing the received value using the value verification code generation algorithm to generate an expected value verification code;
the authentication system comparing the expected value verification code with the received value verification code; and
in the event that the expected value verification code correlates with the received value verification code, verifying the received value and authenticating the user device and/or the user.
12 . A method according to claim 11 , wherein processing the received value using the value verification code generation algorithm to generate the expected value verification code further includes processing either the authentication key or a different secret key.
13 . A method according to claim 11 , wherein processing the message includes performing a logic or arithmetic operation using the expected authentication code.
14 . A method according to claim 13 , wherein performing the logic or arithmetic operation includes subtracting the expected authentication code from at least part of the message using modulus arithmetic.
15 . A method according to claim 14 , wherein the expected authentication code and the message are comprised of digits selected from a set of X digits, and wherein the modulus arithmetic uses modulus X arithmetic.
16 . A method according to claim 15 , wherein each digit of the expected authentication code is subtracted separately from a respective digit of the message.
17 . A method according to claim 11 , wherein processing the authentication key using the code generation algorithm to generate an expected authentication code further includes processing a PIN associated with the user device and stored at the authentication system.
18 . A method according to claim 11 , wherein processing the received value using the value verification code generation algorithm to generate an expected value verification code further includes processing a PIN associated with the user device and stored at the authentication system.
19 . (canceled)
20 . A method of communicating a value input into a user device to an authentication system via a communications network, the user device storing a first authentication key, a first code generation algorithm, and a first value verification code generation algorithm, and the authentication system storing a second authentication key, a second code generation algorithm, and a second value verification code generation algorithm, the method including:
the user device processing the first authentication key using the first code generation algorithm to generate an authentication code;
the user device processing the value using the first value verification code generation algorithm to generate a value verification code;
the user device using the authentication code, the value and the value verification code to construct a message encrypting the value;
communicating the message to the authentication system;
the authentication system receiving the message;
the authentication system processing the second authentication key using the second code generation algorithm to generate an expected authentication code;
the authentication system processing the message using the expected authentication code to determine a received value and a received value verification code;
the authentication system processing the received value using the second value verification code generation algorithm to generate an expected value verification code;
the authentication system comparing the expected value verification code with the received value verification code; and
in the event that the expected value verification code correlates with the received value verification code, verifying the received value and authenticating the user device and/or the user.
21 . A user device including:
an input for receiving a value;
an output for outputting a message;
a processor;
a memory storing an authentication key, a code generation algorithm, and a value verification code generation algorithm; and
software resident in memory accessible to the processor, the software including a series of instructions executable by the processor to carry out a method of encrypting a value input into the user device including:
processing the authentication key using the code generation algorithm to generate an authentication code;
processing the value using the value verification code generation algorithm to generate a value verification code;
using the authentication code, the value and the value verification code to construct a message encrypting the value, and
outputting the message, the message for communicating to an authentication system via a communications network for processing by the authentication system to determine and verify the value, and authenticate the user device and/or the user.
22 . A user device according to claim 21 , wherein the output is an n-digit display, the authentication code is an n-digit sequence, the value has a sequence length less than the sequence length of the authentication code, and the value verification code has a sequence length which corresponds to the difference between the sequence length of the authentication code and the sequence length of the value.
23 . A user device according to claim 21 , wherein the output is an n-digit display, and wherein the authentication code, the value and the value verification code all have a sequence length of less than n-digits.
24 . An authentication system including:
a communications port;
a processor;
a memory storing an authentication key, a code generation algorithm, and a value verification code generation algorithm; and
software resident in memory accessible to the processor, the software including a series of instructions executable by the processor to carry out a method including:
receiving a message;
processing the authentication key using the code generation algorithm to generate an expected authentication code;
processing the message using the expected authentication code to determine a received value and a received value verification code;
processing the received value using the value verification code generation algorithm to generate an expected value verification code;
comparing the expected value verification code with the received value verification code; and
in the event that the expected value verification code correlates with the received value verification code, verifying the received value and authenticating the user device and/or the user.
25 . (canceled)
26 . (canceled)
27 . (canceled)
28 . (canceled)