Skip to content

danielqq000/Encryption-test

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Encryption Test Project

Overview

This project is an implementation of both analog and digital encryption methods for secure data transmission. The system simulates real-world scenarios by incorporating potential transfer drops and varying transmission rates. It includes encoding, decoding, encryption, decryption, and testing mechanisms, and successfully demonstrates the feasibility of using both analog and digital encryption techniques.

The project fulfills the initial objectives, showcasing robust functionality and a complete implementation.


Features

  • Analog Encryption: Implementation of Frequency Modulation Encryption (FME) for secure analog signal transmission.
  • Digital Encryption: Integration of Advanced Encryption Standard (AES) for high-security digital data.
  • Simulated Transmission: Models potential transfer drops and variable transmission rates for realistic testing.
  • Encoding/Decoding: Conversion between digital and analog signals for compatibility across encryption methods.
  • Testing Framework: Automated and manual testing scripts to validate encryption and decryption.

Project Structure

Encryption-test
├── automated_testing.py
├── encrypting
│   ├── analog_decrypt.py
│   ├── analog_encrypt.py
│   ├── decrypted_messages
│   │   ├── aes_key
│   │   ├── free_encrypted_signal.bin_decrypted.txt
│   │   ├── aes_encrypted_signal.bin_decrypted.txt
│   ├── decryption-deprecated.py
│   ├── decryption.py
│   ├── digital_decrypt.py
│   ├── digital_encrypt.py
│   ├── encrypted_files
│   │   ├── aes_encrypted_signal.bin
│   │   ├── fme_encrypted_signal.bin
├── main.py
├── networking
│   ├── homework5
│   │   ├── __init__.py
│   │   ├── logging.py
│   │   ├── wire.py
│   │   ├── utils.py
│   ├── server.py
│   ├── sender.py
│   ├── receiver.py
│   ├── tester.py
├── received_files
│   ├── aes_encrypted_signal.bin
│   ├── fme_encrypted_signal.bin
├── README.md

Components

1. Analog Encryption & Decryption

Located in the encrypting directory, this module implements Frequency Modulation Encryption (FME) and its corresponding decryption. Files include:

  • analog_encrypt.py: Handles the encryption process for analog signals.
  • analog_decrypt.py: Processes analog signal decryption.

2. Digital Encryption & Decryption

  • digital_encrypt.py: Encrypts data using AES.
  • digital_decrypt.py: Decrypts AES-encrypted data.

3. Testing

  • automated_testing.py: Provides a framework for testing all encryption and decryption functions.
  • tester.py: Handles manual and specific test cases.

4. Networking

Contains modules for simulating data transmission over a network:

  • server.py, sender.py, receiver.py: Simulate the roles of server and clients in data transmission.
  • wire.py: Manages communication protocols.
  • logging.py: Tracks transmission status.

Key Files

  • main.py: Entry point for running the project. Integrates encryption, decryption, and transmission modules.
  • README.md: Project documentation.

How to Use

  1. Setup:

    • Clone the repository and navigate to the project directory.
    • Ensure Python 3.x and required dependencies (like numpy, scipy, etc.) are installed.
  2. Run Tests:

    • Use automated_testing.py to validate encryption and transmission.
  3. Simulate Transmission:

    • Launch server.py and simulate sending encrypted signals with sender.py.
  4. Encryption/Decryption:

    • Encrypt files using analog_encrypt.py or digital_encrypt.py.
    • Decrypt using analog_decrypt.py or digital_decrypt.py.

Achievements

  • Successfully implemented and tested analog (FME) and digital (AES) encryption methods.
  • Simulated real-world network scenarios with transfer drops and varying rates.
  • Demonstrated encoding and decoding between analog and digital signals.
  • Completed the project objectives effectively.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages