Skip to main content

Asherah envelope encryption and key rotation library

Project description

asherah-python

Asherah envelope encryption and key rotation library

This is a wrapper of the Asherah Go implementation using the Cobhan FFI library

Usage

Example code:

from asherah import Asherah, AsherahConfig

config = AsherahConfig(
    kms='static',
    metastore='memory',
    service_name='TestService',
    product_id='TestProduct',
    verbose=True,
    enable_session_caching=True
)
crypt = Asherah()
crypt.setup(config)

data = b"mysecretdata"

encrypted = crypt.encrypt("partition", data)
print(encrypted)

decrypted = crypt.decrypt("partition", encrypted)
print(decrypted)

Benchmarking

Included is a benchmark.py script that will give you an idea of the execution speeds you can see from this library. Our goal is to make this as performant as possible, as demonstrated by this example output:

> python benchmark.py
Benchmarking encrypt/decrypt round trips of "mysecretdata".
Executed 100 iterations in 0.026045440000000003 seconds.
Executed 1000 iterations in 0.237702095 seconds.
Executed 10000 iterations in 2.3570790550000003 seconds.
Executed 100000 iterations in 23.717442475 seconds.

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

asherah-0.3.2.tar.gz (24.6 MB view hashes)

Uploaded Source

Built Distribution

asherah-0.3.2-py3-none-any.whl (24.6 MB view hashes)

Uploaded Python 3

Supported by

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