This project demonstrates a novel encryption method inspired by Conway's Game of Life. It combines cellular automata principles with traditional cryptographic techniques to create a unique and visually engaging encryption process. I came up with it after a healty does of youtube on the game of life.
The encryption method utilizes a grid-based system similar to Conway's Game of Life. The key features include:
- Grid Initialization: A 64x64 grid is initialized using a hash of the encryption key.
- Custom Evolution Rules: Unlike traditional Game of Life, this system uses custom rules derived from the encryption key.
- Multiple Generations: The grid evolves through 100 generations, creating a complex pattern.
- Noise Injection: Periodic noise is introduced to enhance randomness and security.
- Key Generation: The final grid state is used to generate a unique encryption key.
- XOR Encryption: The generated key is used in a XOR operation with the plaintext.
The web application serves as a demonstration and does not include all features described in the full report. Key limitations include:
- Simplified Implementation: Some advanced features from the full encryption method are omitted for clarity.
- Fixed Parameters: The demo uses fixed grid size and generation count, which would be variable in a full implementation.
- Limited Security: This demo should not be used for actual secure communications.
- Visualization Focus: The app emphasizes visual representation over computational efficiency.
For a comprehensive understanding of the proposed encryption method, including:
- Detailed mathematical analysis
- Security considerations
- Performance benchmarks
- Potential applications and future work
Please refer to the downloadable full report.
This project was developed with educational resources from YouTube and assistance from ChatGPT. These tools were instrumental in conceptualizing and implementing this novel encryption approach.
This project was created by me, Iordache Mihai Bogdan, a passionate developer exploring the intersection of cellular automata and cryptography. For more information or to connect:
- LinkedIn: Iordache Mihai Bogdan
This project is for educational and demonstration purposes only. It should not be used for securing sensitive information without further development and security auditing.
To run this Vite app, follow these steps:
- Make sure you have Node.js installed on your machine.
- Open a terminal and navigate to the project directory.
- Install the project dependencies by running the following command:
npm install - Once the dependencies are installed, start the development server by running the following command:
This will start the Vite development server and compile the app.
npm run dev - Open your web browser and visit the localhost to see the running app.
That's it! You should now be able to see and interact with the Game of Life Encryption Algorithm app in your browser.