Non-Repeating Random Value Generation for Data Masking
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional random number generators fail to produce non-repeating random numbers and character strings efficiently, particularly for large data sets, which is a challenge in applications like data masking where uniqueness and specific formatting are required, such as in masking social security numbers and license plates.
Innovation Solution
The system generates non-repeating random values (NRRVs) in user-specified formats and character sets by using a combination of sequence numbers and random values, stored in a mapping table, allowing for efficient data masking in O(N) time, where NRRVs are produced by manipulating subsets of characters and digits, and using SQL statements to ensure uniqueness.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If conventional random number generators are used to generate large data sets, then the quantity of random values is sufficient, but the values may repeat and require additional checking time
Solution Approach 1:
The patent applies preliminary action by pre-generating a complete set of non-repeating random values using a random number generator, storing them in an array, and shuffling them before use. This ensures that when values are needed, they are already prepared and guaranteed to be non-repeating, eliminating the need for runtime generation and verification checks.
Solution Approach 2:
The patent creates a copy of the shuffled random values array to serve as the source for masking operations. This copied array can be repeatedly used without regeneration, maintaining the non-repeating property while enabling efficient data masking across large data sets.
2Reliability
If data masking is performed with non-repeating values for large data sets, then uniqueness is ensured, but the time required to generate and check values increases
Solution Approach 1:
The system performs the time-consuming random value generation and uniqueness verification in advance, before the actual data masking operation. By pre-generating and shuffling the random values, the system ensures reliability of uniqueness while making the actual masking operation fast and efficient.
3Ease of manufacture
If conventional random number generators are used, then generation is simple, but the values may repeat and do not meet data masking constraints
Solution Approach 1:
The patent maintains simplicity by using a standard random number generator but adds a preliminary shuffling step that guarantees uniqueness. The complete set of random values is generated once, shuffled to ensure non-repeating sequence, and then used for masking, combining simplicity with reliability.
Solution Approach 2:
The patent creates a copied and shuffled version of the random values that meets the uniqueness requirement while preserving the simplicity of the original generation method. This copied array can be directly used for masking without complex generation logic during the masking operation.
4Reliability
If checking is performed on large data sets to ensure non-repeating values, then uniqueness is verified, but the period of time increases
Solution Approach 1:
The patent performs the verification of non-repeating values in advance during the shuffling phase, before the actual data masking begins. By using a shuffled array of pre-generated random values, the system guarantees uniqueness without requiring verification checks during the masking operation itself.
Data Source
AI summary
Systems, methodologies, media, and other embodiments associated with producing non-repeating random values for use in data masking are described. One example method includes accessing data describing a mask for a value in a database table column to be masked. The example method may also include identifying a number of distinct values in the database table column to be masked and determining a field width for a mask to provide unique random numbers to mask the distinct values. The method may include identifying locations in a mask value to store the unique random value and locations in a mask value to store filler values. The mask value may include different character sets and may comply with user specified formats. The method may include generating a set of statements that when executed produce a mapping table that includes masks for distinct values in the database table column to be masked.


