# Security Challenges for Light Emitting Systems
## 3 Application and Overview  
The Reed-Solomon error correcting codes that employ the Berlekamp-Massey method were referenced by the author of [9]. We are particularly interested in the Berlekamp-Massey approach, and based on the publication of [9], we proposed an improved BM solution that can both encrypt a message and correct transmission issues during the network connection. Figure 3: OOK gradation structure. Figure 2: OOK transmitter block diagram. Reed-Solomon (RS) error correcting codes operate on a dataset that is represented as a set of finite field elements known as symbols. Multiple symbol problems can be identified and resolved using RS codes. Denoted by RS (N,K), where N is the number of bits in the code word and K is the number of bits in the information word. We specify two variables m that determine the length of the symbols and t that limit the maximum number of symbols, which may be rectified for each pair RS (N,K) [10]. The encoder architecture shows that each number is associated with a degree input, which is a constant of the polynomial g(x). For a given unit, the polynomial information i(x) is specified component-by-component in the encoder [11]. These components check at the encoder issue once desired latitude is reached, where the management logic returns them via an associated degree adder to provide the appropriate parity. This process continues until all k symbols (elements) of i(x) have been input to the encoder [11]. At this point, the output control logic only allows the path of the input file, while the equality path remains disabled. With an output latitude of about one clock cycle, the encoder issues the last data frame with the \((\text{k}+1)\)th clock [12]. In addition, the feedback control logic feeds the output of the adder into the bus during the first k clock cycles. A period of at least n - k timing  
Figure 4: Decoding steps of Reed–Solomon. of the clock after the entry of the last frame in the encoder, i.e., at the kth timing of the clock [12]. Meanwhile, the feed-forward controller disables the adder output so that there is no feed-forward and continuously supplies zero symbols to the bus. Similarly, the output logic command disables the input information path and allows the encoder to output equality symbols (from the k + 2 th to the n + 1 th timing of the clock). Thus, a new unit starts at the n + 1 th timing of the clock. The basic idea of the Reed-Solomon decoder is to detect an erroneous sequence with few terms, which, summed to the received data, results in a valid code word. Several steps are necessary for the decoding of these codes [11]; Figure 4. Because of the small number of symbols that Reed-Solomon coding can correct, this coding is very poor, with an impulsive noise of long duration, or regular random noise. The linear complexity of the encoding of RS codes is O(nlogn) and O(nlogn), which pushed us to propose another algorithm of error correction while keeping the concept of RS codes in Figure 5 [12]. The RS code decoding steps are summarized in the diagram of Figure 4; the identification of the variables is clarified in Table 1.  
The code word r(x) = c(x) + e(x) [11]. RS decoder can detect the position and length of up to t errors (or 2t deletions) and correct them [10]. Steps to decode RS Code [11]:  
(1) Determine the syndrome generator;  
(2) Use [PERSON]'s algorithm or [PERSON]'s algorithm to form the polynomial error;  
(3) Find the roots of this polynomial; usually this is done using the Chein search algorithm;  
(4) Determine the error type, [PERSON]'s algorithm, or any other matrix inversion algorithm calculates this;  
(5) Correct the faulty symbols by overlaying the mask and the data word, and inverting all the bits that are corrupted one-by-one using the XOR operation [11].