Skip to content

brigan/NeuralCryptography

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

/*
	Copyright (C) 2012, 2013, 2015 Luis F Seoane. 

		Contact: luis.seoane@upf.edu, brigan@gmail.com


	This file is part of NeuralCryptography.

    NeuralCryptography is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    NeuralCryptography is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with NeuralCryptography.  If not, see <http://www.gnu.org/licenses/>.

*/


This software has been developed over the years to implement a probabilistic attack (see [1]) on Tree Parity Machines (TPMs). TPM-based neural cryptography was the first ever means for neural cryptography and, so far, no successful attack is known on these machines. Probabilistic attacks were successfully tried on Permutation Parity Machines (PPMs) [1] and this software suggests that a similar attack might break TPM-based neural cryptography as well. However, because of scarce time, I couldn't complete these attacks in a systematic manner, and the few attacks that I could perform invite us to be optimistic but do not crack the machines completely. The attacks implemented so far are inspired by those in [1] for PPMs and the partial results suggest that some specific hack might be necessary to completely crack TPMs... but I'm optimistic about that anyway! 

Please, feel free to review this sofware (and contact me if you find any mistake or can improve it!) or to use it to implemnet Neural Cryptography-based applications. Especially, if you would like to do research based on this code, please contact me! I might be happy to lend a hand or might just be happy to know what people intend to do with Neural Cryptographic means. If you publish any results thanks to this software, please cite it using: 

	Seoane LF, https://zenodo.org/badge/latestdoi/18750/brigan/NeuralCryptography DOI: 10.5281/zenodo.23060 (2015). 

Best regards!