# US 2022/0044233 A1 · Method, system, and computer program product for network bound proxy re-encryption and pin translation

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

- Number: US 2022/0044233 A1
- Document ID: US20220044233A1
- Status: Published application
- Kind: A1
- Application number: 17/421,608
- Filed: 2020-01-09
- Published: 2022-02-10
- Earliest claimed: 2019-01-09
- Assignees: Visa International Service Association
- Applicants: Visa International Service Association
- Inventors: Sivanarayana Gaddam; Gaven James Watson; Rohit Sinha; Pratyay Mukherjee
- Web page: https://patentgrep.com/patent/US20220044233A1

## CPC

- G06Q 20/12: specially adapted for electronic shopping systems
- H04L 9/3226: {using a predetermined code, e.g. password, passphrase or PIN (network architectures or network communication protocols for supporting authentication of entities using passwords in a packet data network H04L63/083)}
- G06Q 20/027: {involving a payment switch or gateway}
- G06Q 20/108: {Remote banking, e.g. home banking}
- G06Q 20/202: {Interconnection or interaction of plural electronic cash registers [ECR] or to host computer, e.g. network details, transfer of information from host to ECR or from ECR to ECR}
- G06Q 20/206: {comprising security or operator identification provisions, e.g. password entry}
- G06Q 20/3821: {Electronic credentials}
- G06Q 20/38215: {Use of certificates or encrypted proofs of transaction rights}
- G06Q 20/3823: {combining multiple encryption tools for a transaction}
- G06Q 20/3829: {involving key management}
- G06Q 20/385: {using an alias or single-use codes}
- G06Q 20/4012: {Verifying personal identification numbers [PIN]}
- G07F 7/1091: {Use of an encrypted form of the PIN}
- H04L 9/0819: {Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) (network architectures or network communication protocols for key distribution in a packet data network H04L63/062)}
- H04L 9/0822: {using key encryption key}
- H04L 9/0825: {using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates}
- H04L 9/0833: {involving conference or group key (network architectures or network communication protocols for key management in group communication in a packet data network H04L63/065)}
- H04L 9/0869: {involving random numbers or seeds}
- H04L 9/30: Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L 9/3073: {involving pairings, e.g. identity based encryption [IBE], bilinear mappings or bilinear pairings, e.g. Weil or Tate pairing}
- H04L 63/0471: {applying encryption by an intermediary, e.g. receiving clear information at the intermediary and encrypting the received information at the intermediary before forwarding}
- H04L 2209/56: Financial cryptography, e.g. electronic payment or e-cash
- H04L 2209/76: Proxy, i.e. using intermediary entity to perform cryptographic operations
- G06Q: INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G07F: COIN-FREED OR LIKE APPARATUS (coin sorting G07D3/00; coin testing G07D5/00; {handling coins or paper currencies apart from payment activated apparatus G07D; payment architectures, schemes or protocols G06Q20/00})

## Abstract

A method, system, and computer program product generate, with a payment network, a first value (a) and a second value (ga), the second value (ga) based on the first value (a) and a generator value (g); generate, with the payment network, a plurality of random merchant numbers (mi) for a respective plurality of merchant banks; determine, with the payment network, a merchant product (M) based on a product of the plurality of random merchant numbers (mi); generate, with the payment network, a public key (pki) based on the second value (ga), the merchant product (M), and the random merchant number (mi) and a random key (rki) based on the merchant product (M) and the random merchant number (mi) for each respective merchant bank; and communicate, with the payment network, the public key (pki) and the random key (rki) to at least one respective merchant bank.

## Claims

### Claim 1

A computer-implemented method, comprising:
generating, with a payment network, a first value (a) and a second value (ga), the second value (ga) generated based on the first value (a) and a generator value (g);
generating, with the payment network, a plurality of random merchant numbers (mi) for a respective plurality of merchant banks;
determining, with the payment network, a merchant product (M) based on a product of the plurality of random merchant numbers (mi) for the respective plurality of merchant banks;
generating, with the payment network, a public key (pki) based on the second value (ga), the merchant product (M), and the random merchant number (mi) and a random key (rki) based on the merchant product (M) and the random merchant number (mi) for each respective merchant bank of the plurality of merchant banks; and
communicating, with the payment network, the public key (pki) and the random key (rki) to at least one respective merchant bank.

### Claim 2 (depends on 1)

The computer-implemented method of claim 1, further comprising:
generating, with the merchant bank, a plurality of random payment gateway numbers (pi) for a respective plurality of payment gateways; and
generating, with the merchant bank, a payment gateway public key based on the second value (ga), the merchant product (M), and the random payment gateway number (pi) and a payment gateway random key based on the random payment gateway number (pi) for each respective payment gateway of the plurality of payment gateways.

### Claim 3 (depends on 2)

The computer-implemented method of claim 2, further comprising:
generating, with the merchant bank, a plurality of terminal numbers (ti) for a respective plurality of point-of-sale (POS) terminals; and
generating, with the merchant bank, a terminal public key based on the second value (ga), the merchant product (M), the random payment gateway number (pi), and the terminal number (ti) and a terminal random key based on the random payment gateway number (pi) and the terminal number (ti) for each respective POS terminal of the plurality of POS terminals.

### Claim 4 (depends on 3)

The computer-implemented method of claim 3, further comprising:
communicating, with the merchant bank, the terminal public key and the terminal random key to at least one payment gateway; and
communicating, with the at least one payment gateway, the terminal public key to at least one POS terminal.

### Claim 5 (depends on 4)

The computer-implemented method of claim 4, further comprising:
generating, with the at least one POS terminal, a random number (r) for a transaction message (m) associated with a transaction;
generating, with the at least one POS terminal, a first ciphertext associated with the transaction, the first ciphertext comprising:
(i) a first ciphertext value associated with the transaction message (m), the first ciphertext value encrypted based on the random number (r), a generator value (g), and the transaction message (m); and
ii) a second ciphertext value associated with the random number (r), the second ciphertext value encrypted based on the random number (r) and the terminal public key; and
communicating, with the POS terminal, the first ciphertext to the at least one payment gateway.

### Claim 6 (depends on 5)

The computer-implemented method of claim 5, further comprising:
re-encrypting, with the at least one payment gateway, the second ciphertext value based on the terminal random key to transform the second ciphertext value to a re-encrypted second ciphertext value based on the second value (ga), the merchant product (M), and the random number (r); and
communicating, with the at least one payment gateway, the re-encrypted second ciphertext value and the first ciphertext value to the at least one merchant bank.

### Claim 7 (depends on 6)

The computer-implemented method of claim 6, further comprising:
re-encrypting, with the at least one merchant bank, the re-encrypted second ciphertext value based on the random key (rki) to transform the re-encrypted second ciphertext value to a second re-encrypted second ciphertext value based on the second value (ga), the merchant product (M), the merchant random number (mi), and the random number (r); and
communicating, with the at least one merchant bank, the second re-encrypted second ciphertext value and the first ciphertext value to the payment network.

### Claim 8 (depends on 7)

The computer-implemented method of claim 7, further comprising:
decrypting, with the payment network, the first ciphertext value based on the second re-encrypted second ciphertext value, the merchant product (M), the merchant random number (mi), and the first ciphertext value.

### Claim 9

A system, comprising:
a payment network including one or more processors, wherein the payment network is programmed and/or configured to:
generate a first value (a) and a second value (ga), the second value (ga) generated based on the first value (a) and a generator value (g);
generate a plurality of random merchant numbers (mi) for a respective plurality of merchant banks;
determine a merchant product (M) based on a product of the plurality of random merchant numbers (mi) for the respective plurality of merchant banks;
generate a public key (pki) based on the second value (ga), the merchant product (M), and the random merchant number (mi) and a random key (rki) based on the merchant product (M) and the random merchant number (mi) for each respective merchant bank of the plurality of merchant banks; and
communicate the public key (pki) and the random key (rki) to at least one respective merchant bank.

### Claim 10 (depends on 9)

The system of claim 9, wherein the merchant bank includes one or more processors, and
wherein the merchant bank is programmed and/or configured to:
generate a plurality of random payment gateway numbers (pi) for a respective plurality of payment gateways; and
generate a payment gateway public key based on the second value (ga), the merchant product (M), and the random payment gateway number (pi) and a payment gateway random key based on the random payment gateway number (pi) for each respective payment gateway of the plurality of payment gateways.

### Claim 11 (depends on 10)

The system of claim 10, wherein the merchant bank is further programmed and/or configured to:
generate a plurality of terminal numbers (ti) for a respective plurality of point-of-sale (POS) terminals; and
generate a terminal public key based on the second value (ga), the merchant product (M), the random payment gateway number (pi), and the terminal number (ti) and a terminal random key based on the random payment gateway number (pi) and the terminal number (ti) for each respective POS terminal of the plurality of POS terminals.

### Claim 12 (depends on 11)

The system of claim 11, wherein the merchant bank is further programmed and/or configured to:
communicate the terminal public key and the terminal random key to at least one payment gateway,
wherein the at least one payment gateway includes one or more processors, and
wherein the at least one payment gateway is programmed and/or configured to:
communicate the terminal public key to at least one POS terminal.

### Claim 13 (depends on 12)

The computer-implemented method of claim 12, wherein the at least one POS terminal includes one or more processors, and
wherein the at least one POS terminal is programmed and/or configured to:
generate a random number (r) for a transaction message (m) associated with a transaction;
generate a first ciphertext associated with the transaction, the first ciphertext comprising:
(i) a first ciphertext value associated with the transaction message (m), the first ciphertext value encrypted based on the random number (r), a generator value (g), and the transaction message (m); and
ii) a second ciphertext value associated with the random number (r), the second ciphertext value encrypted based on the random number (r) and the terminal public key; and
communicate the first ciphertext to the at least one payment gateway.

### Claim 14 (depends on 13)

The computer-implemented method of claim 13, wherein the at least one payment gateway is further programmed and/or configured to:
re-encrypt the second ciphertext value based on the terminal random key to transform the second ciphertext value to a re-encrypted second ciphertext value based on the second value (ga), the merchant product (M), and the random number (r);
communicate the re-encrypted second ciphertext value and the first ciphertext value to the at least one merchant bank;
re-encrypt the re-encrypted second ciphertext value based on the random key (rki) to transform the re-encrypted second ciphertext value to a second re-encrypted second ciphertext value based on the second value (ga), the merchant product (M), the merchant random number (mi), and the random number (r);
communicate the second re-encrypted second ciphertext value and the first ciphertext value to the payment network; and
decrypt the first ciphertext value based on the second re-encrypted second ciphertext value, the merchant product (M), the merchant random number (mi), and the first ciphertext value.

### Claim 15

(canceled)

### Claim 16

(canceled)

### Claim 17

A computer program product comprising at least one non-transitory computer-readable medium including program instructions that, when executed by at least one processor, cause the at least one processor to:
generate, with a payment network, a first value (a) and a second value (ga), the second value (ga) generated based on the first value (a) and a generator value (g);
generate, with the payment network, a plurality of random merchant numbers (mi) for a respective plurality of merchant banks;
determine, with the payment network, a merchant product (M) based on a product of the plurality of random merchant numbers (mi) for the respective plurality of merchant banks;
generate, with the payment network, a public key (pki) based on the second value (ga), the merchant product (M), and the random merchant number (mi) and a random key (rki) based on the merchant product (M) and the random merchant number (mi) for each respective merchant bank of the plurality of merchant banks; and
communicate, with the payment network, the public key (pki) and the random key (rki) to at least one respective merchant bank.

### Claim 18 (depends on 17)

The computer program product of claim 17, wherein the instructions further cause the at least one processor to:
generate, with the merchant bank, a plurality of random payment gateway numbers (pi) for a respective plurality of payment gateways; and
generate, with the merchant bank, a payment gateway public key based on the second value (ga), the merchant product (M), and the random payment gateway number (pi) and a payment gateway random key based on the random payment gateway number (pi) for each respective payment gateway of the plurality of payment gateways.

### Claim 19 (depends on 18)

The computer program product of claim 18, wherein the instructions further cause the at least one processor to:
generate, with the merchant bank, a plurality of terminal numbers (ti) for a respective plurality of point-of-sale (POS) terminals; and
generate, with the merchant bank, a terminal public key based on the second value (ga), the merchant product (M), the random payment gateway number (pi), and the terminal number (ti) and a terminal random key based on the random payment gateway number (pi) and the terminal number (ti) for each respective POS terminal of the plurality of POS terminals.

### Claim 20 (depends on 19)

The computer program product of claim 19, wherein the instructions further cause the at least one processor to:
communicate, with the merchant bank, the terminal public key and the terminal random key to at least one payment gateway; and
communicate, with the at least one payment gateway, the terminal public key to at least one POS terminal.

### Claim 21 (depends on 20)

The computer program product of claim 20, wherein the instructions further cause the at least one processor to:
generate, with the at least one POS terminal, a random number (r) for a transaction message (m) associated with a transaction;
generate, with the at least one POS terminal, a first ciphertext associated with the transaction, the first ciphertext comprising:
(i) a first ciphertext value associated with the transaction message (m), the first ciphertext value encrypted based on the random number (r), a generator value (g), and the transaction message (m); and
ii) a second ciphertext value associated with the random number (r), the second ciphertext value encrypted based on the random number (r) and the terminal public key; and
communicate, with the POS terminal, the first ciphertext to the at least one payment gateway.

### Claim 22 (depends on 21)

The computer program product of claim 21, wherein the instructions further cause the at least one processor to:
re-encrypt, with the at least one payment gateway, the second ciphertext value based on the terminal random key to transform the second ciphertext value to a re-encrypted second ciphertext value based on the second value (ga), the merchant product (M), and the random number (r);
communicate, with the at least one payment gateway, the re-encrypted second ciphertext value and the first ciphertext value to the at least one merchant bank;
re-encrypt, with the at least one merchant bank, the re-encrypted second ciphertext value based on the random key (rki) to transform the re-encrypted second ciphertext value to a second re-encrypted second ciphertext value based on the second value (ga), the merchant product (M), the merchant random number (mi), and the random number (r);
communicate, with the at least one merchant bank, the second re-encrypted second ciphertext value and the first ciphertext value to the payment network; and
decrypt, with the payment network, the first ciphertext value based on the second re-encrypted second ciphertext value, the merchant product (M), the merchant random number (mi), and the first ciphertext value.

### Claim 23

(canceled)

### Claim 24

(canceled)
