IP Library Granted Patent US 9,646,306
Granted Patent B1
US 9,646,306 · App. 14/209,662 · Granted May 9, 2017

Splicing resistant homomorphic passcode encryption

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 9,646,306
App. No.
14/209,662
Granted
May 9, 2017
Kind
B1
Abstract

A method for encrypting a passcode is disclosed. In one embodiment, the method includes: receiving an indication of a portion of the passcode from a user; encoding the portion of the passcode; encrypting the encoded portion into ciphertext using a homomorphic encryption system; updating a cumulative encryption string by executing a cumulative operation to aggregate the ciphertext corresponding to the encoded portion into the cumulative encryption string computed for a previous portion of the passcode, wherein the cumulative operation is dictated by a homomorphic property of the homomorphic encryption system; and generating a passcode message based at least in part on the cumulative encryption string, wherein the passcode message includes a message authentication code.

Claims (22)

1. A method of safeguarding passcode entry on a mobile device, the method comprising:

detecting, by the mobile device, a swipe of a financial transaction card at a card reader attached to the mobile device;

initializing, by the mobile device, a financial transaction and receiving card data from the card reader attached to the mobile device;

receiving, by the mobile device, a decryption-side nonce associated with the card reader;

displaying, by the mobile device, a passcode entry interface on a touchscreen of the mobile device, wherein the passcode entry interface enables a user to enter a passcode;

receiving, by the mobile device, the passcode entered by the user;

determining, by the mobile device, a sequence of digits corresponding to the received passcode;

encoding, by the mobile device, each of the determined sequence of digits into an encoded digit;

encrypting, by the mobile device, the encoded digit into ciphertext using homomorphic cryptography;

maintaining, by the mobile device, a cumulative product based at least partly on the ciphertexts associated with the determined sequence of digits;

generating, by the mobile device, an encryption-side nonce;

generating, by the mobile device, a message authentication code based at least in part on the cumulative product, the encryption-side nonce, and the decryption-side nonce; and

transmitting, by the mobile device, an encrypted message including the message authentication code, wherein transmitting the encrypted message causes a process to authenticate the financial transaction to initiate, wherein the encrypted message represents the passcode entered by the user.

2. The method of claim 1 , wherein maintaining the cumulative product includes multiplying the ciphertext corresponding to a newly entered digit with the cumulative product calculated for all previous digits in the sequence.

3. The method of claim 1 , wherein encoding each digit and encrypting each encoded digit are performed after determining the digit entered by the user; and wherein maintaining the cumulative product includes updating the cumulative product in response to encrypting each encoded digit.

4. The method of claim 1 , wherein generating the message authentication code is based partly on a cryptographic hash function.

5. The method of claim 1 , wherein encoding the digit comprises:

calculating the encoded digit as a prime number raised to the power of the digit; and selecting the prime number from a set of prime bases based at least partly on the position of the digit in the sequence of digits.

6. The method of claim 1 , wherein generating the message authentication code includes executing a hashed message authentication code (HMAC) operation with a pre-hashed string as a secret cryptographic key.

7. The method of claim 6 , wherein generating the message authentication code includes computing the pre-hashed string by running the cryptographic hash function on at least the encryption-side nonce and the cumulative encryption string.

8. The method of claim 1 , wherein the cryptographic hash function is in accordance with SHA-256 or a variant thereof.

9. The method of claim 1 , wherein encoding the digit comprises: selecting, based on a sequential position (“i”) of the digit relative to other digits of the passcode, a prime number (“pi”) from a set of prime number bases; and computing the encoded digit as the selected prime number raised to the power of the digit.

Assignments (2)
CHANGE OF NAME Recorded Jan 24, 2022
From: SQUARE, INC.
To: BLOCK, INC.
Reel/Frame 058823/0357 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 20, 2017
From: QUIGLEY, OLIVER S. C.; WADDLE, JASON DOUGLAS; ADIDA, BENJAMIN MICHAEL; GUISE, MAX JOSEPH; BONEH, DAN
To: SQUARE, INC.
Reel/Frame 041633/0827 →