Neural cryptography
Neural Cryptography is a branch of Cryptography dedicated to analyze the application of stochastics algorithms, especially neural networks algorithms, in the process of encryption and cryptanalysis.
Details
The ideas of mutual learning, self learning, and stochastic behavior of neural networks and similar algorithms can be used for different aspects of cryptography, like for mutual synchronization of neural networks for public key algorithms (solving the key distribution problem), hashing or generation of pseudo-random information.
In the field of cryptanalysis the ability of neural networks to explore the solution space could be used to generate new kinds of attacks on existing algorithms based on the idea that any function could be reproduced by a neural network, so it will be possible to find the exact solution, at least theoretically, breaking the algorithm.
Applications
Still there are no practical applications due to the recently of the development of the field, but it could be used specially applications where the keys could be continually generated and the system (Both pairs and the insecure media) could be in a continuous evolving mode.