21.08.2013 Views

Protocols for Secure Communication in Wireless Sensor Networks

Protocols for Secure Communication in Wireless Sensor Networks

Protocols for Secure Communication in Wireless Sensor Networks

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

2.8. Cryptography <strong>for</strong> <strong>Sensor</strong> <strong>Networks</strong> 51<br />

be <strong>in</strong>tensified later.<br />

2.8.1 Hash Functions<br />

A hash function is a mapp<strong>in</strong>g from a set of documents of arbitrary length to a set<br />

of hash values, which have a fixed, small size. A cryptographic hash function<br />

h : A → B has the follow<strong>in</strong>g properties ([122], ch. 9):<br />

1. For any x ∈ A, the hash value h(x) is easy to compute (<strong>in</strong> l<strong>in</strong>ear time).<br />

2. For any hash value y ∈ B, it is computationally <strong>in</strong>feasible to f<strong>in</strong>d a x ∈ A<br />

<strong>for</strong> which h(x) = y (one-way property/preimage resistance).<br />

3. For a given x ∈ A, it is computationally <strong>in</strong>feasible to f<strong>in</strong>d a x ′ <strong>for</strong> which x ′ =<br />

x and h(x ′ ) = h(x) (weak collision resistance/second preimage resistance).<br />

4. It is computationally <strong>in</strong>feasible to f<strong>in</strong>d any two dist<strong>in</strong>ct x,x ′ ∈ A <strong>for</strong> which<br />

h(x) = h(x ′ ) (strong collision resistance/collision resistance).<br />

A hash function produces a small representative (also called f<strong>in</strong>gerpr<strong>in</strong>t or<br />

message digest) of an <strong>in</strong>put document of arbitrary size. As the card<strong>in</strong>ality of<br />

the doma<strong>in</strong> A is greater than that of the range B, the existence of collisions is<br />

unavoidable. However, <strong>for</strong> practically useful hash functions, it is computationally<br />

<strong>in</strong>feasible to f<strong>in</strong>d such collisions. This allows it, <strong>for</strong> practical purposes, to<br />

identify the output of a hash function with its orig<strong>in</strong>al <strong>in</strong>put and use it as a substitute,<br />

<strong>for</strong> example <strong>in</strong> the process of creat<strong>in</strong>g a digital signature of the orig<strong>in</strong>al<br />

<strong>in</strong>put.<br />

To an observer who only sees the result y of a computation h(x), without<br />

know<strong>in</strong>g x, the value y seems “random” <strong>in</strong> the sense that it is unknown how<br />

the value has been created, and it could as well be drawn randomly from B.<br />

This is a consequence of properties 2 and 3: it is practically <strong>in</strong>feasible to either<br />

f<strong>in</strong>d the orig<strong>in</strong>al value x or any other x ′ with which y could be reconstructed.<br />

Ideally, each value from B appears with equal probability and thus a uni<strong>for</strong>m<br />

distribution can be assumed.<br />

Practical <strong>in</strong>feasibility refers to the computational power that would be required<br />

<strong>in</strong> order to f<strong>in</strong>d a preimage or a collision. The number of computational<br />

steps required directly corresponds to the length n of the hash function’s output.<br />

Without additional knowledge, f<strong>in</strong>d<strong>in</strong>g a preimage or a weak collision<br />

would require 2 n steps, while f<strong>in</strong>d<strong>in</strong>g a strong collision would require 2 n/2<br />

steps (cf. [122]). With a sufficiently large n, often 2 80 steps are considered<br />

sufficiently hard as of today’s available technology, it is impossible to break<br />

the security of a hash function with<strong>in</strong> reasonable time.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!