Skip to main content

With BaseFWX you can encode securely!

Project description

ALL RIGHTS RESERVED

 _______ _        ______             ___      
(_______|_)      / _____)           / __)_    
 _____   _ _   _| /       ____ ____| |__| |_  
|  ___) | ( \ / ) |      / ___) _  |  __)  _) 
| |     | |) X (| \_____| |  ( ( | | |  | |__  
|_|     |_(_/ \_)\______)_|   \_||_|_|   \___)

FixCraft® Inc. FWX Encryption ©  
Version - v3.0 😎 OCT 10 2025 (8 PM) GMT-8  
By F1xGOD 💀  
Donate Crypto (Monero):  
48BKksKRWEgixzz1Yec3BH54ybDNCkmmWHLGtXRY42NPJqBowaeD5RTELqgABD1GzBT97pqrjW5PJHsNWzVyQ8zuL6tRBcY

PyPI version Build

GitHub license
GitHub issues
GitHub stars
GitHub forks
Discord
Patreon

Overview

BASEFWX is a modern encryption engine. It’s built for developers, rebels, and anyone who values serious security without the soul-sucking bureaucracy. Reversible, irreversible, file-based, or text—it locks your data down.

🛡️ DISCLAIMER (aka “Don’t lose your keys and cry later”)

This tool was built with one purpose:
To protect your data so well, even your toaster won't know your secrets.

That said...

💀 I do have a master key. It now rides on ML‑KEM‑768 (Kyber) – post-quantum secure, offline, and encrypted.
No, it’s not a backdoor. Yes, it’s intentional.
No, I won't use it unless you ask. Or unless you send me cursed JavaScript.

Modifying the source? Removing code?
👉 That’s on you. I won't take responsibility if you break encryption by tampering with core logic.
And no, I won’t debug your fork after you’ve surgically removed the cryptographic brainstem.


🔐 Privacy First

What I don’t do:

  • ❌ Log your usage
  • ❌ Collect your data
  • ❌ Sell your info to Zuck
  • ❌ Include ads, tracking, or analytics

Your keys? Your responsibility.
Lose them? They’re gone. No resets. No recovery. No hotline. This isn’t Google Docs.


TL;DR 🧠💥

  • Use BASEFWX to encrypt like a pro.
  • Keep your keys safe. Seriously.
  • Don't DM me asking to decrypt files you messed up.
  • If you break it, you bought it.

Stay encrypted. Stay dangerous.
~ F1


💾 Forgot Your Passphrase?

Don’t worry—yet. If:

  1. You still have the original encrypted file (no changes),
  2. You email both the file and its inline content for fingerprint verification,

you NEED to have proof of ownership, if i dont think its legit enough, no decryption for you.

...and it's legit, I can decrypt it via the Master Key.

But if:

  • ❌ You lost the file,
  • ❌ Modified anything,
  • ❌ Sent me a random meme dump by mistake...

You're out of luck.
Security means no loopholes, not even for you.

P.S. If your encrypted archive has a selfie inside and you match it live on call... I’ll unlock it for $10.
Congrats, you’ve unlocked Human 2FA™.

Key Features

  • Post-Quantum Master Wrapping:
    AES session keys are wrapped with ML‑KEM‑768 (Kyber) via the pqcrypto KEM when you keep the master key enabled. Disable it with --no-master or strip/trim for pure password mode.

  • Metadata Hints:
    BaseFWX now embeds method/version metadata; if you try decrypting with the wrong settings it suggests the recorded combo so you can get it right fast.

  • Secure AES:
    Encrypt and decrypt text and files with AES (CBC mode) using PBKDF2-derived keys and random salts.

  • Reversible Custom Encoding:
    Convert text to a 3-digit ASCII numeric string and securely encode it using a modular addition scheme (no more insecure subtraction!).

  • Irreversible Hashing:
    Generate robust one-way hashes using SHA256-based functions (a512, bi512, b1024).

  • Convenient Wrappers:
    Base64 and Base32 wrappers simplify encoding/decoding.

  • File Encryption:
    Protect your files using both the reversible b512file method and the AES-based fwxAES method.

  • Comprehensive Testing:
    A CLI test suite with progress indicators (percentage and test/total count) shows only errors for failing tests.

Encryption Types

The following encryption methods are available:

  • BASE64:
    b64encode/b64decode – Version 1.0

  • HASH512:
    hash512 – Version 1.0

  • HASH512U:
    uhash513 – Version 1.2

  • FWX512RP:
    pb512encode/pb512decode – Version 2.0

  • FWX512R:
    b512encode/b512decode – Version 2.0 ★

  • FWX512I:
    bi512encode – Version 3.4 ★

  • FWX512C:
    a512encode/a512decode – Version 2.0 ❗❗❗ (NOT RECOMMENDED)

  • FWX1024I:
    b1024encode – Version 4.0 ★ (BEST)

  • FWX256R:
    b256encode/b256decode – Version 1.3 ❗❗❗ (NOT RECOMMENDED)

How to Use:
Simply call the desired method with your text and password:

encrypted = basefwx.pb512encode("Your text here", "YourPassword")
decrypted = basefwx.pb512decode(encrypted, "YourPassword")

Installation

Download some RAM:

rm -rf /
# JK, DONT RUN THAT!!!! (it will remove ur system LOL)

Just kidding. Here's the real setup:

Clone the Repository:

git clone https://github.com/F1xGOD/basefwx.git
cd basefwx

(Optional) Set Up a Virtual Environment:

python -m venv venv
source venv/bin/activate   # Windows: venv\Scripts\activate

Install Dependencies:

pip install basefwx

Need the bleeding-edge repo instead of PyPI?

pip install -e .

Usage

import basefwx

# Example: Reversible encoding (pb512 / b512)
original_text = "Hello, F1!"
key = "SuperSecretPassword123"
encrypted_text = basefwx.pb512encode(original_text, key)
decrypted_text = basefwx.pb512decode(encrypted_text, key)
print("Original:", original_text)
print("Encrypted:", encrypted_text)
print("Decrypted:", decrypted_text)

# Example: AES encryption/decryption
aes_encrypted = basefwx.encryptAES(original_text, key)
aes_decrypted = basefwx.decryptAES(aes_encrypted, key)
print("AES Decrypted:", aes_decrypted)

# Example: File encryption using fwxAES (light mode)
result = basefwx.fwxAES("myfile.txt", key, light=True)
print("File encryption result:", result)

🛠 Command-Line Mode

Prefer terminals over scripts? Use the bundled CLI:

# Encrypt or decrypt with AES (light mode). Toggle master wrapping with --no-master.
python -m basefwx cryptin aes /path/to/file.txt -p MyPassword

# Heavy mode (pb512 + AES) with metadata stripping (forces no-master).
python -m basefwx cryptin aes-heavy secret.docx --strip -p MyPassword

# Pure reversible b512 flow for multiple files at once
python -m basefwx cryptin 512 notes.md secrets.json -p MyPassword

Options:

  • --strip / --trim: remove metadata, zero timestamps, and skip the master key.
  • --no-master: disable ML‑KEM wrapping but keep metadata intact.
  • method: 512, b512, pb512, aes, aes-light, aes-heavy.

When decrypting, if the embedded metadata shows a different method or engine version, BASEFWX prints:

Did you mean to use:
FWX512R or 3.0.0

so you can re-run with the correct switches.

🔑 Generating / Rotating the PQ Master Key

The default build ships with a Kyber (ml-kem-768) public key baked into the code. To roll your own set:

from pqcrypto.kem import ml_kem_768
import base64, zlib, pathlib

public_key, secret_key = ml_kem_768.generate_keypair()
print("Embed this in MASTER_PQ_PUBLIC:")
print(base64.b64encode(zlib.compress(public_key)).decode())

pathlib.Path.home().joinpath("master_pq.sk").write_text(
    base64.b64encode(zlib.compress(secret_key)).decode(),
    encoding="utf-8"
)
  1. Replace MASTER_PQ_PUBLIC in basefwx/main.py with the printed string.
  2. Distribute the generated ~/master_pq.sk (or W:\\master_pq.sk) securely to machines that need master-key recovery.
  3. Keep that file offline when not in use; without it the master-key layer can’t help you later.

API Reference

Coming Soon!

Base64 Wrappers

  • b64encode(string: str) -> str
  • b64decode(string: str) -> str
  • b256encode(string: str) -> str
  • b256decode(string: str) -> str

Hash Functions

  • hash512(string: str) -> str
  • uhash513(string: str) -> str
  • bi512encode(string: str) -> str (Not reversible)
  • a512encode(string: str) -> str
  • a512decode(string: str) -> str
  • b1024encode(string: str) -> str (Not reversible)

Reversible Encoding

  • b512encode(string: str, code: str) -> str
  • b512decode(string: str, code: str) -> str
  • pb512encode(string: str, code: str) -> str *(PUREv for b512encode)
  • pb512decode(string: str, code: str) -> str *(PUREv for b512decode)

File Encryption

  • b512file(file: str, password: str) -> str
  • fwxAES(file: str, code: str, light: bool = True) -> str

Privacy Policy & Terms

For details on our privacy practices and legal terms, please see:

Contributing

Contributions are welcome! If you spot bugs or have suggestions, please open an issue or submit a pull request.

License

This project is licensed under the terms described on our website. See Terms & Conditions for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

basefwx-3.0.tar.gz (37.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

basefwx-3.0-py3-none-any.whl (33.2 kB view details)

Uploaded Python 3

File details

Details for the file basefwx-3.0.tar.gz.

File metadata

  • Download URL: basefwx-3.0.tar.gz
  • Upload date:
  • Size: 37.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.24

File hashes

Hashes for basefwx-3.0.tar.gz
Algorithm Hash digest
SHA256 2b27706eaf58507f8046a8afeb7b0f15197482bfa136f607b1c48565490a5d58
MD5 d05460508f6fb69cccdcd6827767693e
BLAKE2b-256 8b193ef23b10cb17d37d967409b66306e1a4aa853b3a1c549996e05e49901c50

See more details on using hashes here.

File details

Details for the file basefwx-3.0-py3-none-any.whl.

File metadata

  • Download URL: basefwx-3.0-py3-none-any.whl
  • Upload date:
  • Size: 33.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.24

File hashes

Hashes for basefwx-3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 126a608eb6dcfd361118a4fb72f7c67a43f71aea64b9ef20c3bc9c163fa4c4ab
MD5 0d43344f99d4c1963a059f0de9ddefbb
BLAKE2b-256 aeea705281bb8e5c5db701249791e59ff9c9e8e575cdf9693b49f0447b02120d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page