US 11,720,891 B2
Method and system for zero-knowledge and identity based key management for decentralized applications
Vijay Madisetti, Johns Creek, GA (US); and Arshdeep Bahga, Chandigarh (IN)
Assigned to Vijay Madisetti, Johns Creek, GA (US)
Filed by Vijay Madisetti, Johns Creek, GA (US)
Filed on Dec. 7, 2021, as Appl. No. 17/457,983.
Application 17/457,983 is a continuation in part of application No. 15/830,099, filed on Dec. 4, 2017, granted, now 11,538,031.
Claims priority of provisional application 63/271,123, filed on Oct. 23, 2021.
Claims priority of provisional application 63/257,603, filed on Oct. 20, 2021.
Claims priority of provisional application 63/257,145, filed on Oct. 19, 2021.
Claims priority of provisional application 62/479,966, filed on Mar. 31, 2017.
Prior Publication US 2022/0094675 A1, Mar. 24, 2022
Int. Cl. G06Q 20/38 (2012.01); H04L 9/40 (2022.01); H04L 9/14 (2006.01); H04L 9/06 (2006.01); G06F 21/62 (2013.01); G06F 21/33 (2013.01); H04L 9/00 (2022.01); H04L 9/32 (2006.01)
CPC G06Q 20/3829 (2013.01) [H04L 9/14 (2013.01); H04L 63/061 (2013.01); G06F 21/33 (2013.01); G06F 21/6245 (2013.01); G06F 2221/2115 (2013.01); G06Q 2220/00 (2013.01); H04L 9/0643 (2013.01); H04L 9/3236 (2013.01); H04L 9/3297 (2013.01); H04L 9/50 (2022.05); H04L 2463/061 (2013.01)] 9 Claims
OG exemplary drawing
 
1. A method for implementing zero-knowledge private key management for decentralized applications on a client device comprising a client application comprising:
registering an account with a verifier server;
initializing a wallet on the client application;
generating each of a public key and a private key on the client application;
encrypting the private key with a client-side encryption function on the client application, producing an encrypted private key;
transmitting the encrypted private key to the verifier server;
receiving a confirmation of receiving the encrypted private key from the verifier server:
in response to receiving the confirmation from the verifier server, removing the private key from the client application;
sending a transaction request to a decentralized application;
receiving a raw transaction at the client application;
requesting the encrypted private key from the verifier server;
receiving the encrypted private key from the verifier server at the client application;
decrypting the encrypted private key with a client-side decryption on the client application, producing a decrypted private key;
signing the raw transaction with the decrypted private key, producing a signed transaction;
transmitting the signed transaction to the decentralized application; and
removing each of the encrypted private key and the decrypted private key from the client application.