Skip to main content

AesBridge is a modern, secure and cross-language AES encryption library

Project description

AesBridge Python

CI Status

AesBridge is a modern, secure, and cross-language AES encryption library. It offers a unified interface for encrypting and decrypting data across multiple programming languages. Supports GCM, CBC, and legacy AES Everywhere modes.

This is the Python implementation of the core project.
👉 Main repository: https://github.com/mervick/aes-bridge

Features

  • 🔐 AES-256 encryption in GCM (recommended) and CBC modes
  • 🌍 Unified cross-language design
  • 📦 Compact binary format or base64 output
  • 🐍 Pure Python with zero dependencies (except cryptography)
  • ✅ HMAC Integrity: CBC mode includes HMAC verification
  • 🔄 Backward Compatible: Supports legacy AES Everywhere format

Quick Start

Installation

pip install aes-bridge

Usage

from aes_bridge import encrypt, decrypt

ciphertext = encrypt("My secret message", "MyStrongPass")
plaintext = decrypt(ciphertext, "MyStrongPass")

API Reference

Main Functions (GCM by default)

  • encrypt(data, passphrase)
    Encrypts a string using AES-GCM (default).
    Returns: base64-encoded string.

  • decrypt(ciphertext, passphrase)
    Decrypts a base64-encoded string encrypted with AES-GCM.

GCM Mode (recommended)

  • encrypt_gcm(data, passphrase)
    Encrypts a string using AES-GCM. Returns: base64-encoded string.

  • decrypt_gcm(ciphertext, passphrase)
    Decrypts a base64-encoded string encrypted with encrypt_gcm.

  • encrypt_gcm_bin(data, passphrase)
    Returns encrypted binary data using AES-GCM.

  • decrypt_gcm_bin(ciphertext, passphrase)
    Decrypts binary data encrypted with encrypt_gcm_bin.

CBC Mode

  • encrypt_cbc(data, passphrase)
    Encrypts a string using AES-CBC. HMAC is used for integrity verification.
    Returns: base64-encoded string.

  • decrypt_cbc(ciphertext, passphrase)
    Decrypts a base64-encoded string encrypted with encrypt_cbc and verifies HMAC.

  • encrypt_cbc_bin(data, passphrase)
    Returns encrypted binary data using AES-CBC with HMAC.

  • decrypt_cbc_bin(ciphertext, passphrase)
    Decrypts binary data encrypted with encrypt_cbc_bin and verifies HMAC.

Legacy Compatibility

⚠️ These functions are kept for backward compatibility only. Their usage is strongly discouraged in new applications.

  • encrypt_legacy(data, passphrase)
    Encrypts a string in the legacy AES Everywhere format.

  • decrypt_legacy(ciphertext, passphrase)
    Decrypts a string encrypted in the legacy AES Everywhere format.

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

aes_bridge-2.0.3.tar.gz (7.8 kB view details)

Uploaded Source

Built Distribution

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

aes_bridge-2.0.3-py3-none-any.whl (11.8 kB view details)

Uploaded Python 3

File details

Details for the file aes_bridge-2.0.3.tar.gz.

File metadata

  • Download URL: aes_bridge-2.0.3.tar.gz
  • Upload date:
  • Size: 7.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for aes_bridge-2.0.3.tar.gz
Algorithm Hash digest
SHA256 43bce9e2712db55bf5c97add32792ff13dd43dd2d17504052cb0423b78dac04d
MD5 860c3b5cdaaf8304fd4935dd2da8eda4
BLAKE2b-256 f038a8d42bef8ffa7159a5a2b83a33c72848a027f2a3b9451f50f6930192417f

See more details on using hashes here.

Provenance

The following attestation bundles were made for aes_bridge-2.0.3.tar.gz:

Publisher: publish-to-pypi.yml on mervick/aes-bridge-python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file aes_bridge-2.0.3-py3-none-any.whl.

File metadata

  • Download URL: aes_bridge-2.0.3-py3-none-any.whl
  • Upload date:
  • Size: 11.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for aes_bridge-2.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 f39087c6316a4326dfc71864a5babb4377404ad3903ebfd85eac0bc3224b72dc
MD5 b368810a1f9722d5e363b9e0d9654a89
BLAKE2b-256 fe5c88c6da80513ee14b2bd72a3e19302700d24caf2e568a5e002bd210c949b0

See more details on using hashes here.

Provenance

The following attestation bundles were made for aes_bridge-2.0.3-py3-none-any.whl:

Publisher: publish-to-pypi.yml on mervick/aes-bridge-python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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