Sign In to Follow Application
View All Documents & Correspondence

System And Method For Optimizing Random Number Generators (Rngs)

Abstract: ABSTRACT SYSTEM AND METHOD FOR OPTIMIZING RANDOM NUMBER GENERATORS (RNGS) Embodiments of a present disclosure generally relate to Random Number Generators (RNGs), and more particularly to a system and a method for optimizing Random Number Generators (RNGs) to remove manufacturing biases, higher-order correlations, and technological defects in random number data generated by RNGs. The system (102) retrieves random number data from database (104) and determines input parameters based on data. The random number data generated by one or more RNGs is from at least one of PRNG and QRNGs. Further, system (102) generates subsets of permutation matrices based on the input parameters and segments data into chunks, determining a permutation matrix for each chunk. Furthermore, system (102) aggregates determined permutation matrix with corresponding binary vector for each chunk. Additionally, the system (102) generates whitened random number data of the random number data by concatenating permuted vectors, resulting in a whitened form of random number data. [FIG. 1 is a reference figure]

Get Free WhatsApp Updates!
Notices, Deadlines & Correspondence

Patent Information

Application #
Filing Date
18 January 2024
Publication Number
06/2024
Publication Type
INA
Invention Field
COMPUTER SCIENCE
Status
Email
Parent Application
Patent Number
Legal Status
Grant Date
2025-04-15

Applicants

Qunu Labs Private Limited
Centenary Building, 2nd Floor, East Wing, No 28 Mg Road, Bengaluru – 560025, Karnataka, India

Inventors

1. Dilip Kumar Singh
G-59, Oriental Villa, Sushant Lok – 3, Sector – 57, Gurgaon, Haryana - 122003, India
2. Krishnan Rajesh Kumar
B-1205, Ohana 857- Timeless-British Architecture, #857, Old Madras Rd, Bhattarahalli, Hosabasavanapura, Krishnarajapura, Bengaluru, Karnataka 560049, India
3. Shashank Gupta
201, Katra Abdul Gani, Fatehpur, Uttar Pradesh – 212601, India

Specification

Description:FIELD OF INVENTION
Embodiments of a present disclosure generally relate to Random Number Generators (RNGs), and more particularly to a system and a method for optimizing Random Number Generators (RNGs) to remove manufacturing biases, higher-order correlations, and technological defects in random number data generated by the RNGs.
BACKGROUND
Generally, Random number generators (RNGs) are widely used in various fields, including cryptography, simulations, quantum mechanics, games, and the like. However, RNGs are prone to imperfections due to manufacturing bias and technological defects. To address this issue, post-processing techniques are commonly used to remove these imperfections. However, these techniques often compress the data and may not work in every scenario. Further, commercial Quantum Random Number Generators (QRNGs) require post-processing using whitening techniques to remove manufacturing biases in the outputs. While the whitening techniques have demonstrated remarkable improvements in the quality of the RNGs, the RNGs rely on linear combinations of raw random number sequences with benchmark random sequences to increase the variance of the sequence and improve randomness.
Further, the RNGs can be categorized based on the notion of randomness, including Deterministic or Pseudo Random Number Generators (D/PRNGs), Epistemic or Classical True Random Number Generators (E/CTRNGs), and Ontic or Quantum Random Number Generators (O/QRNGs). Currently, the QRNGs are used in the commercial random number techniques, all three categories of the RNGs are reported to be imperfect due to manufacturing bias or technological imperfections/defects. Further, among the RNGs, the PRNGs are the most commonly used, with several proposed for resource-constrained Internet of Things (IoT) devices. Cryptographically secure DRBGs have also been developed by analyzing different cryptographic algorithms such as Secure Hash Algorithm 2 (SHA2), Advanced Encryption Standard 256-bit counter mode (AES-256 CTR mode), and Triple Data Encryption Standard (Triple DES). High-quality PRNGs have been reviewed based on the Kolmogorov-Anosov theory of mixing in classical mechanical systems. Xor shift is a special PRNG under non-cryptographically secure random number generators. However, the technical challenge with the PRNGs is the limited entropy injected through seeds, resulting in entropic starvation in real-world applications. To address this issue, hardware based CTRNGs were developed, which were shortly substituted by the QRNGs due to the simplistic phenomenon and ontic nature of randomness. Remarkable progress has happened over the years in terms of speed, size, cost, and self-testability in the field of QRNGs. The QRNGs harness the unpredictable behavior of quantum particles to generate truly random numbers, a phenomenon rooted in the fundamental principles of quantum physics. These devices operate on principles such as a time of arrival of quantum particles at detectors, ensuring the randomness of their outputs. A notable advancement in QRNG technology is the concept of device-independent randomness, which strives to produce random numbers independent of the trustworthiness of the measurement devices themselves, enhancing security. However, like any electronic devices, QRNGs are not immune to manufacturing defects, which can introduce biases and undermine their reliability. Additionally, QRNGs can be vulnerable to side channel attacks, where adversaries exploit unintended signals or behaviors to glean information about the random number generation process. Thus, while QRNGs offer unprecedented randomness, it's crucial to address manufacturing quality and security concerns to harness their full potential in applications requiring high-quality random numbers. Several commercial QRNGs are currently available in several form factors such as Peripheral Component Interconnect (PCI) card based, Universal serial Bus (USB) based, chip-based, and the like, to generate high-quality random numbers. However, the commercial QRNGs require post-processing using whitening techniques to remove manufacturing biases in the outputs.
Conventionally, for the random number generation, a deterministic pseudorandom number generators (PRNGs) have made notable strides by introducing a pseudo quantum random number generator, the quantum permutation pad (QPP). Leveraging the vast entropy of quantum permutation space, the QPP facilitates bijective transformations. It serves multifaceted purposes, operating as a deterministic PRNG itself. Post-processing remains a crucial component within this category to refine and enhance the quality of generated random numbers. Further, chaos-based approaches represent another noteworthy innovation. One conventional method focuses on amplifying quantum noise through chaos, effectively addressing the challenge of increasing the continuous-variable quantum random number generation rate. This method employs parallel implementation of universal Hash post-processing for multichannel quantum random numbers, ultimately enabling real-time, high-speed quantum random number generation. Here too, post-processing plays a pivotal role in optimizing the randomness of generated numbers. Furthermore, within the category of nondeterministic QRNGs, an innovation involves harnessing the detection of single photons emitted by an Si-CMOS-LED light source integrated into the detector chip. This approach employs a ring-shaped single-photon avalanche diode (SPAD) alongside a field-programmable gate array (FPGA) to digitize time variables. Post-processing, involving a specialized configuration of XOR gates, is employed to eliminate bias in the raw data and elevate the overall randomness of the generated random bits. However, post-processing remains a critical component, ensuring that the generated random numbers meet the desired standards of quality and unpredictability.
Hence, there is a need in the art for an improved system and method for optimizing Random Number Generators (RNGs) to remove manufacturing biases, higher-order correlations, and technological defects in random number data generated by the RNGs, for addressing at least the aforementioned issues.
SUMMARY
This summary is provided to introduce a selection of concepts, in a simple manner, which is further described in the detailed description of the disclosure. This summary is neither intended to identify key or essential inventive concepts of the subject matter nor to determine the scope of the disclosure.
An aspect of the present disclosure provides a system for optimizing Random Number Generators (RNGs). The system retrieves, from a database, random number data generated by one or more Random Number Generators (RNGs). The random number data corresponds to an initial seed comprising binary content of the random number data. The random number data generated by one or more RNGs is from at least one of Pseudo Random Number Generators (PRNG), and a Quantum Random Number Generators (QRNGs). Further, the system determines one or more input parameters based on the retrieved random number data. The one or more input parameters comprise at least one of the first bit-string, a size of each of a plurality of permutation matrices corresponding to the random number data, and a number of the plurality of permutation matrices corresponding to the random number data. Furthermore, the system generates one or more subsets of the plurality of permutation matrices based on the one or more input parameters, and the random number data generated by the QRNGs, by iteratively applying a Fisher-Yates shuffle technique to the plurality of permutation matrices. Further, the Fisher-Yates shuffle technique is applied to iteratively generate the plurality of permutation matrices. The random number data generated by the QRNGs is selected to form a non-deterministic whitening technique. The plurality of permutation matrices is indicative of an entropy expansion from a classical Boolean information space to a quantum permutation space. Additionally, the system segments the first bit-string into a plurality of contiguous chunks of a size corresponding to the size of each of a plurality of permutation matrices. Each of the plurality of contiguous chunks is indicative of each of an N-dimensional binary vector of the binary content. Further, the system determines a permutation matrix for each of the plurality of contiguous chunks from the one or more subsets of the plurality of permutation matrices, based on a plurality of random bits generated using at least one of a pre-defined Random Number Generators (RNG) and the one or more Random Number Generator (RNG). Furthermore, the system aggregates, for each of the plurality of contiguous chunks, the determined permutation matrix for each of the plurality of contiguous chunks with each of the N-dimensional binary vector corresponding to each of the plurality of contiguous chunks. The aggregation results in a plurality of permuted vectors. Additionally, the system generates a whitened random number data by concatenating the plurality of permuted vectors. The whitened random number data corresponds to a whitened form of random number data generated by the one or more RNGs.
Another aspect of the present disclosure provides a method for optimizing Random Number Generators (RNGs). The method includes retrieving, from a database, random number data generated by one or more Random Number Generators (RNGs). The random number data corresponds to an initial seed comprising binary content of the random number data. The random number data generated by one or more RNGs is from at least one of Pseudo Random Number Generators (PRNG), and a Quantum Random Number Generators (QRNGs). Further, the method includes determining one or more input parameters based on the retrieved random number data. The one or more input parameters comprise at least one of the first bit-string, a size of each of a plurality of permutation matrices corresponding to the random number data, and a number of the plurality of permutation matrices corresponding to the random number data. Furthermore, generating one or more subsets of the plurality of permutation matrices based on the one or more input parameters, and the random number data generated by the QRNGs, by iteratively applying a Fisher-Yates shuffle technique to the plurality of permutation matrices. The Fisher-Yates shuffle technique uses initial random data to generate unique plurality of permutation matrices. The random number data generated by the QRNGs is selected to form a non-deterministic whitening technique. The plurality of permutation matrices is indicative of an entropy expansion from a classical Boolean information space to a quantum permutation space. Additionally, the method includes segmenting the first bit-string into a plurality of contiguous chunks of a size corresponding to the size of each of a plurality of permutation matrices. Each of the plurality of contiguous chunks is indicative of each of an N-dimensional binary vector of the binary content. Further, the method includes determining a permutation matrix for each of the plurality of contiguous chunks from the one or more subsets of the plurality of permutation matrices, based on a plurality of random bits generated using at least one of a pre-defined Random Number Generators (RNG) and the one or more Random Number Generator (RNG). Furthermore, the method includes aggregating, each of the plurality of contiguous chunks, the determined permutation matrix for each of the plurality of contiguous chunks with each of the N-dimensional binary vector corresponding to each of the plurality of contiguous chunks. The aggregation results in a plurality of permuted vectors. Additionally, the method includes generating a whitened random number data by concatenating the plurality of permuted vectors. The generated whitened random number data corresponds to a whitened form of random number data generated by the one or more RNGs.
To further clarify the advantages and features of the present disclosure, a more particular description of the disclosure will follow by reference to specific embodiments thereof, which are illustrated in the appended figures. It is to be appreciated that these figures depict only typical embodiments of the disclosure and are therefore not to be considered limiting in scope. The disclosure will be described and explained with additional specificity and detail with the appended figures.
BRIEF DESCRIPTION OF DRAWINGS
The disclosure will be described and explained with additional specificity and detail with the accompanying figures in which:
FIG. 1 illustrates an exemplary block diagram representation of a network architecture of a system for optimizing Random Number Generators (RNGs), in accordance with an embodiment of the present disclosure;
FIG. 2A illustrates an exemplary block diagram representation of a system such as those shown in FIG. 1, capable of optimizing Random Number Generators (RNGs), in accordance with an embodiment of the present disclosure;
FIG. 2B illustrates an exemplary flow diagram representation of a non-deterministic whitening technique applied on input chunk for obtaining whitened form of output chunk, in accordance with an embodiment of the present disclosure;
FIG. 2C illustrates an exemplary block diagram representation of a multi-user access of whitened random numbers, in accordance with an embodiment of the present disclosure;
FIG. 3 illustrates a flow chart depicting a method of optimizing Random Number Generators (RNGs), according to an example embodiment of the present disclosure; and
FIG. 4 illustrates an exemplary block diagram representation of a hardware platform for an implementation of the disclosed system, according to an example embodiment of the present disclosure.
Further, those skilled in the art will appreciate that elements in the figures are illustrated for simplicity and may not have necessarily been drawn to scale. Furthermore, in terms of the construction of the device, one or more components of the device may have been represented in the figures by conventional symbols, and the figures may show only those specific details that are pertinent to understanding the embodiments of the present disclosure so as not to obscure the figures with details that will be readily apparent to those skilled in the art having the benefit of the description herein.
DETAILED DESCRIPTION OF THE DISCLOSURE
For the purpose of promoting an understanding of the principles of the disclosure, reference will now be made to the embodiment illustrated in the figures and specific language will be used to describe them. It will nevertheless be understood that no limitation of the scope of the disclosure is thereby intended. Such alterations and further modifications in the illustrated system, and such further applications of the principles of the disclosure as would normally occur to those skilled in the art are to be construed as being within the scope of the present disclosure. It will be understood by those skilled in the art that the foregoing general description and the following detailed description are exemplary and explanatory of the disclosure and are not intended to be restrictive thereof.
In the present document, the word "exemplary" is used herein to mean "serving as an example, instance, or illustration." Any embodiment or implementation of the present subject matter described herein as "exemplary" is not necessarily to be construed as preferred or advantageous over other embodiments.
The terms “comprise”, “comprising”, or any other variations thereof, are intended to cover a non-exclusive inclusion, such that one or more devices or sub-systems or elements or structures or components preceded by “comprises... a” does not, without more constraints, preclude the existence of other devices, sub-systems, additional sub-modules. Appearances of the phrase “in an embodiment”, “in another embodiment” and similar language throughout this specification may, but not necessarily do, all refer to the same embodiment.
Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by those skilled in the art to which this disclosure belongs. The system, methods, and examples provided herein are only illustrative and not intended to be limiting.
A computer system (standalone, client, or server computer system) configured by an application may constitute a “module” or a “subsystem” that is configured and operated to perform certain operations. In one embodiment, the “subsystem” may be implemented mechanically or electronically, so a module or a subsystem may comprise dedicated circuitry or logic that is permanently configured (within a special-purpose processor) to perform certain operations. In another embodiment, a “module” or a “subsystem” may also comprise programmable logic or circuitry (as encompassed within a general-purpose processor or other programmable processor) that is temporarily configured by software to perform certain operations.
Accordingly, the term a “module” or a “subsystem” should be understood to encompass a tangible entity, be that an entity that is physically constructed permanently configured (hardwired), or temporarily configured (programmed) to operate in a certain manner and/or to perform certain operations described herein.
Embodiments of the present disclosure provide a system and a method for optimizing Random Number Generators (RNGs). The present disclosure provides a universal whitening technique using n-qubit permutation matrices that can remove imperfections in commercial random number generators without compression. The whitening technique may work with every random number generator, thus offering huge agility in the current as well as future cryptographic infrastructure. The use of permutation matrices efficiently expands entropy, maintains Shannon perfect secrecy and lays the foundation of quantum-safe cryptography. Further, the present disclosure optimizes RNGs without compressing the random data, unlike existing methods that require compression, thus decreasing the data rate, and improvising the RNGs. The system optimizes the randomness of the random data generated from at least one of pseudorandom number generators (PRNG) and Quantum Random Number Generators (QRNGs) using large permutation space associated with the set of permutation matrices.
The present disclosure addresses the problem of universal whitening technique for commercial random number generators by using n-qubit permutation matrices. Further, the present disclosure provides several advantages over previous whitening techniques. By increasing the size of the permutation matrix, the permutation space widens, resulting in a higher increase in randomness of the data on applying permutations. Additionally, using a greater number of permutation matrices in the set increases entropy. However, there may be a trade-off between the execution time and the size/ number of the permutation matrices used. The use of entropy expansion as a whitening technique also ensures that the size of the output is exactly the same as the size of the input when the size of the entropy stream is a multiple of the dimensions of the permutation matrix. Because the output of entropy expansion on the input data may be different each time it is applied due to the random selection of the permutation matrices, it provides a level of randomness that is not found in most deterministic whitening techniques. Further, the present disclosure categorizes the whitening technique either as a deterministic or a non-deterministic, depending on whether the random numbers employed in generating the permutation pad originate from a Pseudorandom Number Generator (PRNG) or a True Random Number Generator (TRNG), respectively.
Referring now to the drawings, and more particularly to FIGs. 1 through 4, where similar reference characters denote corresponding features consistently throughout the figures, there are shown preferred embodiments and these embodiments are described in the context of the following exemplary system and/or method.
FIG. 1 illustrates an exemplary block diagram representation of a network architecture 100 of a system 102 for optimizing Random Number Generators (RNGs), in accordance with an embodiment of the present disclosure. According to FIG. 1, the network architecture 100 may include the system 102, a database 104, and a user device 106. The system 102 may be communicatively coupled to the database 104, and the user device 106 via a communication network 108. The communication network 108 may be a wired communication network and/or a wireless communication network. Further, the communication network 108 may be an on-premises network. The database 104 may include, but is not limited to, random number data, random number sequences, binary content, bit-strings, any other content, and combinations thereof. The database 104 may be any kind of database such as, but are not limited to, relational databases, dynamic databases, monetized databases, dedicated databases, scalable databases, cloud databases, distributed databases, in-memory content database, encrypted database, any other databases, and a combination thereof.
Further, the user device 106 may be associated with, but not limited to, a user, an individual, an administrator, a vendor, a technician, a health care worker, a supervisor, a team, an entity, a facility, and the like. The user device 106 may be used to provide input and/or receive output to/from the system 102, and/or to the database 104. The user device 106 may present to the user with one or more user interfaces for the user to interact with the system 102 and/or to the database 104 for the RNGs optimizing needs. The system 102 optimizes the randomness of the random data generated from at least one of pseudorandom number generators (PRNG) and Quantum Random Number Generators (QRNGs) using large permutation space associated with the set of permutation matrices. The user device 106 may be at least one of, an electrical, an electronic, an electromechanical, and a computing device. The user device 106 may include, but is not limited to, a mobile device, a smartphone, a Personal Digital Assistant (PDA), a tablet computer, a phablet computer, a wearable computing device, a Virtual Reality / Augmented Reality (VR/AR) device, a laptop, a desktop, a server, and the like. The entities and the facility may include, but are not limited to, a hospital, a healthcare facility, a laboratory facility, an e-commerce company, a merchant organization, an airline company, a hotel booking company, a company, an outlet, a manufacturing unit, an enterprise, an organization, an educational institution, a secured facility, a warehouse facility, a supply chain facility, any other facility and the like.
Further, the system 102 may be used in, but are not limited to, a cryptography, a gaming, an identity authentication, Internet of Things (IoT) devices, simulation, any other industry that relies on RNGs and suffers from suboptimal device, and a combination thereof. Further, the system 102 may be implemented by way of a single device or a combination of multiple devices that may be operatively connected or networked together. The system 102 may be implemented in hardware or a suitable combination of hardware and software. The system 102 includes one or more hardware processor(s) 110 and a memory 112. The memory 112 may include a plurality of modules 114. The system 102 may be a hardware device including the hardware processor 110 executing machine-readable program instructions for optimizing Random Number Generators (RNGs). Execution of the machine-readable program instructions by the hardware processor 110 may enable the proposed system 102 to optimize Random Number Generators (RNGs). The “hardware” may comprise a combination of discrete components, an integrated circuit, an application-specific integrated circuit, a field-programmable gate array, a digital signal processor, or other suitable hardware. The “software” may comprise one or more objects, agents, threads, lines of code, subroutines, separate software applications, two or more lines of code, or other suitable software structures operating in one or more software applications or on one or more processors.
The hardware processor 110 may include, for example, microprocessors, microcomputers, microcontrollers, digital signal processors, central processing units, state machines, logic circuits, and/or any devices that manipulate data or signals based on operational instructions. Among other capabilities, hardware processor 110 may fetch and execute computer-readable instructions in a memory operationally coupled with the system 102 for performing tasks such as data processing, input/output processing, and/or any other functions. Any reference to a task in the present disclosure may refer to an operation being or that may be performed on data.
Though few components and subsystems are disclosed in FIG. 1, there may be additional components and subsystems which is not shown, such as, but not limited to, assets, machinery, instruments, facility equipment, safety devices, testing kits, databases, blockchain networks, gaming devices, IoT devices, identity authentication devices, simulation devices, any other devices, and combination thereof. The person skilled in the art should not be limiting the components/subsystems shown in FIG. 1. Although FIG. 1 illustrates the system 102, and the user device 106 connected to the database 104, one skilled in the art can envision that the system 102, and the user device 106 can be connected to several user devices located at different locations and several databases via the communication network 108.
Those of ordinary skilled in the art will appreciate that the hardware depicted in FIG. 1 may vary for particular implementations. For example, other peripheral devices such as an optical disk drive and the like, local area network (LAN), wide area network (WAN), wireless (e.g., wireless-fidelity (Wi-Fi)) adapter, graphics adapter, disk controller, input/output (I/O) adapter also may be used in addition or place of the hardware depicted. The depicted example is provided for explanation only and is not meant to imply architectural limitations concerning the present disclosure.
Those skilled in the art will recognize that, for simplicity and clarity, the full structure and operation of all data processing systems suitable for use with the present disclosure are not being depicted or described herein. Instead, only so much of the system 102 as is unique to the present disclosure or necessary for an understanding of the present disclosure is depicted and described. The remainder of the construction and operation of the system 102 may conform to any of the various current implementations and practices that were known in the art.
In an embodiment, the system 102 may retrieve from the database 104 random number data generated by one or more Random Number Generators (RNGs). The random number data corresponds to an initial seed comprising binary content of the random number data. The one or more RNGs include, but are not limited to, Pseudo Random Number Generators PRNGs, Deterministic Random Bit Generators (DRBGs), Classical True Random Number Generators (CTRNGs) (also referred to as Epistemic True Random Number Generators (ETRNGs)), Quantum Random Number Generators (QRNGs), Ontic Random Number Generators (ORNGs), and the like.
In an embodiment, the random number data generated by one or more RNGs is from at least one of Pseudo Random Number Generators (PRNG), and a Quantum Random Number Generators (QRNGs). Further, the system 102 may determine one or more input parameters based on the retrieved random number data. The one or more input parameters include, but are not limited to, the first bit-string, a size of each of a plurality of permutation matrices corresponding to the random number data, a number of the plurality of permutation matrices corresponding to the random number data, and the like. The plurality of permutation matrices corresponds to a plurality of n-qubit permutation matrices.
In an embodiment, the system 102 may generate one or more subsets of the plurality of permutation matrices based on the one or more input parameters, and the random number data generated by the QRNGs, by iteratively applying a Fisher-Yates shuffle technique to the plurality of permutation matrices. The plurality of permutation matrices is indicative of an entropy expansion from a classical Boolean information space to a quantum permutation space. Further, the Fisher-Yates shuffle technique is applied to iteratively generate the plurality of permutation matrices. The random number data generated by the QRNGs is selected to form a non-deterministic whitening technique.
In an embodiment, the system 102 may segment the first bit-string into a plurality of contiguous chunks of a size corresponding to the size of each of a plurality of permutation matrices. Each of the plurality of contiguous chunks is indicative of each of an N-dimensional binary vector of the binary content. For example, the user may be provided with options such as required size of permutation matrices, and a number of permutation matrices. The user may input the size and the number of permutation matrices. For example, if the user inputs size 8 (for a 8 qubits system), as the size of permutation matrices, then it may be 256X 256 permutation matrices. Further, if the user inputs the number of permutation matrices is 64. Then the Fisher-Yates shuffle technique is executed 64 times to generate unique permutation matrices. Then the system 102 performs 64X(256) bit of the random number data to provide a permutation pad.
In an embodiment, the system 102 may determine a permutation matrix for each of the plurality of contiguous chunks from the one or more subsets of the plurality of permutation matrices, based on a plurality of random bits generated using at least one of a pre-defined Random Number Generators (RNG) and the one or more Random Number Generator (RNG).
In an embodiment, the system 102 may aggregate, for each of the plurality of contiguous chunks, the determined permutation matrix for each of the plurality of contiguous chunks with each of the N-dimensional binary vector corresponding to each of the plurality of contiguous chunks. The aggregation results in a plurality of permuted vectors.
In an embodiment, the system 102 may generate a whitened random number data by concatenating the plurality of permuted vectors. The whitened random number data corresponds to a whitened form of random number data generated by the one or more RNGs. The whitened form is based on a whitening technique. The whitening technique includes, but are not limited to, an XOR, a cryptographic hash function, a Von Neumann’s technique, and the like. Further, techniques such as an Entropy (ENT) randomness test, and a statistical test suite, may be used to judge the randomness of the input file on parameters such, entropy, pi-estimation, chi-square distribution, frequency, and the like. The whitened form of the first bit-string is based on increasing randomness of the random number data through widening of the quantum permutation space associated with the plurality of permutation matrices.
FIG. 2A illustrates an exemplary block diagram representation of a system such as those shown in FIG. 1, capable of optimizing Random Number Generators (RNGs), in accordance with an embodiment of the present disclosure. The system 102 may also function as a computer-implemented system (hereinafter referred to as the system 102). The system 102 comprises the one or more hardware processors 110, the memory 112, and a storage unit 204. The one or more hardware processors 110, the memory 112, and the storage unit 204 are communicatively coupled through a system bus 202 or any similar mechanism. The memory 112 comprises a plurality of modules 114 in the form of programmable instructions executable by the one or more hardware processors 110.
Further, the plurality of modules 114 includes a random number data retrieving module 206, an input parameter determining module 208, a matrices generating module 210, a bit string segmenting module 212, a matrix determining module 214, a matrix-vector aggregating module 216, and a bit string generating module 218.
The one or more hardware processors 110, as used herein, means any type of computational circuit, such as, but not limited to, a microprocessor unit, microcontroller, complex instruction set computing microprocessor unit, reduced instruction set computing microprocessor unit, very long instruction word microprocessor unit, explicitly parallel instruction computing microprocessor unit, graphics processing unit, digital signal processing unit, or any other type of processing circuit. The one or more hardware processors 110 may also include embedded controllers, such as generic or programmable logic devices or arrays, application-specific integrated circuits, single-chip computers, and the like.
The memory 112 may be a non-transitory volatile memory and a non-volatile memory. The memory 112 may be coupled to communicate with the one or more hardware processors 110, such as being a computer-readable storage medium. The one or more hardware processors 110 may execute machine-readable instructions and/or source code stored in the memory 112. A variety of machine-readable instructions may be stored in and accessed from the memory 112. The memory 112 may include any suitable elements for storing data and machine-readable instructions, such as read-only memory, random access memory, erasable programmable read-only memory, electrically erasable programmable read-only memory, a hard drive, a removable media drive for handling compact disks, digital video disks, diskettes, magnetic tape cartridges, memory cards, and the like. In the present embodiment, the memory 112 includes the plurality of modules 112 stored in the form of machine-readable instructions on any of the above-mentioned storage media and may be in communication with and executed by the one or more hardware processors 110.
The storage unit 204 may be a cloud storage or a database such as those shown in FIG. 1. The storage unit 204 may store but is not limited to, random number data, random number sequences, binary content, bit-strings, any other content, and combinations thereof. The storage unit 204 may be any kind of database such as, but are not limited to, relational databases, dynamic databases, monetized databases, dedicated databases, scalable databases, cloud databases, distributed databases, any other databases, and combination thereof.
In an embodiment, the random number data retrieving module 206 may retrieve from the database 104, random number data generated by one or more Random Number Generators (RNGs). The random number data includes an initial seed corresponding to binary content of the random number data. The one or more RNGs include, but are not limited to, Pseudo Random Number Generators PRNGs (also referred as Deterministic Random Bit Generators (DRBGs)), Classical True Random Number Generators (CTRNGs) or Epistemic True Random Number Generators (ETRNGs), Quantum Random Number Generators (QRNGs) (also referred as Ontic Random Number Generators (ORNGs)), and the like. In an embodiment, the random number data generated by one or more RNGs is from at least one of Pseudo Random Number Generators (PRNG), and a Quantum Random Number Generators (QRNGs).
In an embodiment, the input parameter determining module 208 may determine one or more input parameters based on the retrieved random number data. The one or more input parameters include, but are not limited to, the first bit-string, a size of each of a plurality of permutation matrices corresponding to the random number data, a number of the plurality of permutation matrices corresponding to the random number data, and the like. The plurality of permutation matrices corresponds to a plurality of n-qubit permutation matrices.
In an embodiment, the matrices generating module 210 may generate one or more subsets of the plurality of permutation matrices based on the one or more input parameters, and the random number data generated by the QRNGs, by iteratively applying a Fisher-Yates shuffle technique to the plurality of permutation matrices. The permutation matrices may be a hybrid shuffle matrix. wherein the random number data generated by the QRNGs is selected to form a non-deterministic whitening technique. The plurality of permutation matrices is indicative of an entropy expansion from a classical Boolean information space to a quantum permutation space. The entropy expansion rectifies at least one of manufacturing biases, higher order correlations and defects in the random number data generated by the one or more RNGs, by non-deterministically determining a distinctive permutation matrix for each of the plurality of contiguous chunks. Further, for the entropy expansion, the input parameters determining module 208 may determine, if a size of the first bit-string is multiple of a dimension of the determined distinctive permutation matrix. Further, bit string generating module 218 may generate the second bit-string with a size corresponding to the size of the first bit-string, if the size of the first bit-string is multiple of the dimension of the determined distinctive permutation matrix. The entropy expansion on the first bit-string is distinctive each time, due to the distinctive permutation matrices.
In an embodiment, the bit string segmenting module 212 may segment the first bit-string into a plurality of contiguous chunks of a size corresponding to the size of each of a plurality of permutation matrices. Each of the plurality of contiguous chunks is indicative of each of an N-dimensional binary vector of the binary content.
In an embodiment, the matrix determining module 214 may determine a permutation matrix for each of the plurality of contiguous chunks from the one or more subsets of the plurality of permutation matrices, based on a plurality of random bits generated using at least one of a pre-defined Random Number Generators (RNG) and the one or more RNGs. To determine a permutation matrix for each of the plurality of contiguous chunks, the system 102 may generate the plurality of random bits using the pre-defined RNG or the same RNGs, based on the number of the plurality of permutation matrices. The random bits are indicative of pre-defined binary numbers. Each of the pre-defined binary number corresponds to each of the number of the plurality of permutation matrices. Further, the system 102 may determine the permutation matrix based on each of the pre-defined binary number corresponding to each of the number of the plurality of permutation matrices.
In an embodiment, the matrix-vector aggregating module 216 may aggregate, for each of the plurality of contiguous chunks, the determined permutation matrix for each of the plurality of contiguous chunks with each of the N-dimensional binary vector corresponding to each of the plurality of contiguous chunks. The aggregation results in a plurality of permuted vectors.
In an embodiment, the bit string generating module 218 may generate a whitened random number data by concatenating the plurality of permuted vectors. The whitened random number data corresponds to a whitened form of the random number data generated by the one or more RNGs. The whitened form is based on a whitening technique. The whitening technique includes, but is not limited to, an XOR, a cryptographic hash function, a Von Neumann’s technique, and the like. The whitened form of the random number data is based on increasing randomness of the random number data through widening of the quantum permutation space associated with the plurality of permutation matrices.
Exemplary scenario:
Consider, a whitening technique applied to an entropy stream of random numbers to reduce bias and correlation and improve the randomness characteristics of the stream. The whitening technique can also refer to a technique used to process raw output data from a true random number generator (TRNG) or a QRNG or a PRNG. The TRNGs generate random numbers based on physical processes, such as thermal or quantum noise, which are inherently random. However, the raw output data from TRNGs/QRNGs/PRNGs may not be completely random or uniformly distributed. The whitening technique processes the raw data to remove any biases or correlations, and to ensure that the output is truly random. There are different whitening techniques that can be used for TRNGs/QRNGs/PRNGs, depending on the specific implementation and requirements. For example, one common whitening algorithm is the Von Neumann debiasing technique, which removes the bias in the raw output by comparing pairs of consecutive bits and discarding any pairs that are the same. Whitening is a crucial step in the operation of TRNGs/QRNGs/PRNGs to ensure that the generated random numbers are of high quality and can be used for various cryptographic applications, such as key generation and encryption.
Commonly used whitening techniques reduce the size of data, unlike the proposed whitening technique which preserves data size. Examples of the whitening techniques include XOR, cryptographic hash functions, Von Neumann’s technique, and the like. An Entropy (ENT) randomness test program may be used to test the randomness of a random number sequence in both bit mode and byte mode. The test provides results for five parameters related to random data that can be used to judge the quality of the random number generator. For example, another statistical test suite may include a National Institute of Science and Technology (NIST) statistical test suite, which is a set of 15 tests and sub-tests to provide a comprehensive set of tests for which a P-value is output. High quality random numbers should be able to pass all of these tests with high P-values.
In accordance with the present disclosure, the whitening technique has been developed and utilized for the purpose of whitening random data obtained from various sources. Specifically, the whitening technique employed is the entropy expansion technique. The whitening technique functions by dividing the input data, which in this context is the bit-string corresponding to the binary content of the files under consideration, into chunks. These chunks are then subjected to multiplication with a randomly selected permutation matrix. It should be noted that a permutation matrix is a matrix in which each row and each column contains exactly one non-zero entry equal to one. The output chunk is thus obtained as the product of the input chunk and the selected permutation matrix as shown in FIG. 2B. As an example, if the input chunk is ‘0001’, and it is multiplied with a specific permutation matrix, the resulting output chunk would be ‘0010’, as shown below:
[¦(0 0 0 0@0 0 1 0@0 0 0 1@0 1 0 0)]X[¦(0@0@0@1)]=[¦(0@0@1@0)]
In the whitening technique employed herein, the input data, represented by a bit-string corresponding to the binary content of the files, is divided into chunks. Each chunk is multiplied by a randomly selected permutation matrix, which is a matrix wherein each row and column has exactly one non-zero entry equal to one. The resulting output chunks are concatenated to form another bit-string, which represents the binary content of the output file. To generate the permutation matrices, the Fisher-Yates shuffle technique is used and is presented in pseudocode form. It is important to note that this process involves a random step, denoted by “RandomInt (1, N)” in the pseudocode, which renders this whitening technique non-deterministic, if the random number between 1 to N is generated using a TRNG or QRNG or PRNG. The Fisher-Yates shuffle technique also uses the “Swap (a, b)” function to swap the values of a and b, as shown below:
Ensure: P is a random permutation matrix
1: I ? 1
2: while i = N do
3: K[i] ? RandomInt (1, N)
4: S[i] ? i
5: j ? 1
6: while j = N do
7: P[i][j] ? 0
8: j ? (j + 1)
9: end while
10: i ? (i + 1)
11: end while
12: i ? N
13: while i > 0 do
14: p ? K[i]
15: Swap(S[p], S[i])
16: i ? (i – 1)
17: end while
18: i ? 1
19: while i = N do
20: P[i][S[i]] ? 1
21: i ? (i + 1)
22: end while

In the present invention, we have discovered that increasing the size of the permutation matrix and using a greater number of permutation matrices in the set widens the permutation space, resulting in an increase in the randomness of the data after applying the permutations. This increase in randomness is directly proportional to the size of the permutation matrix, which in turn depends on the size of the chunks. Furthermore, using entropy expansion as a whitening technique has certain advantages over other whitening techniques. Specifically, if the size of the entropy stream is a multiple of the dimension of the permutation matrix, the output size is the same as the input size. Additionally, due to the random selection of permutation matrices during the whitening process, the output of entropy expansion may differ each time it is applied, which sets it apart from most deterministic whitening algorithms.
The proposed universal whitening technique can also be extended to other types of quantum random number generators and can be used as a post-processing step in other cryptographic applications to improve the quality of the generated random numbers. Additionally, the proposed universal whitening technique can be used for efficient and secure key generation in various applications such as secure communication and digital signatures. Future work can also include the exploration of parallelization techniques for faster processing of large datasets and optimization of the algorithm for resource-constrained devices.
For example, the whitening technique may be employed with n-qubit permutation matrices to mitigate bias and defects in several types of random number generators. Consider, analysis of the effectiveness of the proposed whitening technique in enhancing the randomness parameters of well-known pseudo-random number generators such as /dev/urandom, /dev/random, and the C++ rand () function, as well as classical true random number generators based on ring oscillators and commercial quantum random number generators. Compare the proposed whitening technique with cryptographic hash functions (SHA-256), block ciphers (DES-CBC, AES-256-CTR), and demonstrate that it does not require compression of the random data and provide better results in terms of randomness parameters determined using statistical test suites.
The basis of the proposed whitening technique is the extensive information space provided by the n-qubit permutation matrices, which has a total of (2n)! unique permutations. An n-qubit system has a 2n information state represented by a Galois field (GF) (2n), and the set of permutation matrices forms the symmetric group S2n. Physically implementing an arbitrary permutation matrix can be achieved using elementary quantum gates such as Controlled-NOT gate (CNOT) and Controlled-Controlled-NOT gate (CCNOT/TOFFOLI), or mathematically expressed using classical computing systems.
For example, for ‘n’ classical bits which are transformed by Boolean algebra, the information space is of size 2^n. To fix a type of Boolean operation (e.g., AND, OR XOR) to be performed on the ‘n’ bits, there are 2^n possible mappings of inputs to outputs. This is because there are 2^n bit-strings possible with which the system 102 can perform the operation chosen on the input. On the other hand, for n qubits which are transformed by linear algebra, the system 102 may fix the type of linear transformation to be a permutation, then there are (2^n)! Possible mappings of inputs to outputs due to the (2^n)! Different permutation matrices available. These permutation matrices form a permutation space of (2^n)! Dimensions with a Shannon entropy of:
log_2?((2^n )!)???T(n2^n )…Equaion 1
In the equation 1, big theta ‘T’ is an asymptotic notation – this result can be proved by seeing that for a large positive number ‘m’ shown below:
log?(m!)=?_(k=1)^m¦log?(k) =m log?(m)….Equation 2
and,
log?(m!)=?_(k=1)^m¦log?(k) =?_(k=m/2)^m¦log?(k) =m/2 log??(m/2)…Equation 3?
and replacing ‘m’ with ?'2?^n'. The use of permutation matrices can thus give an entropy expansion from the classical Boolean information space to the quantum permutation space. This is the core resource for removing the biases.
The system 102 uses the entropy expansion technique for the purpose of whitening random data from various sources. The entropy expansion technique breaks the input data (which here is the bit-string corresponding to the binary content of the files under consideration) into chunks and then multiplies the chunk with a randomly selected permutation matrix (a matrix in which each row and each column has exactly one non-zero entry equal to one) to create the output chunk. For example, if the input chunk is ‘0001’ which is to be multiplied with the permutation matrix shown, below, the output chunk will be ‘0010’. The bit-string is a sequence of 0s and 1s that represents information in binary form. It can be used to represent any type of data, including text, images, audio, and video. The length of a bit-string is measured in bits, where a bit is the smallest unit of digital information. The binary content of a file refers to the data stored in the file in binary form. When a file is stored on a computer, its data is represented using a sequence of 0s and 1s. This binary data can be interpreted as text, images, audio, or any other type of data, depending on the format of the file and the software used to read it.
The entropy expansion technique for the purpose of whitening random data, takes three inputs – the input bit-string, the size of the permutation matrix we need to work with (for an n-qubit system this size is 2^n) and the number of permutation matrices. The number of permutation matrices possible for an n-qubit system is (2^n)!. However, the system 102 may not work with a huge number of matrices such as 32! or 64! hence the number of matrices the system 102 will be working with is taken as an input. After taking the inputs, the first step in the entropy expansion technique is to create a subset of the permutation matrices by repeated application of the Fisher-Yates shuffle algorithm. The number of matrices and their sizes in this step may be defined at the input.
Next, the bit-string is broken down into contiguous chunks. If the matrices are of a size 2^n×2^n, then the size of each chunk will be 2^n. Each chunk here will behave as an N (?=?2^n )-dimensional binary vector. Now for each chunk, we select a permutation matrix out of the subset we had generated (selection logic: for ‘m’ permutation matrices, we simply generated log_2?(m) random bits using a QRNG and selecting the matrix according to the number specified by those bits), and multiply that matrix with the binary vector represented by that chunk. This may be repeated for each chunk, and the resultant permuted vectors are concatenated to give a permuted bit-string. The permuted bit-string is the improved random data free from the biases.
FIG. 2C illustrates an exemplary block diagram representation of a multi-user access of whitened random numbers, in accordance with an embodiment of the present disclosure. For example, multiuser access of whitened random numbers refers to a simultaneous utilization of randomized numerical data by multiple users or entities within a shared system such as system 102. Whitened random numbers are a specific type of random data that has been processed to enhance its quality and randomness characteristics, typically used in various applications like cryptography, secure communications, and statistical simulations. Enabling multiuser access to such numbers involves ensuring fair, secure, and efficient distribution and utilization of these random values among different users or applications. The key considerations for multiuser access of whitened random numbers include resource allocation, concurrency control, authentication and authorization, data integrity and privacy, randomness quality and scalability.
For example, the resource allocation are required to ensure that all users or applications have equitable access to whitened random numbers. This may involve prioritization, scheduling, or quotas to prevent any single user from monopolizing the resource. Further, the concurrency control is when multiple users request random numbers simultaneously, concurrency control measures must be in place to avoid conflicts or collisions. This ensures that each user receives unique and uncorrelated random values. Furthermore, authentication and authorization may be used for user authentication and authorization mechanisms are vital to verify the identity and permissions of those accessing the whitened random numbers. This helps prevent unauthorized access and misuse. Further, in the data integrity and privacy, the whitened random numbers often play a crucial role in security-sensitive applications. Therefore, maintaining the integrity and privacy of these numbers during distribution and utilization is of utmost importance. Furthermore, in the randomness quality, the whitening process aims to improve the quality of random numbers, making them suitable for cryptographic applications. Multiuser access should not compromise this quality, and measures should be in place to prevent predictable patterns. For scalability, the systems offering multiuser access to whitened random numbers must be scalable to accommodate an increasing number of users while maintaining performance and security.
To access the whitened random numbers by multi-users (user-1 222-2, user-2 222-2, ……, user-N 222-N), the system 102 may involves various layers and components related to the access and management of a whitening technique, whether through network 108 (cloud-based) or on-premises infrastructure. The communication network 108 or on-premise access layer determines how users or applications access the whitening algorithm. It can be through network-based (cloud or remote) access or on-premises (local) access, depending on the deployment model chosen. Network access allows users to access the algorithm over the internet, providing scalability and accessibility from anywhere. On-premises access implies that the algorithm is hosted locally within an organization's infrastructure, offering more control over data and potentially faster access.
A management layer 224, oversees the deployment, configuration, and maintenance of the whitening algorithm. It includes functionalities like setting algorithm parameters, version control, and software updates. In a cloud-based scenario, management might involve provisioning virtual machines or containers to run the algorithm. On-premises management involves maintaining hardware and software resources within an organization's data center.
A security layer 226 is crucial for safeguarding the whitening algorithm and the data it processes. It encompasses user authentication, access control, encryption of data in transit and at rest, and protection against unauthorized access. In cloud-based access, security measures should include identity and access management (IAM) and data encryption protocols. On-premises access demands physical security measures and robust access controls.
A monitoring layer 228 is responsible for tracking the performance and health of the whitening algorithm. It involves monitoring resource utilization, detecting anomalies or security breaches, and generating alerts or reports. Real-time monitoring can help identify issues promptly and ensure the algorithm operates efficiently.
A resource provisioning layer 230 manages the allocation and scaling of resources required to run the whitening algorithm. In a network-based setting, it might involve dynamically provisioning cloud resources (e.g., virtual machines, storage) based on demand. In an on-premises environment, it entails managing physical hardware resources, ensuring they meet the algorithm's requirements.
A profiling layer 232 focuses on understanding user or application behavior and preferences regarding the whitening algorithm. It may involve gathering data on how the algorithm is used, which parameters are frequently adjusted, and what results are expected. Profiling helps tailor the algorithm's configuration to optimize performance and user experience.
A knowledge base 234 is a repository of information and documentation related to the whitening algorithm. It contains documentation, best practices, troubleshooting guides, and other resources to support users and administrators. A well-maintained knowledge base enhances user understanding and problem-solving capabilities.
FIG. 3 illustrates a flow chart depicting a method 300 of optimizing Random Number Generators (RNGs), according to an example embodiment of the present disclosure.
At block 302, the method 300 includes retrieving, by the one or more hardware processors 110, from the database 104, random number data generated by one or more Random Number Generators (RNGs). The random number data includes an initial seed corresponding to binary content of the random number data. The random number data generated by one or more RNGs is from at least one of Pseudo Random Number Generators (PRNG), and a Quantum Random Number Generators (QRNGs).
At block 304, the method 300 includes determining, by the one or more hardware processors 110, one or more input parameters based on the retrieved random number data. The one or more input parameters include, but are not limited to, the input seed, a size of each of a plurality of permutation matrices corresponding to the random number data, a number of the plurality of permutation matrices corresponding to the random number data, and the like.
At block 306, the method 300 includes generating, by the one or more hardware processors 110, one or more subsets of the plurality of permutation matrices based on the one or more input parameters, and the random number data generated by the QRNGs, by iteratively applying a Fisher-Yates shuffle technique to the plurality of permutation matrices. The plurality of permutation matrices is indicative of an entropy expansion from a classical Boolean information space to a quantum permutation space. The random number data generated by the QRNGs is selected to form a non-deterministic whitening technique.
At block 308, the method 300 includes segmenting, by the one or more hardware processors 110, the input seed into a plurality of contiguous chunks of a size corresponding to the size of each of a plurality of permutation matrices. Each of the plurality of contiguous chunks is indicative of each of an N-dimensional binary vector of the binary content.
At block 310, the method 300 includes determining, by the one or more hardware processors 110, a permutation matrix for each of the plurality of contiguous chunks from the one or more subsets of the plurality of permutation matrices, based on a plurality of random bits generated using at least one of a pre-defined Random Number Generators (RNG) and the one or more RNGs.
At block 312, the method 300 includes aggregating, by the one or more hardware processors 110, for each of the plurality of contiguous chunks, the determined permutation matrix for each of the plurality of contiguous chunks with each of the N-dimensional binary vector corresponding to each of the plurality of contiguous chunks. The aggregation results in a plurality of permuted vectors.
At block 314, the method 300 includes generating, by the one or more hardware processors 110, a whitened random number data by concatenating the plurality of permuted vectors. The generated whitened random number data corresponds to a whitened form of the random number data generated by the one or more RNGs.
The method 300 may be implemented in any suitable hardware, software, firmware, or combination thereof. The order in which the method 300 is described is not intended to be construed as a limitation, and any number of the described method blocks may be combined or otherwise performed in any order to implement the method 300 or an alternate method. Additionally, individual blocks may be deleted from the method 300 without departing from the spirit and scope of the present disclosure described herein. Furthermore, the method 300 may be implemented in any suitable hardware, software, firmware, or a combination thereof, that exists in the related art or that is later developed. The method 300 describes, without limitation, the implementation of the system 102. A person of skill in the art will understand that method 300 may be modified appropriately for implementation in various manners without departing from the scope and spirit of the disclosure.
FIG. 4 illustrates an exemplary block diagram representation of a hardware platform 400 for an implementation of the disclosed system 102, according to an example embodiment of the present disclosure.
For the sake of brevity, the construction, and operational features of the system 102 which are explained in detail above are not explained in detail herein. Particularly, computing machines such as but not limited to internal/external server clusters, quantum computers, desktops, laptops, smartphones, tablets, and wearables which may be used to execute the system 102 or may include the structure of the hardware platform 400. As illustrated, the hardware platform 400 may include additional components not shown, and some of the components described may be removed and/or modified. For example, a computer system with multiple GPUs may be located on external-cloud platforms including Amazon Web Services, or internal corporate cloud computing clusters, or organizational computing resources.
The hardware platform 400 may be a computer system such as the system 106 that may be used with the embodiments described herein. The computer system may represent a computational platform that includes components that may be in a server or another computer system. The computer system may execute, by the processor 405 (e.g., single, or multiple processors) or other hardware processing circuits, the methods, functions, and other processes described herein. These methods, functions, and other processes may be embodied as machine-readable instructions stored on a computer-readable medium, which may be non-transitory, such as hardware storage devices (e.g., RAM (random access memory), ROM (read-only memory), EPROM (erasable, programmable ROM), EEPROM (electrically erasable, programmable ROM), hard drives, and flash memory). The computer system may include the processor 405 that executes software instructions or code stored on a non-transitory computer-readable storage medium 410 to perform methods of the present disclosure. The software code includes, for example, instructions to gather data and analyze the data. For example, the plurality of modules 114 includes a random number data retrieving module 206, an input parameter determining module 208, a permutation matrices generating module 210, a bit string segmenting module 212, a matrix determining module 214, a matrix-vector aggregating module 216, and a bit string generating module 218.
The instructions on the computer-readable storage medium 410 are read and stored the instructions in storage 415 or random-access memory (RAM). The storage 415 may provide a space for keeping static data where at least some instructions could be stored for later execution. The stored instructions may be further compiled to generate other representations of the instructions and dynamically stored in the RAM such as RAM 420. The processor 405 may read instructions from the RAM 420 and perform actions as instructed.
The computer system may further include the output device 425 to provide at least some of the results of the execution as output including, but not limited to, visual information to users, such as external agents. The output device 425 may include a display on computing devices and virtual reality glasses. For example, the display may be a mobile phone screen or a laptop screen. GUIs and/or text may be presented as an output on the display screen. The computer system may further include an input device 430 to provide a user or another device with mechanisms for entering data and/or otherwise interacting with the computer system. The input device 430 may include, for example, a keyboard, a keypad, a mouse, or a touchscreen. Each of these output devices 425 and input device 430 may be joined by one or more additional peripherals. For example, the output device 425 may be used to display the results such as bot responses by the executable chatbot.
A network communicator 435 may be provided to connect the computer system to a network and in turn to other devices connected to the network including other clients, servers, data stores, and interfaces, for example. A network communicator 435 may include, for example, a network adapter such as a LAN adapter or a wireless adapter. The computer system may include a data sources interface 440 to access the data source 445. The data source 445 may be an information resource. As an example, a database of exceptions and rules may be provided as the data source 445. Moreover, knowledge repositories and curated data may be other examples of the data source 445.
The written description describes the subject matter herein to enable any person skilled in the art to make and use the embodiments. The scope of the subject matter embodiments is defined by the claims and may include other modifications that occur to those skilled in the art. Such other modifications are intended to be within the scope of the claims if they have similar elements that do not differ from the literal language of the claims or if they include equivalent elements with insubstantial differences from the literal language of the claims.
The embodiments herein can comprise hardware and software elements. The embodiments that are implemented in software include but are not limited to, firmware, resident software, microcode, etc. The functions performed by various modules described herein may be implemented in other modules or combinations of other modules. For the purposes of this description, a computer-usable or computer-readable medium can be any apparatus that can comprise, store, communicate, propagate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device.
A description of an embodiment with several components in communication with each other does not imply that all such components are required. On the contrary, a variety of optional components are described to illustrate the wide variety of possible embodiments of the invention. When a single device or article is described herein, it will be apparent that more than one device/article (whether or not they cooperate) may be used in place of a single device/article. Similarly, where more than one device or article is described herein (whether or not they cooperate), it will be apparent that a single device/article may be used in place of the more than one device or article or a different number of devices/articles may be used instead of the shown number of devices or programs. The functionality and/or the features of a device may be alternatively embodied by one or more other devices which are not explicitly described as having such functionality/features. Thus, other embodiments of the invention need not include the device itself.
The specification has described a method and a system for distributing quantum keys on a quantum device. The illustrated steps are set out to explain the exemplary embodiments shown, and it should be anticipated that ongoing technological development will change the manner in which particular functions are performed. These examples are presented herein for purposes of illustration, and not limitation. Further, the boundaries of the functional building blocks have been arbitrarily defined herein for the convenience of the description. Alternative boundaries can be defined so long as the specified functions and relationships thereof are appropriately performed. Alternatives (including equivalents, extensions, variations, deviations, etc., of those described herein) will be apparent to persons skilled in the relevant art(s) based on the teachings contained herein. Such alternatives fall within the scope and spirit of the disclosed embodiments. Also, the words “comprising”, “having”, “containing”, and “including”, and other similar forms are intended to be equivalent in meaning and be open-ended in that an item or items following any one of these words is not meant to be an exhaustive listing of such item or items or meant to be limited to only the listed item or items. It must also be noted that as used herein and in the appended claims, the singular forms “a”, “an”, and “the” include plural references unless the context clearly dictates otherwise.
It will be understood by those skilled in the art that the foregoing general description and the following detailed description are exemplary and explanatory of the disclosure and are not intended to be restrictive thereof.
While specific language has been used to describe the disclosure, any limitations arising on account of the same are not intended. As would be apparent to a person skilled in the art, various working modifications may be made to the method in order to implement the inventive concept as taught herein.
The figures and the foregoing description give examples of embodiments. Those skilled in the art will appreciate that one or more of the described elements may well be combined into a single functional element. Alternatively, certain elements may be split into multiple functional elements. Elements from one embodiment may be added to another embodiment. For example, the order of processes described herein may be changed and is not limited to the manner described herein. Moreover, the actions of any flow diagram need not be implemented in the order shown; nor do all the acts need to be necessarily performed. Also, those acts that are not dependent on other acts may be performed in parallel with the other acts. The scope of embodiments is by no means limited by these specific examples.
, Claims:CLAIMS
We claim:
1. A system (102) for optimizing Random Number Generators (RNGs), the system (102) comprising:
one or more hardware processors (110);
a memory (112) coupled to the one or more hardware processors (110), wherein the memory (112) comprises processor-executable instructions, which on execution, cause the one or more hardware processors (110) to:
retrieve, from a database (104), random number data generated by one or more Random Number Generators (RNGs), wherein the random number data comprises an initial seed corresponding to binary content of the random number data, wherein the random number data generated by one or more RNGs is from at least one of Pseudo Random Number Generators (PRNG), and a Quantum Random Number Generators (QRNGs);
determine one or more input parameters based on the retrieved random number data, wherein the one or more input parameters comprise at least one of the input seed, a size of each of a plurality of permutation matrices corresponding to the random number data, and a number of the plurality of permutation matrices corresponding to the random number data;
generate one or more subsets of the plurality of permutation matrices based on the one or more input parameters, and the random number data generated by the QRNGs, by iteratively applying a Fisher-Yates shuffle technique to the plurality of permutation matrices, wherein the plurality of permutation matrices is indicative of an entropy expansion from a classical Boolean information space to a quantum permutation space, wherein the random number data generated by the QRNGs is selected to form a non-deterministic whitening technique;
segment the input seed into a plurality of contiguous chunks of a size corresponding to the size of each of a plurality of permutation matrices, wherein each of the plurality of contiguous chunks is indicative of each of an N-dimensional binary vector of the binary content;
determine a permutation matrix for each of the plurality of contiguous chunks from the one or more subsets of the plurality of permutation matrices, based on a plurality of random bits generated using at least one of a pre-defined Random Number Generators (RNG) and the one or more RNGs;
aggregate, for each of the plurality of contiguous chunks, the determined permutation matrix for each of the plurality of contiguous chunks with each of the N-dimensional binary vector corresponding to each of the plurality of contiguous chunks, wherein the aggregation results in a plurality of permuted vectors; and
generate a whitened random number data by concatenating the plurality of permuted vectors, wherein the whitened random number data corresponds to a whitened form of the random number data generated by the one or more RNGs.
2. The system (102) as claimed in claim 1, wherein to determine a permutation matrix for each of the plurality of contiguous chunks, the one or more hardware processors (110) is further configured to:
generate the plurality of random bits using the pre-defined RNG and the one or more RNGs, based on the number of the plurality of permutation matrices, wherein the random bits are indicative of pre-defined binary numbers, and wherein each of the pre-defined binary number corresponds to each of the number of the plurality of permutation matrices; and
determine the permutation matrix based on each of the pre-defined binary number corresponding to each of the number of the plurality of permutation matrices.
3. The system (102) as claimed in claim 1, wherein the entropy expansion rectifies at least one of manufacturing biases, higher-order correlations, and defects in the random number data generated by the one or more RNGs, by non-deterministically determining a distinctive permutation matrix for each of the plurality of contiguous chunks.
4. The system (102) as claimed in claim 3, wherein for the entropy expansion, the one or more hardware processors (110) are further configured to:
determine, if a size of the input seed is multiple of a dimension of the determined distinctive permutation matrix; and
generate, the whitened random number data with a size corresponding to the size of the input seed, if the size of the input seed is multiple of the dimension of the determined distinctive permutation matrix, wherein the entropy expansion on the input seed is distinctive each time, due to the distinctive permutation matrices.
5. The system (102) as claimed in claim 1, wherein the plurality of permutation matrices corresponds to a plurality of n-qubit permutation matrices.
6. The system (102) as claimed in claim 1, wherein the one or more RNGs comprise at least one of Pseudo Random Number Generators PRNGs, Deterministic Random Bit Generators (DRBGs), Classical True Random Number Generators (CTRNGs), Epistemic True Random Number Generators (ETRNGs), Quantum Random Number Generators (QRNGs), and Ontic Random Number Generators (ORNGs).
7. The system (102) as claimed in claim 1, wherein the whitened form is based on a whitening technique, and wherein the whitening technique comprises at least one of an XOR, a cryptographic hash function, and a Von Neumann’s technique.
8. The system (102) as claimed in claim 1, wherein the whitened form of the input seed is based on increasing randomness of the random number data through a widening of the quantum permutation space associated with the plurality of permutation matrices.
9. A method for optimizing Random Number Generators (RNGs), the method comprising:
retrieving, by one or more hardware processors (110), from a database (104), random number data generated by one or more Random Number Generators (RNGs), wherein the random number data comprises an initial seed corresponding to binary content of the random number data, wherein the random number data generated by one or more RNGs is from at least one of Pseudo Random Number Generators (PRNG), and a Quantum Random Number Generators (QRNGs);
determining, by the one or more hardware processors (110), one or more input parameters based on the retrieved random number data, wherein the one or more input parameters comprise at least one of the initial seed, a size of each of a plurality of permutation matrices corresponding to the random number data, and a number of the plurality of permutation matrices corresponding to the random number data;
generating, by the one or more hardware processors (110), one or more subsets of the plurality of permutation matrices based on the one or more input parameters, and the random number data generated by the QRNGs, by iteratively applying a Fisher-Yates shuffle technique to the plurality of permutation matrices, wherein the plurality of permutation matrices is indicative of an entropy expansion from a classical Boolean information space to a quantum permutation space, wherein the random number data generated by the QRNGs is selected to form a non-deterministic whitening technique;
segmenting, by the one or more hardware processors (110), the initial seed into a plurality of contiguous chunks of a size corresponding to the size of each of a plurality of permutation matrices, wherein each of the plurality of contiguous chunks is indicative of each of an N-dimensional binary vector of the binary content;
determining, by the one or more hardware processors (110), a permutation matrix for each of the plurality of contiguous chunks from the one or more subsets of the plurality of permutation matrices, based on a plurality of random bits generated using at least one of a pre-defined Random Number Generators (RNG) and the one or more RNGs;
aggregating, by the one or more hardware processors (110), for each of the plurality of contiguous chunks, the determined permutation matrix for each of the plurality of contiguous chunks with each of the N-dimensional binary vector corresponding to each of the plurality of contiguous chunks, wherein the aggregation results in a plurality of permuted vectors; and
generating, by the one or more hardware processors (110), a whitened random number data by concatenating the plurality of permuted vectors, wherein the whitened random number corresponding to a whitened form of the random number data generated by the one or more RNGs.
10. The method as claimed in claim 9, wherein determining a permutation matrix for each of the plurality of contiguous chunks, further comprises:
generating, by the one or more hardware processors (110), the plurality of random bits using at least one of the pre-defined RNG and the one or more RNGs, based on the number of the plurality of permutation matrices, wherein the random bits are indicative of pre-defined binary numbers, and wherein each of the pre-defined binary number corresponds to each of the number of the plurality of permutation matrices; and
determining, by the one or more hardware processors (110), the permutation matrix based on each of the pre-defined binary number corresponding to each of the number of the plurality of permutation matrices.
11. The method as claimed in claim 9, wherein the entropy expansion rectifies at least one of manufacturing biases, higher-order correlations, and defects in the random number data generated by the one or more RNGs, by non-deterministically determining a distinctive permutation matrix for each of the plurality of contiguous chunks, if the random number between 1 to N is generated using a TRNG or QRNG or PRNG.
12. The method as claimed in claim 11, wherein the entropy expansion further comprises:
determining, by the one or more hardware processors (110), if a size of the initial seed is multiple of a dimension of the determined distinctive permutation matrix; and
generating, by the one or more hardware processors (110), the whitened random number data with a size corresponding to the size of the initial seed, if the size of the initial seed is multiple of the dimension of the determined distinctive permutation matrix, wherein the entropy expansion on the initial seed is distinctive each time, due to the distinctive permutation matrices.
13. The method as claimed in claim 9, wherein the plurality of permutation matrices corresponds to a plurality of n-qubit permutation matrices.
14. The method as claimed in claim 9, wherein the one or more RNGs comprise at least one of Pseudo Random Number Generators (PRNGs), Deterministic Random Bit Generators (DRBGs), Classical True Random Number Generators (CTRNGs), Epistemic True Random Number Generators (ETRNGs), Quantum Random Number Generators (QRNGs), and Ontic Random Number Generators (ORNGs).
15. The method as claimed in claim 9, wherein the whitened form is based on a whitening technique, and wherein the whitening technique comprises at least one of an XOR, a cryptographic hash function, and a Von Neumann’s technique.
16. The method as claimed in claim 9, wherein the whitened form of the initial seed is based on increasing randomness of the random number data through widening of the quantum permutation space associated with the plurality of permutation matrices.

Dated this 18th day of January 2024



Vidya Bhaskar Singh Nandiyal
Patent Agent (IN/PA-2912)
Agent for applicant

Documents

Application Documents

# Name Date
1 202441003601-STATEMENT OF UNDERTAKING (FORM 3) [18-01-2024(online)].pdf 2024-01-18
2 202441003601-POWER OF AUTHORITY [18-01-2024(online)].pdf 2024-01-18
3 202441003601-FORM-9 [18-01-2024(online)].pdf 2024-01-18
4 202441003601-FORM FOR STARTUP [18-01-2024(online)].pdf 2024-01-18
5 202441003601-FORM FOR SMALL ENTITY(FORM-28) [18-01-2024(online)].pdf 2024-01-18
6 202441003601-FORM 1 [18-01-2024(online)].pdf 2024-01-18
7 202441003601-EVIDENCE FOR REGISTRATION UNDER SSI(FORM-28) [18-01-2024(online)].pdf 2024-01-18
8 202441003601-EVIDENCE FOR REGISTRATION UNDER SSI [18-01-2024(online)].pdf 2024-01-18
9 202441003601-DRAWINGS [18-01-2024(online)].pdf 2024-01-18
10 202441003601-DECLARATION OF INVENTORSHIP (FORM 5) [18-01-2024(online)].pdf 2024-01-18
11 202441003601-COMPLETE SPECIFICATION [18-01-2024(online)].pdf 2024-01-18
12 202441003601-STARTUP [19-01-2024(online)].pdf 2024-01-19
13 202441003601-FORM28 [19-01-2024(online)].pdf 2024-01-19
14 202441003601-FORM 18A [19-01-2024(online)].pdf 2024-01-19
15 202441003601-FER.pdf 2024-02-22
16 202441003601-Proof of Right [26-02-2024(online)].pdf 2024-02-26
17 202441003601-FER_SER_REPLY [14-08-2024(online)].pdf 2024-08-14
18 202441003601-PatentCertificate15-04-2025.pdf 2025-04-15
19 202441003601-IntimationOfGrant15-04-2025.pdf 2025-04-15

Search Strategy

1 SearchHistory(15)E_21-02-2024.pdf

ERegister / Renewals