https://github.com/panagiotiskots/encryption-and-decryption
EndKrypter is a simple Encryption and Decryption tool written fully in C for Windows platforms
https://github.com/panagiotiskots/encryption-and-decryption
ascii-art c decryption educational encryption-algorithms encryption-decryption fun
Last synced: about 1 month ago
JSON representation
EndKrypter is a simple Encryption and Decryption tool written fully in C for Windows platforms
- Host: GitHub
- URL: https://github.com/panagiotiskots/encryption-and-decryption
- Owner: PanagiotisKots
- License: other
- Created: 2024-02-27T16:14:37.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2024-09-06T11:23:56.000Z (8 months ago)
- Last Synced: 2025-01-28T19:17:14.852Z (3 months ago)
- Topics: ascii-art, c, decryption, educational, encryption-algorithms, encryption-decryption, fun
- Language: C
- Homepage:
- Size: 411 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# π **EndKrypter**
**EndKrypter** is a simple **Encryption** and **Decryption** tool written entirely in C for **Windows** platforms.
## βοΈ **Overview**
EndKrypter provides a variety of encoding and decoding methods aimed at protecting personal messages. This program offers several encoding techniques, including:
- π °οΈ **ASCII**
- ποΈ **Caesar Cipher**
- π **Vigenere Cipher**
- πΎ **Binary**
- π’ **Base64**
- π‘οΈ **AES**
- π§© **SHA-256**Each method allows users to encrypt or decrypt messages in different ways, making EndKrypter a versatile tool for multiple use cases.
## π **Encryption Methods & Descriptions**
| Method | Description | Example Usage |
|-----------------------|----------------------------------------------------------------------------------------------|-----------------------------------|
| π °οΈ **ASCII** | Encodes each character to its corresponding ASCII number and replaces it in the message. | `A -> 65` |
| ποΈ **Caesar Cipher** | Shifts each character in the message by a fixed number of positions. | `ABC -> DEF` (shift of 3) |
| π **Vigenere** | Uses a keyword to apply multiple shifts to each character in the message. | Keyword: `KEY` |
| πΎ **Binary** | Converts the message to a binary format. | `A -> 01000001` |
| π’ **Base64** | Encodes the message in Base64, commonly used in data transmission. | `A -> QQ==` |
| π‘οΈ **AES** | Utilizes the **Advanced Encryption Standard** with a key for secure encryption. | 256-bit encryption |
| π§© **SHA-256** | Computes a cryptographic hash of the message (one-way function). | Produces a 64-character hash |## π οΈ **Additional Features**
- **File Encryption & Decryption**: EndKrypter also supports the encryption and decryption of text files via two different methods.
## π **Practical Use Cases**
| Use Case | Description |
|-------------------------|---------------------------------------------------------------------------------------------|
| π **Communication Security** | Encrypt messages for secure transmission, such as sensitive information exchange. |
| ποΈ **File Protection** | Encrypt personal or professional files to prevent unauthorized access. |
| π **Educational Tool** | Learn about basic encryption algorithms and encoding processes for educational purposes. |## π οΈ **Setup Instructions**
Follow the steps below to compile and run **EndKrypter** on your Windows system:
### 1οΈβ£ Install Dependencies (if plan to contribute)
- π¦ **OpenSSL**: Install the full OpenSSL package.
- π¨ **GCC-G++ Compiler**: Install **MINGW** to set up the compilation environment.### 2οΈβ£ Execution
To run the compiled program, use the following command:
EndKrypterV2.exe
## π― **Why Use EndKrypter?**
EndKrypter is ideal for several purposes:
- π **Secure Communication**: Protect confidential messages.
- ποΈ **File Safety**: Keep sensitive files away from prying eyes.
- π **Learning Platform**: Explore encryption techniques and algorithms interactively.## β οΈ **Note**
- β The program is built for the **Windows** environment.
- β It does not use `βtrigraphs` as these are Linux-specific and may lead to unintended behavior in Windows.## π» **License**
**EndKrypter** is open-source software. Feel free to modify and distribute it under the **MIT License**.
## π **Contributing**
Feel free to open issues and submit pull requests for new features, bug fixes, or improvements.
| **Method** | **Usage** | **Advantages** | **Complexity** | **Decoding Difficulty** |
|--------------------|----------------------------------------------------|----------------------------------------------------|-------------------------------------------------------------|-----------------------------------|
| π °οΈ **ASCII** | Character-to-number encoding/decoding | Simple to implement and fast | Basic conversion, no real encryption | π’ **Easy**: Direct reverse mapping |
| ποΈ **Caesar Cipher**| Shifts characters by a fixed number of positions | Easy to understand, good for basic encryption | Vulnerable to frequency analysis attacks | π’ **Easy**: Can be brute-forced easily|
| π **Vigenere** | Shifts characters based on a repeating keyword | Stronger than Caesar due to varying shifts | More secure than Caesar, but key repetition can be exploited | π **Moderate**: Key length and frequency analysis |
| πΎ **Binary** | Converts message into binary representation | Universal encoding, compact for machine processing | Direct translation of data, simple encoding | π’ **Easy**: Reverse conversion from binary to text |
| π’ **Base64** | Encodes binary data into ASCII string format | Efficient for transmitting binary data | Not real encryption, used mainly for encoding | π’ **Easy**: Decoded using standard Base64 decoding |
| π‘οΈ **AES** | Symmetric key encryption, widely used | Highly secure, fast decryption with the key | Computationally efficient, secure against most attacks | π΄ **Hard**: Requires the key; virtually unbreakable without it |
| π§© **SHA-256** | Cryptographic hashing, irreversible | Ensures data integrity, secure one-way function | Irreversible hash, secure but susceptible to brute force on short inputs | π΄ **Impossible**: One-way function, cannot be decoded |## π οΈ **Technologies & Tools Used**
EndKrypter was created using the following programming languages, technologies, and tools:
| **Category** | **Icon** | **Description** |
|--------------|----------|----------------------------------------|
| **Languages** |  | C programming language |
| **Technologies** |  | OpenSSL for cryptographic operations |
| **Compilers** |  | GCC for compiling (alternative icon) |
| **Editors** |  | Visual Studio Code for development |
| **Operating System** |  | Windows as the operating environment |
| **Build Tools** |  | Make for build automation |
| **Version Control** |  | Git for version control ||  |  |
|--------------------------|--------------------------|
| πΈ Image 1 | πΈ Image 2 |