  Two neural networks which are trained on their mutual output bits show a
novel phenomenon: The networks synchronize to a state with identical time
dependent weights. It is shown how synchronization by mutual learning can be
applied to cryptography: secret key exchange over a public channel.
