# US 12,192,352 B2 · Key reclamation in blockchain network via OPRF

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,192,352 B2
- Document ID: US12192352B2
- Status: Granted
- Kind: B2
- Application number: 17/103,475
- Filed: 2020-11-24
- Published: 2022-05-26
- Granted: 2025-01-07
- Earliest claimed: 2020-11-24
- Assignees: International Business Machines Corporation
- Applicants: International Business Machines Corporation
- Inventors: Yacov Manevich; Nitin Gaur; Dulce B. Ponceleon; Petr Novotny
- Web page: https://patentgrep.com/patent/US12192352B2

## CPC

- H04L 9/0894: {Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage}
- H04L 9/0637: {Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]}
- H04L 9/0822: {using key encryption key}
- H04L 9/085: {Secret sharing or secret splitting, e.g. threshold schemes}
- H04L 9/0863: {involving passwords or one-time passwords (network architectures or network communication protocols for using one-time keys in a packet data network H04L63/067)}
- H04L 9/0891: {Revocation or update of secret information, e.g. encryption key update or rekeying}
- H04L 9/14: using a plurality of keys or algorithms
- H04L 9/3247: {involving digital signatures}
- H04L 9/50: {using hash chains, e.g. blockchains or hash trees}
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

An example operation may include one or more of encrypting a private key with an encryption key, generating a plurality of keys based on the encryption key and converting the plurality of keys into a plurality of key shares based on a secret input value, storing the encrypted private key on a blockchain, and distributing the plurality of key shares to a plurality of blockchain peers of the blockchain, where the distributing comprises transmitting a different key share from among the plurality of key shares to each blockchain peer among the plurality of blockchain peers.

## Claims

### Claim 1

An apparatus comprising:
a processor that, when executing instructions stored in an associated memory, is configured to:
encrypt, via a client application, a private key with an encryption key,
generate a plurality of keys based on the encryption key,
convert the plurality of keys into a plurality of key shares based on a secret input value that is received from and known only to a user of the client application,
store the encrypted private key in a blockchain comprising a plurality of peers via a blockchain transaction,
transmit a different key share of the plurality of key shares to each blockchain peer of the plurality of peers;
wherein a minimum number of corresponding different key shares is received from the plurality of peers;
wherein the secret input value from the user is received; and
wherein the encryption key is recovered based on an execution of an oblivious pseudorandom function (OPRF).

### Claim 2 (depends on 1)

The apparatus of claim 1, wherein the plurality of keys comprises a plurality of pseudorandom values; and
wherein the processor is further configured to:
register the plurality of pseudorandom values with corresponding ones of the plurality of blockchain peers.

### Claim 3 (depends on 1)

The apparatus of claim 1, wherein, when the processor converts the plurality of keys into the plurality of key shares, the processor is further configured to:
convert the plurality of keys into corresponding key shares based on the oblivious pseudorandom function (OPRF) that uses the plurality of keys and the secret input value to generate the corresponding key shares.

### Claim 4 (depends on 3)

The apparatus of claim 3, wherein, when the processor converts the plurality of keys into the plurality of key shares, the processor is further configured to:
iteratively execute the OPRF for each key of the plurality of keys based on the secret input value to generate the corresponding key shares.

### Claim 5 (depends on 1)

The apparatus of claim 1, wherein the secret input value comprises a password.

### Claim 6 (depends on 1)

The apparatus of claim 1, wherein the processor is configured to:
distribute the blockchain transaction to the plurality of blockchain peers, where the blockchain transaction further comprises a payment value.

### Claim 7 (depends on 1)

The apparatus of claim 1, wherein the processor is further configured to:
decrypt a fee transaction that is stored by the plurality of peers using the recovered encryption key,
transmit the decrypted fee transaction to the plurality of peers,
in response to the plurality of peers receiving the decrypted fee transaction, receive the encrypted private key from a peer of the plurality of peers, and
decrypt the encrypted private key based on the recovered encryption key.

### Claim 8

A method comprising:
encrypting, via a client application, a private key with an encryption key;
generating a plurality of keys based on the encryption key;
converting the plurality of keys into a plurality of key shares based on a secret input value that is received from and known only to a user of the client application;
storing the encrypted private key in a blockchain comprising a plurality of peers via a blockchain transaction;
transmitting a different key share of the plurality of key shares to each blockchain peer of the plurality of peers;
wherein a minimum number of corresponding different key shares is received from the plurality of peers;
wherein the secret input value from the user is received; and
wherein the encryption key is recovered based on an execution of an oblivious pseudorandom function (OPRF).

### Claim 9 (depends on 8)

The method of claim 8, wherein the plurality of keys comprise a plurality of pseudorandom values, and
wherein the method further comprises:
registering the plurality of pseudorandom values with corresponding ones of the plurality of blockchain peers.

### Claim 10 (depends on 8)

The method of claim 8, wherein the converting further comprises:
converting the plurality of keys into corresponding key shares based on an oblivious pseudorandom function (OPRF) that uses the plurality of keys and the secret input value to generate the corresponding key shares.

### Claim 11 (depends on 10)

The method of claim 10, wherein the converting further comprises:
iteratively executing the OPRF for each key of the plurality of keys based on the secret input value to generate the corresponding key shares.

### Claim 12 (depends on 8)

The method of claim 8, wherein the secret input value comprises a password.

### Claim 13 (depends on 8)

The method of claim 8, further comprising:
distributing the blockchain transaction to the plurality of blockchain peers, where the blockchain transaction further comprises a payment value.

### Claim 14 (depends on 8)

The method of claim 8, further comprising:
decrypting a fee transaction that is stored by the plurality of peers using the recovered encryption key;
transmitting the decrypted fee transaction to the plurality of peers
in response to the plurality of peers receiving the decrypted fee transaction, receiving the encrypted private key from a peer of the plurality of peers; and
decrypting the encrypted private key based on the recovered encryption key.

### Claim 15

A non-transitory computer-readable medium comprising instructions that, when executed by a processor, cause the processor to perform:
encrypting, via a client application, a private key with an encryption key;
generating a plurality of keys based on the encryption key; converting the plurality of keys into a plurality of key shares based on a secret input value that is received from and known only to a user of the client application;
storing the encrypted private key in a blockchain comprising a plurality of peers via a blockchain transaction
transmitting a different key share of the plurality of key shares to each blockchain peer of the plurality of peers;
wherein a minimum number of corresponding different key shares is received from the plurality of peers;
wherein the secret input value from the user is received; and
wherein the encryption key is recovered based on an execution of an oblivious pseudorandom function (OPRF).

### Claim 16 (depends on 15)

The non-transitory computer-readable medium of claim 15, wherein the converting further comprises:
converting the plurality of keys into corresponding key shares based on the oblivious pseudorandom function (OPRF) that uses the plurality of keys and the secret input value to generate the corresponding key shares.
