# An Embedded Sensor Node Microcontroller with Crypto-Processors
## 2 Hardware Accelerated Crypto-Algorithms  
Most security attacks can be prevented with cryptography-based security measures. There are two commonly used cryptosystems: symmetric (shared-key) and asymmetric (public-key) cryptography. Symmetric crypto-algorithms employ a shared secret key. Two communicating parties use the same key to encrypt and decrypt the data. Compared to public key cryptography, symmetric cryptographic algorithms are faster and computationally less demanding, which makes them the preferable solution in wireless sensor networks. In combination with cryptographic hash functions, symmetric algorithms can be used to generate \"fingerprints\", which can guarantee data integrity. However, the problem of the shared key deployment restricts the usage of symmetric crypto algorithms in wireless sensor networks since no central distribution site exists. Asymmetric crypto algorithms use a pair of mathematically-related keys for encryption and decryption. Internet security protocol suites as Internet Protocol Security (IPSec) or Secure Sockets Layer (SSL) employ key exchange protocols as Internet Key Exchange (IKE) or Kerberized Internet Negotiations of Keys (KINK). Furthermore, a public key infrastructure (PKI) standard as X.509 can be used for authentication and shared secret key derivation. These keys are used in fast symmetric and hashing algorithms to increase the confidentiality, integrity and authentication of data. Both key exchange protocols and PKI are based on asymmetric cryptosystems. Asymmetric crypto algorithms are computationally expensive and usually seen as inappropriate for application in wireless sensor networks.  
The development of a lightweight crypto algorithm like the PRESENT block cipher [29] that offers a level of security commensurate with a 64-bit block size and an 80-bit key has brought both security and hardware efficiency similar to many compact stream ciphers. Another promising solution is a high-security elliptic-curve-Diffie-Hellman function achieving record-setting speeds with several side benefits like free key compression, free key validation, and state-of-the-art timing-attack protection [30]. The lightweight crypto is basically related to software implementation of crypto algorithms on existing sensor node platforms. Those algorithms are in essence simplified versions of encryption standards. The lightweight crypto is designed to exploit limited resources of existing sensor nodes since the  
\begin{table}
\begin{tabular}{c c c} \hline \hline
**Network Layer** & **Security Attack** & **Countermeasure** \\ \hline \multirow{2}{*}{Physical} & Jamming & Spread-spectrum, frequency hopping \\  & Tampering & Tamper-proof design \\ \hline \multirow{3}{*}{Link} & Collisions & Error-correcting codes \\  & Exhaustion & Data rate limits, time division multiplexing \\  & Unfairness & Short frames \\ \hline \multirow{6}{*}{Network and Routing} & Spoofing, altering, replaying & Authentication, link-layer encryption \\  & Sinkholes & Authentication, link-layer encryption \\  & Wormholes & Authentication, geographic routing, tight synchronisation \\  & Sybil & Authentication, public key cryptography \\  & Selective forwarding & Authentication, link-layer encryption, multipath routing \\  & HELLO attack & Authentication, bidirectional link and identity verification \\  & Acknowledge spoofing & Authentication \\ \hline \multirow{2}{*}{Transport} & Flooding & Client puzzles, authenticated broadcast \\  & Desynchronization & Authentication \\ \hline \multirow{2}{*}{Application} & Stimuli attack & Authentication \\  & Packet injection & Authentication \\ \hline \hline \end{tabular}
\end{table}
Table 1: Security attacks and countermeasures in wireless sensor networks.  
full implementation is not feasible as long as power hungry 32-bit microcontrollers are not applied. However, the performance and security level offered by such implementations is inferior to a full implementation of state-of-the-art cryptographic standards.