A neural network algorithm is proposed which can conceal different files effectively such as *.exe, *.com, *.doc, *.txt
and self-defined file formats. First, the important contents of the file are coded into a binary array. The total number of 0s
and 1s is N. Second, to make the neural network learn the sample space, N pixel values and their closely relevant pixel
values are randomly chosen from a color BMP format image and used to train the neural network, thus we get a group of
network parameters and its outputs Y1. Each element of Y1 is increased by 0 or 1 according to the zeros and ones from
the array, the increased Y1is called Y2. Third, using the transmitted parameters, a receiver can restore the neural
network. Network outputs Y3(Y1) can also be obtained by simulating the restored neural network with the seed pixel
values. Finally, the encrypted information can be decoded by Y2 and Y3. The acquisition of parameters and Y1 is different when the neural network is trained each time, so the algorithm has
the characteristic of a one-time pad, which can enhance the correspondence security. Because the network colligates the
chosen pixel values and their closely relevant pixel values, a cryptanalyst can not restore the network parameters and Y3
easily. Without the seed picture and the password, he does not know the encrypted data even if he knows the network
parameters and Y2. If he only has the seed picture, he does not know the encrypted contents either, because there is no
other information in the picture, which just is used to train the network.
Using the same algorithm, the fragile watermark can be embedded into Y1 simultaneously. Besides telling you
whether Y2 or network parameters have been tampered with, the fragile watermark could as well, reflecting the
distortion status in the spatial domain of the tampered image. Therefore, the proposed method is of significance in
practice.
|