Alumni

# Enrico Zimuel

## Bio

Enrico Zimuel is a research programmer at the Informatics Institute of the University of Amsterdam (the Netherlands). He received his laurea degree cum laude in computer science and economics from the G. d'Annunzio University of Chieti-Pescara (Italy).

He worked as an IT consultant for more than 10 years, with many Italian companies in the sectors of IT security and software development. In 1999 he coauthored a book about cryptography named *Secrets, Spies and Codes Number* (Apogeo, Italy). Moreover, he published articles on cryptography, computer security, and query processing for XML.

Now he collaborates with the Science Department of the G. d'Annunzio University of Chieti-Pescara. His (other) personal interests include traveling, electronic music, computer art, poetry, cinema, free climbing, kickboxing, swimming, mountain biking, etc.

## Project: A New Cryptographic Hash Function Based on the Cellular Automaton Rule 30

The aim of my project is to use the cellular automaton rule 30 to create a secure cryptographic hash function. A hash function *H* is a transformation that takes a variable-size input *m* and returns a fixed-size string, which is called the hash value *h* (that is, *h* = *H*(*m*)). Hash functions with just this property have a variety of general computational uses, but when employed in cryptography the hash functions are usually chosen to have some additional properties.

The basic requirements for a cryptographic hash function are:

- The input can be of any length
- The output has a fixed length
*H*(*x*) is relatively easy to compute for any given x*H*(*x*) is*one-way**H*(*x*) is*collision-free*

A hash function *H* is said to be *one-way* if it is hard to invert, where "hard to invert" means that given a hash value *h*, it is computationally infeasible to find some input *x* such that *H*(*x*) = *h*.

If, given a message *x*, it is computationally infeasible to find a message *y* not equal to *x* such that *H*(*x*) = *H*(*y*), then *H* is said to be a *weakly collision-free* hash function.

A *strongly collision-free* hash function *H* is one for which it is computationally infeasible to find any two messages *x* and *y* such that *H*(*x*) = *H*(*y*).

I'll use the Avalanche Test and the Collision Test to prove the security of the hash function. Moreover, I'll investigate the global and local reversibility of the cellular automaton rule 30.

## Favorite Four-Color, Radius-1/2 Rule

Rule chosen: 2536347893

Note: This number is prime. `2536347893==Prime[123123123]`