Benjamin Grégoire

Kostas Papagiannopoulos

Peter Schwabe

Ko Stoffelen

Vectorizing Higher-Order Masking

Keywords: Higher-order masking, side-channel analysis, AES, ARM Cortex-A8

. Work at CHES 2017 then brought this to practice by considering an implementation of AES with 32 shares [26], bitsliced inside 32-bit registers of ARM Cortex-M processors. In this paper we show how the NEON vector instructions of larger ARM Cortex-A processors can be exploited to build much faster masked implementations of AES. Specifically, we present AES with 4 and 8 shares, which in theory provide security against 3rd and 7th-order attacks, respectively. The software is publicly available and optimized for the ARM Cortex-A8. We use refreshing and multiplication algorithms that are proven to be secure in the bounded moment leakage model and to be strongly non-interfering. Additionally, we perform a concrete side-channel evaluation on a BeagleBone Black, using a combination of test vector leakage assessment (TVLA), leakage certification tools and information-theoretic bounds.

Introduction

There is a long history of protecting AES [START_REF] Daemen | The design of Rijndael -AES, The Advanced Encryption Standard[END_REF] implementations against sidechannel analysis (SCA) attacks. Side-channel attacks exploit physical information, such as power consumption or electromagnetic radiation of devices running some cryptographic primitive, to learn information about secret data, typically cryptographic keys. Higher-order masking is a well-studied countermeasure against such attacks [START_REF] Chari | Towards sound approaches to counteract power-analysis attacks[END_REF][START_REF] Goubin | DES and differential power analysis -The "duplication" method[END_REF]; unfortunately, it comes at a rather high cost in terms of performance. This is a reason why in practice, well-protected implementations are not as ubiquitous as one would hope. In software, higher-order masked implementations are typically orders of magnitude slower compared to unprotected implementations, as was explored at Eurocrypt 2017 by Goudarzi and Rivain [START_REF] Goudarzi | How fast can higher-order masking be in software?[END_REF].

Simultaneously at Eurocrypt 2017, a theoretical model was proposed to study the security of parallel implementations of masking schemes, called the bounded moment leakage model [START_REF] Barthe | Parallel implementations of masking schemes and the bounded moment leakage model[END_REF]. As parallelization is a very powerful tool to increase performance, this model gives the foundation for faster protected implementations. One common way to parallelize software implementations is through vectorization. In a vectorized implementation, a single instruction operates on multiple data elements inside one vector register at the same time. For vectorization to be useful, data parallelism is required, which in the case of higher-order masking is trivially provided by the availability of multiple shares.

Precisely this approach of vectorization with data-level parallelism coming from multiple shares was used in a CHES 2017 paper by Journault and Standaert [START_REF] Journault | Very high order masking: Efficient implementation and security evaluation[END_REF]. That paper studies a parallel bitsliced (i.e., vectorized with 1-bit vector elements) implementation using 32 shares on the ARM Cortex-M4. The reason for using 32 shares was the fact that the Cortex-M4 has 32-bit registers and bitslicing thus needs 32× data-level parallelism. Empirical tests in this paper confirmed that the bounded moment model is useful also in practice. Specifically, these tests showed that a 4-share version of their implementation yielded no leakage of order less than 4. It is of course still possible that the actual security order is lower, but it can at least be viewed as an optimistic result. They conclude their evaluation by performing an information-theoretic analysis of the leakage in order to bound the attack complexity for the 32-share implementation.

In this paper we study how the powerful NEON vector unit on larger ARM Cortex-A processors can be used to obtain efficient masked AES implementations. Straight-forwardly adapting the approach from [START_REF] Journault | Very high order masking: Efficient implementation and security evaluation[END_REF] to obtain data-level parallelism would result in implementations with 64 or 128 shares (for 64-bit or 128-bit vector registers), which would be a security overkill and result in terrible performance. Instead we follow the approach of the bitsliced AES implementations presented in [START_REF] Käsper | Faster and timing-attack resistant AES-GCM[END_REF][START_REF] Könighofer | A fast and cache-timing resistant implementation of the AES[END_REF], which exploit the data-level parallelism of 16 independent S-Box computations. As a result, we present implementations using 4 and 8 shares, which in theory offer security at the 3rd and 7th order. We use refreshing and multiplication algorithms that are based on the algorithms in [START_REF] Barthe | Parallel implementations of masking schemes and the bounded moment leakage model[END_REF] and even slightly improve on some of them by requiring less randomness. They are proven secure in the bounded moment model and also proven to be strongly non-interfering [START_REF] Barthe | Strong non-interference and type-directed higher-order masking[END_REF]. We provide a concrete evaluation of our implementations on a BeagleBone Black, which has been used successfully before to perform differential electromagnetic analysis at 1 GHz [START_REF] Balasch | DPA, bitslicing and masking at 1 GHz[END_REF]. Using nearly the same setup, we employ the popular TVLA methodology [START_REF] Cooper | Test vector leakage assessment (TVLA) methodology in practice[END_REF] in conjunction with leakage certification [START_REF] Durvaux | Towards easy leakage certification[END_REF] and we show that there is actually some leakage in the 3rd order of our 4-share implementation, but not in the 2nd order. We then continue to bound the measurement complexity of the 8-share implementation using an information-theoretic approach [START_REF] Duc | Making masking security proofs concrete -Or how to evaluate the security of any leaking device[END_REF]. To summarize, the contributions of this paper are that we provide the first vectorized instantiation of the bounded moment leakage model published at Eurocrypt 2017 [START_REF] Barthe | Parallel implementations of masking schemes and the bounded moment leakage model[END_REF] with strong non-interference [START_REF] Barthe | Strong non-interference and type-directed higher-order masking[END_REF]; we provide the fastest publicly available higher-order masked AES implementations with 4 and 8 shares for the ARM Cortex-A8; and that we perform a practical side-channel evaluation of the 4-share AES implementation and derive security bounds for the 8-share implementation.

Source Code. The source code of our implementations is available in the public domain. It can be downloaded at https://github.com/Ko-/aes-masked-ne on.

Preliminaries

Higher-Order Masking of AES

Implementations of cryptographic primitives such as block ciphers are typically vulnerable to attacks that use side-channel analysis (SCA). Information about physical characteristics, such as the electromagnetic radiation, of a device that executes a block cipher can be used to recover the secret key [START_REF] Gandolfi | Electromagnetic analysis: Concrete results[END_REF][START_REF] Paul | Differential power analysis[END_REF].

A well-studied countermeasure against this class of attacks is (higher-order) masking. It works by splitting each secret variable x into d shares x i that satisfy

x 0 ⊕ x 1 ⊕ x 2 ⊕ • • • ⊕ x d-1 = x.
When ⊕ denotes the Boolean XOR operation, this is called Boolean masking. Any d -1 of these shares should be statistically independent of x and should be uniformly randomly distributed. If this is the case, then this masking scheme provides privacy in the (d -1)-probing model, as put forward by Ishai, Sahai, and Wagner [START_REF] Ishai | Private circuits: Securing hardware against probing attacks[END_REF]. The idea is that an attacker applying d -1 probes to learn intermediate values of the computation will not be able to learn anything about the secret value. We call the value d -1 the order of the masking scheme.

When masking is applied, operations on x are to be performed on its shares. For linear operations f , those that satisfy f (x + y) = f (x) + f (y) and f (ax) = af (x), it holds that they can trivially be computed on the shares of x individually. For nonlinear operations, several algorithms have been suggested to retrieve the correct result. In [START_REF] Ishai | Private circuits: Securing hardware against probing attacks[END_REF] it was shown how to compute a masked AND gate and, together with the linear NOT, this is functionally complete.

AES [START_REF] Daemen | The design of Rijndael -AES, The Advanced Encryption Standard[END_REF] in particular has received a lot of attention when it comes to protected implementations. The round function of AES consists of AddRoundKey, SubBytes, ShiftRows, and MixColums. AddRoundKey, ShiftRows, and MixColumns are all linear. SubBytes is not. Much research has therefore been aimed at finding efficient representations of a masked variant of the AES S-box [START_REF] Canright | A very compact "perfectly masked" S-box for AES[END_REF][START_REF] Goudarzi | How fast can higher-order masking be in software?[END_REF][START_REF] Kim | A fast and provably secure higherorder masking of AES S-box[END_REF][START_REF] Rivain | Provably secure higher-order masking of AES[END_REF].

Strong Non-interference

Strong non-interference (SNI) is a security notion, formalized in [START_REF] Barthe | Strong non-interference and type-directed higher-order masking[END_REF], that is slightly stronger than probing security. It currently seems to be the right security notion when considering practical security. The problem with probing security is that, given two algorithms that are secure at order d -1 in the probing model, the composition of these algorithms is not necessarily secure at order d -1. SNI, on the other hand, means that an algorithm is composable, guaranteeing that one can verify the security of the composition of multiple secure algorithms.

As an example to see why SNI is desirable, consider the provably secure masking scheme by Rivain and Prouff from CHES 2010 [START_REF] Rivain | Provably secure higher-order masking of AES[END_REF]. Three years later, an attack was found against the composition of the refreshing of masks and the masked multiplication [START_REF] Coron | Higher-order side channel security and mask refreshing[END_REF]. The scheme was fixed subsequently. It was shown in [START_REF] Barthe | Strong non-interference and type-directed higher-order masking[END_REF] that the main difference between the original and the fixed algorithms is exactly this notion of strong non-interference.

Automated verification tools exist to formally prove strong non-interference. This gives stronger guarantees on the theoretical security of a masking scheme.

Bounded Moment Leakage Model

The probing model and its variants are not always straightforward to interpret. The fact that d -1 shares should be statistically independent is based on the idea that an attacker can inspect the leakage of intermediate computations on the shares separately. In software, it therefore applies better to serial implementations. When computations are performed on multiple shares in parallel, it is not immediately clear what the relation with the probing security model is.

To handle this, the bounded moment model has been proposed in [START_REF] Barthe | Parallel implementations of masking schemes and the bounded moment leakage model[END_REF]. It is more targeted towards parallel implementations and can deal with the concept that multiple shares are manipulated simultaneously. Barthe, Dupressoir, Faust, Grégoire, Standaert, and Strub proved that probing security of a serial implementation implies bounded moment security for its parallel counterpart. It is a weaker security notion than the noisy leakage model [START_REF] Chari | Towards sound approaches to counteract power-analysis attacks[END_REF][START_REF] Prouff | Masking against side-channel attacks: A formal security proof[END_REF].

Security in the bounded moment model is defined using leakage vectors and mixed moments. For every clock cycle c, there is a leakage vector L c . The leakage vector is a random variable that is computed as the sum of a deterministic part that depends on the shares that are manipulated, and on the noise R c . The mixed moment of a set {Y 1 , . . . , Y r } of r random variables at orders o 1 , . . . , o r can be defined as E [ r i=1 Y i ], where E denotes the expected value. Now, consider an N -cycle cryptographic implementation that manipulates a secret variable x. This results in a set {L 1 , . . . , L N } of N leakage vectors. The implementation is said to be secure at order o in the bounded moment model if all the mixed moments of order ≤ o of {L 1 , . . . , L N } are statistically independent of x.

Vectorization with NEON

The ARM Cortex-A8 is a 32-bit processor that implements the ARMv7-A microarchitecture. It is used in smartphones, digital TVs, and printers, among others. It was first introduced in 2005 and is currently widely deployed. Its main core can run at 1 GHz and implements features such as superscalar execution, an advanced branch prediction unit, and a 13-stage pipeline. There are 16 32-bit r registers, of which 14 are generally available to the programmer.

The Cortex-A8 comes with the so-called Advanced SIMD extension, better known as NEON, that add another 16 128-bit q registers. These vector registers can also be viewed as 32 64-bit d registers. For example, q0 consists of d0 and d1, q1 consists of d2 and d3, et cetera. Operations can typically be performed on 8-, 16-, or 32-bit elements in a SIMD fashion. While 128-bit registers are supported, the data path of the Cortex-A8 is actually only 64 bits wide, which means that operations on 128-bit registers will be performed in two steps. NEON has a separate 10-stage pipeline. In particular, it has a load/store unit that runs next to an arithmetic unit. This means that an aligned load and an arithmetic instruction can be executed in the same cycle.

NEON has been used successfully in the past to vectorize and optimize implementations of cryptographic primitives [START_REF] Daniel | NEON crypto[END_REF], but its power has to the best of our knowledge not yet been exploited for higher-order masking in the way that we propose here.

3 Vectorizing Masking of AES

Representing the Masked State

The AES state [START_REF] Daemen | The design of Rijndael -AES, The Advanced Encryption Standard[END_REF] is usually pictured as a square matrix of 4 by 4 byte elements. This representation leads to efficient software implementations when SubBytes is implemented using lookup tables. However, such implementations are also prone to cache-timing attacks [START_REF] Daniel | Cache-timing attacks on AES[END_REF], as the memory location of the value that is looked up depends on some secret intermediate value. An alternative bitsliced representation avoids these attacks. In this bitsliced representation, all the first bits of every byte are put in one register, all the second bits in the next register, etc. For SubBytes, one can now compute the S-box on the individual bits and do that for all 16 bytes in parallel. The S-box parallelism of AES for bitslicing was first exploited by Könighofer in [START_REF] Könighofer | A fast and cache-timing resistant implementation of the AES[END_REF] and it was also used in the speed-recordsetting AES implementation targeting Intel Core 2 processors by Käsper and Schwabe [START_REF] Käsper | Faster and timing-attack resistant AES-GCM[END_REF]. At a small cost, the other (linear) operations of AES are modified to operate on this bitsliced representation as well.

However, on most devices registers are longer than 16 bits, so it would be a waste to not utilize this. AES implementations without side-channel protections choose to process multiple blocks in parallel, by simply concatenating multiple 16-bit chunks from independent blocks in one register. For example, the AES implementation of [START_REF] Käsper | Faster and timing-attack resistant AES-GCM[END_REF] processes 8 blocks in parallel in a 128-bit XMM register. When the vector registers become larger, this trivially leads to higher throughputs for parallel modes of operation.

In this section we present three implementations that, instead of multiple blocks, process multiple shares in parallel. The first implementation fills a 64-bit d register with 4 shares. The second has 8 shares, that are used to fill a 128-bit q register. The third combines 2 blocks with each 4 shares, and also utilizes the 128-bit q registers. It interleaves the shares of the 2 blocks for efficiency reasons. Note that this third implementation requires a parallel mode of operation.

Parallel Multiplication and Refreshing

In [START_REF] Barthe | Parallel implementations of masking schemes and the bounded moment leakage model[END_REF], new algorithms for parallel multiplication (including the AND operation) and parallel refreshing were proposed. They are proven to be secure in the bounded moment model and proven to be strongly non-interfering using techniques from

share 0 share d -1 row 0 row 1 row 2 row 3 col 0 col 1 col 2 col 3 col 0 col 1 col 2 col 3 col 0 col 1 col 2 col 3 col 0 col 1 col 2 col 3
Fig. 1: Register lay-out for the single-block implementations. There are 8 of these 16d-bit vector registers. The cells on the bottom row represent individual bits. automated program verification [START_REF] Barthe | Verified proofs of higher-order masking[END_REF]. Correct implementations of these algorithms are critical for the security of our implementations. We suggest slightly improved algorithms for d = 4 and d = 8 that require less randomness, but we could not generalize them to an improvement for all orders. As with the original algorithms, they are proven secure using the same automatic verification tools. NEON code that implements these algorithms can be found in Appendix A.

Refreshing. Refreshing can be necessary to make sure that values in registers are again statistically independent. The refreshing algorithm in [START_REF] Barthe | Parallel implementations of masking schemes and the bounded moment leakage model[END_REF] requires 2d bytes of fresh uniform randomness. Let x (in boldface) denote a vector register that contains [x 0 , . . . , x d-1 ], where d-1 i=0 x i = x, and let r be a vector of the same length that contains uniformly random values. In the case of AES, a single share would be 16 bits long, so a randomness vector r will be 2d bytes.

Then x = r ⊕ rot(r, 1) ⊕ x is a secure way to refresh x, where rot(a, n) rotates a to either left or right by n shares. Note that in the case of AES, this is equal to applying a rotation by 2n bytes.

For 4 shares, this algorithm additionally achieves SNI. However, to reach this with 8 shares, in [START_REF] Barthe | Parallel implementations of masking schemes and the bounded moment leakage model[END_REF] it turned out to be necessary to iterate the refreshing algorithm 3 times. In other words, one would need to compute r ⊕ rot(r, 1) ⊕ r ⊕ rot(r , 1) ⊕ r ⊕ rot(r , 1) ⊕ x to achieve SNI at order 7. This requires 3 vectors of uniform randomness, or 48 bytes with AES. We improve this algorithm by computing:

r ⊕ rot(r, 1) ⊕ r ⊕ rot(r , 2) ⊕ x .
We verified with the current version of the tool of [START_REF] Barthe | Verified proofs of higher-order masking[END_REF] that this also achieves SNI at order 7. Moreover, it requires one less randomness vector. In the case of AES, we now require 32 bytes of uniform randomness.

Multiplication. Multiplication in a finite field, or an AND gate in the case of F 2 , is trickier to perform in a secure way. Consider the case where one wants to compute z = x • y. Let r and r be uniformly random vectors. Then, with 4 shares, the algorithm suggested in [START_REF] Barthe | Parallel implementations of masking schemes and the bounded moment leakage model[END_REF] computes the following to achieve SNI at order 3:

z = x • y ⊕ r ⊕ x • rot(y, 1) ⊕ rot(x, 1) • y ⊕ rot(r, 1) ⊕ x • rot(y, 2) ⊕ r ⊕ rot(r , 1) .
However, we can again improve this slightly such that less randomness will be necessary. Let r 4 be a uniformly random value. Then we proved using the tool of [START_REF] Barthe | Verified proofs of higher-order masking[END_REF] that the following is also 3rd-order SNI-secure. For AES, this requires 10 fresh uniformly random bytes (8 for r and 2 for r 4 ) instead of 16:

z = x • y ⊕ r ⊕ x • rot(y, 1) ⊕ rot(x, 1) • y ⊕ rot(r, 1) ⊕ x • rot(y, 2) ⊕ [r 4 , r 4 , r 4 , r 4 ] .
With 8 shares, we use the original algorithm of [START_REF] Barthe | Parallel implementations of masking schemes and the bounded moment leakage model[END_REF] that is SNI at order 7. This requires 3 randomness vectors, which in the case of AES amounts to 48 bytes:

z = x • y ⊕ r ⊕ x • rot(y, 1) ⊕ rot(x, 1) • y ⊕ rot(r, 1) ⊕ x • rot(y, 2) ⊕ rot(x, 2) • y ⊕ r ⊕ x • rot(y, 3) ⊕ rot(x, 3) • y ⊕ rot(r , 1) ⊕ x • rot(y, 4) ⊕ r ⊕ rot(r , 1) .
We attempted to reduce this by replacing the last randomness vector by a vector with a single random value, as in the algorithm for 4 shares, but we found that this does not achieve SNI at order 7.

Randomness. Implementations that are protected using higher-order masking require a lot of randomness. To be able to prove statistical independence, this randomness should be fresh and uniformly distributed. For resisting attacks in practice, it is not so clear whether the exact requirements are this strict. For instance, it might also be fine to expand a random seed using a pseudo-random number generator, or even to re-use randomness [START_REF] Balasch | On the cost of lazy engineering for masked software implementations[END_REF]. We consider this discussion to be out of scope of this work. However, because the impact on the performance can be very significant, we consider various approaches that occur in the literature. The first is to read all the randomness that we require from /dev/urandom using fread, like in [START_REF] Balasch | DPA, bitslicing and masking at 1 GHz[END_REF]. This is the most conservative approach, but it is rather slow. Second, we also consider the case where all required randomness is already in a file that needs to be read into memory. The third approach assumes that there exists a fast true random-number generator and only considers the cost of a normal load instruction (vld1), like in [START_REF] Goudarzi | How fast can higher-order masking be in software?[END_REF].

The AES implementation with 4 shares requires 8 bytes per refresh and 10 bytes per masked AND. In the next section we will see that this amounts to 10 • 32 • (8 + 10) = 5760 random bytes in total for the full AES, excluding the randomness used to do the initial masking of the input and the round keys. Naturally, the implementation that computes two blocks in parallel requires double the amount of random bytes. For 8 shares, refreshing takes 32 bytes and a masked AND uses 48 bytes, which makes the total 10 • 32 • (32 + 48) = 25600 bytes.

SubBytes

Using the masked AND and refreshing algorithms, we can build our bitsliced SubBytes. Several papers have presented optimized bitsliced representations of the AES S-box. The smallest known to us is by Boyar and Peralta [START_REF] Boyar | A new combinational logic minimization technique with applications to cryptology[END_REF]. It uses 83 XORs/XNORs and 32 ANDs, which was later improved to 81 XORs/XNORs and 32 ANDs. The few NOTs can be moved into the key expansion, so we only need to consider XORs and ANDs. We use this implementation as our starting point, as this is also the implementation with the smallest number of binary ANDs, and an AND will be much slower to compute than a XOR.

We have used the compiler provided in [START_REF] Barthe | Strong non-interference and type-directed higher-order masking[END_REF] to generate a first masked implementation of SubBytes. This tells us when it is necessary to refresh a value, making sure that we do not refresh more often than strictly necessary. For our version of SubBytes, however, the compiler adds a refresh on one of the inputs for every AND. Then we implement an XOR on multiple shares in parallel with a veor instruction. For an AND, we use the algorithms of the previous section. Finally, the code has been manually optimized to limit pipeline stalls.

The S-box implementation has many intermediate variables. With 4 shares and a single block, the d registers are used. There are 32 of them and this turns out to be sufficient to store all the intermediate values. With two blocks or with 8 shares, however, we can use only 16 q registers. This implies that values have to be spilled to the stack. Of course, we want to minimize the overhead caused by this. In [START_REF] Schwabe | All the AES you need on Cortex-M3 and M4[END_REF], an instruction scheduler and register allocator for the ARM Cortex-M4 was used to optimize the number of pushes to the stack. We modified this tool to handle the NEON instructions that we need, and use it to obtain an implementation with 18 push instructions and 18 loads.

According to a cycle-count simulator [START_REF] Sobole | Cycle counter for Cortex-A8[END_REF], our SubBytes implementation takes 1035 cycles with one block and 4 shares and 2127 cycles with 8 shares.

Linear Layer

We now discuss the linear operations of AES. We manually optimized them using a cycle-count simulator to hide as many latencies as possible [START_REF] Sobole | Cycle counter for Cortex-A8[END_REF].

AddRoundKey. AddRoundKey loads the round key with the vld1 instruction and adds it to the state using veor. The loads and arithmetic instructions can be interleaved. This helps because they go into separate NEON pipelines. An arithmetic instruction can than be executed in parallel with the load of the next part of the round key. For the loads, we make sure that they are aligned to at least 64 bits. AddRoundKey then only takes 10 cycles.

ShiftRows. With ShiftRows, rotations by fixed distances over 16 bits need to be computed. This can be implemented using vand, vsra, vshl, and vorr instructions. The arithmetic pipeline is now clearly the bottleneck. According to the simulator, our ShiftRows takes 150 cycles.

MixColumns. MixColumns requires more rotations by 4 or by 12 over 16 bits. This takes 106 cycles as measured by the simulator.

Performance

We benchmark our implementations on the BeagleBone Black with the clock frequency fixed at 1 GHz. In other words, we disabled frequency scaling. For the rest, we did not apply any changes to a standard Debian Linux 9 installation. In particular, we did not disable background processes and did not give our process special priority or CPU core affinity. The implementations are run 10000 times and the median cycle counts are given in Table 1. When using /dev/urandom, more than 99% of the time is spent on waiting for randomness, which is delivered at a rate of only 369 cycles per byte in the 8-share case. With a faster RNG, it becomes clear that our implementations are very fast and practical. We reach 474 cycles/byte with 4 shares and 1476 cycles/byte with 8 shares with pre-loaded randomness. Note that all implementations are fully unrolled, so the code size can trivially be decreased to roughly a tenth when this is a concern. However, we do not expect this to be an issue for devices with a Cortex-A8 or similar microprocessors, as they are relatively high-end.

4
Comparison to Related Work. In the following we discuss how our implementation compares to related work. We note that one should be cautious when it comes to comparing cycle counts, in particular when benchmarks were obtained on different microarchitectures or from simulators.

Goudarzi and Rivain [START_REF] Goudarzi | How fast can higher-order masking be in software?[END_REF] compared the performance of different higher-order masking approaches on ARM architectures. A simplified model is assumed for the number of cycles that specific instructions take, without referring to a specific microarchitecture. Private communication made clear that they are derived from the Keil simulator based on an ARM7TDMI-S. Their fastest bitsliced implementation is claimed to take 120,972 cycles with 4 shares and 334,712 cycles with 8 shares. To achieve this performance, the presence of a fast TRNG is assumed that delivers fresh randomness at 2.5 cycles per byte. Only the cost of a normal ldr instruction it taken into account, which corresponds to our performance with pre-loaded randomness. Despite the differences between ARMv4T and ARMv7-A, it is clear that there is quite a performance gap.

Wang, Vadnala, Großschädl, and Xu [START_REF] Wang | Higher-order masking in practice: A vector implementation of masked AES for ARM NEON[END_REF] presented a masked AES implementation for NEON that appears to run in 14,855 cycles with 4 shares and 77,820 with 8 shares on a Cortex-A15 simulator. This uses a cheap LFSR-based PRNG to provide randomness of which the authors already say that it should be replaced by a better source of randomness. We require less randomness due to a different masking scheme and apply bitslicing instead of computing SubBytes with tower-field arithmetic. The Cortex-A15 is more modern and powerful than the Cortex-A8. It can decode 3 instructions instead of 2, has out-of-order execution, and its NEON unit has a 128-bit wide datapath instead of 64-bit. However, it has longer pipelines which means that the penalty for, for instance, wrong branch predictions will be higher. We ran their code on our Cortex-A8-based benchmarking device and measured 34,662 cycles for the 4-share implementation and 158,330 cycles for the 8-share implementation, but we cannot fully explain the difference due to the amount of possible causes and the unavailability of more detailed information.

Balasch, Gierlichs, Reparaz, and Verbauwhede [START_REF] Balasch | DPA, bitslicing and masking at 1 GHz[END_REF] do use the same microarchitecture, but not the NEON SIMD processor. They do not mention the performance of their implementation. They explicitly say that they focus on the security evaluation and do not aim to achieve a high-throughput implementation.

Finally, Journault and Standaert [START_REF] Journault | Very high order masking: Efficient implementation and security evaluation[END_REF] consider a bitsliced AES implementation with up to 32 shares on an ARM Cortex-M4. They exploit the parallelism of the shares, but not of AES itself as there are only 32-bit registers. An on-board TRNG is used to provide randomness at a reported speed of 20 cycles per byte. They use the refreshing and multiplication algorithms of [START_REF] Barthe | Parallel implementations of masking schemes and the bounded moment leakage model[END_REF] and almost the same S-box baseline implementation. Eventually, they report that 2,783,510 cycles are required to compute AES with 32 shares, of which 73% are spent on generating randomness. While this is certainly a very interesting idea, we show how the parallelism in SubBytes can additionally be exploited on a higher-end CPU with vector registers when using less shares might be sufficient.

Compared to unmasked implementations, there is of course still a noticeable performance penalty for adding side-channel protections. The unmasked bitsliced AES implementation of Bernstein and Schwabe [START_REF] Daniel | NEON crypto[END_REF] also exploits NEON to run at 19.12 cycles per byte (i.e., 306 cycles per block) in CTR mode, but that uses counter-mode caching and processes 8 blocks in parallel.

Side-Channel Evaluation

Measurement Setup

Balasch, Gierlichs, Reparaz, and Verbauwhede [START_REF] Balasch | DPA, bitslicing and masking at 1 GHz[END_REF] described in detail how they performed DPA attacks on a BeagleBone Black running at 1 GHz. Our experimental setup and measuring environment follow their approach. The board is running Debian Jessie and has several processes running in the background. We power the board using a standard AC adapter and connect it to the measurement PC over Ethernet. A few lines of Python on the BeagleBone open a TCP socket and spawn a new AES process for every input that it receives. The measurement PC connects to the socket and sends inputs over Ethernet.

We use a LeCroy WaveRunner 8404M-MS oscilloscope with a bandwidth of 4 GHz, operating at a sampling rate of 2.5 GSamples/sec. The AES process sets a GPIO port high before the execution of AES and sets it low after AES is finished, so that it can be used as the trigger signal. We place a magnetic field probe from Langer, model RF-B 0.3-3, with a small tip on the back of the BeagleBone board, near capacitor 66. The probe is connected to a Langer amplifier, model PA 303 SMA. The acquired traces were post-processed in order to perform signal alignment. We note that OS-related interrupts in conjunction with time-variant cache behavior result in a fairly unstable acquisition process. Thus, the evaluator has to either discard a large portion of the acquired trace set or resort to more sophisticated alignment techniques such as elastic alignment [START_REF] Jasper | Improving differential power analysis by elastic alignment[END_REF].

Security Order Evaluation

Since our implementation uses SNI gadgets, it maintains theoretical security against probing attacks of order d -1 or less. The natural starting point of our side-channel evaluation is to identify any discrepancy between the theoretical and the actual security order, i.e., to determine the real-world effectiveness of the masking scheme. To achieve that goal, we need to assess whether the shares leak independently or whether the leakage function recombines them. Such recombinations can be captured by evaluating the security order in the bounded moment model [START_REF] Barthe | Parallel implementations of masking schemes and the bounded moment leakage model[END_REF] using, e.g., the leakage detection methodology [START_REF] Cooper | Test vector leakage assessment (TVLA) methodology in practice[END_REF][START_REF] Schneider | Leakage assessment methodology -A clear roadmap for side-channel evaluations[END_REF][START_REF] Zhang | Towards sound and optimal leakage detection procedure (extended version)[END_REF].

Several lines of work have observed divergence between the theoretical order of a masking scheme and its real-world counterpart. Initially, Balasch, Gierlichs, Grosso, Reparaz, and Standaert [START_REF] Balasch | On the cost of lazy engineering for masked software implementations[END_REF] put forward the issue of distance-based leakages, which can result in the order reduction of a scheme. Specifically, if a (d -1)th-order scheme is implemented on a device that exhibits distance-based leakages, its actual order will reduce to (d-1)/2 , damaging its effectiveness w.r.t. noise amplification. Such effects have been observed in numerous architectures such as AVR, 8051 [START_REF] Balasch | On the cost of lazy engineering for masked software implementations[END_REF], ARM Cortex-M4 [START_REF] Wouter De Groot | Bitsliced masking and ARM: friends or foes? In Lightweight Cryptography for Security and Privacy -LightSec[END_REF], FPGAs [START_REF] De Cnudde | Does coupling affect the security of masked implementations?[END_REF] and stem from both architectural choices and physical phenomena. To some extent, they can be mitigated by either increasing the order of the scheme or by "hardening" the implementation against effects that breach the independence of shares [START_REF] Papagiannopoulos | Mind the gap: Towards secure 1st-order masking in software[END_REF].

We evaluate the security order using the leakage detection methodology known as TVLA [START_REF] Cooper | Test vector leakage assessment (TVLA) methodology in practice[END_REF], which emphasizes detection over exploitation in order to speed-up the procedure. To make the evaluation feasible w.r.t. data complexity, we focus on the first round of our single-block 4-share implementation and employ the random vs. fixed Welch t-test, which uses random and fixed plaintexts acquired in a non-deterministic and randomly interleaved manner. Consecutively, we perform univariate t-tests of orders 1 through 4 using the incremental, one-pass formulas of Schneider and Moradi [START_REF] Schneider | Leakage assessment methodology -A clear roadmap for side-channel evaluations[END_REF] at a level of significance α = 0.00001. The results are plotted in Figure 2. Note that the number of samples per trace is fairly high due to the lengthy computation of the 4-share masked AES round and due to the high sampling rate dictated by the clock frequency (1 GHz) and the Nyquist theorem. As a result, the t-test methodology faces the issue of multiple comparisons and we need to control the familywise error rate using the Šidák correction α SID = 1 -(1 -α) 1/#samples [START_REF] Sidak | Rectangular confidence regions for the means of multivariate normal distributions[END_REF]. The leakage detection threshold th is then computed using the formula th = CDF -1 N (0,1) (1 -α SID /2), which equals to 6.25 when testing 25k samples per trace [START_REF] Zhang | Towards sound and optimal leakage detection procedure (extended version)[END_REF].

(a) 1st-order, 1M random vs. 1M fixed.

(b) 2nd-order, 1M random vs. 1M fixed.

(c) 3rd-order, 1M random vs. 1M fixed.

(d) 4th-order, 1M random vs. 1M fixed.

Fig. 2: Univariate leakage detection of orders 1 until 4.

In Figure 2 we observe that for orders 1 and 2, a 1M random vs. 1M fixed t-test does not reject the null hypothesis, thus no leakage is detected in the first two statistical moments. The situation is different for higher orders: both the 3rd and the 4th-order univariate t-tests are able to detect leakage. This demonstrates that the actual security order of the implementation is less than the theoretical one and detecting the presence of 3rd-order leakage is in fact easier than detecting 4th-order leakage. Interestingly, the experimental results are not in direct accordance with the order reduction suggested by [START_REF] Balasch | On the cost of lazy engineering for masked software implementations[END_REF], i.e., our 3rdorder (4-share) implementation achieves practical order of 2, while the theorized reduction suggests 3/2 = 1st-order security.

An additional way to approach the order reduction issue is to phrase it as a leakage certification problem [START_REF] Durvaux | Towards easy leakage certification[END_REF][START_REF] Durvaux | How to certify the leakage of a chip?[END_REF]. The leakage certification procedure allows us to assess the quality of a leakage model w.r.t. estimation and assumption errors. Gauging the effect of estimation errors, i.e., those that arise from insufficient profiling, is straightforward and can be carried out via cross-validation tech-niques [START_REF] Efron | An Introduction to the Bootstrap[END_REF]. Assumption errors are more difficult to assess, since they arise from incorrect modeling choices and would ideally require the comparison between the chosen model and an unknown perfect model. To tackle this, the indirect approach of Durvaux, Standaert and Veyrat-Charvillon [START_REF] Durvaux | How to certify the leakage of a chip?[END_REF] observes the relation between estimation and assumption errors and if the latter are negligible in comparison, they conclude that the chosen model is adequate.

In our approach, we use the t-test-based certification toolset of Durvaux, Standaert, and Del Pozo [START_REF] Durvaux | Towards easy leakage certification[END_REF], which focuses on the assumption and estimation errors for each statistical moment. Initially, we start with an erroneous model for our 4-share implementation: we assume that the leakage is sufficiently captured by a Gaussian template, i.e., a normal distribution that is fully described by the first two statistical moments. The results are visible in the upper part of Figure 3, using a trace set of size 900,000. In particular, we plot the p-value of a t-test that compares an actual statistical moment (estimated from the trace set) with a simulated statistical moment (estimated by sampling the profiled model). A high p-value (i.e., a mostly white image) indicates that estimation errors overwhelm assumption errors and that the chosen model is adequate. A small p-value indicates that assumption errors are larger than estimation errors, thus the chosen model is erroneous. The process is repeated for all first four statistical moments (mean, variance, skewness, kurtosis) using cross-validation. In the first two images of Figure 3 (upper part, mean and variance), the high p-values indicate that these moments are well-captured by the model. Naturally, the fourth image (upper part, kurtosis) is black, indicating that the model disregards the 4th moment of a parallel 4-share implementation which should (in theory) contain useful information. Interestingly, the third image (skewness) is also black, penalizing any model that does not include the 3rd statistical moment, although in a perfect scheme it should not convey any information. We continue this approach with a more adequate model for the 4-share implementation: we assume that the leakage is captured by a Pearson type I distribution [START_REF] Schneider | Bridging the gap: Advanced tools for side-channel leakage estimation beyond Gaussian templates and histograms[END_REF], i.e., a 4-moment Beta distribution. The results are visible in the lower part of Figure 3 and show that the assumption errors in the 3rd and 4th moments tend to be smaller than the corresponding estimation errors.

As demonstrated by both the t-test methodology and the leakage certification process, the NEON-based implementations on ARM Cortex-A8 are likely to be subject to order reduction and may require further hardening to prevent dependencies between shares. The potential causes of the order reduction remain unexplored since they may stem from bus/register/memory transitions, pipelined data processing or even electrical coupling effects. Pinpointing the origin of the security reduction remains an open problem in the side-channel field since it essentially requires the countermeasure designer to access/modify the hardware architecture and chip layout, a task that is not possible with proprietary designs.

Information-Theoretic Evaluation

Having investigated the security order of the single-block 4-share AES implementation, we turn to the evaluation of its 8-share counterpart. The core feature of a masking scheme is the noise amplification stage. Assuming sufficient noise, it has been shown that the number of traces required for a successful attack grows exponentially w.r.t. the order d -1 [START_REF] Chari | Towards sound approaches to counteract power-analysis attacks[END_REF]. As a result, the evaluation of the proposed 8-share implementation can be beyond the measurement capability of most evaluators. To tackle this issue, we will rely on an information-theoretic approach used by Standaert et al. and Journault et al. [START_REF] Journault | Very high order masking: Efficient implementation and security evaluation[END_REF][START_REF] Standaert | A unified framework for the analysis of side-channel key recovery attacks[END_REF][START_REF] Standaert | The world is not enough: Another look on second-order DPA[END_REF], assisted by the bound-oriented works of Prouff and Rivain [START_REF] Prouff | Masking against side-channel attacks: A formal security proof[END_REF], Duc, Faust, and Standaert [START_REF] Duc | Making masking security proofs concrete -Or how to evaluate the security of any leaking device[END_REF], and Grosso and Standaert [START_REF] Grosso | Masking proofs are tight (and how to exploit it in security evaluations)[END_REF].

Analytically, we start with an unprotected (single-share) AES implementation and estimate the device/setup signal to noise ratio (SNR). We define the random variable S to correspond to the sensitive (key-dependent) intermediate values that we try to recover. Likewise, we define the random variable L to correspond to the time sample that exhibits high leakage (heuristically chosen as the sample with the highest t-test value). Subsequently, we profile Gaussian templates for all sensitive values s that are instances of variable S. In other words, we estimate P r[L|s] model ∼ N (μ s , σ2 s ) for all s. Using the estimated moments, we compute the SNR as the ratio v ar s (μ s )/ Ês (σ 2 s ), resulting in SNR ≈ 0.004. We continue to compute the Hypothetical Information (HI) which shows the amount of information leaked if the leakage is adequately represented by the estimated model P r model . .

HI(S; L) = H[S] +

To simplify the evaluation process, we employ the independent shares' leakage assumption so as to extrapolate the information of a single share to the information of a d-tuple of shares. Thus, in order to obtain the HI bounds for security orders 3 and 7, we raise HI(S; L) to the security order. In addition, the evaluator should take special consideration w.r.t. horizontal exploitation [START_REF] Battistello | Horizontal side-channel attacks and countermeasures on the ISW masking scheme[END_REF][START_REF] Veyrat-Charvillon | Soft analytical side-channel attacks[END_REF], which can be particularly hazardous, e.g., in the context of lengthy masked multiplications. To showcase such a scenario, we employ the bound of Prouff and Rivain [START_REF] Prouff | Masking against side-channel attacks: A formal security proof[END_REF], stating that the multiplication leakage is roughly 1.72d + 2.72 times the leakage of a d-tuple of shares. The results of the information-theoretic evaluation are visible in Figure 4. Figure 4 assesses the performance of the proposed 8-share AES implementation, using information-theoretic bounds. The solid line shows the ideal masking performance, while the dashed line shows a conservative masking performance due to order reduction from order 7 to order 3. Last, the dotted line demonstrates the scenario where the adversary exploits the order-reduced (conservative) version in a horizontal fashion, i.e., (s)he incorporates all intermediate values computed during a masked AES multiplication. For the current SNR of the device, the measurement complexity is bounded by approximately 2 91 measurements (ideal case), 2 45 (conservative case) and 2 42 (conservative horizontal case) [START_REF] Duc | Making masking security proofs concrete -Or how to evaluate the security of any leaking device[END_REF].

Conclusion and Outlook

We have shown how higher-order masking of AES can be sped up using NEON vector registers. With a good randomness source, such implementations are very fast and practical. We also performed a side-channel evaluation to study the security order of the single-block 4-share implementation and an informationtheoretic analysis to bound the measurement complexity w.r.t. the 8-share implementation.

Future SCA work can delve deeper into order-reduction issues, in conjunction with multivariate and horizontal exploitation. For instance, with our high-order univariate methodology, it is implicitly assumed that all the shares are manipulated in parallel. While this appears to hold when looking at the NEON assembly specifications, full parallelism may not be enforced on a hardware level. A deeper inspection of the circuitry could potentially clarify the actual parallelism and identify the underlying issues behind order reduction. Moving towards multivariate exploitation, practical horizontal attacks such as soft-analytical attacks need to be carried out such that we can gauge in practice the detrimental effects of lengthy leaky computations and establish a fairer evaluation procedure.

Fig. 3 :

 3 Fig. 3: Leakage certification p-values for Gaussian templates and Pearson type I.

  s∈S P r[s] • l∈L P r model [l|s] • log 2 P r model [s|l] dl, where P r model [s|l] = P r model [l|s] s * ∈S P r model [l|s * ]

Fig. 4 :

 4 Fig. 4: Information-theoretic evaluation for the 8-share masked implementation.

Table 1 :

 1 Performance of our masked AES implementations.

		shares	4 shares	8 shares
		1 block	2 blocks	1 block
	Clock cycles (randomness from /dev/urandom)	1,598,133 4,738,024 9,470,743
	Clock cycles (randomness from normal file)	14,488	17,586	26,601
	Clock cycles (pre-loaded randomness)	12,385	15,194	23,616
	Random bytes	5,760	11,520	25,600
	Stack usage in bytes	12	300	300
	Code size in bytes	39,748	44,004	70,188

A NEON Implementations

A. [START_REF] Balasch | On the cost of lazy engineering for masked software implementations[END_REF]

A.4 Multiplication, 8 Shares

// param rand is r register with address of randomness // param c is q register where result gets stored // param a and b are q registers to and, remain unchanged // param tmp and tmpr are q registers that get overwritten .


Antoine Congar

Kamal Hussain

Christelle Pareige

Raphaël Butté

Nicolas Grandjean

Pascal Besnard

Stéphane Trebaol

Impact of mode-hopping noise on InGaN edge emitting laser relative intensity noise properties

Keywords: Relative intensity noise (RIN), nonlinear gain, Semiconductor GaN lasers

In this study we report, through a comparative analysis of static and dynamic measurements, on the impact of mode hopping on the overall intensity noise dynamics of InGaN edge emitting lasers. Mode clustering usually observed in InGaN lasers enhances the mode competition and then the laser intensity fluctuation. Variations as large as 20 dB have been observed. The coexistence of longitudinal modes induces mode competition and then unstable bimodal lasing. This mode competition is mediated by temporal fluctuations of spontaneous emission through nonlinear cross saturation of the optical gain. The subsequent enhancement of the relative intensity noise can be detrimental for applications where the intensity stability of InGaN lasers is a key parameter. Our experimental observations are supported by a simple rate equation model. We point out the major importance of the different modal gain in the bimodal regime on the overall intensity noise of the laser.

I. INTRODUCTION

S INCE the first demonstration of commercially available

GaN based laser diodes in 1997 [START_REF] Nakamura | Characteristics Of Room Temperature-CW Operated InGaN Multi-Quantum-Well-Structure Laser Diodes[END_REF], blue emitting coherent light sources have opened up new opportunities in areas such as optical data storage [START_REF] Walker | Terabyte recorded in two-photon 3D disk[END_REF], visible light communication [START_REF] Hanson | High bandwidth underwater optical communication[END_REF]- [START_REF] Chi | 450-nm GaN laser diode enables high-speed visible light communication with 9-Gbps qam-ofdm[END_REF] (VLC), linear and nonlinear spectroscopy for fundamental [START_REF] Zeng | 1 / f noise in external-cavity InGaN diode laser at 420 nm wavelength for atomic spectroscopy[END_REF], [START_REF] Leinen | GaN blue diode lasers: a spectroscopist's view[END_REF] and industrial [START_REF] Allen | Diode laser absorption sensors for gas-dynamic and combustion flows[END_REF] applications, pico-projection [START_REF] Strauβ | True-blue InGaN laser for pico size projectors[END_REF] and lighting [START_REF] Wierer | Comparison between blue lasers and light-emitting diodes for future solid-state lighting[END_REF]. Without being exhaustive, this list highlights the benefits offered by GaN lasers. In the aforementioned applications, the stability of the laser intensity is one of the key parameters. Indeed, for applications that use modulation in the MHz to GHz range, like data storage, VLC and pico-projection, the intensity noise has to be calibrated on the targeted bandwidth. In the same vein, for spectroscopic applications for which the signal to noise ratio is the relevant parameter, the noise of the laser is the limiting parameter and has to be quantified. A deep understanding of the dynamics of InGaN lasers is mandatory since it affects the overall characteristics of the devices in which they might be embedded. In lasers, the noise response is directly governed by the photon and the electron populations dynamics. In particular in monolithic semiconductor lasers, the two population dynamics are coupled and energy exchange occurs at a frequency called the relaxation frequency. This type of lasers is called Class B lasers in the Arecchi classification [START_REF] Arecchi | Deterministic chaos in laser with injected signal[END_REF]. Intensity noise is one of the observables allowing to better understand the impact of the structure on the laser dynamics. Indeed, both the cavity design (photon population) and the epitaxial structure (electron population) directly impact the noise dynamics. Correlations between intensity noise and spectral dynamics have been widely studied for infrared lasers operating in the telecom bands [START_REF] Acket | The influence of feedback intensity on longitudinal mode properties and optical noise in index-guided semiconductor lasers[END_REF], [START_REF] Joindot | Measurements of relative intensity noise (RIN) in semiconductor lasers[END_REF] and noise classification based on their origin is well established [START_REF] Petermann | Laser diode modulation and noise[END_REF]. During the last decade, studies on the spectral dynamics of blue laser diodes contributed to the understanding of the manifestation of mode clustering [START_REF] Schwarz | Nitridebased in-plane laser diodes with vertical currrent path[END_REF]- [START_REF] Smetanin | Enhanced longitudinal mode spacing in blue-violet InGaN semiconductor lasers[END_REF]. In particular, Weig et al. studied multimode hopping occurring in blue laser diodes through time-resolved measurements [START_REF] Weig | Longitudinal mode competition and mode clustering in (Al,In)GaN laser diodes[END_REF] showing the role of the nonlinear gain term on the spectral dynamics. Despite their importance, the correlations existing between the optical spectrum structure and intensity fluctuations mediated by noise in blue emitting laser diodes have not been addressed yet.

In this paper, we study the impact of the modal structure on the intensity dynamics of InGaN edge emitting laser diodes. Simultaneous measurements of the optical spectrum and relative intensity noise (RIN) as a function of pump current give access to the rich dynamics of those lasers. In particular, we show that for specific pump current operations, the laser can display a variety of lasing regimes, each of them featuring their own intensity noise signature. Actually, lasing dynamics can be classified in two regimes. The laser diode behaves either in single mode operation with usually a very low noise level or in multimode operation where two or more modes lase in a stable or unstable manner. This paper aims at describing and analyzing these two regimes in terms of noise dynamics. It is organized as follows. First, we recall the main characteristics of the structure under test and describe the experimental optical setup. Then we detail and discuss our experimental observations. Simulation results based on nonlinear coupled rate equations support our observations and allow us to point out the key role of gain imbalance and the nonlinear cross-saturation term of the gain on the RIN in multimode operation.

II. EXPERIMENTAL SETUP

The laser structure was grown by metalorganic vapor phase epitaxy on a c-plane free-standing GaN substrate. The active region consists of two 4.5 nm wide InGaN quantum wells separated by 12 nm undoped In 0.05 Ga 0.95 N barriers with low In-content and a p-AlGaN electron blocking layer. The bottom and top cladding are 1 µm and 500 nm in thickness, respectively. The laser consists of a 680 µm long ridge structure. The width of the ridge is limited to 2.5 µm to ensure single mode transverse operation. A five-layer dielectric distributed Bragg reflector (SiO 2 /Ta 2 O 5 ) with a reflectivity of ∼ 95% is deposited on one of the facets to maximize the directivity of the emission on the opposite facet. The structure is described in more details elsewhere [START_REF] Dorsaz | AlGaN-Free Blue III-Nitride Laser Diodes Grown on c -Plane GaN Substrates[END_REF]. The laser is characterized using an optical setup allowing to study RIN, L-I curves and optical spectra together. These simultaneous measurements permit to analyze the static and dynamical behavior of the laser. The L-I curve and the RIN are collected through a silicon photodiode followed by a 20 dB low noise RF amplifier. The overall detection scheme has a 2 GHz bandwidth. The RIN measurements are obtained following a method described elsewhere [START_REF] Cox | High sensitivity precision relative intensity noise calibration standard using low noise reference laser source[END_REF]. The spectrometer has a resolution of 120 pm which is sufficient to resolve the spectral dynamics of the laser under study.

III. EXPERIMENTAL RESULTS

A. Static measurements

First, we study the static response of the laser based on L-I curve measurements. The results are presented in Figure 1 a). Above the laser threshold (I th = 63 mA), the optical power has a linear dependency to the pump current masking the dynamics of the spectral energy redistribution. Indeed, Figures 1 b) to 1 d) show the optical spectrum dynamics for different pump currents. Figure 1 b) displays the optical spectrum below threshold (I = 40 mA) corresponding to the amplified spontaneous emission regime. It is important to note that the spacing between the resonances of the Airy function of the cavity is expected to be 36 pm at 415 nm. Nevertheless a strong modulation of the gain curve (Fig. 1 b)) is observed. The gain exhibits a ripple with ∼ 800 pm periodicity. As shown in Figures 1 c) and 1 d), this ripple determines the operating longitudinal modes. This discrepancy between experimentally measured and theoretically predicted free spectral range in GaN laser diodes is commonly observed [START_REF] Nakamura | Room-temperature continuouswave operation of InGaN multi-quantum-well structure laser diodes[END_REF]- [START_REF] Ropars | Spectral and spatial dynamics in InGaN blue-violet lasers[END_REF]. In the literature, different origins can be attributed to such mode clustering, in particular cracks in the GaN structure and substrate mode coupling. Indeed, due to aging of the structure, microcracks can induce subcavities introducing a modulation of the gain [START_REF] Zeng | 1 / f noise in external-cavity InGaN diode laser at 420 nm wavelength for atomic spectroscopy[END_REF]. The crack position is, by nature, randomly distributed and should not lead to a periodic modulation of the cavity modes. Instead, the periodic modulation of the gain, that subsequently allows only a few modes to lase, is attributed to coupling between the longitudinal modes and substrate modes. As reported by Laino et al. [START_REF] Laino | Substrate modes of (Al,In)GaN semiconductor laser diodes on SiC and GaN substrates[END_REF] the thickness and the optical index of the n-cladding layer play a major role on the modal gain modulation. Thicknesses below 2 µm allow the coupling between longitudinal modes and substrate modes giving rise to gain ripple (Fig. 1 b)). Hence, the periodicity of the gain ripple is determined by the length of the ridge and the bottom cladding layer thickness. Nevertheless, the origin of the mode clustering is not primordial for our study. When increasing the pump current above threshold (I = 90 mA), the laser displays one cluster whose magnitude is lying 23 dB above the others. One cluster includes less than ten successive longitudinal operating modes. Increasing the pump current up to 160 mA (2.54 I th ) the laser behaves in bicluster operation and displays two 828 pm spaced clusters.

In the following, we study simultaneously the overall intensity fluctuations of the laser and its spectral structure.

B. Spectral and RIN measurements

We record continuously the optical spectrum and the RIN as a function of pump current above threshold. Figure 2 a) shows the spectrum distribution and Figure 2 b) the RIN. Our first observation concerns the redshift of lasing clusters (Fig. 2 a)). Two trends can be extracted. First, there is a redshift of the gain profile due to a temperature increase mediated by the current density [START_REF] Meyer | Spectral dynamics of 405 nm (Al,In)GaN laser diodes grown on GaN and SiC substrate[END_REF], [START_REF] Varshni | Temperature dependence of the energy gap in semiconductors[END_REF]. This phenomenon is at the origin of the laser swinging between single and bicluster operation. Second, a tiny variation in the refractive index due to a change in the carrier density will also redshift the clusters [START_REF] Romadhon | Longitudinal modes evolution of a GaN-based blue laser diode[END_REF]. These two effects contribute to the redshift of the lasing wavelengths with two specific slopes. We measure for the gain and the clusters shifts of 23.9 pm/mA and 7.5 pm/mA, respectively. The related ratio of 3.2 is comparable to previously reported values [START_REF] Eichler | Observation of temperature-independent longitudinal-mode patterns in violet-blue InGaN-based laser diodes[END_REF], [START_REF] Romadhon | Longitudinal modes evolution of a GaN-based blue laser diode[END_REF]. A ratio larger than one allows adjacent clusters to lase for some pump current values since the gain curve redshifts faster than the clusters do. A comparative study of Figure 2 a) with Figure 2 b) allows to identify the impact of the lasing regime on RIN properties. In general, the RIN curve of a laser diode can be analyzed considering three frequency windows. At low frequency (<1 MHz) flicker noise mainly due to carrier injection dominates. At intermediate frequencies, from 1 MHz to few GHz, RIN curves display a quite flat plateau mostly related to spontaneous emission. At higher frequencies, relaxation oscillations specific to class B lasers can be observed. Our Although we cannot precisely determine the number of consecutive longitudinal modes within one cluster we make the hypothesis that the behavior of the laser can be understood using a simple single/bimodal laser approach. Model simulations will corroborate this hypothesis. In bimodal lasing operation, two successive modes having similar intensity amplitude can compete to drain the gain through stimulated emission. These two modes, having approximately the same amplitude, have difficulties to equally share the available gain contributing to intensity fluctuations and even mode switching. We attribute the RIN resurgence at intermediate frequencies to mode hopping due to temporal fluctuations of the spontaneous emission. The spontaneous noise is enhanced through the optical gain by self-and crosssaturation terms [START_REF] Yamada | Theory of mode competition noise in semiconductor injection lasers[END_REF]. Indeed, this intermediate frequency intensity noise follows a Lorentzian profile with a plateau from 1 MHz to 100 MHz and a cut-off frequency around 100 MHz. This mode competition phenomenon is triggered by the spontaneous emission, which is a stochastic process described by a Poisson distribution [START_REF] Ohtsu | Precise measurements and computer simulations of mode-hopping phenomena in semiconductor lasers[END_REF] that explains the white noise shape. The appearance of a resonance around 300 MHz shows that modes exchange energy preferentially around this hopping frequency [START_REF] Ahmed | Influence of instantaneous mode competition on the dynamics of semiconductor lasers[END_REF], [START_REF] Mikroulis | Low-frequency relative intensity noise due to nonlinear mode competition in InGaAsP-InP microring lasers[END_REF]. The hopping resonance observed in the bimodal regime reflects a partial antiphase noise since this contribution is visible for the total intensity noise. This partial antiphase noise has been already reported in other types of semiconductor lasers [START_REF] Lacot | Nonlinear mode coupling in a microchip laser[END_REF], [START_REF] Wichmann | Antiphase noise dynamics in a dual-wavelength vertical-external-cavity surface-emitting laser[END_REF]. A coherent antiphase noise would have been only observed on each mode characterized separately. This resonance behavior has been reported through time measurements by Weig et al. [START_REF] Weig | Longitudinal mode competition and mode clustering in (Al,In)GaN laser diodes[END_REF] in the case of GaN laser diodes.

IV. ANALYTICAL

To confirm our hypothesis and assess our experimental observations, we model the operation of a semiconductor laser diode around 415 nm featuring two 800 pm spaced longitudinal modes coupled through nonlinear gain terms and derive the RIN in such a case. In particular, we will show that gain imbalance and the nonlinear cross-saturation term are the physical parameters at the origin of the RIN resurgence in bicluster operation. The rate equations for such bimodal operation are given by [START_REF]Mode-partition noise and intensity correlation in a twomode semiconductor laser[END_REF],

dP 1 (t) dt = (G 1 -γ 1 )P 1 (t) + R sp + F p (t), ( 1a
)
dP 2 (t) dt = (G 2 -γ 2 )P 2 (t) + R sp + F p (t), (1b)
dN (t) dt = I q - N (t) τ s - 2 k=1 G k P k (t) + F N (t), (1c)
where P k the photon numbers in the cavity, k indicates the mode number, G k and γ k are the gain and loss of the k th mode, respectively. N is the carrier number, I is the pump current, q represents the charge of the electron and τ s the carrier lifetime. R sp is the spontaneously emitted photon rate and F p and F N are the Langevin noise source terms with zero mean and unit standard deviation as defined in the Appendix. We used the small signal approximation to linearize Eqs. 1. δN , δP 1 and δP 2 indicate the small variations of carrier number and photon number of each mode. The modal gains have nonlinear components so that [START_REF]Mode-partition noise and intensity correlation in a twomode semiconductor laser[END_REF],

G 1 = Ḡ1 + G N δN -BδP 1 -DδP 2 , (2a)
G 2 = Ḡ2 + G N δN -BδP 2 -DδP 1 , (2b)
where Ḡ1 and Ḡ2 are the steady-state gains of the two modes, G N is the differential gain coefficient. The two modes are coupled through the gain introducing nonlinear contributions from B, the self-saturation term, and D, which is the crosssaturation term. The latter determines the strength of the coupling between the modes. The saturation terms are approximately given by [START_REF] Yamada | Theory of mode competition noise in semiconductor injection lasers[END_REF],

B = 9 4 ΓG N R 2 cv 0 n 2 r hω V τ in h 2 (N th -N s ), (3a)
D = (4/3)B, ( 3b
)
where Γ is the confinement factor of the light in the active region, R cv is the dipole moment, V is the volume of the active region, n r is the refractive index of the active region, τ in is the intraband relaxation time, N th is the carrier number at threshold and N s (∼ 0.8N th ) is the carrier saturation coefficient. Fourier transform of linearized versions of Eqs. 1 gives access to the small signal variations of the two considered modes, namely δ P1 (ω) and δ P2 (ω).

Recalling that the RIN of the dual-mode is given by,

RIN (ω) = lim T →∞ 1 T δ P1 (ω) + δ P2 (ω) 2 ( P1 + P2 ) 2 , (4)
and replacing the expression of δ P1 (ω) and δ P2 (ω) in Eq. ( 4) gives,

RIN (ω) = 2D 11 |T F1 | 2 + 2D 22 |T F2 | 2 + 2D 1N |T * F1 T F N | |T Z | 2 ( P1 + P2 ) 2 + 2D 2N |T * F2 T F N | + 2D N N |T F N | 2 |T Z | 2 ( P1 + P2 ) 2 , (5)
where

T F1 = jω + R sp P2 -(D -B) P2 - ( Ḡ1 -Ḡ2 )G N P2 Γ N + jω , (6a)
T F2 = jω + R sp P1 -(D -B) P1 + ( Ḡ1 -Ḡ2 )G N P1 Γ N + jω , (6b)
T F N = G N Γ N + jω jω( P1 + P2 ) +R sp P1 P2 + P2 P1 -2(D -B) P1 P2 , (6c)
T Z = -ω 2 + jωR sp 1 P1 + 1 P2 + jωB( P1 + P2 ) + jωG N Γ N + jω ( Ḡ1 P1 + Ḡ2 P2 ) + G N R sp Γ N + jω Ḡ1 P1 P2 + Ḡ2 P2 P1 - G N ( Ḡ1 + Ḡ2 )(D -B) P1 P2 Γ N + jω + R 2 sp P1 P2 + BR sp P1 P2 + P2 P1 -(D 2 -B 2 ) P1 P2 . (6d)
where diffusion coefficients D ij are defined as in [START_REF]Mode-partition noise and intensity correlation in a twomode semiconductor laser[END_REF].

In the following, we show the impact of gain imbalance on the RIN amplitude (IV-A). In section (IV-B), the link between an increase of the cross nonlinear term strength and the RIN resurgence bandwidth is detailed. Finally, we use the model to reproduce our experimental observations (IV-C).

A. Effect of the gain imbalance on the RIN

In this section we aim to study the impact of gain imbalance on the total RIN amplitude. To do so, we plot in Figure 4 the RIN as a function of gain ratio ∆ = Ḡ2 / Ḡ1 . We fix the value of the nonlinear gain terms considering the difference as D -B = 400 s -1 . The pump current is fixed to 1.9 I th and the power ratio r = P 1 /P 2 is equal to 1. When ∆ = 1, the noise of the bimodal laser is minimal and corresponds to the RIN behavior of a stable bimodal laser. In such a case, fluctuations in both modes cancel out since their amplitude is exactly equal. On the other hand, when ∆ is different from 1 there is a sudden jump in the low frequency RIN of the dual-mode. This can be explained from Eq. ( 5) considering a special case. We assume that P1 = P2 = P and derive the expression of the RIN for ω = 0. According to Eqs. 3, we thus have D = B = 0. The RIN at low frequency is then given by

RIN (ω = 0) = R sp 1 P -2G N Γ N + 2 G N Γ N 2 (2R sp P + N /τ s ) Rsp P + G N P Γ N ( Ḡ1 + Ḡ2 ) 2 + G N P Γ N Rsp 2 ( Ḡ1 -Ḡ2 ) 2 R sp P Rsp P + G N P Γ N ( Ḡ1 + Ḡ2 ) 2 . (7)
From the last term in Eq. ( 7), we see that amplitude RIN resurgence in the low frequency range is due to a different amplification of the spontaneous emission in both modes. Noise terms in the two modes cancel each other only when Ḡ1 = Ḡ2 . As the difference between modal gains increases, noise fluctuation in one mode becomes higher than in the other mode. As a result the dual-mode is impacted by a noise component at low frequency explaining the sudden jump in the low frequency RIN curve for ∆ < 1.

B. Effect of the nonlinear cross-saturation term on the RIN

We now fix the gain ratio to an arbitrary value (here, ∆ = 0.8) and vary the nonlinear terms amplitudes to study their impact on the total RIN(the pump curent and the power ratio remain the same as in A). Figure 5 shows that as D-B is increased the cut-off frequency Ω C increases to higher values. This phenomenon reveals that the strength of the coupling between the two modes is related to an increase in the cross saturation-term amplitude. A larger coupling strength increases the rate at which modes exchange energy. The impact on the RIN is an increase in the bandwidth for which spontaneous emission is amplified through the gain.

In our laser, the origin of the cross-saturation term might be to spectral hole burning [START_REF]Population pulsations and nondegenerate four-wave mixing in semiconductor lasers and amplifiers[END_REF]. Due to the large spectral detuning between the two modes, 800 pm (corresponding to a beating period of 0.72 ps), spectral hole burning is not mediated by the population lifetime (≈ ns) but by the intrinsic relaxation lifetime (≈ hundreds of fs).

C. Comparison to experimental results

We then use this analytical model to reproduce our experimental observations. Experimental RIN curves of the laser are reproduced analytically for various combinations of pump current I and intensity ratio r in Figure 6. The values of the parameters used in the model are summarized in Table I. We only have two adjustable parameters in our model τ in and ∆. Non-referenced parameters are calculated using values extracted from experimental characterizations. We determine the τ in value by looking for the same cut-off frequency than the one deduced from experiment, i.e. around 100 MHz. The value of τ in that we use is of the same order than values found in the literature [START_REF] Weig | Longitudinal mode competition and mode clustering in (Al,In)GaN laser diodes[END_REF]. Considering τ in = 80 fs in Eq. ( 4) we obtain B ∼ 3 × 10 4 s -1 and D ∼ 4 × 10 4 s -1 giving a difference of strength for the nonlinear terms D -B = 1 × 10 4 s -1 . The gain ratio ∆ is determined by looking for a RIN amplitude (at 1 MHz for I = 120 mA) of -136 dB/Hz, leading to ∆ = 0.87. This gain imbalance between two consecutive clusters is justified by the large spectral cluster spacing of 828 pm. Under this condition, the model reproduces the experimental observations of Figure 2b) in particular relaxation frequency shift, the RIN resurgence in bimodal operation and the cut-off frequency at 100 MHz. Amplitude discrepancy of the RIN for I = 90 mA and 140 mA is related to the limited sensitivity of the experimental setup. The antiphase noise resonance appearing around 300 MHz is not included in our simple model based on a perturbative approach. Numerical simulations would have to be performed to reproduce this behavior.

V. CONCLUSION

In conclusion, we have shown that mode clustering strongly impacts the intensity stability of InGaN laser diodes. Strong resurgence of the RIN in bicluster operation or single mode RIN dynamics in single cluster operation is observed. Using a bimodal rate equation model, we were able to reproduce our experimental observations and to highlight the main role of gain imbalance and the nonlinear cross-saturation gain term to the observed phenomenon. Finally, this study reveals that InGaN laser diodes can manifest strong intensity dynamics that can even be detrimental for specific purposes. Nowadays, commercially available monolithic GaN lasers are limited to edge emitting devices. The multimode nature of those lasers strongly favors intensity fluctuations of the output beam as shown in this paper. An attractive solution would be the design of stable single mode lasers. Currently, only external cavity lasers can offer single mode operation in the blue wavelength range hence highlighting the need to develop monolithic single mode InGaN laser diodes.

APPENDIX LANGEVIN FORCES

To deal with the noise terms, it is assumed that the correlation times of the noise sources are shorter than the photon or carrier lifetimes, i.e., -1 and τ s . This is the socalled Markovian assumption under which, the Langevin terms satisfy the relations [START_REF]Mode-partition noise and intensity correlation in a twomode semiconductor laser[END_REF] F i (t) = 0 (8a)

F i (t)F j (t ) = 2D ij δ(t -t ) (8b)
where the bracketed terms represent the ensemble average and D ij are the diffusion coefficients which are given as [START_REF]Mode-partition noise and intensity correlation in a twomode semiconductor laser[END_REF] D kk = R sp Pk , D kl = 0 (9a)

D kN = -R sp Pk , D N N = R sp k Pk + N /τ s (9b)
where k = 1,2 and N is the steady-state value of the carrier number.

ACKNOWLEDGMENT

The present work is supported under project Deep Blue by the Region Bretagne (contract N o 16008022) and the European Regional Development Fund (contract N o EU000181).

Fig. 1 .

 1 Fig. 1. (Color online) a) L-I curve of the laser. Optical spectra of the diode b) below (I = 40 mA), c) above (I = 90 mA) and d) far above (I = 160 mA) the laser threshold (I th = 63 mA).

Fig. 2 .

 2 Fig. 2. (color online) a) Optical spectrum evolution as a function of pump current above the laser threshold. b) RIN measurements for specific current values revealing the impact of mode hopping competition in InGaN laser diodes. The strong peaks visible between 10 and 25 MHz and at 100 MHz and 1 GHz are artefacts from electromagnetic perturbations of the setup.

4 Fig. 3 .

 43 Fig. 3. (Color online) a) RIN of the laser at 30 MHz and b) integrated power of each mode numbered from 1 to 4. Both figures are plotted as a function of pump current.

5 Fig. 4 .

 54 Fig. 4. Variation of the dual-mode RIN for different values of ∆ = Ḡ2 / Ḡ1 . Here D -B = 400 s -1 , r = 1 and I = 1.9I th .

Fig. 5 .

 5 Fig. 5. Variation of the dual-mode RIN for different values of D -B. Here Ḡ2 = 0.8 Ḡ1 , r = 1 and I = 1.9I th .

Fig. 6 .

 6 Fig. 6. Variation of the dual-mode RIN for different values of r and I similar to the experimental conditions. Here D -B = 10 4 s -1 and ∆ = 0.87.

  Besnard and Stéphane Trebaol are with the UMR FOTON, CNRS 6082, Université de Rennes 1, Enssat, F22305, Lannion, France Raphaël Butté and Nicolas Grandjean are with the Institute of Physics, Ecole Polytechnique Fédérale de Lausanne (EPFL), CH-1015 Lausanne, Switzerland

	Antoine	Congar,	Kamal	Hussain,	Christelle	Pareige,	Pas-
	cal

IEEE JOURNAL OF QUANTUM ELECTRONICS, ...

The authors would like to thank Denis Martin, Jean-Franc ¸ois Carlin and Eric Feltin for the growth of the samples and FC équipement for the loan of an optical spectrum analyzer.


Mohamed Omar Sahni
email: sahni@enssat.fr

Stephane Trebaol

Laurent Bramerie

Michel Joindot

Sean P O'duill

Stuart G Murdoch

Liam P Barry

Pascal Besnard

Stéphane Trebaol

Frequency noise

teaching and research institutions in France or abroad, or from public or private research centers.

OCIS codes: (060.1660) Coherent communications, (060.2840) Heterodyne,(140.3295) Laser beam characterization, (140.5960) Semiconductor lasers, (140.4050) Mode-locked lasers http://dx.doi.org/10.1364/ao.XX.XXXXXX Coherent optical frequency combs (OFCs) with a low combline frequency noise are highly attractive for a wide applications ranging from time and frequency metrology [START_REF] Ye | Femtosecond optical frequency comb: principle, operation and applications[END_REF] to astronomy and space science [START_REF] Lee | [END_REF] through optical communications [3], millimeter-wave generation and frequency-comb spectroscopy [START_REF] Ye | Femtosecond optical frequency comb: principle, operation and applications[END_REF]. Many techniques have been demonstrated to generate OFCs e.g. using gain switching of discrete mode lasers [4], Kerr effect in non-linear microresonators [5], cascaded intensity or phase modulators [6], and mode-locked laser diodes (MLLDs) [3] to name only a few.

Mode-locked laser diodes have been specially identified as a potential source for compact and cost-effective future frequency comb systems [7]. Nevertheless their performances in terms of noise still remain limited. Concerted theoretical studies and experimental investigations have then been performed to understand the noise properties in such lasers [8][9][10][START_REF] Takushima | Optics East[END_REF][START_REF] Rosales | [END_REF]. As a result, the main limitations in using semiconductor MLLDs for certain applications such as coherent optical communications and millimeter-wave generation have been determined to be: i) the pulse-to-pulse timing jitter defined as the pulse envelope's temporal deviation of the optical pulse train ii) the frequency noise of individual optical modes, which contributes essentially to their optical linewidth [10].

Passively semiconductor MLLDs are known to generate relatively stable optical pulse trains without the help of external reference. However, for more demanding applications such as clock recovery, this timing jitter is usually inadequate, requiring some stabilization. Active mode-locking of such sources has been demonstrated to stabilize their timing jitter, making their comb lines highly correlated [START_REF] Takushima | Optics East[END_REF]. In terms of phase or frequency noise, it is also known that individual lines derived from a semiconductor MLLD exhibit a large optical linewidth from a few to hundreds of MHz [START_REF] Freude | 17th International Conference on Transparent Optical Networks (ICTON)[END_REF]. When used for coherent optical transmission with high-order modulation formats for example, such optical linewidth levels induce, amongst others, a high penalty in terms of bit error rate [START_REF] Kakkar | [END_REF]. Unlike the timing jitter, there is a significant lack of techniques to reduce the comb-line optical linewidth.

Recently, we have shown the proof-of-concept of a feedforward heterodyne (FFH) technique for optical linewidth reduction on a passively mode-locked laser diode [15]. We have demonstrated the possibility to use the optical mixing between a narrow-linewidth single-mode laser and only one optical mode from the OFC to generate a correction RF signal through a heterodyne detection. Intrinsic optical linewidth reduction over 16 lines from almost 20 MHz to below 300 kHz has been obtained using a reference laser with 29 kHz linewidth. However experimental results have shown imperfect linewidth compensation because the OFC lines exhibit slightly different phase noises due to the timing jitter of the pulses from the passively MLLDs [START_REF] Rosales | [END_REF].

In the present letter, we extend investigations on the feedforward technique to achieve enhanced performance in terms of FM noise reduction. Instead of performing traditional optical linewidth measurements, we study the frequency noise characteristics in detail. This approach allows for the measurement of the frequency noise spectral density of the feed-forward signals, and yields important insights into the limiting factors of the noise reduction performance of the system. We also applied the FFH scheme to an actively MLLD in this work and evaluated the frequency noise compensation. The paper is organized as follows: first, we describe the actively mode-locked laser used to generate the low timing jitter OFC. Second we review the principle of the feed-forward heterodyne technique and present the experimental setup; third we apply the technique to a single comb-line and then extend the noise reduction procedure across the entire OFC. We report a significant frequency noise reduction over 21-comb lines limited by the local oscillator frequency noise. It corresponds to an individual intrinsic optical linewidth less than 4 kHz for all the 21 lines over a bandwidth greater than 800 GHz. Moreover, it is important to mention that 14 among them exhibit a sub-kHz linewidth.

Experiments have been carried out using a quantum dash Fabry-Perot (QD-FP) MLLD with a free spectral range (FSR) ν FSR of 42.7 GHz. A temperature probe, a Peltier cooler and a micro-wave V-type connector have been integrated with the semiconductor laser chip into a butterfly package. The measured threshold current is 19 mA. In all the experiments the laser was driven by a DC current of 160 mA and held at a constant temperature of 25°C. The optical spectrum at the MLLD output exhibits a flat profile centered at 1553 nm and comprising almost 30 longitudinal modes within a -3 dB bandwidth of 10.6 nm. An exhaustive description of the device structure, including its optical spectrum, is available in [16].

To reduce the timing jitter, an active mode-locking process using a straightforward technique has been set up. It consists in locking the MLLD frequency repetition rate to a highly coherent microwave/RF source. Concretely, a +21 dBm power modulated RF signal at 42.7 GHz has been used to directly drive through a bias tee the DC injection current. A significant narrowing of the fundamental RF beat note in active locking case has been observed [17], proving that the timing jitter is successfully reduced. By actively locking our device, we induce a strong phase-correlation between optical modes. In other words as it will be shown in this paper, we guarantee similar intrinsic optical linewidth for all optical modes, which is a key issue for the rest of investigations concerning the feed-forward technique.

The experimental arrangement is depicted in figure 1. The active MLLD output is first coupled to an optical isolator for suppressing back-reflections, amplified through an Erbium doped fiber amplifier (EDFA) and then sent to a programmable optical filter allowing twenty one lines to be selected. The 21-line comb is amplified through a second EDFA before being split by a 90/10 optical coupler. 90% of the power is sent through a polarization controller to a Mach-Zehnder intensity modulator (MZM) while 10% is mixed with a local oscillator (LO), through a balanced receiver. The LO is a tunable laser, based on high quality factor whispering-gallery-mode microresonator, providing an intrinsic optical linewidth less than 30 Hz [START_REF] Oewaves | Ultra-Narrow Linewidth Laser Module-Gen 3[END_REF]. A polarization controller is also used to ensure an efficient mixing. The LO is correctly detuned with respect to the central comb-line by about 10 to 15 GHz. The beat signal with the adjacent mode, that is 25 to 30 GHz away as well, is outside the bandwidth of detector and RF amplifier. The latter signal is then amplified and used to feed the modulator through an electrical delay line. The modulator is biased at the null transmission thanks to a DC voltage source, to ensure a linear operation. An EDFA is set at the MZM output to amplify the signal before performing characterizations.

The basic principles of this technique will be briefly recalled through an analytical analysis considering only the central optical mode. Since our main purpose is to study the phase noise, we omit the amplitude terms in the following model. Let E 0 (t) and E LO (t) be respectively the electric fields of the central line and the local oscillator:

E 0 (t) ∝ e j(2π f 0 t+φ 0 (t)) (1)
E LO (t) ∝ e j(2π f LO t+φ LO (t)) (2)
where f 0 , φ 0 (t) and f LO , φ LO (t) are respectively the optical frequency and phase noise of the central mode and the LO. The heterodyne detection provides a photocurrent expressed as:

i pd (t) ∝ cos[2π∆ f t + (φ 0 (t) -φ LO (t))] (3)
where ∆ f is the frequency detuning between the two sources. When using this signal to drive a MZM modulator through which a part of the central line signal is passed, two optical components are generated on either side of the input signal [15]:

E USB (t) ∝ e j[2π( f 0 +∆ f )t+(2φ 0 (t)-φ LO (t))] (4)
E LSB (t) ∝ e j[2π( f 0 -∆ f )t+φ LO (t)] (5)
The upper side-band (USB) exhibits twice the initial phase noise of the central mode, whereas the lower one (LSB) contains only the local oscillator phase noise, which is the phase-compensated line of interest. A detailed description of the analytical model is available in [START_REF] Freude | 17th International Conference on Transparent Optical Networks (ICTON)[END_REF].

A full characterization of the central comb-line can be achieved using a frequency noise measurement bench (see Fig. 1). To perform the frequency noise characterization, a classical method based on a correlated delayed self-heterodyne technique has been used [START_REF] Camatel | [END_REF]. A Mach-Zehnder interferometer (MZI) is used as an optical discriminator, which converts the frequency fluctuations ν(t) of the input laser into phase fluctuations ∆φ(t) carried on a low phase noise RF wave. The power spectral density (PSD) of the phase fluctuations is measured using a phase noise analyzer and related to the frequency fluctuations PSD of the laser by:

S ∆φ ( f ) = [2πτsinc(π f τ)] 2 S ν ( f ) (6)
S ∆φ ( f ) equals S ν ( f ) multiplied by a gain (2πτ) 2 , proportional to the square of the delay fiber length τ inserted in the MZI, when f remains small compared to τ -1 (sinc function equals approximately one). The PSD detection bandwidth is limited by the first zero of the sinc function localized at f c = 1 τ , a trade-off has then to be found between gain and bandwidth detection of the frequency noise PSD with respect to the introduced delay τ. Fig. 2. Frequency noise PSDs of: the central comb-line before the FFH system (blue curve), the central comb-line after the FFH system (green curve) and the local oscillator (black curve). The environmental noise observed on the free-running laser PSD (100 Hz< f <4kHz) is caused by the power supply line interference (50 Hz and its harmonics artifacts). Circled peaks in region 3 correspond to the MZI free spectral range and its harmonics (for a delay fiber length of 200 m).

Usually, different contributions can be distinguished in the frequency noise PSD: i) the low-frequency FM noise for which the origin is still an open discussion ii) the white FM noise arising from the laser phase fluctuations induced during the spontaneous emission process. Theoretically, the FM noise PSD can then be described by the relation:

S ν ( f ) = k r f 2 + k f f + δν π ( 7
)
where k r (Hz 3 ) and k f (Hz 2 ) are constants related to the strength of the random walk noise and the flicker FM noise, respectively [START_REF] Camatel | [END_REF]. Generally, the laser line shape is described by a Voigt profile, which is the convolution between a Gaussian line shape, induced by the low-frequency FM noise, and a Lorentzian line shape, which corresponds to the white FM noise [20]. The latter contribution is well known to be the primary origin of the laser intrinsic linewidth δν (Hz) [Eq. ( 7)].

Figure 2 shows the frequency noise PSD of the reference laser chosen as local oscillator (black curve). As this source has a narrow intrinsic optical linewidth, the latter measurement has been performed using a delay fiber length of 200 m providing sufficient gain to emerge from the system noise floor. Three different regions can be identified in the frequency noise PSD: the first region in the low frequency domain (<200 kHz) is dominated by a low-frequency 1/ f 2 noise component, the second region corresponds to white noise (200 kHz< f <700 kHz ). The last region above 700 kHz, is due to the normalization by the transfer function Eq.( 6), which cancels at f c = 1 MHz (see corresponding spike in Fig. 2). Multiplying the white FM noise value by π provides the laser intrinsic optical linewidth [Eq. (7)] which is estimated to be 2.5 Hz [START_REF] Oewaves | Ultra-Narrow Linewidth Laser Module-Gen 3[END_REF] (read at 400 kHz) for the local oscillator.

For the initial FM noise PSD of the central comb-line presented in figure 2, less gain is required since MLLD lines are relatively broad. Therefore a delay fiber length of 0.5 m was sufficient to perform the measurement (see the corresponding spike at 400 MHz in Fig. 2). The QD FP laser frequency noise spectrum presents an unusual PSD shape. A recent study in [21] reveals the same noise distribution assigned to filtered white FM noise.

By applying the feed-forward compensation to the central line, we then expect to reduce its initial FM noise to that of the local oscillator. Indeed as shown on figure 2, the FM noise of the compensated central mode is strongly reduced and equals the local oscillator FM noise level up to 10 kHz. Above this value, a mismatch occurs leading to a limitation of the FM noise around 8 Hz 2 /Hz. This value corresponds to an intrinsic linewidth of 25 Hz. A possible reason for this might be the excess phase noise induced by the optoelectronic loop of the system including the optical receiver and the RF amplifier, which generates residual noise that limits the laser phase noise suppression. The FM noise read at 100 kHz, affecting the central mode is then reduced from an initial value of 17 × 10 6 Hz 2 /Hz to only 8 Hz 2 /Hz. This corresponds to an unprecedented and huge reduction factor of over two million (63 dB). Now that the compensation is successfully achieved on the central line, we extend the analysis to the rest of the comb. As explained earlier, under active locking operation, all the modes derived from the MLLD are highly phase-correlated [START_REF] Takushima | Optics East[END_REF]. Since they share the same phase noise, using the RF correction signal generated from the central line, we can expect an equivalent compensation for all the comb-lines [START_REF] Freude | 17th International Conference on Transparent Optical Networks (ICTON)[END_REF].

Figure 3 shows the FM noise PSD performed on the ten optical modes at the right side with respect to the central line (from mode 0 to mode +10). A significant compensation across all the lines is obtained. The same low-frequency FM noise level is shared between the lines, as previously observed for the central line. Concerning the white FM noise, different plateau levels are clearly observed. The white FM noise level increases from 8 Hz 2 /Hz corresponding to mode 0 having the lowest plateau up to the highest value around 700 Hz 2 /Hz corresponding to mode +10. The same experimental analysis has been accomplished for the ten lines on the left side with respect to the mode 0 and has demonstrated symmetrical results. Figure 4 shows the optical linewidth read from the FM noise PSD at 100 kHz as a function of the index mode. For all the comb-lines, this value remains below 4 × 10 3 Hz 2 /Hz with 14 sub-kHz spectral modes. The linewidth dependence on mode index shows a parabolic profile indicating that residual jitter remains after active modelocking. The optical linewidth of n th mode is determined by the following equation [10,[START_REF] Rosales | [END_REF]:

δν n = δν min + ∆ν RF (n -n min ) 2 (8)
Where δν min is the minimum intrinsic optical linewidth corresponding to the mode n min , ∆ν RF is the full width at half maximum of the MLLD fundamental RF beat note. Thanks to an appropriate parabolic fit, the latter has been estimated to be 24 Hz for the phase-compensated output comb. This might be attributed to the RF synthesizer phase noise. In summary, we show that the limitations to the noise reduction are twofold : (i) at frequencies below 10 kHz, the limit is mainly due to the local oscillator flicker noise (ii) at frequencies above the 10 kHz the noise reduction is limited by the added noise from the optoelectronic elements of the loop. This technique is applied to an active MLLD showing drastic white FM noise reduction up to 63 dB respect to the central input comb-line. An efficient and simultaneous reduction also has been reported, demonstrating an OFC source with 14 comb-lines reduced to sub-kHz intrinsic linewidth. To the best of our knowledge, this is the first time that such performances, on linewidth reduction, are obtained using a feed-forward architecture. Those performances might be improved at low frequencies by the use of a frequency-stabilized local oscillator.

Fig. 1 .

 1 Fig. 1. Experimental set-up of the feed-forward heterodyne compensation coupled to an actively mode-locked laser, followed by the frequency noise measurement bench. Abbreviations are as follows. PC: Polarization Controller, VOA: Variable Optical Attenuator, EDFA: Erbium Doped Fiber Amplifier, ISO: Isolator, WS: WaveShaper, OBF: Optical Bandwidth Filter, AOM: Acousto-Optic Modulator, SSA: Signal Source Analyzer.

Fig. 3 .

 3 Fig. 3. Frequency noise PSDs of: the phase-compensated lines (from mode 0 to mode +10) and the local oscillator.

Fig. 4 .

 4 Fig. 4. Optical linewidth of the phase-compensated lines, extracted from white FM noise PSD at 100 kHz, as a function of the mode index.