A comprehensive web-based application offering a suite of cybersecurity tools for file encryption/decryption, entropy analysis, hashing, and password strength checking.
Empower your digital security with an all-in-one, intuitive toolkit! This platform provides essential utilities for securing your data, analyzing randomness, verifying integrity, and strengthening your online presence.
-
Robust Data Protection: Implement strong encryption algorithms to safeguard your sensitive information from unauthorized access.
-
Cryptographic Insight: Gain a deeper understanding of cryptographic algorithm performance and the underlying principles of randomness.
-
Assured File Integrity: Verify the authenticity and integrity of your files, ensuring they haven't been altered or corrupted.
-
Enhanced Password Security: Evaluate and strengthen your password practices with real-time feedback, boosting your online resilience.
-
Developer-Friendly: A clear, modular design built with Python and Flask, making it easy to understand, extend, and integrate.
Add your main home page screenshot here, showcasing the available tools.

Add a screenshot of the encryption or decryption page.

Add screenshots of the entropy analysis results, charts, or heatmap.


Add a screenshot of the hashing tool showing a calculated hash or comparison.

Add a screenshot of the password strength checker in action.

-
Caesar Cipher: Basic character shifting for simple encryption.
-
AES (Advanced Encryption Standard): A strong, widely-used symmetric block cipher.
-
RSA (Rivest–Shamir–Adleman): An asymmetric encryption algorithm, ideal for secure key exchange or small data encryption.
-
Vigenère Cipher: A polyalphabetic substitution cipher using a keyword.
-
DES (Data Encryption Standard): An older symmetric-key algorithm, included for historical and comparative purposes.
-
Compare the execution time of different encryption/decryption algorithms (Caesar, AES, RSA, Vigenère, DES) on uploaded files.
-
Visual representation of performance metrics using charts (powered by Chart.js).
-
Shannon Entropy Calculation: Measures the average uncertainty, or "randomness," of a byte sequence.
-
Bit-Level Entropy Calculation: Assesses randomness by treating data as a stream of individual bits.
-
RNG Comparison: Compare the entropy of samples generated by various Python Random Number Generators (
random,numpy.random,secrets). -
Bit-Level Heatmaps: Visualize the distribution and patterns of bits within generated data to intuitively understand randomness.
-
SHA256 Hash Generation: Compute a secure SHA256 hash for any uploaded file.
-
File Integrity Verification: Easily compare the hashes of two files to determine if they are identical or have been tampered with.
-
Evaluate the strength of a given password against common security criteria:
-
Minimum length (8 characters).
-
Inclusion of uppercase letters.
-
Inclusion of lowercase letters.
-
Inclusion of numbers.
-
Inclusion of special characters.
-
-
Provides immediate feedback on missing criteria and an overall strength rating.
Flask Application (Python)
├── Core Cipher Implementations (AES, RSA, DES, Caesar, Vigenère)
├── Hashing Module (SHA256)
├── Entropy Calculation & RNG Sampling
├── Password Strength Logic
├── File Upload/Download Handling
└── Dynamic Heatmap Generation (Matplotlib/Seaborn)
Web Browser Interface (HTML, CSS, JavaScript)
├── Jinja2 Templating (Dynamic Content Generation)
├── Custom CSS Styling (Modern & Responsive UI)
├── Chart.js (Interactive Data Visualizations for Performance & Entropy)
└── AJAX/Fetch API (Asynchronous communication with Flask backend)
-
Python 3.x
-
pip (Python package installer)
-
Clone the Repository
git clone [https://github.com/faseey/CyberGuard-Toolkit.git](https://github.com/faseey/CyberGuard-Toolkit.git) cd CyberGuard-Toolkit -
Install Dependencies It's highly recommended to use a virtual environment:
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate.bat
Install the required Python packages:
pip install Flask cryptography pycryptodome matplotlib seaborn numpy
-
Run the Application You can start the Flask development server using either command:
flask run # OR python app.pyThe application will typically be available at
http://127.0.0.1:5000/in your web browser.The necessary
uploads/andstatic/heatmaps/directories will be created automatically upon application startup to store temporary files and generated images.
The CyberGuard Toolkit is designed for intuitive use.
-
Access the Application: Open your web browser and navigate to
http://127.0.0.1:5000/after starting the Flask server. -
Navigate Through Tools: Use the navigation bar at the top to access the various functionalities: Home, Encrypt, Decrypt, Performance, Entropy Analyzer, Hashing Tool, and Password Strength.
-
Perform an Operation (Example: File Encryption):
-
Click on "Encrypt" in the navigation bar.
-
On the encryption page, click "Choose File" to select the file you wish to secure.
-
From the "Choose Algorithm" dropdown, select your preferred encryption method (e.g., AES, RSA, Caesar).
-
If prompted, enter a
KeyorShiftvalue depending on the chosen algorithm. -
Click the "Encrypt" button.
-
The application will process the file, and once completed, it will prompt you to download the encrypted version, which will be saved to your browser's default download location.
-
-
Explore Other Features: Each section of the toolkit is designed for simplicity. Follow the on-screen prompts for performing entropy analysis, calculating file hashes, comparing file integrity, or checking password strength.
The CyberGuard Toolkit features a clean, responsive, and modern user interface, designed for clarity and ease of use. It utilizes custom CSS to provide a consistent and visually appealing experience across different tools.
We welcome contributions from the community! If you'd like to help improve the CyberGuard Toolkit, please follow these guidelines:
-
Fork the repository on GitHub.
-
Create a new branch for your feature or bug fix:
git checkout -b feature/your-awesome-feature # or git checkout -b bugfix/resolve-issue-xyz -
Code your improvements and additions.
-
Test your changes thoroughly to ensure functionality and prevent regressions.
-
Commit your changes with clear, descriptive messages:
git commit -m "feat: Add new awesome feature" # or git commit -m "fix: Resolve issue with encryption"
-
Push your local branch to your forked repository:
git push origin feature/your-awesome-feature
-
Submit a Pull Request (PR) to the
mainbranch of this repository. Please describe your changes in detail in the PR description.
CyberGuard-Toolkit/
├── app.py # Main Flask application with routes and core logic
├── entropy_utils.py # Utility functions for entropy calculation and RNG sampling
├── requirements.txt # (Optional, but recommended) List of Python dependencies
├── static/ # Static files (CSS, JS, images)
│ ├── css/
│ │ └── style.css # Custom stylesheets
│ ├── js/
│ │ └── chart.js # JavaScript for Chart.js integrations
│ └── heatmaps/ # Directory for generated heatmap images
├── templates/ # Jinja2 HTML templates
│ ├── layout.html # Base template for consistent navigation and footer
│ ├── index.html # Home page
│ ├── encrypt.html # File encryption interface
│ ├── decrypt.html # File decryption interface
│ ├── performance.html # Algorithm performance analysis interface
│ ├── entropy_analyzer.html # Entropy analysis tool interface
│ ├── hashing_tool.html # File hashing tool interface
│ ├── password_strength.html # Password strength checker interface
│ └── result.html # Page to display encryption/decryption results
-
Email: [email protected]
-
Bug Reports: Open an Issue (Please replace
faseeywith your actual GitHub username if different) -
Feature Requests: Start a Discussion (Please replace
faseeywith your actual GitHub username if different)
-
Flask: For providing a lightweight and powerful web framework.
-
Python Cryptography Libraries: For robust cryptographic implementations.
-
Chart.js, Matplotlib, Seaborn, NumPy: For powerful data visualization and numerical operations.
-
Open-Source Community: For countless resources and inspiration.