An Experimental Realization of a Chaos-Based Secure Communication Using Arduino Microcontrollers

Security and secrecy are some of the important concerns in the communications world. In the last years, several encryption techniques have been proposed in order to improve the secrecy of the information transmitted. Chaos-based encryption techniques are being widely studied as part of the problem because of the highly unpredictable and random-look nature of the chaotic signals. In this paper we propose a digital-based communication system that uses the logistic map which is a mathematically simple model that is chaotic under certain conditions. The input message signal is modulated using a simple Delta modulator and encrypted using a logistic map. The key signal is also encrypted using the same logistic map with different initial conditions. In the receiver side, the binary-coded message is decrypted using the encrypted key signal that is sent through one of the communication channels. The proposed scheme is experimentally tested using Arduino shields which are simple yet powerful development kits that allows for the implementation of the communication system for testing purposes.


Introduction
Security and secrecy in communications are some of the most important concerns in societies nowadays. With the advent of worldwide networks and digital communication techniques, the cryptographic techniques that once were restricted to military and state affairs are now covering several domains such as banks, private companies, medical organizations, and so forth. This has led to a very active research field oriented to finding optimal solutions to the problem of communications security [1][2][3]. As a result, numerous cryptographic techniques that seek to preserve the privacy of the information transmitted have been designed. Chaos is the base of many encryption and decryption techniques because chaotic signals have a highly unpredictable and random-look nature [4].
There are basically two main approaches to designing secure communication systems based on chaotic dynamics: analog and digital. Analog communication systems based on chaos are possible because of the possibility of synchronization [5]. Synchronization occurs when the output of the driving system (master) controls the response system (slave) in such a way that they both oscillate in a synchronized manner. On the other hand, digital chaos communication systems do not depend on chaos synchronization at all. Instead, they usually use one or more chaotic maps in which the initial conditions and the control parameters play the role of the secret key [6].
Several examples of chaos-based communication systems can be found in the literature. For instance, Zapateiro et al. [7] designed a chaotic communication system in which a binary signal is encrypted in the frequency of the sinusoidal term of a chaotic Duffing oscillator. Two chaotic signals of the oscillator are further encrypted with a Delta modulator before they are sent through the channel. In the receiver, a Lyapunov-based observer uses the chaotic signals for retrieving the sinusoidal term that contains the message. A novel frequency estimator is then used to obtain the binary signal. The Scientific World Journal Furthermore, in a new proposal, Zapateiro De la Hoz et al. [8] investigated a modified Chua chaotic oscillator in which the nonlinear term of the original oscillator was changed for a smooth and bounded function that allows for easier analysis and synchronization with other oscillators. An application to secure communications using the modified oscillator was developed and its performance evaluated by numerical simulations. Hammami [9] proposed an image cryptosystem that makes use of hyperchaotic systems. Synchronization was achieved by assuming some structural assumptions of the master system and using some aggregation techniques associated with the arrow form matrix. Fallahi and Leung [10] developed a chaotic communication system based on a chaos multiplication modulator that encrypts the signal. The chaotic signal is generated by using the Genesio-Tesi chaotic system. The authors also prove that the system security could not be broken with the existing methods at that time. Liu and Sun [11] propose a new design of chaotic cryptosystems in which they use high dimensional chaotic maps along with some cryptography techniques to achieve a high security level. The high dimensionality of the map leads to a high complexity and effective byte confusion and diffusion of the output ciphertext at the time that the small key space problem is overcome. Pareek et al. [12] designed an image encryption scheme in which two logistic maps are used along with an 80-bit key to encrypt/decrypt the images. Eight different types of operation are used to encrypt the pixels of an image; the type of operation is chosen according to the outcome of the logistic maps. This secure communication scheme was criptanalyzed in detail in Li et al. [13]. Lee et al. [14] proposed a chaotic cipher stream, a new scheme for generating pseudorandom numbers based on the composition of chaotic maps. The method consists of using one chaotic map to generate a sequence of pseudorandom bytes and then apply some permutation on them using another chaotic map. Shyamsunder and Kaliyaperumal [15] incorporate the concept of modular arithmetic and chaotic maps for image encryption and decryption. Zhang et al. [16] propose a simple but secure chaotic cipher by improving the familiar permutation-diffusion structure.
Numerous works can be found in the literature that use the logistic map for improving security in communications. The logistic map is a nonlinear discrete map originally used for modeling population growth of different species as well as economic and political phenomena [17][18][19]. However, under certain conditions it exhibits a chaotic behavior [20]. This characteristic has been exploited in cryptography ever since. For example, Murillo-Escobar et al. [21] presented a symmetric text cipher in which they used a 128-bit secret key, two logistic maps with optimized pseudorandom sequences, plain text characteristics, and one permutation diffusions round. Volos et al. [22] presented a chaotic random bit generator and implemented it in an Arduino board. The microcontroller runs side by side two logistic maps working in different chaotic regimes due to the different initial conditions and system parameters. Statistical tests were carried out to prove security against intruders. Pande and Zambreno [23] presented another experimental realization of a chaotic encryption scheme, this time using a Xilin Virtex 6 FPGA.
They implemented a modified logistic map that improves the performance of the logistic map in terms of Lyapunov exponent and uniformity of the bifurcation diagram. Other proposals can be found in Lawrance and Wolff [24]; Chang [25]; and Singh and Sinha [26].
In this paper we present a digital chaos communication system in which the logistic map is used to encrypt the message and key of the transmission. A simple Delta modulator is used along with one of the chaotic maps to encrypt the message. The Delta modulation technique is one of the most simple and robust methods of analog-to-digital (ADC) schemes requiring serial digital communications of analog signals [27]. In this work, the transmitter and receiver are implemented in low cost, small but powerful microcontroller boards: Arduino Uno R3 [28]. The Arduino transmitter receives a message which is analog in nature and encrypts it using a logistic map and the Delta modulator. Then the Arduino receiver decrypts the message and converts it to digital form which corresponds to the Delta-modulated signal. In order to obtain the analog version of the message signal, an analog circuitry performs the demodulation and retrieves the message.
This paper is organized as follows. Section 2 describes the problem to be treated and a scheme of the proposed solution. Section 3 is a brief introduction to the logistic map and its applications to secure communications. Section 4 presents the details of the implementation of the proposed technique. Finally the conclusions are presented in Section 5.

Problem Statement
The objective of this paper is to design and implement a communication system to transmit a message ( ) between two points. The goal is to use the logistic map to encrypt the information as a security means. The proposed communication system scheme is shown in Figure 1 and it consists of the following blocks: (i) Arduino Transmitter. This is the core of the transmitter. The Arduino board will take the message ( ) through one of its analog input ports. The Arduino will sample the analog input message, ( ), and convert it to the sampled signal ( ), = ; is the sampling time, = 0, 1, 2, . . .. This signal is then encrypted by using a logistic map and a simple Delta modulator. Afterwards, a key signal, ( ), is generated in order to decrypt the message in the receiver. This key signal is further encrypted using a second logistic map. As a result, the Arduino transmitter generates three outputs: the first one is the encrypted message, ( ), the second one is the encrypted key signal, ( ), and the third one is an auxiliary key signal,  it is converted into its analog form. The output is a digital signal, ( ), which corresponds to the signal ( ).
(iv) Delta Demodulator. This is the second block in the receiver. It is a Delta demodulator consisting of an integrator, a filter, and some amplifiers to retrieve the original message. Its output is a signal ( ) that approximates the original signal ( ).
The details of these blocks will be outlined in the following sections of this chapter.

The Logistic Map
The logistic map has its origins in the works by the Belgian mathematician Pierre-François Verhulst in the first half of the 18th century [29,30]. Verhulst published in 1845 and 1847 two articles on how the population growth could be mathematically modeled. He called this model the logistic curve [31,32], and it is the continuous time version of what nowadays is known as the logistic map.
The logistic map, the discrete-time version of Verhulst's logistic model, is chaotic under certain conditions. Its equation is where is a constant parameter. Figure 2 is the bifurcation diagram of the logistic map created by varying the parameter from 2.5 to 4.0.
As can be seen in the bifurcation diagram, there are different regions that depend on the value of . It is of particular interest when = 3 because there it begins the period doubling that leads to the chaotic dynamics when ≈ 3.5699 . . . until = 4.0. Figure 3 shows the Lyapunov exponent of the logistic map as is varied from 2.5 to 4.0. It can be seen that the Lyapunov exponent, , becomes positive for values of approximately greater than 3.56 which is a strong indicator of chaos [33].
In the next sections, we will use a logistic map as part of an encryption/decryption scheme for transmitting information. We will explain the details of the prototype of this communication system which is implemented on two Arduino Uno boards.  a transmitter and a receiver whose cores are the Arduino Uno R3 microcontroller boards [28]. These are low cost, simple but powerful microcontrollers based on the ATmega328 chip. They have 14 digital input/output pins (6 of them can be used as PWM outputs), 6 analog inputs, a 16 MHz crystal oscillator, a USB connection, and a reset button. They can be programmed using a language similar to C++ called Wiring. The flow diagram of the programs executed by each Arduino is shown in Figures 4 and 5 in order to facilitate the description of the communication system algorithms.

Experimental Implementation
The communication begins when a message ( ), generated by a function generator, and is sent to the analog input A0 of the Arduino transmitter. Arduino analog inputs only accept unipolar signals in the range from 0 V to 5 V. An embedded 10-bit ADC converts the input signal from analog to digital at a maximum rate of 10,000 samples per second. Since the output of the ADC is a value between 0 and 1023 (the ADC resolution), an internal operation to bring it back to the range from 0 V to 5 V is executed. The result is the sampled message signal ( ). x n (k + 1) = x n (k) + h * aux x 2 (k) = r * x 2 (k) * (1 − x 2 (k)) x 1 (k) = r * x 1 (k) * (1 − x 1 (k)) The next step is the Delta modulation. This kind of modulation can be viewed as an 1-bit ADC conversion scheme since it generates one output bit per input sample. The scheme of the Delta modulation is shown in Figure 6. It consists of a comparator in the forward path and an integrator in the feedback path of a simple control loop. The inputs of the comparator are the signal to be modulated, ( ), and the output of the integrator, ( ). As a result, the modulated output, ( ), is either true (high) or false (low) at any given time as shown in Figure 7. In this figure we see an input signal and the integral of the expression ( ) − ( ).
x n (k) For instance, if ( ) is ramping up and its output is less than the input, the integrator output will continue ramping up; otherwise it will ramp down. The signal ( ) is the differential of the input and thus it can be reconstructed in the receiver by integrating it. In this work, the integral signal, ( ), is digitally generated by the Arduino program. On the other hand, the reconstructing integrator of the receiver is implemented with analog electronics as will be explained later. A full description of the Delta modulation technique can be found in Taylor [27].
After one bit from the Delta modulator is obtained, the next step is the message encryption. In order to do so, two logistic maps are called to generate two values 1 ( ) and 2 ( ). The logistic maps have different initial conditions; that is, 1 (0) ̸ = 2 (0). Firstly, the message is coded with a value true or false that is assigned depending on the value 1 ( ) of the first chaotic map as can be seen in Algorithm 1 (Part 1), where ( ) is the encrypted message and ( ) is the key necessary to retrieve ( ).
In order to increase the security of the system, the key, ( ), is further encrypted following the same scheme. It is 6 The Scientific World Journal Algorithm 1 done by assigning it a value true or false that depends on the second chaotic map value, 2 ( ), as shown in Algorithm 1 (Part 2), where 1 ( ) and 2 ( ) are auxiliary signals that are used for encrypting and decrypting the key signal ( ).
The key is then finally encrypted by applying the XOR function to the variables 1 ( ) and 2 ( ) to yield Algorithm 1 (part 3).
In the receiver, the signals ( ), ( ), and 1 ( ) go directly to the Arduino inputs D2, D4, and D7, respectively. The flow diagram of the receiver program is shown in Figure 5 as well. The first step in decrypting the message is the decryption of the key signal ( ). This is done by applying the boolean formula that reverts the encryption. The formula to calculate 2 ( ) given ( ) and 1 ( ) is obtained as follows. Recall that in the transmitter ( ) is obtained by using the XOR function where (⋅) is the complement operation of the corresponding logic variable. The truth table of the function in (2) is shown in Table 1. Thus, given 1 ( ) and ( ) for obtaining the signal 2 ( ) would result in the truth Table 2. The Karnaugh maps technique [34] was used to find the desired simplified expression for 2 ( ). It is a pictorial method in which the truth table of the boolean function to be simplified is represented in a bidimensional form. The boolean variables are arranged according to the Gray code. The terms of the simplified expression are found by grouping 1s or 0s in an optimal way and therefore eliminating unnecessary variables. As a result, the following boolean expression for 2 ( ) is obtained:   Once 2 ( ) is retrieved, the signal ( ) is obtained with Algorithm 2 (part 1).
The signal ( ) is finally decrypted by analyzing the value of ( ) (see Algorithm 2 (part 2)), where ( ) is the decrypted signal. The output ( ) is sent to the output pin D3 and it goes directly to the Delta demodulator realized with analog electronics using operational amplifiers.
As shown in Figure 6, the Delta demodulation consists of an integrator. The signal is passed through different stages as shown in the circuit diagram of Figure 8. The circuit has three main blocks. The first one, composed of the amplifiers U1 and U2, is a unipolar to bipolar converter. Recall that the Arduino inputs must be unipolar so in the case that the original signals are bipolar they must be recovered to its original form at the output of the Arduino. Thus the signal ( ) ∈ [0, 5] V is converted to a signal ( ) ∈ [−2.5, 2.5] V. The second block is composed of amplifiers U3 and U4. They are designed to compute the integral of the input signal. It consists of an integrator that performs the Delta demodulation (U4) and The Scientific World Journal TL082 TL082 an inverter amplifier (U3) to adjust the quality of its output. These signals are finally sent through a low-pass filter, an amplifier, and an inverter (amplifiers U5-U7) to get the final ( ) which should be approximately equal to ( ).

Experimental Results.
For the experiments, the logistic maps were implemented with = 3.9018 and initial conditions 1 (0) = 0.1 and 2 (0) = 0.5. As an example, the sequence of numbers generated by the logistic map when (0) = 0.5 is shown in Figure 9. Each loop of the transmitter algorithm is executed by the Arduino microcontroller in 210 s approximately while each receiver loop is executed in 25 s approximately. This means that the message signal bandwidth should be at most 500 Hz approximately in order to be well retrieved in the receiver. Figures 10 to 13 are screenshots of the oscilloscope corresponding to the first experiment. In this case, a 125 Hz sine wave, 5 V peak-to-peak amplitude, was used as a message signal. In Figure 10 we see a comparison of the sent message, ( ) (in blue), and the retrieved message, ( ) (in yellow). Figure 11 compares the sent message, ( ) (in blue), and the encrypted message signal, ( ) (in yellow). Figure 12 is a comparison on the sent message, ( ) (in blue), and the encrypted key signal, ( ) (in yellow). Finally, Figure 13 compares the sent message (in blue) and the auxiliary signal In subsequent experiments, different frequencies and waveforms were tested. Figure 14 shows a 125 Hz triangular wave message (in blue) and its retrieved version (in yellow). Figure 15 compares a 70 Hz sine wave message (in blue) and 8 The Scientific World Journal Part 1 (1) 2 ( ) = (! 1 ( ) AND ( )) OR ( 1 ( ) AND ! ( )) (2) if 2 ( ) = true then (3) ( ) = ! 1 ( ) (4) else (5) ( ) = 1 ( ) (6) end if Part 2 (7) if ( ) = true then (8) write to port D3: ( ) = ( ) (9) else (10) write to port D3: ( ) = ! ( ) (11) end if  its retrieved version (in yellow). Finally Figure 16 shows a random wave message (in blue) and its retrieved version (in yellow). This signal was generated by making sounds through an electret microphone.

Conclusion
In this paper we presented a communication system based on chaotic logistic maps and an experimental realization of it. The proposed communication system uses a simple Delta modulator to modulate the message signal and a logistic   map for encryption. A key signal is also generated and encrypted in order to retrieve the message in the receiver side without the need for synchronization. The whole system was implemented with Arduino Uno microcontroller boards that run the encryption and decryption algorithms in the transmitter and receiver, respectively. The experiment results showed the feasibility of using the Arduino microprocessors for the task proposed. With the proposed scheme, it is possible to transmit signals whose bandwidth is 500 Hz approximately.