IP Library Granted Patent US 12706744
Granted Patent B2
US 12706744 · App. 18/659,245 · Granted Aug 11, 2026

Computer-implemented system and method for managing authentication between user device and authentication server using private-public key cryptography

Inventors: Ravindraraj Ramaraju (Round Rock, TX); Selvanathan Kumaraswamy (Round Rock, TX); Sri Soundarya Kottur Shanmugam (Los Altos, CA)
H04L9/321H04L9/0869H04L9/3228
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12706744
App. No.
18/659,245
Granted
Aug 11, 2026
Kind
B2
Abstract

A computer-implemented method and system for managing an authentication between user devices and authentication servers, is disclosed. The computer-implemented method includes: obtaining user credentials associated with users; retrieving information associated with device fingerprints corresponding to the user devices; generating cipher messages by at least one of: creating random numbers and encrypting the random numbers with keys derived from at least one of: the first and second index; transmitting the one or more user identities, the first index, the second index, and the cipher messages, to authentication servers; dynamically generating the private keys from private key variables; generating authentication responses by decoding authentication based questions obtained from the authentication servers, using cipher messages and the private keys; and transmitting the authentication responses to the authentication servers for adapting the authentication servers to authenticate the user devices.

Claims (110)

1 . A computer-implemented method for managing an authentication between one or more user devices and one or more authentication servers based on one or more private keys using private-public key cryptography, the computer-implemented method comprising:

obtaining, by at least one hardware processor of each user device, user credentials associated with one or more users, wherein the user credentials comprise user identities (ID) and public keys;

retrieving, by the at least one hardware processor of each user device, information associated with a device fingerprint corresponding to the respective user device, wherein retrieving the information associated with the device fingerprint comprises regenerating an index associated with the device fingerprint;

generating, by the at least one hardware processor of each user device, a cipher message by creating a random number and encrypting the random number with a key derived from the index;

transmitting, by the at least one hardware processor of each user device, the user identities, the index, and the cipher message, to one or more authentication servers;

dynamically regenerating, by the at least one hardware processor of each user device, a private key for the respective user device from a corresponding private key variable using a corresponding password;

generating, by the at least one hardware processor of each user device, an authentication response by decoding an authentication based question obtained from the one or more authentication servers, using at least one of: the cipher message and the private key; and

transmitting, by the at least one hardware processor of each user device, the authentication response to the authentication servers for adapting the one or more authentication servers to authenticate the user devices.

2 . The computer-implemented method of claim 1 , further comprising:

determining, by the one or more authentication servers, whether the user identities are matched with the index associated with the device fingerprint;

retrieving, by the one or more authentication servers, at least one of: the public keys and the private key variable associated with the respective user device;

decoding, by the one or more authentication servers, the cipher message received from the respective user device;

generating, by the one or more authentication servers, the authentication based question based on at least one of: the decoded cipher message and the random number;

transmitting, by the one or more authentication servers, the private key variables variable and the authentication based question, to the respective user device;

validating, by the one or more authentication servers, the authentication response received from the respective user device;

determining, by the one or more authentication servers, whether the authentication response received from the respective user device is matched with the authentication based question; and

authenticating, by the one or more authentication servers, the respective user device upon matching of the authentication response received from the respective user device with the authentication based question.

3 . The computer-implemented method of claim 1 , further comprising:

determining, by the one or more authentication servers, whether the user identities are matched with the index associated with the device fingerprint;

retrieving, by the one or more authentication servers, at least one of: the random number, one the public keys, and the private key variable associated with the respective user device;

decoding, by the one or more authentication servers, the cipher message received from each user device;

generating, by the one or more authentication servers, the authentication based question based on at least one of: the decoded cipher message and the random number;

transmitting, by the one or more authentication servers, the private key variable, the random number, and the authentication based question, to the respective user device;

validating, by the one or more authentication servers, the authentication response received from each user device;

determining, by the one or more authentication servers, whether the authentication response received from the respective user device is matched with the authentication based question; and

authenticating, by the one or more authentication servers, the respective user device upon matching of the authentication response received from the respective user device with the authentication based question.

4 . The computer-implemented method of claim 1 , further comprising, prior to generating the private keys, generating, by the at least one hardware processor of each user device, optimized passwords using at least one of: the user identities, the strong passwords, and the random number.

5 . The computer-implemented method of claim 1 , further comprising:

retrieving, by the at least one hardware processor of each user device, encrypted random numbers from a database, wherein the encrypted random numbers comprise an encrypted first random number, an encrypted second random number, and an encrypted third random number;

generating, by the at least one hardware processor of each user device, a hash index based on the user identities and the encrypted random numbers;

generating, by the at least one hardware processor of each user device, the cipher message by creating the random number and encrypting the random number using a hash function of the public keys as an encryption key;

transmitting, by the at least one hardware processor of each user device, the user identities, the hash index, and the encrypted the random number, to the one or more authentication servers;

decrypting, by the at least one hardware processor of each user device, the encrypted third random number using the encrypted first random number and the encrypted second random number;

decrypting, by the at least one hardware processor of each user device, the encrypted first random number and the encrypted second random number using the decrypted third random number;

decrypting, by the at least one hardware processor of each user device, encrypted deltas using the decrypted third random number, wherein the encrypted deltas comprise a first delta and a second delta, and wherein the encrypted deltas are differences between prime numbers and the random number; and

regenerating by the at least one hardware processor of each user device, the prime numbers based on a combination of the encrypted deltas and the random number.

6 . The computer-implemented method of claim 5 , further comprising:

determining, by the one or more authentication servers, whether the user identities are matched with the hash index;

retrieving, by the one or more authentication servers, the encrypted third random number and the encrypted deltas;

generating, by the one or more authentication servers, the authentication based question by decrypting the encrypted random number using the hash function of the public keys; and

transmitting, by the one or more authentication servers, the authentication based question with the encrypted third random number and the encrypted deltas, to the respective user device.

7 . The computer-implemented method of claim 1 , further comprising generating, by one or more pre-computation servers, a private key variable and an encryption key, wherein the generation of the private key variable and the encryption key, is isolated from the one or more authentication servers.

8 . The computer-implemented method of claim 7 , further comprising:

pre-computing, by the one or more pre-computation servers, unique user identities; and

transmitting, by the one or more pre-computation servers, the unique user identities to the respective user device.

9 . The computer-implemented method of claim 5 , further comprising:

determining, by the at least one hardware processor of each user device, whether hash square functions of the public keys sent by the one or more authentication servers are matched with the hash function of the public keys associated with the respective user device; and

decrypting, by the at least one hardware processor of each user device, the encrypted third random number using the encrypted first random number and the encrypted second random number upon matching of the hash square functions of the public keys sent by the one or more authentication servers, with the hash function of the public keys associated with the respective user device.

10 . The computer-implemented method of claim 1 , further comprising:

receiving, by one or more roaming authenticators, one time passwords from each user device; and

authenticating, by the roaming authenticators, the authentication servers by utilizing the one time passwords received from the respective user device.

11 . A computer-implemented system for managing an authentication between one or more user devices and one or more authentication servers based on one ore more private keys using private-public key cryptography, the computer-implemented system comprising:

the one or more user devices comprising:

at least one hardware processor;

a memory coupled to the at least one hardware processor, wherein the memory comprises a plurality of subsystems in form of programmable instructions executable by the at least one hardware processor, and wherein the plurality of subsystems comprises:

a user credentials obtaining subsystem configured to obtain user credentials associated with one or more users, wherein the user credentials comprise user identities (ID) and public keys;

an information retrieval subsystem configured to retrieve information associated with a device fingerprint corresponding to a respective user device, wherein retrieving the information associated with one the device fingerprint comprises regenerating an index associated with the device fingerprint;

an information generating subsystem configured to generate a cipher message by creating a random number and encrypting the random number with a key derived from the index;

a transmission subsystem configured to transmit the user identities, the index, and the cipher message, to one or more authentication servers;

a key generation subsystem configured to dynamically regenerate a private key for the respective user device from a corresponding private key variable using a corresponding password;

an authentication response generation subsystem configured to generate an authentication response by decoding an authentication based question obtained from the one or more authentication servers, using at least one of: the cipher message and the private key; and

the transmission subsystem configured to transmit the authentication response to the one or more authentication servers for adapting the one or more authentication servers to authenticate the one or more user devices.

12 . The computer-implemented system as claimed in claim 11 , wherein the one or more authentication servers are configured to:

determine whether the user identities are matched with the index associated with the device fingerprint;

retrieve at least one of: public keys and the private key variable associated with the respective user device;

decode the cipher message received from each user device;

generate the authentication based question based on the decoded cipher message and the random number;

transmit the private key variable and the authentication based question, to the respective user device;

validate the authentication response received from each user device;

determine whether the authentication response received from each user device is matched with the authentication based question; and

authenticate the respective user device upon matching of the authentication response received from the respective user device with the authentication based question.

13 . The computer-implemented system as claimed in claim 11 , wherein the one or more authentication servers are further configured to:

determine whether the user identities are matched with the index associated with the device fingerprint;

retrieve at least one of: the random number, the public keys, and the private key variable;

decode the cipher message received from each user device;

generate the authentication based question based on at least one of: the decoded cipher message and the random number;

transmit the private key variable, the random number, and the authentication based question, to the respective user device;

validate the authentication response received from each user device;

determine whether the authentication response received from the respective user device is matched with the authentication based question; and

authenticate the respective user device upon matching of the authentication response received from the respective user device with the authentication based question.

14 . The computer-implemented system of claim 11 , wherein the plurality of subsystems further comprises a password generation subsystem configured to generate optimized passwords using at least one of: the user identities, the strong passwords, and the random number, prior to generating the private keys.

15 . The computer-implemented system of claim 11 , wherein the plurality of subsystems further comprises:

a key retrieval subsystem configured to retrieve encrypted random numbers from a database, wherein the encrypted random numbers comprise an encrypted first random number, an encrypted second random number, and an encrypted third random number;

an index generation subsystem configured to generate a hash index based on the user identities and the encrypted random numbers;

the information generating subsystem configured to generate the cipher message by at least one of: creating the random number and encrypting the random number using a hash function of the public keys as an encryption key;

the transmission subsystem configured to transmit the user identities, the hash index, and the encrypted random number, to the authentication servers;

a decoding subsystem configured to decrypt the encrypted third random number using the encrypted first random number and the encrypted second random number;

the decoding subsystem further configured to decrypt the encrypted first random number and the encrypted second random number using the decrypted third random number;

the decoding subsystem further configured to decrypt encrypted deltas using the decrypted third random number, wherein the encrypted deltas comprise a first delta and a second delta, and wherein the encrypted deltas are differences between prime numbers and the random number; and

the information generation subsystem configured to regenerate the prime numbers based on a combination of the encrypted deltas and the random number.

16 . The computer-implemented system of claim 15 , wherein the one or more authentication servers are further configured to:

determine whether the user identities are matched with the hash index;

retrieve the encrypted third random number and the encrypted deltas;

generate the authentication based question by decrypting the encrypted random number using the hash function of the public keys; and

transmit the authentication based question with the encrypted third random number and the encrypted deltas, to the respective user device.

17 . The computer-implemented system of claim 11 , further comprising one or more pre-computation servers configured to generate a private key variable and an encryption key, wherein the generation of the private key variable and the encryption key, is isolated from the one or more authentication servers.

18 . The computer-implemented system of claim 17 , wherein the pre-computation servers are further configured to:

pre-compute unique user identities; and

transmit the unique user identities to the respective user device.

19 . The computer-implemented system of claim 15 , wherein the plurality of subsystems further comprises:

a matching subsystem configured to determine whether hash square functions of the public keys sent by the one or more authentication servers are matched with the hash function of the public keys; and

the decoding subsystem configured to decrypt the encrypted third random number using the encrypted first random number and the encrypted second random number upon matching of the hash square functions of the public keys sent by the one or more authentication servers, with the hash function of the public keys.

20 . A non-transitory computer-readable storage medium having instructions stored therein that when executed by one hardware processors, cause the hardware processors to execute operations of:

obtaining user credentials associated with one or more users, wherein the user credentials comprise user identities (ID) and public keys;

retrieving information associated with a device fingerprint corresponding to a respective user device, wherein retrieving the information associated with device fingerprint comprises regenerating an index associated with the device fingerprint;

generating a cipher message by creating a random number and encrypting the random number with a key derived from the index;

transmitting the user identities, the index, and the cipher message, to one or more authentication servers;

dynamically regenerating a private key for the respective user device from a corresponding private key variable using a corresponding password;

generating an authentication response by decoding an authentication based question obtained from the authentication servers, using at least one of: the cipher message and the private key; and

transmitting the authentication response to the one or more authentication servers for adapting the one or more authentication servers to authenticate the one or more user devices.