Skip to content

faseey/CyberGuard-Toolkit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CyberGuard Toolkit

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.


Why This Toolkit?

  • 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.


Screenshots

Home Dashboard

Add your main home page screenshot here, showcasing the available tools.

![Home Dashboard](screenshots/home_dashboard.png)

Encryption/Decryption Interface

Add a screenshot of the encryption or decryption page.

![Encryption/Decryption](screenshots/encrypt_decrypt.png)

Entropy Analyzer

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

![Entropy Analyzer](screenshots/entropy_analyzer.png)
![Entropy Chart](screenshots/entropy_chart.png)

File Hashing Tool

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

![File Hashing](screenshots/hashing_tool.png)

Password Strength Checker

Add a screenshot of the password strength checker in action.

![Password Strength](screenshots/password_strength.png)

Core Features

File Encryption & Decryption

  • 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.

Algorithm Performance Analysis

  • 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).

Entropy Analyzer

  • 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.

File Hashing Tool

  • 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.

Password Strength Checker

  • 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.


Technical Architecture

Backend Powerhouse

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)

Frontend Excellence

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)

Quick Start Guide

Prerequisites

  • Python 3.x

  • pip (Python package installer)

Installation

  1. Clone the Repository

    git clone [https://github.com/faseey/CyberGuard-Toolkit.git](https://github.com/faseey/CyberGuard-Toolkit.git)
    cd CyberGuard-Toolkit
  2. 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
  3. Run the Application You can start the Flask development server using either command:

    flask run
    # OR
    python app.py

    The application will typically be available at http://127.0.0.1:5000/ in your web browser.

    The necessary uploads/ and static/heatmaps/ directories will be created automatically upon application startup to store temporary files and generated images.

How to Use

The CyberGuard Toolkit is designed for intuitive use.

  1. Access the Application: Open your web browser and navigate to http://127.0.0.1:5000/ after starting the Flask server.

  2. 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.

  3. 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 Key or Shift value 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.

  4. 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.

Design Considerations

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.

Contributing

We welcome contributions from the community! If you'd like to help improve the CyberGuard Toolkit, please follow these guidelines:

Development Workflow

  1. Fork the repository on GitHub.

  2. 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
  3. Code your improvements and additions.

  4. Test your changes thoroughly to ensure functionality and prevent regressions.

  5. Commit your changes with clear, descriptive messages:

    git commit -m "feat: Add new awesome feature"
    # or
    git commit -m "fix: Resolve issue with encryption"
  6. Push your local branch to your forked repository:

    git push origin feature/your-awesome-feature
  7. Submit a Pull Request (PR) to the main branch of this repository. Please describe your changes in detail in the PR description.

Project Structure

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

Support & Contact

Need Help?

Acknowledgments

  • 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.


Star this repository if you find it helpful!


Secure your digital world, one file at a time!

About

CyberGuard Toolkit is a comprehensive, web-based application built as my 4th Semester Information Security project. It offers essential cybersecurity tools like RSA, AES, and DES encryption/decryption, along with entropy analysis, hashing, and password strength checking.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors