MatrixCryptAI is an interactive web application that demonstrates the fascinating world of matrix-based cryptography. Using the principles of the Hill Cipher, this project allows users to encrypt and decrypt messages using 2x2 matrix keys.
- Encryption & Decryption: Secure your messages or decode encrypted text using matrix operations.
- Interactive UI: User-friendly interface with real-time feedback.
- Custom Key Input: Enter your own 2x2 matrix key or generate a random one.
- Message History: Keep track of your recent encryption and decryption operations.
- Copy to Clipboard: Easily copy encrypted or decrypted messages.
- Download History: Save your encryption/decryption history as a text file.
- React
- TypeScript
- Tailwind CSS
- Framer Motion
- Clone the repository:
git clone https://github.com/your-username/matrix-crypt-ai.git
- Navigate to the project directory:
cd matrix-crypt-ai
- Install dependencies:
npm install
- Start the development server:
npm start
- Open your browser and visit
http://localhost:3000
MatrixCryptAI uses the Hill Cipher algorithm, a polygraphic substitution cipher based on linear algebra. Here's a brief overview of the process:
- Encryption:
- Convert the plaintext to numbers (A=0, B=1, ..., Z=25)
- Group the numbers into pairs
- Multiply each pair with the 2x2 key matrix
- Convert the resulting numbers back to letters
- Decryption:
- Convert the ciphertext to numbers
- Calculate the inverse of the key matrix
- Multiply each pair of numbers with the inverse key matrix
- Convert the resulting numbers back to letters
Contributions, issues, and feature requests are welcome! Feel free to check the issues page.
This project is [GNU] licensed.
Nirupam Thapa
- GitHub: (https://github.com/kuokiii)
- Instagram: (https://instagram.com/_kuoki/)
- Inspired by the Hill Cipher algorithm
- Thanks to all contributors and supporters of this project!
โญ๏ธ If you find this project interesting or useful, please consider giving it a star!