Implementing Cryptography using Neural Networks through tuning and implementation via socket communication.
- Utilizes the CIA (Confidentiality, Integrity, and Availability) triad.
- Demonstrates an efficient neural cryptography algorithm (NCA) through tuning and socket communication.
- Dynamically self-configurable.
- Provides a robust yet variable algorithm with the potential for low error rates using neural networks.
- Introduces a new signature/verification capability based on neural network hidden states. This feature has not been achieved before
- The provided code serves as a foundation for further research and enhancements in neural cryptography.
- The cipher is designed to autonomously restore system confidentiality if compromised.
- Secure communication for autonomous IoT devices.
- Possible use in Artificial Intelligence due to its adaptable nature and efficiency in parallel processing environments.
Run on Jupyter Notebook enivronment
I've shown that it's possible to achieve low error rates with neural networks, even though CNNs can be inconsistent. I simulated communication between "Alice" and "Bob" using sockets to demonstrate how CNNs could work in real-world scenarios on a TCP/IP network.
In this notebook, I demonstrated how neural networks can create digital signatures that ensure data integrity and authenticity, similar to SHA256. Future work includes extending the socket implementation to work over the Internet, instead of just on localhost. Other goals involve adding an "Eve" component to the crypto process, allowing for signatures to be transmitted with the plaintext. It would also be interesting to see if "Eve" could generate a signature that matches those created by "Bob" and "Alice" using a hidden layer in the network.