Skip to content

Educational cybersecurity project for learning file encryption/decryption with Python, FastAPI & WebSockets. ⚠️ INCOMPLETE & ARCHIVED - Educational purposes only. Demonstrates cryptography concepts.

Notifications You must be signed in to change notification settings

Phosky71/FileEncryptorService

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 

Repository files navigation

⚠️ FileEncryptorService - ARCHIVED EDUCATIONAL PROJECT

CRITICAL NOTICE: This repository is INCOMPLETE and ARCHIVED. It was created solely for educational purposes to learn about cryptography, encryption algorithms, and cybersecurity concepts. DO NOT USE IN PRODUCTION OR FOR MALICIOUS PURPOSES.

🚨 Important Disclaimers

  • ⚠️ EDUCATIONAL ONLY: This project is for learning and academic purposes
  • ⚠️ INCOMPLETE: The code is unfinished and may contain vulnerabilities
  • ⚠️ NOT PRODUCTION-READY: Should never be used in real-world scenarios
  • ⚠️ SECURITY RISKS: May have security flaws - study only, don't deploy
  • ⚠️ ETHICAL USE: Intended to teach defensive security, not offensive techniques
  • ⚠️ NO SUPPORT: This project is archived and receives no updates

🎯 Project Overview

FileEncryptorService is an educational cybersecurity project demonstrating file encryption and decryption concepts using modern Python technologies. It explores:

  • Cryptographic algorithms (AES encryption)
  • Client-server architecture with real-time communication
  • Secure key management principles
  • WebSocket protocols for bidirectional communication
  • Database integration for metadata storage

What This Project Demonstrates

✓ File encryption/decryption using AES (Advanced Encryption Standard)
✓ FastAPI server with WebSocket support
✓ MongoDB for storing encrypted file metadata
✓ Key generation and management from server
✓ Real-time client-server communication
✓ Python cryptography library implementation

🛠️ Technologies Used

  • Python 3.x: Core programming language
  • FastAPI 0.115.10: Modern async web framework
  • WebSockets 12.0: Real-time bidirectional communication
  • Cryptography 44.0.1: AES encryption implementation
  • PyMongo 4.9.2: MongoDB driver for Python
  • Uvicorn 0.35.0: ASGI server
  • Pydantic 2.10.6: Data validation

📚 Educational Learning Objectives

This project was created to understand:

  1. Symmetric Encryption: How AES encryption works
  2. Key Management: Secure key generation and distribution
  3. WebSocket Communication: Real-time server-client protocols
  4. API Design: RESTful and WebSocket endpoint patterns
  5. Database Security: Storing encrypted metadata
  6. Python Security Libraries: Using the cryptography package

📁 Project Structure

FileEncryptorService/
└── servidor/
    ├── cipher.py          # Encryption/decryption logic (AES)
    ├── database.py        # MongoDB connection and collections
    ├── server.py          # FastAPI server with WebSocket
    └── requirements.txt   # Python dependencies

File Descriptions

  • cipher.py: Contains encryption/decryption classes using AES algorithm
  • database.py: MongoDB setup with collections for encrypted files, keys, and messages
  • server.py: FastAPI application with WebSocket endpoints for real-time communication
  • requirements.txt: All Python package dependencies

🚫 Why This is INCOMPLETE

This project is intentionally incomplete because:

  • Missing client-side implementation
  • Lacks proper security hardening
  • No authentication/authorization mechanisms
  • Missing error handling and edge cases
  • No encryption key rotation
  • Incomplete decryption workflow
  • Missing security best practices

This incompleteness is intentional to prevent misuse while still providing educational value.

📜 Dependencies

FastAPI==0.115.10
uvicorn==0.35.0
pymongo[srv]==4.9.2
python-dotenv==1.0.1
cryptography==44.0.1
websockets==12.0
pydantic==2.10.6
requests==2.31.0

🔒 Security Concepts Covered

AES Encryption

The project demonstrates AES (Advanced Encryption Standard) encryption, a symmetric encryption algorithm widely used in security applications.

Key Management

Explores server-side key generation and the challenges of secure key distribution in client-server architectures.

Secure Communication

Implements WebSocket protocols to understand real-time encrypted communication patterns.

❌ What NOT to Do

  • DO NOT use this for any malicious purposes
  • DO NOT deploy this in production environments
  • DO NOT encrypt important files without backups
  • DO NOT use this as a reference for secure production code
  • DO NOT attempt to complete this project for harmful use
  • DO NOT bypass security measures in real systems

✅ Ethical Usage Guidelines

Acceptable Uses:

  • ✓ Studying encryption algorithms
  • ✓ Learning FastAPI and WebSocket development
  • ✓ Understanding MongoDB integration
  • ✓ Academic research in cybersecurity
  • ✓ Defensive security education
  • ✓ Code review and analysis practice

Unacceptable Uses:

  • ✗ Encrypting files without permission
  • ✗ Creating ransomware or malware
  • ✗ Attacking systems or networks
  • ✗ Any illegal or unethical activities
  • ✗ Deploying on production systems

📚 Learning Resources

To learn more about the concepts in this project:

📜 License

This project is provided as-is for educational purposes only. No license is granted for production use, redistribution, or modification for malicious purposes.

👤 Author

Antonio Juan (Phosky71)

Created as a learning exercise to understand encryption, cryptography, and secure communication protocols.


🚨 Final Warning

This project demonstrates potentially dangerous concepts when misused. It is your responsibility to use this knowledge ethically and legally. The author takes no responsibility for misuse of this code or concepts.

Always prioritize ethical hacking, responsible disclosure, and respect for privacy and security.


⚠️ ARCHIVED PROJECT - No maintenance or updates will be provided

About

Educational cybersecurity project for learning file encryption/decryption with Python, FastAPI & WebSockets. ⚠️ INCOMPLETE & ARCHIVED - Educational purposes only. Demonstrates cryptography concepts.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages