13
PRESENTED BY:- pRoject guide :- Diwakar Tyagi (0813310408) Mr. Suryaprakash Sarwesh Singh (0813310071)

Neural Cryptography

Embed Size (px)

Citation preview

Page 1: Neural Cryptography

PRESENTED BY:- pRoject guide :-

Diwakar Tyagi (0813310408) Mr. Suryaprakash

Sarwesh Singh (0813310071)

Namit Varshney

Page 2: Neural Cryptography

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.

Page 3: 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.

Page 4: Neural Cryptography

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

Neural Network

Input 0 Input 1 Input n...

Output 0 Output 1 Output m...

Page 5: Neural Cryptography

Definition of a node:

• A node is an element which performs the functiony = fH(∑(wixi) + Wb)

fH(x)

Input 0 Input 1 Input n...

W0 W1 Wn

+

Output

+

...

Wb

NodeNode

ConnectionConnection

Page 6: Neural Cryptography

Binary logic application fH(x) = u(x) [linear threshold]

Wi = random(-1,1)

Y = u(W0X0 + W1X1 + Wb)fH(x)

Input 0 Input 1

W0 W1

+

Output

Wb

Page 7: Neural Cryptography

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}

Page 8: Neural Cryptography

Hebbian learning rule

Anti-Hebbian learning rule

Random-walk learning rule

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:

Page 9: Neural Cryptography
Page 10: Neural Cryptography

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.

Page 11: Neural Cryptography

All the members of team are well familiar with windows.

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

Page 12: Neural Cryptography

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

http://cryptome.org/neuralsub.ps

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

Page 13: Neural Cryptography