\section{Introduction}
Information security\cite{Ware:67} is a foundation of modern infrastructure with quantum optics set to play a prevalent role in the next generation of cryptographic hardware\cite{Zhang:14}. Randomness is a core resource for cryptography and considerable effort has gone into making systems suitable for supplying high bit rate streams of random bits. The randomness properties of the source have a profound effect on the security of the encryption, with several examples of compromised security from an attack on the random number generator \cite{Debian,Dorrendorf:09,Nohl:08}. In this area, quantum optics has provided advantages over previous methods, enabling random number generation with high speeds and enhanced security \cite{H-C:17,Ma:16,Hart:17}.

The gold standard for security in random number generators comes from device independent quantum random number generators (QRNGs) \cite{Nie:16}, where the output is certified as random regardless of the level of trust in the generator. These generators require an experimental violation of a Bell-type inequality, an extremely difficult task, limiting generation rates to well below practical requirements ($<$kbit/s) \cite{Pironio:10,Bierhorst}.  Other approaches based on the Kochen-Specker theorem to prove value indefiniteness of the measurement, have demonstrated faster but not yet usable generation rates (25kbit/s) \cite{Kulikov:17,Abbott:12}. Recent advances\cite{Liu:18} have built upon the notion of Bell inequality violations using device independent quantum random number generators. Remarkably, these allow the closure of any security loopholes related to the how the device is made, i.e., independent of the device implementations. Currently, high-speed (Mbit/s-Tbit/s) quantum random number generation relies on trusted or semi-trusted generators, where the independence of the randomness from classical noise is experimentally tested \cite{Gabriel:10,Li:14,Lunghi:15,Mitchell:15,Marangon:2017,Virte:14,Wayne:09,Xu:12}. While these systems have no quantum physical guarantee of their randomness, they are usually denoted as QRNGs due to the quantum mechanical origin of the randomness. This trade-off between speed and security is mostly caused by the experimental complexity of fully secure implementations.

Entropy sources sufficient for randomness generation rates up to 1.2Tb/s have been demonstrated\cite{Sakuraba:15}, However, these systems are not capable of real time random number generation at full speed due to processing bandwidth limitations, instead performing off-line processing on captured data to generate randomness. Thus these schemes are not suited for providing high-speed random numbers for cryptography. Regardless of generation procedure, implementations of randomness extraction are limited by electronic logic speeds or detection bandwidths. Therefore, for high speed real time random number generation, the most feasible solution is to create many parallel sources with lower entropy rates.

Multiplexed quantum random number generation has previously been theoretically proposed as a solution to post-processing bottlenecks in the real-time rate of QRNGs \cite{Hart:17,Ma:16}. Previous demonstrations of a parallel nature remain focused on increasing single-channel data rates. Gr\"{a}fe et al. extend single photon path-encoding based QRNGs to the multi-mode case increasing the bitrate for a fixed measured photon flux\cite{Grafe:14}. Haw et al. sample two separate frequency slices of their homodyne detector bandwidth in a vacuum fluctuation QRNG, enabling them to generate randomness at twice their digitization rate\cite{Haw:15}. Both demonstrations remain ultimately rate-limited by generation\cite{Grafe:14} or detection\cite{Haw:15} rates. The goal of multiplexing should be to increase the data rate regardless of single channel bandwidth limitations as shown by IDQuantique by multiplexing together four separate devices on a single interface\cite{IDQuantique}. 

A multiplexing architecture is more versatile than increasing the rate of a single data stream, allowing the use of more complex extraction techniques and randomness distribution at rates faster than a single channel capacity. Randomness extractors are algorithms which, given a bit string from a weakly random physical source, produce a shorter sequence of truly random bits\cite{Shaltiel:11}. Previous works have largely used seeded extractors, which require a uniform random seed to convert the input to random bits. Such extraction is often described as randomness expansion, as it cannot extract true randomness without already having some at the input\cite{H-C:17}. Seeded extractors rely on the uniformity of the seed and independence of the output from this seed for security. We can relax both of these requirements with a multi-source extractor. 

A single random output is produced from two weakly random inputs in a multi-source extractor. The main advantage of this approach is that random numbers can be generated without any initial random seed. Many examples of multi-source extractors exist that allow for unseeded extraction with low entropy loss, including constructions which are strong extractors in the presence of quantum side information\cite{Kasher:10}. 

We experimentally demonstrate a high-speed parallel quantum random generator whose total rate is not limited by generation or detection rates but rather by the number of parallel channels used. While Gbps real-time generation rates have been previously been demonstrated\cite{Ugajin:17,Zhang:16,Marangon:18}, our scheme provides a simple method scheme to overcome electronic and processing bandwidth limitations. 

\section{Random Number Generation Scheme}
A schematic of the multiplexed QRNG scheme is shown in Figure \ref{fig1}. The noise source of each channel of our multiplexed design comes from homodyne measurements of vacuum state \cite{Gabriel:10,Shen:10} (see inset in Figure \ref{fig2}(a)). A laser is sent onto a 50-50 beamsplitter while vacuum enters the other port, subsequently the two outputs of the beamsplitter are detected on two photodiodes and the difference between the two photocurrents is amplified. The homodyne current is proportional to a measurement of the quadrature operator of the vacuum state, and its value is independent and unpredictable within a Gaussian distribution with zero mean. 

\begin{figure}
	\includegraphics[width=0.49\textwidth]{Fig1.png}
	\caption{Scheme for multiplexed quantum random number generator based on quadrature measurements of the vacuum state. A low noise, Koheras Boostik laser at 1550nm is coupled in and out of a lithium niobate waveguide network through butt-coupled fiber arrays. Light from the outputs is sent into seven homodyne detectors. The detector signals are sent to the ADC and FPGA for digitization, processing and randomness extraction. This schematic shows four channels, the experimental implementation used up to seven channels.}
	\label{fig1}
\end{figure}
 
The homodyne detectors (HDs) used in this demonstration follow the design of Kumar et al.\cite{Kumar:12} and have an electronic bandwidth of ~100MHz. The quantum efficiencies of the photodiodes used (PD20, oemarket) are $>$67\% (70\% typical). The quantum signal to classical noise ratio (QCNR) is defined as QCNR$=10\log_{10}(\sigma_Q^2/\sigma_E^2)$ where $\sigma_Q^2$ is the quantum noise variance, and $\sigma_E^2$ is the classical noise variance. Using the equation $\sigma_Q^2=\sigma_M^2-\sigma_E^2$, QCNR can be calculated from experimental measurement of the variance of the output of the homodyne detector with the local oscillator off ($\sigma_E^2$), and with the local oscillator on ($\sigma_M^2$). Figure \ref{fig2}(a) shows the results for all seven homodyne detectors. We see that for all channels of our design this ratio exceeds 10dB across 30 MHz, with a measured common mode rejection ratio of $>$27dB across all seven detectors. To confirm that our detectors were measuring vacuum fluctuations, we determine the linearity of the noise as a function of the laser power (see Figure \ref{fig2}(b)). As the QCNR is the ratio between this response and the value at zero power (blue trace), it also scales linearly with input power.  The independence of the outcomes of each of the channels was verified from cross-correlation measurements shown in Figure \ref{fig2}(c). The cross-correlation for ideal uniform data is  $1/\sqrt{n}=3.16\times 10^{-4}$. All 21 channel pairing cross-correlations lie between $2.83\times 10^{-4}$ and $3.51\times 10^{-4}$.

Integrated optics provides a compact and stable way to implement the set of beamsplitters needed to feed many homodyne detectors. We fabricate a 1:32 multiplexer using annealed proton exchanged waveguides in lithium niobate with a device footprint of 60mm x 5mm\cite{Lenzini:15}. The device has insertion losses of $\approx$7 dB ($\approx$22dB total loss per channel) and we choose balanced outputs to send to the seven homodyne detectors. Total input power to the array is approximately 160mW ($\approx$1mW per channel at output), which will ultimately limit the maximum number of channels. This limitation may be overcome by using several multiplexed lasers as the input. Our choice of lithium niobate is designed for a semi-integrated system, where a compact butterfly diode laser, the waveguide device, a butt coupled linear photodiode array, and all the electronics could be housed on a single circuit board. 

Several data processing steps are implemented in order to transform the analog signals from the homodyne detectors into a stream of random bits (see Fig. 1). First, the analog output of each detector is digitized into 12 bits per sample using an analog to digital converter (ADC, Texas Instruments ADS5295EVM). In our demonstration no anti-aliasing filter is used and as such frequencies higher than the detection bandwidth contribute to the signal. The digitized results from each outcome are sent in parallel into a field programmable gate array (FPGA, Altera Arria II GX Development Kit) for the remainder of the randomness extraction protocols. If the outputs are to be multiplexed back together rather than used in parallel, multiplexing occurs after the randomness extractor. Multiplexing is done by interleaving channel by channel and the output of the extractors is written to the on-chip memory of the FPGA and may be transferred to a computer via a USB cable for randomness testing. Randomness verification tests are performed off-line by transferring experimental data to a PC. In any application the memory connected to the FPGA is equally suited to storing and sending the randomness as the memory of a PC.

Three different extraction methods are demonstrated that convert the unpredictable measurement outcomes of the homodyne detectors into random bit streams. In the first extractor (A), which we call `raw bit extraction’, we take the eight least significant bits (LSBs) from the ADC and discard the remaining 4 bits per sample. This extractor follows the design of the 'environmental immunity' procedure of \cite{Symul:11}. This extractor is designed to minimise the influence of the classical noise on the output signal. Demonstration of the security of this protocol is through the high entropy of the experimental output, rather than from any theoretical proof.

The second extractor (B) is based on the second draft of NIST Special Publication 800-90B\cite{Sonmez:16}. The authors list a set of vetted randomness extractors, one of which is the keyed algorithm CMAC (Cipher-based Message Authentication Code)\cite{Dworkin:05} with the AES (Advanced Encryption Standard)\cite{NIST:01} block cipher. For an input with k bits of min-entropy i.e., one where the maximum probability of any outcome is bounded by $2^k$ , when $\leq k/2$ bits are taken from the 128 bit output of the extractor, full-entropy output bits are produced \cite{Sonmez:16}. The remaining $\lfloor128-k/2\rfloor$ bits are used to refresh the seed. We take eight LSBs from sixteen consecutive digitization samples to form the 128-bit input to each run of the extractor. The AES hash is implemented on the FPGA using the TinyAES core\cite{Hsing}.

\begin{figure}
	\includegraphics[width=0.49\textwidth]{qrng_fig2_qj.png}
	\caption{(a) Quantum to classical noise ratio (QCNR) of all seven homodyne detectors used, with inset showing a schematic description of a homodyne detector, orange hemispheres represent photodiodes. Power used is 1mW and all powers are measured at the output of the waveguide device. (b) Linearity of homodyne detector response with increasing local oscillator power, shown using a representative (channel 4). Blue - 0$\mu$W, orange -200$\mu$W, yellow - 400$\mu$W, purple - 600$\mu$W, green - 800$\mu$W.  Inset, a plot of the linear response at 5MHz. (c) The largest positive (blue) and negative (red) correlations between any pairwise combinations of eight-bit encoded homodyne measurements from the seven channels. The green line represents the ideal value for the size of the data set (10 million samples).}
	\label{fig2}
\end{figure}

The third extractor(C) takes advantage of the fact that we have many independent sources, and as such can use a multi-source extractor. Examples of both weak (seed-dependent, non-reusable seed) and strong (seed-independent, reusable seed) extractors have been shown for QRNGs. The security of these extractors relies on the quality of the previously created random seed. Multi-source extractors discard the necessity for a truly random seed. Instead, they take two or more partially random bit-strings from weak randomness sources and produce a truly random output. Given sufficient randomness of the inputs, a strong multi source extractor outputs bits that are uncorrelated with any of the inputs, providing randomness even with full knowledge of all but one of the inputs. We implement a single bit two-source extractor, as described in \cite{Bouda:12}, which produces a uniform output providing at least one of the inputs has more min-entropy than the output number of bits. Each extractor takes two 36-bit strings from two different homodyne detectors, each consisting of three 12-bit samples. As such we need an even number of input channels for this extractor, and using six of the detectors we create three of these extractors and multiplex the outputs together.

\section{Entropy Source Evaluation}
We first evaluate the worst-case conditional min-entropy of the 12-bit output of the ADC for each channel to find the amount of entropy sourced from the measurement of the vacuum state. Using the procedure described by Haw et al. \cite{Haw:15} for the worst-case conditional min-entropy ($H_{min}$) we can find a lower bound for the maximum extractable randomness given the discretized measured distribution $M_{dis}$, conditioned on the classical side information $E$ \cite{Haw:15,Renner:08}: 
\begin{equation}
H_{min}(M_{dis}|E)=-\log_2 \left[\max_{e\in \mathbb{R}} \max_{m_i\in M_{dis}} P_{M_{dis}|E}(m_i|e)\right]
\label{minent}
\end{equation}
where $m_i$ and $e$ are the samples from their respective distributions. Taking a maximum classical noise spread of $e_{max}=5\sigma_E$, and using a representative sample of $1\times 10^6$ samples per channel we numerically evaluate Equation \ref{minent} and find a worse case min entropy of $H_{min}(M_{dis}|E)\geq 9.201$ across all seven channels, for a near optimal digitization range. This value describes the entropy component immune to classical noise sources; however, it does not describe the component immune to quantum side information, as the extractors we use are not secure against such attacks.

\begin{table}
	\caption{Summary of results for our three constructions. The bitrate can be found by multiplication of sampling rate, number of extractors, and extracted bits per sample.The min-entropy per 8 bits for extractor C can be obtained from the reported min-entropy per bit = 0.986 multiplied by eight.}
	\begin{tabular}{p{17mm}|c|c|c}
		& Raw 8 Bit & AES &	Two Source\\ \hline
		Extractor Channels & 7 & 7 & 3\\ \hline
		Sampling Rate (MSPS) & 55 & 50 & 52\\ \hline
		Bits per Sample & 8 & 8 $\times$ 63/128 & 12 $\times$1/72\\ \hline
		Generation Rate (Gbps) & 3.08 &	1.37 & 0.026 \\\hline
		Min-Entropy per 8 bits &	7.897 &	7.902 &	7.890\\ \hline
		IID Test\cite{Sonmez:16} &	Pass &	Pass &	Pass\\\hline
		Randomness Test\cite{Rukhin} &	Pass &	Pass &	Pass\\
	\end{tabular}
	\label{table}
\end{table}

If each sample in a test set from a noise source is mutually independent and have the same probability distribution, that noise source is considered to be independent and identically distributed (IID). The NIST SP800-90B entropy assessment package \cite{github} uses a range of statistical tests to attempt to prove that a sample is not IID. If none of the tests fail, the noise source is assumed IID. The output entropy of the raw bit extraction (A) is tested using the entropy estimate procedure from NIST SP800-90B, and find the sample passes the IID test with an entropy of 7.897 bits. This extractor is designed to minimise the effect of the classical noise on the output signal. The total bit rate of this construction is given by the product of the sample rate (55MSPS), extracted bits per sample (8), and number of channels (7), and is 3.08 Gbit/s. We sample at least 27.5 MHz of the homodyne detector bandwidth as allowed by the Shannon-Hartley limit\cite{Hart:17}. The sampling rate is limited by the interface between the ADC and FPGA. Thus, we generate 112 Mbit/s per MHz of single channel detector bandwidth. We note that previous implementations have sampled more than an order-of-magnitude more detector bandwidth with superior detectors and digitization \cite{Haw:15}, which will enable parallel QRNG from vacuum to reach much faster rates than in this demonstration. 

Using this entropy estimate of the 8-bit raw data we construct a vetted CMAC keyed extractor (B), taking 63 out of 128 bits of the output to ensure the number of bits we use is less than half the input entropy. Entropy tests of the output give a min-entropy of 7.902 bits and the sample passes the IID test. Finally, we measure the output entropy of our two-source extractor(C) to be 0.986 bits as it is a single bit extractor, and it also passes the IID test. Whilst the output bit rate is much lower because it requires two 36 bit inputs (72 raw bits total) to produce one output bit, it removes the necessity for an externally generated seed, prevalent in most QRNG demonstrations. The results for all three extractors are summarized in Table \ref{table}. The NIST statistical test suite [37] is also used to identify any statistical correlations that may make the data non-random. We run the test suite on each of our constructions over a minimum sample size of  $7\times 10^8$ bits and find extraction methods A, B, and C pass all tests.

\begin{figure}
	\includegraphics[width=0.49\textwidth]{Input_Output_Correlation5.png}
\caption{Correlation between the output of a single two-source extractor and its inputs 1(a) and 2(b). Both positive (squares) and negative (triangles) correlations are plotted, with the y-axis shared between plots. The black dotted line represents the correlation of perfectly random data for the sample size, $4.8\times 10^{-4}$.}
\label{fig3}
\end{figure}
The two-source extractor we implement is strong given perfectly independent inputs i.e., the output is uncorrelated to either of the inputs.
 We quantify the effect of experimental imperfections in the input independence by calculating the cross-correlation between each input and the output as a measure of extractor strength, shown in Fig. 3 for $4.3\times 10^6$ samples. The theoretical correlation of perfectly random data for the sample size is $4.8\times 10^{-4}$.

\section{Conclusion}
In summary, we have demonstrated a high-speed parallel/ multiplexed quantum random number generator, a configuration ideally suited to a range of platforms, as well as capable of enhancing real time QRNG rates. Parallelisation of random number generation is an effective way to increase the real-time bit rate of QRNG's, and to supply quantum random numbers to distributed or cluster based computation and parallel communication systems. Furthermore, the parallel architecture allows us to demonstrate a high-speed un-keyed strong extraction(C) to create random numbers without the need for an external provider of uniform random seeds. True randomness sources that do not need a random seed have practical security by relying only on the validity of the partially random sources, and not requiring an external source of true randomness.

The highly specialized nature of the optical and electronic components makes a system on a single circuit board the realistic short-term integration option for GHz rate QRNG. To continue the scaling of this system to hundreds of channels full integration of a high power laser, waveguides, photodiodes, and processing electronics on a single chip will be necessary, and silicon offers a suitable platform for both electronic and optical components \cite{Silverstone:16}. The simplicity of the entropy source makes quantum vacuum fluctuations an excellent choice for parallelisation with Gbps single channel bitrates reported. 

\section*{Acknowledgements}
The authors thank Stefan Morley and Xingxing Xing for electronics support and Zachary Vernon for comments on the manuscript. BH is supported by the Australian Government Research Training Program Scholarship. This research is financially supported by the Australian Research Council Centre of Excellence for Quantum Computation and Communication Technology (CE170100012) and the Griffith University Research Infrastructure Programme.This work was performed in part at the Queensland node of the Australian National Fabrication Facility, a company established under the National Collaborative Research Infrastructure Strategy to provide nano- and microfabrication facilities for Australia's researchers. 


