Small Domain Encryption via Thorp Shuffle and Lookup Tables

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional block ciphers, such as AES, are not directly usable for encrypting small domains like credit card numbers or U.S. Social Security numbers, as they produce 128-bit outputs that are incompatible with the desired 9-decimal-digit inputs, leading to issues with existing applications and database schema.

Innovation Solution

A system that uses a conventional block cipher to deterministically encipher data from a small domain into the same domain, employing a pseudorandom function and the Thorp shuffle technique to speed up the encryption process while maintaining provable security, allowing for efficient encryption of small domains like credit card numbers or U.S. Social Security numbers.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If conventional block ciphers like AES are used to encrypt small domain data, then security is improved, but output compatibility with existing applications and database schemas deteriorates

Engineering Contradiction:
ImprovesecurityVSAvoidoutput compatibility
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent changes the output parameter of the encryption function to match the input domain size. Instead of producing fixed 128-bit outputs, the encryption function is designed to output values within the same small domain as the input (e.g., 9 decimal digits for Social Security numbers), thereby maintaining both security and compatibility with existing systems.

Inventive Principle:
Principle #35Parameter changes

2Adaptability or versatility

If direct modification of AES is attempted for small domain encryption, then output compatibility is improved, but cryptographic security deteriorates

Engineering Contradiction:
Improveoutput compatibilityVSAvoidcryptographic security
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent introduces an intermediary function that maps the 128-bit AES output to the small domain output. This intermediary uses the input value as an index into a lookup table generated by AES, rather than directly using the AES output. This approach maintains cryptographic security by leveraging the proven AES algorithm while achieving small domain compatibility through the intermediary mapping step.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If multiple block cipher invocations are used for small domain encryption, then security is improved, but encryption speed deteriorates

Engineering Contradiction:
ImprovesecurityVSAvoidencryption speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent performs preliminary action by pre-computing and storing a lookup table (array of size 2^32) where each entry corresponds to a possible input value. This table is generated using block cipher invocations but stored for reuse. During actual encryption, the operation reduces to a simple array lookup and XOR operation, dramatically speeding up encryption while maintaining security through the cryptographic foundation of the pre-computed table.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS8687802B2Method and system for accelerating the deterministic enciphering of data in a small domain
Publication Date: 2014.04.01 RGT UNIV OF CALIFORNIA
  • US8687802B2 patent drawing
  • US8687802B2 patent drawing
  • US8687802B2 patent drawing

AI summary

Conventional block ciphers that traffic in 128-bit block sizes are ill-suited for operating in small domains like credit card numbers. Some embodiments relate to techniques for constructing and speeding up practical and provably secure schemes for deterministically enciphering data from a small domain like credit card numbers using a conventional block cipher or other pseudorandom function.