IP Library Granted Patent US 12,093,939
Granted Patent B2
US 12,093,939 · App. 16/297,803 · Granted Sep 17, 2024

System and methods for validating and performing operations on homomorphically encrypted data

Inventors: Glenn Gulak (Toronto, CA); Alhassan Khedr (Toronto, CA)
Assignee: LORICA CYBERSECURITY INC.
G06Q20/3829A61B5/72G06N20/00G06Q20/382G06Q20/38215G16H10/40G16H10/60H04L9/008H04L9/3093H04L63/0414H04L63/0428G06Q20/08G06Q2220/00
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 12,093,939
App. No.
16/297,803
Granted
Sep 17, 2024
Kind
B2
Abstract

A system and method of validating and performing operations on homomorphically encrypted data are described herein. The methods include processing a secure financial transaction by receiving a transaction request to complete a financial transaction, with at least a portion of the request encrypted according to a homomorphic encryption scheme, and the transaction request comprising confidential cardholder data including an account number, non-confidential cardholder data, and transaction data, and retrieving one or more sets of encrypted comparison cardholder data encrypted according to a homomorphic encryption scheme. The confidential cardholder data is then compared to each set of the comparison cardholder data using one or more homomorphic operations to determine which set of comparison cardholder data matches the confidential cardholder data and validating the confidential cardholder data. An encrypted indicator is generated indicating authorization or rejection of the request and forwarded to a party seeking authorization to complete the financial transaction.

Claims (32)

1. A method of processing a secure financial transaction, comprising:

receiving a transaction request to complete a financial transaction, with at least a portion of the request encrypted according to a homomorphic encryption scheme, and the transaction request comprising encrypted confidential cardholder data comprising a plurality of strings corresponding to a plurality of transaction and payment data in the encrypted confidential cardholder data, the plurality of transaction and payment data including an account number, other cardholder data, and transaction data;

retrieving one or more sets of encrypted comparison cardholder card data from a cardholder data database, each set of encrypted comparison cardholder card data encrypted according to a homomorphic encryption scheme and comprising a plurality of transaction and payment data corresponding to the plurality of transaction and payment data in the encrypted confidential cardholder data;

comparing the encrypted confidential cardholder data to each set of the encrypted comparison cardholder card data using one or more homomorphic operations comprising at least one multiplication operation on the plurality of strings collectively to determine which set of comparison cardholder card data matches the encrypted confidential cardholder data and validating the encrypted confidential cardholder data, wherein the one or more homomorphic operations combine to form an XNOR operation, wherein the XNOR operation is modelled as z=(1−x−y)(1−x−y);

retrieving the transaction data and comparing the transaction data using the one or more homomorphic operations to determine whether a transaction amount can be authorized;

generating an encrypted indicator indicating authorization or rejection of the request to complete the financial transaction based upon at least the validation of the encrypted confidential cardholder data; and

forwarding the encrypted indicator indicating authorization or rejection of the request to complete the financial transaction to a party seeking authorization to complete the financial transaction, wherein the encrypted confidential cardholder data is never decrypted during the method; and

wherein a portion of the request is compared to the set of encrypted comparison cardholder card data to reduce size of the set of encrypted comparison cardholder card data prior to comparing the encrypted confidential cardholder data.

2. The method of claim 1 , wherein the homomorphic encryption scheme is a fully homomorphic encryption scheme or a somewhat homomorphic encryption scheme.

3. The method of claim 1 , wherein the one or more homomorphic operations combine to form an XNOR operation.

4. The method of claim 1 , wherein the request to complete the financial transaction is received by one or more of: a financial institution, a credit card company, a card issuer or a payment processor.

5. A non-transient computer-readable medium containing computer-readable instructions which when executed by a computer processor perform a method of:

receiving a transaction request to complete a financial transaction, with at least a portion of the request encrypted according to a homomorphic encryption scheme, and the transaction request comprising encrypted confidential cardholder data comprising a plurality of strings corresponding to a plurality of transaction and payment data in the encrypted confidential cardholder data, the plurality of transaction and payment data including an account number, other cardholder data, and transaction data;

retrieving one or more sets of encrypted comparison cardholder card data from a cardholder data database, each set of encrypted comparison cardholder card data encrypted according to a homomorphic encryption scheme and comprising a plurality of transaction and payment data corresponding to the plurality of transaction and payment data in the encrypted confidential cardholder data;

comparing the encrypted confidential cardholder data to each set of the encrypted comparison cardholder card data using one or more homomorphic operations comprising at least one multiplication operation on the plurality of strings collectively to determine which set of comparison cardholder card data matches the encrypted confidential cardholder data and validating the encrypted confidential cardholder data, wherein the one or more homomorphic operations combine to form an XNOR operation, wherein the XNOR operation is modelled as z=(1−x−y)(1−x−y);

retrieving the transaction data and comparing the transaction data using the one or more homomorphic operations to determine whether a transaction amount can be authorized;

generating an encrypted indicator indicating authorization or rejection of the request to complete the financial transaction based upon at least the validation of the encrypted confidential cardholder data; and

forwarding the encrypted indicator indicating authorization or rejection of the request to complete the financial transaction to a party seeking authorization to complete the financial transaction,

wherein the encrypted confidential cardholder data is never decrypted during the method; and

wherein a portion of the request is compared to the set of encrypted comparison cardholder card data to reduce size of the set of encrypted comparison cardholder card data prior to comparing the encrypted confidential cardholder data.

6. The computer-readable medium of claim 5 , wherein the homomorphic encryption scheme is a fully homomorphic encryption scheme or a somewhat homomorphic encryption scheme.

7. The computer-readable medium of claim 5 , wherein the request to complete the financial transaction is received by one or more of: a financial institution, a credit card company, a card issuer or a payment processor.

8. The method of claim 1 , wherein determining whether the transaction amount can be authorized includes verifying that the encrypted confidential cardholder data is for a valid account.

9. The computer-readable medium of claim 5 , wherein determining whether a transaction amount can be authorized includes verifying that the encrypted confidential cardholder data is for a valid account.

10. The method of claim 1 , wherein the encrypted confidential cardholder data includes one or more of: a portion of the account number, the account number, an expiry date and a Card Verification Value (CVV) number.

11. The method of claim 1 , wherein the other cardholder data includes one or more of: a bank name, a cardholder name, a Bank Identification Number (BIN) and a further portion of the account number.

12. The method of claim 1 , wherein the transaction data includes one or more of: a transaction amount, a transaction date and a merchant identifier.

13. The method of claim 1 , wherein the financial transaction is a credit card transaction or a debit card transaction or a stored-value card transaction.

14. The computer-readable medium of claim 5 , wherein the encrypted confidential cardholder data includes one or more of: a portion of the account number, the account number, an expiry date and a Card Verification Value (CVV) number.

15. The computer-readable medium of claim 5 , wherein the other cardholder data includes one or more of: a bank name, a cardholder name, a Bank Identification Number (BIN) and a further portion of the account number.

16. The computer-readable medium of claim 5 , wherein the transaction data includes one or more of: a transaction amount, a transaction date and a merchant identifier.

17. The computer-readable medium of claim 5 , wherein the financial transaction is a credit card transaction or a debit card transaction or a stored-value card transaction.

Assignments (3)
CHANGE OF NAME Recorded Sep 7, 2022
From: SHIELD CRYPTO SYSTEMS INC.
To: LORICA CYBERSECURITY INC.
Reel/Frame 061389/0197 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 20, 2021
From: KHEDR, ALHASSAN; GULAK, GLENN
To: THE GOVERNING COUNCIL OF THE UNIVERSITY OF TORONTO
Reel/Frame 057241/0263 →
NUNC PRO TUNC ASSIGNMENT Recorded Aug 19, 2021
From: THE GOVERNING COUNCIL OF THE UNIVERSITY OF TORONTO
To: SHIELD CRYPTO SYSTEMS INC.
Reel/Frame 057231/0496 →
Continuity (4)
Continuation 15468621 · Mar 24, 2017
Provisional Application 62321411 · Apr 12, 2016
Provisional Application 62417490 · Nov 4, 2016
Related Publication 20190205875A1 · Jul 4, 2019