Small Domain Encryption via Thorp Shuffle and Lookup Tables
Find Innovative SolutionsGenerate 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
Engineering 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
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.
2Adaptability or versatility
If direct modification of AES is attempted for small domain encryption, then output compatibility is improved, but cryptographic security deteriorates
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.
3Reliability
If multiple block cipher invocations are used for small domain encryption, then security is improved, but encryption speed deteriorates
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.
Data Source
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.


