Neural Encryption

timbrigham_at_hotmail.com
Date: 02/28/05


Date: 27 Feb 2005 16:31:15 -0800

Neural Encryption

I've been looking into the usage of neural networks for the purpose of
encryption, including reading nearly all of the neural network related
posts from this group, and some from elsewhere.

Everything I've seen has been based on the premise of using the
plaintext as input to the network, and using the output of the network
as the cyphertext. I agree with the consensus reached here that that
isn't a good way of encoding data. That results in the key being the
structure of the network, which can be reproduced via training in
relatively short order.

My idea is to take a different approach, as outlined below.

Generate a feedback driven neural network, where each input connected
to the output of another neuron. Create a separate handful of neurons
which act as display operators, each of which connects to the output of
neurons in the primary network. Now, select some of the neurons in the
main network to activate. On propagating the signals through the
network the output neurons are set based on the internal state of the
network. These output neurons are then used as a key stream to be
applied to the plaintext.

The structure of the network would not be known, as it is part of the
key. If it where known, determining the internal state of a neural
network based on the output is classified as an NP-Complete problem,
based on a the response from comp.theory.
http://groups-beta.google.com/group/comp.theory/browse_thread/thread/f27ec28a48e61c66
The only thing I can think of that may be problematic for the security
of the algorithm (*if* the network structure were known) would be that
knowledge of the former states of the network may potentially weaken
future iterations.

Working code is available at
http://sourceforge.net/project/showfiles.php?group_id=124094&package_id=145075

I have been working on the theory for this for over a year, and been
doing actual research on this material (any applications tying neural
networks and encryption together) for over two months.

Any comments welcome.



Relevant Pages

  • Re: Structured Programming using Forth
    ... artificial neural network than anything else ever created before"? ... One of the aspects of natural neural nets is their resilience. ... Van Der Horst puts it) while retaining software/hardware usability ...
    (comp.lang.forth)
  • Re: NN outputs are letters??
    ... FFNN aren't used for classification. ... network instead of a ff, should be used, but I'm not sure what. ... output neurons. ... I am trying to create a neural network which can ...
    (comp.soft-sys.matlab)
  • Re: Creating Custom Transfer Function in NNToolbox
    ... Neural Network. ... The targets for each input are ... For a single hidden layer NN with size I-H-O, ...
    (comp.soft-sys.matlab)
  • Re: After poststd
    ... slartibartfast wrote: ... This line graphs your neural network outputs vs the desired ... It's good for seeing If your network is predicting things ...
    (comp.soft-sys.matlab)
  • Re: Training error of neural network
    ... the residuals of the network output and they are used to evaluate the ... training error pretty useless for this. ... network architecture is overfit, How to find the optimal neural ... overfit of the neural network, then how to find a network ...
    (comp.soft-sys.matlab)