Skip to main content

libfte

PyPI version Tests Python 3.8+ License: MIT

Format-Transforming Encryption — encrypt data so the ciphertext matches any format you specify.

What is FTE?

Unlike standard encryption that produces random-looking output, FTE produces ciphertext that looks like whatever format you specify with a regular expression—hex strings, alphanumeric tokens, or any regex-expressible pattern.

Installation

pip install fte

Works out of the box with pure Python—no compilation required.

Quick Example

Encrypt a secret so the ciphertext looks like words:

import fte

# Create encoder: output will be lowercase "words" with spaces
encoder = fte.Encoder(regex=r'^([a-z]+ )+[a-z]+$', fixed_slice=80)

# Encrypt
ciphertext = encoder.encode(b'Attack at dawn')
print(ciphertext.decode())
# → "kqpvx mzbjw tnrdc fyhls wqaem xocgi znvub pdkry lfstj bhwce"

# Decrypt
plaintext, _ = encoder.decode(ciphertext)
# → b'Attack at dawn'

Use Cases

  • Protocol obfuscation: Make encrypted traffic look like benign data
  • Bypassing filters: Evade systems that block encrypted-looking content
  • Steganography: Hide data within expected formats

Documentation

Full docs and examples: github.com/kpdyer/libfte

Reference

Based on Protocol Misidentification Made Easy with Format-Transforming Encryption (ACM CCS 2013).

License

MIT

Download files

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

Source Distribution

fte-0.3.0.tar.gz (19.2 kB view details)

Uploaded Source

Built Distribution

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

fte-0.3.0-py3-none-any.whl (18.7 kB view details)

Uploaded Python 3

File details

Details for the file fte-0.3.0.tar.gz.

File metadata

  • Download URL: fte-0.3.0.tar.gz
  • Upload date:
  • Size: 19.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for fte-0.3.0.tar.gz
Algorithm Hash digest
SHA256 fb399976a306a3fd63a810ad8e233652fc47fb64b33f92cbf14c22c92ede8bd5
MD5 9d3d16745404b81ac3c6604a1bc39e68
BLAKE2b-256 838e34a150c81195b7b87fab8cc2c1155b0e68563e2adf214ce74825c3d5901c

See more details on using hashes here.

Provenance

The following attestation bundles were made for fte-0.3.0.tar.gz:

Publisher: publish.yml on kpdyer/libfte

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

File details

Details for the file fte-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: fte-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 18.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for fte-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b64b957409eb31c20d77827d54b4023829f17b326715d15cf1dc60ad66dffa20
MD5 38222e4646443517c21292c6d42a41c8
BLAKE2b-256 f34084417f0f12f23f61807c3571bef7802f630c489172a22a7eef0d972f698f

See more details on using hashes here.

Provenance

The following attestation bundles were made for fte-0.3.0-py3-none-any.whl:

Publisher: publish.yml on kpdyer/libfte

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

Release history Release notifications | RSS feed

This release

0.3.0 This release

2 files

0.2.1

2 files

0.1.3

1 file

0.1.2

1 file

0.1.1

1 file

0.1.0

1 file

0.0.5

1 file

0.0.4

1 file

0.0.3

1 file

0.0.2

1 file

0.0.1

1 file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page