Skip to main content

tiny-AES-c wrapper in Cython

Project description

PyPI version

tiny-AES-c Cython wrapper

tinyaes is a few lines Cython wrapper for the tiny-AES-c library, a Small portable AES128/192/256 in C.

The library offers a few modes, CTR mode is the only one currently wrapped. Given the C API works modifying a buffer in-place, the wrapper offers:

  • CTR_xcrypt_buffer(..) that works on all bytes convertible types, and encrypting a copy of the buffer,
  • CTR_xcrypt_buffer_inplace(..) that works on bytearrays only, modifying the buffer in-place.

Release notes

  • 1.0.0a2 (Jan 29, 2020): first public release
  • 1.0.0a3 (Feb 7, 2020): fix bytes in-place mutation error
  • 1.0.0 (Feb 20, 2020): updated readme (no code changes)

Like to help?

The CI is up and running, but on Linux only, running a minimal test suite that uses hypothesis, and that allowed me to find a first bug, a missed variable replacement that had nefarious consequences.

The source package released on PyPI should be usable on Windows and MacOS too, just pip install tinyaes.

The development instead is Linux centered, without any guide yet, but the CI script can be a guide.

TL;DR

  • Download Just and put it in your PATH.
  • just test should install the library and the dependencies and run the tests using your default Python version.
  • Inspect the justfile for some hints about what happens.

Thanks

The library is very minimal, but nonetheless, it uses a lot of existing software. I'd like to thank:

  • Cython developer for their wonderful "product", both the library and the documentation.

  • Kudos to kokke for their tiny-AES-c library, very minimal and easy to build and wrap for any usage that needs only the few AES modes it exposes.

  • Just developers for their automation tool, I use in most of my projects.

  • A huge thank to all the hypothesis authors to their fantastic library, that helped me to find an miss-named variable bug that I worked very hard to add in a 6 lines of code wrapper! And to this Data-driven testing with python article that had left me with the desire to try the library.

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

tinyaes-1.0.0.tar.gz (38.4 kB view details)

Uploaded Source

Built Distributions

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

tinyaes-1.0.0-cp38-cp38-win_amd64.whl (21.7 kB view details)

Uploaded CPython 3.8Windows x86-64

tinyaes-1.0.0-cp38-cp38-manylinux1_x86_64.whl (63.5 kB view details)

Uploaded CPython 3.8

tinyaes-1.0.0-cp38-cp38-macosx_10_13_x86_64.whl (20.9 kB view details)

Uploaded CPython 3.8macOS 10.13+ x86-64

tinyaes-1.0.0-cp37-cp37m-win_amd64.whl (21.6 kB view details)

Uploaded CPython 3.7mWindows x86-64

tinyaes-1.0.0-cp37-cp37m-manylinux1_x86_64.whl (63.2 kB view details)

Uploaded CPython 3.7m

tinyaes-1.0.0-cp37-cp37m-macosx_10_13_x86_64.whl (20.9 kB view details)

Uploaded CPython 3.7mmacOS 10.13+ x86-64

tinyaes-1.0.0-cp36-cp36m-manylinux1_x86_64.whl (63.0 kB view details)

Uploaded CPython 3.6m

tinyaes-1.0.0-cp27-cp27mu-manylinux1_x86_64.whl (56.9 kB view details)

Uploaded CPython 2.7mu

tinyaes-1.0.0-cp27-cp27m-manylinux1_x86_64.whl (56.9 kB view details)

Uploaded CPython 2.7m

tinyaes-1.0.0-cp27-cp27m-macosx_10_13_x86_64.whl (19.7 kB view details)

Uploaded CPython 2.7mmacOS 10.13+ x86-64

File details

Details for the file tinyaes-1.0.0.tar.gz.

File metadata

  • Download URL: tinyaes-1.0.0.tar.gz
  • Upload date:
  • Size: 38.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.15.0 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/2.7.17

File hashes

Hashes for tinyaes-1.0.0.tar.gz
Algorithm Hash digest
SHA256 1c02e38fd888173b3f93821de8c429a3e997021dca6de094826f052d470facc4
MD5 21c4030412419f633413bdacd8d9172b
BLAKE2b-256 699dfac481d2e215a519737e90790e2ec36ab3cafc92c50871f52efe9532a68a

See more details on using hashes here.

File details

Details for the file tinyaes-1.0.0-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: tinyaes-1.0.0-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 21.7 kB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.8.1

File hashes

Hashes for tinyaes-1.0.0-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 3d1eed5808f9c6b068df2ab5a0b05f240e1a5ecc51872bc33f698d01e90b3b51
MD5 e1092b5b71480d7a59829cd75a7ed9ef
BLAKE2b-256 ca2ce5024bdfe4510b8b0ffe981f3bae192cd4fbd787113941e53a0a4b9f66a8

See more details on using hashes here.

File details

Details for the file tinyaes-1.0.0-cp38-cp38-manylinux1_x86_64.whl.

File metadata

  • Download URL: tinyaes-1.0.0-cp38-cp38-manylinux1_x86_64.whl
  • Upload date:
  • Size: 63.5 kB
  • Tags: CPython 3.8
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.8.1

File hashes

Hashes for tinyaes-1.0.0-cp38-cp38-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 64b7efda4456317d6954b5ea20dfc06e2e2b3c333d5f4ac752eb05b157660bec
MD5 d333ec3bbc6d42db066b5d51d1834636
BLAKE2b-256 0c54f24aaee8b745317c283a0165e3e7c9beb6aa3a19276509d73b393ff918e8

See more details on using hashes here.

File details

Details for the file tinyaes-1.0.0-cp38-cp38-macosx_10_13_x86_64.whl.

File metadata

  • Download URL: tinyaes-1.0.0-cp38-cp38-macosx_10_13_x86_64.whl
  • Upload date:
  • Size: 20.9 kB
  • Tags: CPython 3.8, macOS 10.13+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.8.1

File hashes

Hashes for tinyaes-1.0.0-cp38-cp38-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 2c74c39814181838badfda8193f917abb07726db2de7295356f85e588668d4ad
MD5 275693db98066ea5642343ba92274eae
BLAKE2b-256 8128daa71d92bd6f5c849fe69722bb6ece7bdc824266d5f13f41ad1544898ef7

See more details on using hashes here.

File details

Details for the file tinyaes-1.0.0-cp37-cp37m-win_amd64.whl.

File metadata

  • Download URL: tinyaes-1.0.0-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 21.6 kB
  • Tags: CPython 3.7m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.7.6

File hashes

Hashes for tinyaes-1.0.0-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 9baf6724a1acc0cafe5a188e6f821650ad44314fb3a54aa20540c2bc8e97964e
MD5 41694e762942b997bfa1076cdc76a8b8
BLAKE2b-256 444951b0d4c3172515e37d6cc24e4e27cc24ad1898d806041fb5e21104aa1f4e

See more details on using hashes here.

File details

Details for the file tinyaes-1.0.0-cp37-cp37m-manylinux1_x86_64.whl.

File metadata

  • Download URL: tinyaes-1.0.0-cp37-cp37m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 63.2 kB
  • Tags: CPython 3.7m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.8.1

File hashes

Hashes for tinyaes-1.0.0-cp37-cp37m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 62ba79fd0253527c607c09fa1d288ef22616ef559da6fbb555bd1141e86d5886
MD5 586f799169a7ada502f3363efe07c9ea
BLAKE2b-256 5355fb8a90d17ea0756c768c236982a5293b561d70dbe6c8b6ae6a3f8a05f945

See more details on using hashes here.

File details

Details for the file tinyaes-1.0.0-cp37-cp37m-macosx_10_13_x86_64.whl.

File metadata

  • Download URL: tinyaes-1.0.0-cp37-cp37m-macosx_10_13_x86_64.whl
  • Upload date:
  • Size: 20.9 kB
  • Tags: CPython 3.7m, macOS 10.13+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.7.6

File hashes

Hashes for tinyaes-1.0.0-cp37-cp37m-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 65c7a8da94907e47082aae5cb63aa4473265d340ae2ac79df9c044b1ffd46d98
MD5 ddfcf7731a3bfce3d4eeab1bbbae99dd
BLAKE2b-256 bb2c295493656e73f4838e838d62c372c5baca214c23f958284992d0a55194ea

See more details on using hashes here.

File details

Details for the file tinyaes-1.0.0-cp36-cp36m-manylinux1_x86_64.whl.

File metadata

  • Download URL: tinyaes-1.0.0-cp36-cp36m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 63.0 kB
  • Tags: CPython 3.6m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.8.1

File hashes

Hashes for tinyaes-1.0.0-cp36-cp36m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 63b1c8951cb76cfb65856ffc8721d2b98a19c3ff633db15027fe79db15483e4a
MD5 7f1c0a8fb60dd1a71c90deb69ac1c742
BLAKE2b-256 97ca9c9b075fc35dc0f1816f66b66934bcb57a9e1a9395a51c480805141c23d0

See more details on using hashes here.

File details

Details for the file tinyaes-1.0.0-cp27-cp27mu-manylinux1_x86_64.whl.

File metadata

  • Download URL: tinyaes-1.0.0-cp27-cp27mu-manylinux1_x86_64.whl
  • Upload date:
  • Size: 56.9 kB
  • Tags: CPython 2.7mu
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.8.1

File hashes

Hashes for tinyaes-1.0.0-cp27-cp27mu-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 6798002ca7bc09ab944310a6a832a9e8b005c616c2e2626b636d342192c05c40
MD5 2e9891f16ee1b5520e735dae2575f831
BLAKE2b-256 c0d5b8325d8dbeec2858cfc0edebcea165d0c89bebb47e4ff915aea278dfe1ce

See more details on using hashes here.

File details

Details for the file tinyaes-1.0.0-cp27-cp27m-manylinux1_x86_64.whl.

File metadata

  • Download URL: tinyaes-1.0.0-cp27-cp27m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 56.9 kB
  • Tags: CPython 2.7m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.8.1

File hashes

Hashes for tinyaes-1.0.0-cp27-cp27m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 4db03ac0cfb62a2b6f0e739643a441f32f46b431ac823479d2e65ee9ed92c838
MD5 832832ed6ded6736949ec599060e3af7
BLAKE2b-256 a38011a416868f353752f63dfda62943dc9ebfd3bd329dc794c0569b00de8e10

See more details on using hashes here.

File details

Details for the file tinyaes-1.0.0-cp27-cp27m-macosx_10_13_x86_64.whl.

File metadata

  • Download URL: tinyaes-1.0.0-cp27-cp27m-macosx_10_13_x86_64.whl
  • Upload date:
  • Size: 19.7 kB
  • Tags: CPython 2.7m, macOS 10.13+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.15.0 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/2.7.17

File hashes

Hashes for tinyaes-1.0.0-cp27-cp27m-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 ba374748ae074194d6a909da027220a9967a7e5d20810d46605bc327d7e7b20f
MD5 dd355874b8ec97a343be0b99decc2940
BLAKE2b-256 9f94b52493e1ceb086e8a70c9488ec8da47fbbc9cd6dafb2f00bf62008ed25c5

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