Non-Archimedean analysis, T-functions, and cryptography
  These are lecture notes of a 20-hour course at the International Summer School \emph{Mathematical Methods and Technologies in Computer Security} at Lomonosov Moscow State University, July 9--23, 2006.   Loosely speaking, a $T$-function is a map of $n$-bit words into $n$-bit words such that each $i$-th bit of image depends only on low-order bits $0,..., i$ of the pre-image. For example, all arithmetic operations (addition, multiplication) are $T$-functions, all bitwise logical operations ($\XOR$, $\AND$, etc.) are $T$-functions. Any composition of $T$-functions is a $T$-function as well. Thus $T$-functions are natural computer word-oriented functions.   It turns out that $T$-functions are continuous (and often differentiable!) functions with respect to the so-called 2-adic distance. This observation gives a powerful tool to apply 2-adic analysis to construct wide classes of $T$-functions with provable cryptographic properties (long period, balance, uniform distribution, high linear complexity, etc.); these functions currently are being used in new generation of fast stream ciphers. We consider these ciphers as specific automata that could be associated to dynamical systems on the space of 2-adic integers. From this view the lectures could be considered as a course in cryptographic applications of the non-Archimedean dynamics; the latter has recently attracted significant attention in connection with applications to physics, biology and cognitive sciences.   During the course listeners study non-Archimedean machinery and its applications to stream cipher design. 
Vladimir Anashin