当前位置:首页 / 文章测试 / Text Steganography Encryption and Decryption Tool

Text Steganography Encryption and Decryption Tool

开始打字练习

# Text Steganography Encryption and Decryption Tool

## Introduction

Welcome to the **Text Steganography Encryption and Decryption Tool**, an advanced application that integrates steganography with cryptography. This tool allows you to encrypt and decrypt text using an enhanced combination of random symbol insertion, ASCII-based encryption, and numeric transformation of characters. The graphical interface makes it accessible for both beginners and enthusiasts to explore the world of cryptography and steganography.

## Features

- **Steganographic Obfuscation**: Encrypts each character by inserting random symbols, making the encrypted text more challenging to decipher.

- **Key-Based ASCII Encryption**: Encrypts each character by shifting its ASCII value based on a user-defined key, adding an additional layer of security.

- **Numeric Transformation**: Converts encrypted characters into a concatenated numeric string representation of their ASCII values, further obfuscating the message.

- **Dynamic Decryption**: Automatically tries all possible keys and intelligently parses the numeric string back into characters based on two- or three-digit patterns.

- **User-Friendly GUI**: Built with Tkinter, the tool provides a simple and intuitive interface for performing encryption and decryption.

## How It Works

### Encryption

1. **Insert Random Symbols**: For each character in your message, the tool inserts a random string of non-alphanumeric symbols. This step helps to obfuscate the actual content by mixing in irrelevant characters.

2. **Apply ASCII Shift**: Using a numeric key provided by the user, the tool shifts the ASCII value of each character and the inserted random symbols. This is done modulo 95 to ensure all characters remain within the visible ASCII range (32–126).

3. **Convert to Numeric ASCII Values**: After the shift, each character's new ASCII value is converted to its numeric string representation using `ord()`. The resulting numbers are concatenated directly without any spaces, enhancing the encryption by making the ciphertext look like a continuous stream of digits.

### Decryption

1. **Parse Numeric String**: During decryption, the tool attempts to parse the numeric string into two- or three-digit ASCII values. If the first digit is '1', the tool assumes it is a three-digit ASCII value (100-126). Otherwise, it treats it as a two-digit ASCII value (32-99).

2. **Reverse ASCII Shift**: The tool tries all possible keys by reversing the ASCII shift for the parsed characters, converting them back from their numeric form into readable text.

3. **Filter Non-Alphanumeric Symbols**: After the reverse shift, the tool filters out the random non-alphanumeric symbols that were inserted during encryption, revealing the potential decrypted messages.

4. **Brute Force All Keys**: The tool tries all possible key values (0 to 94), listing each possible decryption attempt. This allows the user to visually identify the correct decrypted message based on the original plaintext.

## Setup and Installation

To run the Text Steganography Encryption and Decryption Tool, follow these steps:

1. **Clone the Repository**:

```bash

git clone https://github.com/CARL-JOSEPH-LEE/Text-Steganography-Encryption-and-Decryption-Tool.git

```

2. **Navigate to the Project Directory**:

```bash

cd Text-Steganography-Encryption-and-Decryption-Tool

```

3. **Run the Program**: Execute the Python script using:

```bash

python main.py

```

## Screenshots

Here’s a snapshot of the application in action:

![Main](images/main.png)

## Why Use This Tool?

In today’s world, where privacy and security are paramount, this tool offers a sophisticated yet accessible method for securing your text. The combination of steganography, cryptography, and numeric obfuscation provides a robust approach to encrypting sensitive information. Whether you’re exploring encryption for educational purposes or seeking real-world applications, this tool gives you a practical experience in understanding and using encryption technologies.

## Contribution

Contributions are always welcome! Feel free to fork the repository, submit issues, or create pull requests to improve the functionality and security of the tool. Let’s work together to make cryptography more accessible and powerful.

## License

This project is licensed under the MIT License - see the LICENSE file for more details.

## Contact

For any questions, suggestions, or feedback:

- **GitHub**: [CARL-JOSEPH-LEE](https://github.com/CARL-JOSEPH-LEE)

- **Email**: carljosephlee3@gmail.com

声明:以上文章均为用户自行发布,仅供打字交流使用,不代表本站观点,本站不承担任何法律责任,特此声明!如果有侵犯到您的权利,请及时联系我们删除。