{'fraction_non_alphanumeric': 0.03136088499269463, 'fraction_numerical': 0.013149655604257984, 'mean_word_length': 4.693701723113488, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 1, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 2, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Repeat-Accumulate Codes for Reconciliation in Continuous Variable Quantum Key Distribution

This paper investigates the design of low-complexity error correction codes for the verification step in continuous variable quantum key distribution (CVQKD) systems. We design new coding schemes based on quasi-cyclic repeat-accumulate codes which demonstrate good performances for CVQKD reconciliation.


I. INTRODUCTION
Quantum key distribution (QKD) is one of the most advanced applications of quantum physics and information science that enables the distribution of information-theoretically secure random key material between two parties in spatiallyseparated locations [1]. Optical link configurations include optical fibre as well as free space links between ground, airborne and satellite nodes. Quantum key distribution has advanced from a subject of pure research since its discovery in the mid 80's to being commercialized by several companies and has been demonstrated in various deployments: metropolitan quantum networks, long-distance free space links, securing banking transactions, and the transmission of election ballot results.
There are two complementary approaches to quantum key distribution: discrete variable quantum key distribution uses single-photon or weak coherent states and single photon detectors [2], while continuous variable quantum key distribution (CVQKD), uses coherent states and homodyne detectors [3]. Both discrete and continuous quantum key distribution systems have been experimentally demonstrated (for a review see [4]) and importantly both the discrete and continuous approaches to quantum key distribution have been proven to be informationtheoretic secure, the later against collective attacks [5], [6].
Continuous variable quantum key distribution has a gained interest recently because of the potential technology advantage it offers that may enable higher secret key rates. Technological advantages include: homodyne detectors, which exhibit higher quantum efficiencies compared with single photon detectors; high-speed commercial-off-the-shelf components including modulators and detectors with bandwidths exceeding 10GHz; compatibility with optical networks; and detectors that can operate in bright-light conditions for twenty-four hour free-space optical link applications.
CVQKD protocols involve encoding random information onto the quadratures of coherent states of light, which are transmitted over an optical channel and measured using homodyne detectors. Both the sender and transmitter subse-quently perform a series of post-processing steps on their respective raw key material, potentially including: key-sifting, post-selection, error reconciliation and privacy amplification [3]. The secret key rate of CVQKD systems can be limited by the real-time processing speeds of the post-processing steps. In particular, error reconciliation can be particularly computationally intensive.
Modern CVQKD system employ forward-error correction (FEC) codes to limit the information leakage to any potential eavesdropper and hence maximize secret key rates. The more efficient the code (how closely it performs to the Shannon limit) the less information leaked. Currently, the efficiency and throughput of error correction coding is the limiting factor for the range of CVQKD systems [7]. Operation at low signalto-noise ratios is essential for security, and, the low rate iterative error correction codes required for very low signalto-noise ratio (SNR) channels are not well studied in the error correction literature. Indeed, typical communications systems are designed to ensure the SNR is reasonable, for example by increasing the transmission power, and so very low rate error correction codes have not been required for traditional communications applications.
Recently, researcher have begun to consider how to design very low rate error correction codes for CVQKD including layered low-density parity-check codes [8], [9], multi-edgetype low-density parity-check codes [10] and polar codes [11]. It has been shown that layered low-density parity-check codes with a block length of 200000 bits were sufficient to achieve efficiencies of 85% over a range of SNRs [8], [9], [12]. However, high efficiency has only been achieved with relatively large block length (approximately 200 Kbits) and randomly constructed codes [8], which make hardware implementations unrealistic. While the optical transmission of CVQKD offers high data rates, the demanding computing power of the error correction step reduced key rates to just over 2kb/sec on a 25km optical link [8] or 8kb/sec on a 15km optical link [9]. Practical reasons for the decrease of the secret key generation rate are driven primarily by the impossibility of post processing all the data at the optical emission rate at high SNRs and a limited reconciliation efficiency at low SNRs [9]. In another scheme, CVQKD systems have been demonstrated with very high efficiencies ( ≥ 95%) using low rate multi-edge-type low-density parity-check (LDPC) codes with block lengths of approximately 1Mbit [10]. However, a quite high word error rate (1 in 3 codewords discarded) limits the overall key rate and the implementation of these long irregular codes in hardware has not been attempted. This paper investigates the design of low-complexity highspeed repeat-accumulate error correction codes for the verification step in continuous variable quantum key distribution using commercially proven code structures, namely quasicyclic repeat-accumulate codes. Our motivation is low cost hardware implementation of codes suitable for the CVQKD application. Of all the existing, commercially available, codes, the length 64,800 bits, DVB-S2 quasi-cyclic repeat-accumulate (RA) codes [13] have parameters most suited to the CVQKD application, and the motivation for investigating this type of code is the availability of extremely fast commercial ASIC implementations.
The remainder of the paper is structured as follows: Section II introduces CVQKD and describes RA codes. Section III designs new coding schemes for the CVQKD application and details results of the secret key rate of a CVQKD system using the designed repeat accumulate codes.

A. Continuous Variable Quantum Key Distribution
In CVKQD the final secret key rate can be expressed by the formula (see e.g. [8]): (1) where I AB denotes the mutual information between sender and receiver, I E denotes the bound on an eavesdropper's maximum accessible information, β denotes the error correction code efficiency and p fail is the rate at which the decoder fails to decode (i.e. the word error rate).
To achieve high key generation rates and longer transmission distances for a CVQKD system, it is desirable in the error reconciliation step to correct errors close to the theoretical limits to minimize the information exposed to a potential eavesdropper (i.e. β → 1) while also maintaining a reasonable word error rate and high throughput.
It was recently shown that if the sender encodes with Gaussian signals, a mapping protocol can be used to transform the Gaussian symbols to binary symbols for subsequent error correction [14]. The losses from this mapping are small at the low signal-to-noise ratios required for CVQKD reconciliation. Under this scheme, the receiver's measurements can be modeled by an additive white Gaussian noise (AWGN) channel with a signal-to-noise ratio (SNR) determined by the parameters of the CVQKD model [10]. Reconciliation is then performed using an error correction code designed for the binary-input (BI)-AWGN channel. The efficiency of the reconciliation code is measured by [10]: for a given signal-to-noise ratio, s, where R is the rate of the error correction code and C(s) is the rate of the capacityachieving code at this signal-to-noise ratio.

B. Repeat-Accumulate Codes
A repeat-accumulate code can be thought of as a type of low-density parity-check code with additional structure in the parity-check matrix to enable low-complexity encoding. An RA code can alternatively be seen as a type of serially concatenated turbo code (see [15]- [18] for more details). Briefly, a systematic RA code can be described by a paritycheck matrix, H, that has two parts, H = [H 1 , A]. Here H 1 is an M × K binary matrix, with column weights q 1 , . . . , q K , and row weights a 1 , . . . , a M . A is an M × M matrix called an accumulator which has the form: The code rate is R = K/N = (N − M )/N where the second equality is due to the structure of A which ensures that H is full rank. The structure of RA codes makes them systematic and suitable for fast encoding using back-substitution directly based on H. No generator matrix need be found. This gives them a significant advantage over standard LDPC and multiedge-type LDPC for which an efficient generator matrix is not guaranteed.
One current application of RA codes can be found in the DVB-S2 standard for digital video broadcasting [13]. In the DVB-S2 RA codes the columns in matrix H1 can have one of two weights q 1 > 3 or q 2 = 3 where the fraction of the K columns which are weight q 1 is given by x and the fraction of the K columns which are weight 3 is 1 − x. The values of q 1 and x are different for each of the DVB-S2 codes (see [13] for these values for each code). In order to ensure lowcomplexity hardware, the columns of H 1 are divided into sets of 360 columns where all of the 360 columns in the set are formed by cyclically shifting the previous column by a certain number of places. Thus to completely specify any given DVB-S2 code only the indices in the non-zero entries of K/360, instead of K, columns are required. This drastically reduces the memory required to store the set of DVB-S2 codes and allows fast encoding via shift registers and modulo-2 addition.
The DVB-S2 standard defines a class of eleven repeataccumulate codes that span a range of code rates:

III. RECONCILIATION OF GAUSSIAN VARIABLES USING REPEAT-ACCUMULATE CODES
A. Designing a low rate RA code Because the lowest rate DVB-S2 code is only rate-1/4, we will also design a rate-1/10 RA code, which requires very little hardware modification over the existing code set to implement.
To design the lower rate DVB-S2-like RA code we will restrict our new code to have exactly the same structure as the existing DVB-S2 codes, and so the rate R is restricted by RN = 0 modulo 360, and the fraction x of the higher weight columns is restricted by xK = 0 modulo 360.
To find a rate-1/10 RA code with the same structure as the DVB-S2 codes, we used density evolution for RA codes modified to constrain the RA degrees to fit the DVB-S2 structure. Then a modified progressive edge growth algorithm was designed to find the coefficients for each column set. The parameters of the new rate-1/10 code are given in Appendix A.

B. Efficiency and Complexity
The failure rate of an error correction code is called its word error rate (WER). It is assumed that these failures to decode correctly are detected by the decoder, which is a reasonable assumption for belief propagation decoding of repeataccumulate codes. An undetected error, which is theoretically possible, though rare, occurs if the belief propagation decoder converges to an incorrect codeword. However, these errors can easily be picked up by the addition of a very high-rate paritycheck code concatenated with the repeat-accumulate code.
The efficiency of an error correction code is measured by comparing the code rate, R, of the error correction code to C(s), the code rate of a theoretical capacity-achieving code at the same SNR. Determining which SNR corresponds to the error correction code can be calculated in one of two ways. Theoretically, for infinite length codes, by using density evolution to find the threshold (the SNR at which the word error rate goes to zero) of the ensemble of all possible codes with a given parameter set [19]. Or, for finite-length codes, by simulation to measure the word error rate curve for a particular code as the SNR is varied. In real codes, the word error rate does not instantaneously drop to zero at a single threshold SNR value, rather it decreases more gradually as the SNR is increased. Consequently the measured SNR for a given code will depend on the word error rate which can be tolerated by the application. For example, the code rate-1/3 DVB-S2 code efficiency drops from 93% to 90% when the allowed WER is dropped from 1/2 to 1/100. This reduction in efficiency with WER is even more pronounced in lower rate codes. Consequently, it is critical when comparing efficiency to be clear about the word error rate being considered.
The implementation speed of repeat-accumulate codes varies with the technology used, the code rate and the channel noise. However, as the DVB-S2 codes have been specifically designed to enable high speed and low complexity implementation, decoding speeds can be very high. Reported decoding speeds are around 80-200 Mb/s on a GPU [20] and around 300 Mb/sec on an ASIC [21]. Encoding speeds are much faster. By comparison, the two existing forward error correction schemes proposed for reconciliation in CVQKD report speeds of around 120kb/sec on a GPU, using multilevel coding with optimized irregular LDPC codes [8], and up to 7 Mb/s on a GPU for multi-edge type LDPC codes [12]. Due to the code complexity and length (200Kb and 1Mb respectively) ASIC implementations have not been attempted.
A complicating factor is that decoder performance changes significantly with the number of decoder iterations performed. For the DVB-S2 codes the error rate is significantly affected by the maximum allowed number of iterations when this value varies from 10 to 100. Increasing the maximum number of iterations from 100 to 500, however, shows only a small improvement in performance. In general, decoding is halted early if a valid codeword is found and so the average number of iterations can be significantly less than the maximum.

C. Operating over a continuous range of SNR
A typical approach to operating over a continuous range of SNRs is to use a 'code hopping' strategy to span the channel SNRs by switching between each of a set of codes as the channel varies [12]. If a channel has a higher SNR than required for a particular rate code, but not high enough for acceptable performance of the code at the next rate up, the lower rate code is used. This results in a better error correction performance (in terms of an error rate lower than the specified minimum) but a lower efficiency because a lower rate code than is strictly necessary is used.
A more efficient strategy is to slightly increase or decrease the rate of the code, via puncturing or repetition coding, as the channel SNR increases or decreases [10]. Puncturing is a commonly used strategy in error correction coding of not transmitting a selected set of bits in the codeword. The decoder acts as if those bits have been erased, which for the decoder amounts to setting the a priori probabilities for those bits to be a half (i.e. equally likely to be a 1 or 0). Since the number of message bits has not changed, but the number of transmitted bits has, the effective rate of the code has now been increased. The idea in repetition coding [22] is to use a sequence of k received bits to transmit just one codeword bit (in effect a rate-1/k repetition code) and in so doing raise the SNR for that combined bit to k times the original SNR [22]. This strategy facilitates forward error correction coding in channels with SNRs lower than would otherwise be possible, but reduces the efficiency as the overall code rate is now 1/k times the error correction code rate.
In this work we also use puncturing to increase the code rate of the DVB-S2 codes, however, for lower rate codes we propose a code lengthening approach to improve on repetition coding at low SNRs. Starting with the RA parity-check matrix H in (3), additional rows and columns are appended as shown in Figure 1. The matrix I is the identity matrix, (ones on the diagonal, zeros elsewhere) and the matrix 0, is an all zero matrix. The matrix E can be formed from the first two columns of a truncated Vandermonde matrix [23] or the parity-check matrix of a row-weight-2 LDPC code. This extended parity-check matrix, H etnd , is still systematic and easily encoded from H etnd via back-substitution. Furthermore, the extra parity-bits can be generated independently from the original codeword and extra parity bits transmitted subsequently if the channel SNR is worse than expected.  Figure 2 shows the efficiency of the DVB-S2 codes for word error rates of 0.5, 0.1, 0.01 and 0.001 respectively. Also shown is the efficiency of codes formed by extending the lowest rate DVB-S2 code (rate-1/4) and the efficiency of the new rate-1/10 RA code and extensions. Combining the DVB-S2 and DVB-S2-like RA codes with traditional repetition coding and code hopping gives the efficiency curve shown as a dashed line in Figure 3. Applying puncturing and extending gives the efficiency curve shown as a solid line. Combining puncturing and extending with the new rate-1/10 DVB-S2-like code gives efficiencies above 0.85% over a wide range of SNRs. Higher efficiencies are possible if the allowed word error rate is increased above 1-in-10.

D. Efficiency results
As can be seen in Figure 3 code extending can significantly improve the performance of repetition coding to reduce the code rate. Further, adding the new rate-1/10 RA code significantly improves efficiency in low SNR channels over using existing DVB-S2 codes alone. This is particularly critical in CVQKD applications where the efficiency of the codes in low SNR channels limits the distance of operation of the CVQKD scheme.

E. Key rates in a CVQKD heterodyne system
In this section we consider the performance of repeataccumulate codes as the reconciliation step in a CVQKD system as described in [24]. We assume a coherent state CVQKD system with homodyne detection employing reverse reconciliation. The eavesdropper is assumed to utilize collective attacks and we assume asymptotic key length, i.e. finite key-size effects are not considered. (See [24] for the derivation of the key rate equations.) The CVQKD model has the following free parameters: The encoded signal variance, V A , the channel properties of transmission, T , channel excess noise, , homodyne detector efficiency, η, and electronic noise v el at the receiver. In Figure 4 we choose these parameters to replicate [10, Figure  5] and compare the rate 1/2 and 1/10 quasi-cyclic RA codes to the ME LDPC codes in [10]. We see that the quasi-cyclic RA codes perform comparably to the multiedge LDPC codes despite being shorter, structured, and specifically designed to be efficient to implement.

IV. CONCLUSION
Overall, quasi-cyclic repeat-accumulate codes modeled on the DVB-S2 codes can provide reasonably good key rates in a CVQKD heterodyne system compared to state of the art codes. Given their low implementation complexity, and existing high-speed ASIC implementations, this makes them a viable candidate for commercial CVQKD systems.