0% found this document useful (0 votes)
264 views13 pages

Neural Cryptography

The document discusses using neural networks for cryptography. Specifically, it proposes using two synchronized neural networks, one for the sender and one for the receiver, to share an encryption key over a public channel. The neural networks would use Hebbian, anti-Hebbian, or random-walk learning rules to update their weights and synchronize. This could provide a secure method of transmitting a shared key between two parties to enable encrypted communication over an insecure public channel. The project aims to develop this approach to neural cryptography and enhance security for sharing secret data.

Uploaded by

Manoj Singh
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
264 views13 pages

Neural Cryptography

The document discusses using neural networks for cryptography. Specifically, it proposes using two synchronized neural networks, one for the sender and one for the receiver, to share an encryption key over a public channel. The neural networks would use Hebbian, anti-Hebbian, or random-walk learning rules to update their weights and synchronize. This could provide a secure method of transmitting a shared key between two parties to enable encrypted communication over an insecure public channel. The project aims to develop this approach to neural cryptography and enhance security for sharing secret data.

Uploaded by

Manoj Singh
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 13

PRESENTED BY:Diwakar Tyagi (0813310408) Sarwesh Singh (0813310071) Namit Varshney

pRoject guide :Mr. Suryaprakash

In symmetric cryptography, the sender and receiver use a shared key to encode and decode plain text. In asymmetric algorithms, users have their own private and public keys. There are some advantages and disadvantages in both methods in terms of speed and level of security. Symmetric algorithms are a lot faster than asymmetric ones. But they do need a shared key. How can we get a shared key via a public channel and protect it against opponents? There are many ways to do this, which are more or less effective, but We want to offer a rather new and absolutely secure method: Neural cryptography.

The objective is to develop the neural network one for each sender and receiver. Then after synchronization the two networks will share the key on public channel.

Input 0

Input 1

A Neural Network generally maps a set of inputs to a set of outputs Number of inputs/outputs is variable The Network itself is composed of an arbitrary number of nodes with an arbitrary topology

...

Input n

Neural Network

Output 0

Output 1

...

Output m

Input 0

Input 1

... ...

Input n

Definition of a node: A node is an element which performs the function y = fH((wixi) + Wb)

W0

W1

Wn

Wb

+
fH(x)

Connection
Output

Node

Binary logic application fH(x) = u(x) [linear threshold] Wi = random(-1,1) Y = u(W0X0 + W1X1 + Wb)

Input 0

Input 1

W0

W1

Wb

+
fH(x)

Output

Here we will use a neural network which consist of an input vector X, a hidden layer Sigma s, a weights coefficients W between the input vector and the hidden layer, and an activation procedure ? that counts the result value t. Let's call such a neural network a neural machine. It can be described by three parameters: K, the number of hidden neurons, N, the number of input neurons connected to each hidden neuron, and L, the maximum value for weight {-L..+L}

To count the

output value, we use a simple method:

How do we update the weights? We update the weights only if the output values of the neural machines are equal. There are three different rules: Hebbian learning rule

Anti-Hebbian learning rule Random-walk learning rule

This application will allow you to share the key on public channel. Provide a secure method to share the key. Enhance the security level in sharing the secrete data over public channel.

All the members of team are well familiar with windows. All the members are familiar with C# and some skills required by Neural networks.

http://en.wikipedia.org/wiki/Neural_cryptography

http://cryptome.org/neuralsub.ps

http://theorie.physik.uni-wuerzburg.de/~ruttor/neurocrypt.html

You might also like