A robust encryption and decryption application implementing multiple classical and modern cryptographic algorithms with advanced cryptanalysis tools.
- Hill Cipher: Matrix-based encryption technique
- Caesar Cipher: Classic substitution cipher with fixed shift
- Vigenère Cipher: Polyalphabetic substitution using a keyword
- ROT13: Special case of Caesar cipher with 13-position shift
- Affine Cipher: Mathematical function-based substitution cipher
- XOR Cipher: Bitwise operation-based encryption
- RSA: Public-key cryptography implementation
- Letter Frequency Analysis: Statistical tool to analyze character distribution in ciphertext
- Kasiski Examination: Technique for finding the key length in polyalphabetic substitution ciphers
- Index of Coincidence: Mathematical tool to measure the unevenness of letter distribution in a text
- [List your prerequisites here]
- [Any specific versions needed]
- Clone the repository:
git clone https://github.com/Chakibceran22/passowrd-manager-app.git
- Navigate to the project directory:
cd passowrd-manager-app
- Install dependencies:
npm install # or your specific install command
You can modify the RSA keys in the encModules
file located in the frontend directory. Adjust the keys according to your security requirements.
All cipher implementations can be found and tested in the encModules
folder. Each cipher has its own dedicated file for easy maintenance and testing.
The cryptanalysis tools are available in the analysisTools
directory:
- Letter Frequency Analysis: Helps break simple substitution ciphers by comparing character frequencies with known language patterns
import { letterFrequencyAnalyzer } from './analysisTools/letterFrequency';
const analysis = letterFrequencyAnalyzer(ciphertext);
- Kasiski Examination: Identifies repeated sequences in ciphertext to determine potential key lengths
import { kaskiskiExamination } from './analysisTools/kasiski';
const potentialKeyLengths = kaskiskiExamination(ciphertext);
- Index of Coincidence: Measures randomness in text to distinguish between monoalphabetic and polyalphabetic ciphers
import { calculateIC } from './analysisTools/indexOfCoincidence';
const ic = calculateIC(ciphertext);
- MD5 Hashing
- SHA-256 Implementation
- Bcrypt Integration
- Additional Hash Functions
- Automated Cryptanalysis for Common Ciphers
- Machine Learning-Based Cipher Detection
We welcome contributions! Here's how you can help:
- Fork the repository
- Create your feature branch:
git checkout -b feature/AmazingFeature
- Commit your changes:
git commit -m 'Add some AmazingFeature'
- Push to the branch:
git push origin feature/AmazingFeature
- Open a Pull Request
- Write clean, documented code
- Follow the existing code style
- Add tests for new features
- Update documentation as needed
Detailed documentation for each cipher implementation and analysis tool can be found in their respective files within the encModules
and analysisTools
directories.
While this application implements various encryption algorithms, some (like Caesar Cipher) are for educational purposes and should not be used for securing sensitive data in production environments. The analysis tools provided are meant for educational purposes and cryptanalysis learning.
Email - grabachakib008@gmail.com
Project Link: https://github.com/Chakibceran22/passowrd-manager-app
- List any acknowledgments here
- Credit any resources or inspirations
- Thank contributors