2026-08-28 10:38:05 +08:00
2026-08-28 10:38:05 +08:00
2026-08-28 10:38:05 +08:00
2026-08-28 10:38:05 +08:00
2026-08-28 10:38:05 +08:00

🔐 DVT_RFSA — Hybrid Encryption Library

A robust hybrid encryption library combining RSA + X25519 + AES-256-GCM for text & file encryption, with optional password protection.

DVT_RFSA is a Python cryptography library that implements hybrid encryption schemes:

  • AES-256-GCM for data encryption
  • RSA-2048 and X25519 (ECDH) for key exchange
  • Optional password-derived key protection (PBKDF2/HKDF)
  • Support for encrypting text, files, and binary data
  • Includes security metadata (algorithm, key info) for interchange

✨ Encryption Schemes

Scheme Description
AES + RSA Hybrid: AES-256-GCM session key wrapped with RSA-2048 public key
AES + X25519 Hybrid: AES-256-GCM session key via X25519 ECDH key exchange
AES + RSA + Password Above + password-derived key layered encryption
Pure AES Direct AES-256-GCM with generated/password-derived key

🔌 Core Functions

Hashing & Key Tools

  • compute_data_hash(data, algorithm='sha256') / verify_data_hash(...)
  • generate_aes_key() / derive_key_from_password(...)
  • is_password_strong(...) / generate_strong_password(...)

Key Generation

  • generate_rsa_key() — RSA-2048 keypair
  • generate_x25519_keys() — X25519 keypair
  • load_x25519_private_key(...) / load_x25519_public_key(...)

Data Encryption (text / bytes)

  • aes_encrypt / aes_decrypt
  • encrypt_aes_rsa / decrypt_aes_rsa
  • encrypt_aes_x25519 / decrypt_aes_x25519
  • encrypt_aes_rsa_with_password / decrypt_aes_rsa_with_password

File Encryption

  • encrypt_file_aes_rsa / decrypt_file_aes_rsa
  • encrypt_file_aes_rsa_with_password / decrypt_file_aes_rsa_with_password
  • encrypt_file_aes_x25519 / decrypt_file_aes_x25519

Text Convenience

  • encrypt_text_aes_rsa / decrypt_text_aes_rsa
  • encrypt_text_aes_rsa_with_password / decrypt_text_aes_rsa_with_password
  • encrypt_text_aes_x25519 / decrypt_text_aes_x25519

Metadata

  • add_security_info(...) / remove_security_info(...)

🚀 Quick Start

Prerequisites

pip install cryptography

Example: Encrypt/Decrypt a File (AES + RSA)

import DVT_RFSA as rf

# Generate RSA keys
keys = rf.generate_rsa_key()

# Encrypt a file
rf.encrypt_file_aes_rsa("secret.txt", "secret.txt.enc", keys["public"])

# Decrypt the file
rf.decrypt_file_aes_rsa("secret.txt.enc", "secret_decrypted.txt", keys["private"])

Example: Text Encryption with Password

import DVT_RFSA as rf

password = rf.generate_strong_password()
enc = rf.encrypt_text_aes_rsa_with_password("Hello, world!", password)
dec = rf.decrypt_text_aes_rsa_with_password(enc, password)
print(dec)  # Hello, world!

🛡️ Features

  • Authenticated encryption (AES-256-GCM) — detects tampering
  • Hybrid key exchange — RSA & X25519 (ECDH)
  • Password protection — key derivation & layered encryption
  • File & text support — encrypt whole files or strings
  • Portable output — encrypted data carries security metadata
  • Debug logging — optional crypto_log with timestamp

📁 Project Structure

dvt-rfsa/
├── DVT_RFSA.py   # Hybrid encryption library
└── README.md     # This document

📄 License

This project is licensed under the MIT License. See LICENSE for details.


⚠️ Security Note

This library is for learning and reference. For production, ensure secure key storage, use strong passwords, and review the cryptographic implementation carefully.

S
Description
DVT_RFSA - hybrid encryption library (RSA + X25519 + AES-256-GCM) for text & files
Readme MIT
38 KiB
2026-08-28 02:38:26 +00:00
Languages
Python 100%