## 3 Challenges and Trends in Wireless Sensor Nodes
### Strong Cryptography for Sensor Nodes  
According to [21], the security implementation in WSNs is one of the main key points. Standards, such as the IEEE 802.15.4 specification or the upper layers defined by the ZigBee Alliance, provide primitives for authentication, confidentiality and replay protection primitives. However, fixed implementations in forms of software or ASIC have two limitations. First, microcontrollers used in commercial nodes work at low frequency in order to reduce the energy consumption [22]. Therefore, in applications where a considerable amount of data must be authenticated and encrypted/decrypted, the microcontroller can be overloaded, thus depleting the battery. Second, given that vulnerabilities on security protocols and algorithms are discovered with a relatively high frequency, a software implementation (or ASIC) can become rapidly outdated. Recompiling and reprogramming hundreds of nodes in a WSNs can be a labor-intensive and a time-consuming task.  
\begin{table}
\begin{tabular}{p{42.7 pt} p{113.8 pt} p{113.8 pt} p{113.8 pt} p{113.8 pt} p{113.8 pt}} \hline \hline
**Challenge / FPGA feature** & **Communication requirements** & **Computation requirements** & **Reconfiguration requirements** & **Advised platform** \\ \hline Strong cryptography (3.1) & - & The DSP slices of FPGAs can be used for high-speed execution, e.g., modular adders and inverters for GF computations. & In order to support different parameters and avoid obsolescence due to vulnerabilities and support different degrees of security. & Artix-7 \\ \hline Construction of standard transducers (3.2) & smart transducers (3.2) & High-speed transceivers and mixed signal/analog blocks can be useful for implementing wireless interfaces of the sensors. & Custom arithmetic logic implementations on FPGA and DSP slices can accelerate calibration and self-testing algorithms. & Implementing calibration and self-testing when several sensors of different nature are connected to the same platform can save area. & Artix-7 \\ \hline Multi-interface boards (3.3) & acquisition & - & - & In order to support multiple digital protocols and avoid reconciliation of false substitution or failure, e.g., SPI, I\({}^{2}\)C _etc._ & Artix-7 \\ \hline Heterogeneous network PHYs (3.4) & sensor & High-speed transceivers and mixed-signal and analog processors for baseband processors construction. & - & To support several DSP and communication blocks for different standards of communication. & Artix-7 / Virtex-7 \\ \hline Passive power conservation on 802.15.4 implementations (3.5) & - & - & Different blocks of transmission and reception chain can be optimized and loaded when required. & Artix-7 / IGLOO (for ultra low-power) \\ \hline Acceleration of routing and self-location algorithms (3.7) & - & DSP slices for high-speed execution of algorithms. & - & Artix-7 / IGLOO (for ultra low-power) \\ \hline WSN simulation (3.8) & - & DSP slices for high-speed execution of algorithms. & - & Artix-7 / IGLOO (for ultra low-power) \\ \hline \hline \end{tabular}
\end{table}
Table 5: Challenges on WSNs.  
Hence, in this field, the use of FPGAs presents two main advantages:  
1. The FPGA embedded resources, such as DSP slices and block RAM, can be used to accelerate arithmetic operations based, for instance, upon modular multiplications and reductions in the Galois Field (GF). That is the case of AES [23] and Elliptic Curve Cryptography (ECC) [24]. In this respect, several cryptographic accelerators have been proposed for sensor node architectures based on hyperchaos encryption [25], RC5 [26], involutional block ciphers [27] and implementations of the security suites of the IEEE 802.15.4 standard [28, 29] among others. These implementations are described in Section 4.
2. Moreover, dynamic reconfiguration can play a key role into minimizing the obsolescence of cryptographic primitives, as proposed in [30]. Partial reconfiguration can be used in order to change, for instance, the curve parameters of ECC implementations in hardware.