# An Embedded Sensor Node Microcontroller with Crypto-Processors
## 2 Hardware Accelerated Crypto-Algorithms
### Symmetric Cryptography  
The limitations of sensor nodes' computational and power resources make shared-key cryptography a preferable solution for WSN applications. One of the first published security protocols for WSN was SPINS [31]. It is based on symmetric key cryptography and consists of two basic protocols, \(\mu\)TESLA, used for broadcast authentication and SNEP providing two-party data authentication, data confidentiality, integrity and evidence of data freshness. SNEP uses the counter mode (CTR) of a symmetric block cipher to provide data confidentiality. TinySec proposed in [22] is another link layer protocol for WSNs, but it uses the weak RC5 algorithm for data encryption. The Skipjack primitives are used to provide authenticated encryption and authentication. A general-purpose security protocol designed for the Telos platform is MiniSec [23]. MiniSec employs the Offset Codebook (OCB) encryption mechanism and uses Skipjack as the underlying block cipher. The popular Zigbee standard provides security on different protocol layers [32]. It proposes the use of two session keys: a link key for node-to-node communication and a network key for broadcast messages. Furthermore, an initial master key is desirable. This key enables generation of the two session keys. Zigbee also proposes a centralized trusted site, which would be responsible for session key generation and admission of new nodes that want to join the network. The proposed block cipher in Zigbee protocol is a symmetric advanced encryption standard (AES) of a key length of 128 bits. The major obstacle in applying symmetric cryptography in wireless sensor networks is the key management and the key deployment. Due to the network dynamic nature, the random behaviour of communication links and the hostile environment traditional approaches based on a centralized trusted authority are seen as inappropriate. A possible, simple solution of this problem may be a distribution of the shared secret keys before the node's deployment, but this technique is very inflexible and not suitable in dynamic application scenarios. Therefore, more flexible techniques for a key deployment in WSN are discussed in the following section. Establishing a secure link between two nodes requires agreement on a secret key by both communication parties. A traditional Internet-style approach based on a trusted centralized site is not suitable for WSNs. The unknown network topology, range limitations, intermittent sensor-node operations and network dynamics make network integration very difficult. At the other hand, public-key schemes are seen as too computationally expensive to be efficiently implemented in wireless sensor networks. The limited computation and energy resources constrain their efficient implementation. Therefore, key pre-distribution has been seen as the most practical solution for the key agreement problem. A simple solution is a global key stored in each node, but this is not particularly efficient because of the whole network is compromised if only a single node is compromised. A pair-wise key sharing between every two nodes is impractical since requires a pre-distribution and storage of \(n\)-1 keys on each of the \(n\) sensor nodes. The number of keys will quickly exhaust the nodes' memory limits. Moreover, key-pairs could be used between the neighbouring nodes only, so joining of new nodes becomes impossible. A scheme based on probabilistic key distribution is presented in [33]. Here, each node receives a random subset of keys from a large pool. For establishing a communication link, nodes look for a common key out of their subset and use the selected key as a shared secret key. Consequently, the establishment of a secure communication is not certain but guaranteed with some probability. An improved and generalized q-composite random key pre-distribution scheme is presented in [34]. It improves the network's resilience to small-scale attacks at the cost of greater susceptibility to large-scale attacks.