Skip to main content

tiny-AES-c wrapper in Cython

Project description

tiny-AES-c Cython wrapper

PyPI version

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.4 (Nov 3, 2022)
    • Final release with Python 3.11
  • 1.0.4rc1 (Oct 24, 2022)
    • add Python 3.11 to the matrix, remove Python 2.7 and 3.6
  • 1.0.3 (Feb 22, 2022)
    • Final release with Python 3.10
  • 1.0.3rc1 (Nov 4, 2021):
    • add Python 3.10 to the matrix
  • 1.0.2 (Nov 4, 2021):
    • version bump from 1.0.2rc1
    • bump to manylinux2010 because of tlsv1 errors and drop Python 2.7 missing in the new image
  • 1.0.2rc1 (Apr 7, 2021):
    • added release Python 3.9 on Windows, Linux (manylinux1) and OSX
    • updated upstream tiny-AES-c with some cleanups and small optimizations
  • 1.0.1 (Jun 8, 2020):
    • release Python 3.6 OSX and Windows wheels
    • updated upstream tiny-AES-c with some code changes
  • 1.0.0 (Feb 20, 2020): updated readme (no code changes)
  • 1.0.0a3 (Feb 7, 2020): fix bytes in-place mutation error
  • 1.0.0a2 (Jan 29, 2020): first public release

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.4.tar.gz (43.3 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.4-cp311-cp311-win_amd64.whl (18.3 kB view details)

Uploaded CPython 3.11Windows x86-64

tinyaes-1.0.4-cp311-cp311-win32.whl (16.5 kB view details)

Uploaded CPython 3.11Windows x86

tinyaes-1.0.4-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (71.9 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64manylinux: glibc 2.5+ x86-64

tinyaes-1.0.4-cp311-cp311-macosx_10_9_x86_64.whl (19.9 kB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

tinyaes-1.0.4-cp310-cp310-win_amd64.whl (19.4 kB view details)

Uploaded CPython 3.10Windows x86-64

tinyaes-1.0.4-cp310-cp310-win32.whl (17.2 kB view details)

Uploaded CPython 3.10Windows x86

tinyaes-1.0.4-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (71.0 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64manylinux: glibc 2.5+ x86-64

tinyaes-1.0.4-cp310-cp310-macosx_10_9_x86_64.whl (20.5 kB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

tinyaes-1.0.4-cp39-cp39-win_amd64.whl (19.7 kB view details)

Uploaded CPython 3.9Windows x86-64

tinyaes-1.0.4-cp39-cp39-win32.whl (17.6 kB view details)

Uploaded CPython 3.9Windows x86

tinyaes-1.0.4-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (74.4 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64manylinux: glibc 2.5+ x86-64

tinyaes-1.0.4-cp39-cp39-macosx_10_9_x86_64.whl (20.9 kB view details)

Uploaded CPython 3.9macOS 10.9+ x86-64

tinyaes-1.0.4-cp38-cp38-win_amd64.whl (19.9 kB view details)

Uploaded CPython 3.8Windows x86-64

tinyaes-1.0.4-cp38-cp38-win32.whl (17.6 kB view details)

Uploaded CPython 3.8Windows x86

tinyaes-1.0.4-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (75.3 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64manylinux: glibc 2.5+ x86-64

tinyaes-1.0.4-cp38-cp38-macosx_10_9_x86_64.whl (20.9 kB view details)

Uploaded CPython 3.8macOS 10.9+ x86-64

tinyaes-1.0.4-cp37-cp37m-win_amd64.whl (19.9 kB view details)

Uploaded CPython 3.7mWindows x86-64

tinyaes-1.0.4-cp37-cp37m-win32.whl (17.5 kB view details)

Uploaded CPython 3.7mWindows x86

tinyaes-1.0.4-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (73.8 kB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.17+ x86-64manylinux: glibc 2.5+ x86-64

tinyaes-1.0.4-cp37-cp37m-macosx_10_9_x86_64.whl (20.8 kB view details)

Uploaded CPython 3.7mmacOS 10.9+ x86-64

File details

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

File metadata

  • Download URL: tinyaes-1.0.4.tar.gz
  • Upload date:
  • Size: 43.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.15

File hashes

Hashes for tinyaes-1.0.4.tar.gz
Algorithm Hash digest
SHA256 236fc2a1182d425755c1a050cbf571862ee91ad7670eb174e960f35b815c6bcd
MD5 05e84900c94022a434ffb54ff317cfa4
BLAKE2b-256 9e8b8f94a911bb8482551ef0664578b5c76a7e615f7a793129105f769261c741

See more details on using hashes here.

File details

Details for the file tinyaes-1.0.4-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: tinyaes-1.0.4-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 18.3 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.15

File hashes

Hashes for tinyaes-1.0.4-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 64484915c80eeed7408801d3dee759f81b9fb2ff1cc68bf8544b19b8764d6b77
MD5 a3ebb2a5ee63c18e6dd9c2fe995215a1
BLAKE2b-256 f32985da9e0df09ad2aa4f8df3a207001554521994f8d0151eb562536a65448a

See more details on using hashes here.

File details

Details for the file tinyaes-1.0.4-cp311-cp311-win32.whl.

File metadata

  • Download URL: tinyaes-1.0.4-cp311-cp311-win32.whl
  • Upload date:
  • Size: 16.5 kB
  • Tags: CPython 3.11, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.15

File hashes

Hashes for tinyaes-1.0.4-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 dfba3946aa4e7155be953e3a2c1c9882c64ad4632b13966bbdb32b85e6d2d6d6
MD5 14d652466a6cdc50348018b6528ab570
BLAKE2b-256 3cc8f26bdde6c302ef4cb2cc4600316eb5c5a9c864565c0215f57a4780f82569

See more details on using hashes here.

File details

Details for the file tinyaes-1.0.4-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for tinyaes-1.0.4-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 2d3e747d594f12649e1780c067ff91c1ec1f76475f99c902ac2fdf1b3f406750
MD5 f5f537b3a1305d3c49c6ad795a75406e
BLAKE2b-256 dfc01a897db86a921e88782bbb20ce9568bc52615093f595a98187cb7becf87e

See more details on using hashes here.

File details

Details for the file tinyaes-1.0.4-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for tinyaes-1.0.4-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 366746fd7f114d213bde39ebba60bc123f827c955fb95363a1c5c78fbbfaec21
MD5 1cd2d5c5c72c6ca4586eeb007f1230d3
BLAKE2b-256 6829bcbd4a5990d62dfe0b108424cd15ab7dace50e6541c8ee31ed37f8831209

See more details on using hashes here.

File details

Details for the file tinyaes-1.0.4-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: tinyaes-1.0.4-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 19.4 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.15

File hashes

Hashes for tinyaes-1.0.4-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 ead57efc443808ac9169da27206ac42c43c6ef4a88f35cbf16f0b2deb4fd6914
MD5 898d7812577acc30d3cecdd326adbfc1
BLAKE2b-256 dd24f0a0c8e26342e30efafc74844823e020dfbfe1ce0c20403506f35c90b5b0

See more details on using hashes here.

File details

Details for the file tinyaes-1.0.4-cp310-cp310-win32.whl.

File metadata

  • Download URL: tinyaes-1.0.4-cp310-cp310-win32.whl
  • Upload date:
  • Size: 17.2 kB
  • Tags: CPython 3.10, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.15

File hashes

Hashes for tinyaes-1.0.4-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 56d7d35241fdc44174703a7993e9c8660f9a748654e4f182646a81281d344959
MD5 cd0add6d91db582dc175d29530cd7264
BLAKE2b-256 0ed27602026c2d6d4a9b2b581245aab8734a2e0f048fab54b1aeeb93d09cca91

See more details on using hashes here.

File details

Details for the file tinyaes-1.0.4-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for tinyaes-1.0.4-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7e8ffb828cafb87f3cbc0c0267998165421d83f8951d2eb83a38c930d193377d
MD5 64cfa0a2bfebec15ce380181414e24e9
BLAKE2b-256 beeec090e05a9050cd515a1da76e997a04198cfe384d444aff48f748ea0cc3da

See more details on using hashes here.

File details

Details for the file tinyaes-1.0.4-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for tinyaes-1.0.4-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 201dc6d8aea4a65ac88a8ab09dbe0a8151396c4ef73a1a1337e8c2e155a30679
MD5 a60f9bb4630087c11be6190d22621266
BLAKE2b-256 4506ab5787d1073bbc433a3f1242e5a08fe72664185145258d0f9c03101b2b4b

See more details on using hashes here.

File details

Details for the file tinyaes-1.0.4-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: tinyaes-1.0.4-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 19.7 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.15

File hashes

Hashes for tinyaes-1.0.4-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 2419501d23d2154ace9b78c5bb55df8b2d6cbdb477968c665d477d16459e7017
MD5 d6964ca012698d58f44d5d4342215c33
BLAKE2b-256 c2a39105b69e0810f3f31324a131c531ae8b59b0e8fe0c14b910c172463af880

See more details on using hashes here.

File details

Details for the file tinyaes-1.0.4-cp39-cp39-win32.whl.

File metadata

  • Download URL: tinyaes-1.0.4-cp39-cp39-win32.whl
  • Upload date:
  • Size: 17.6 kB
  • Tags: CPython 3.9, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.15

File hashes

Hashes for tinyaes-1.0.4-cp39-cp39-win32.whl
Algorithm Hash digest
SHA256 b8c836578b1fae1f3be4fd0481bc8f74f0ca0a264345f9cbae560b461cd84dd8
MD5 b9f11ff242cc7f2d810b8afbf356baba
BLAKE2b-256 c5849e91360168189488e7386aa5a46d5f8e0a7f6791d89ade9318ce5b21fcc2

See more details on using hashes here.

File details

Details for the file tinyaes-1.0.4-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for tinyaes-1.0.4-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d470c186c0d28862ad74cbbb21d1ee612e2aa26760e7c7dd5c4a19f74641a11d
MD5 f51dcd0e923b3d8a5387f502725a5d1b
BLAKE2b-256 4bd9a90bdd48a5c7ab33e300d636b3d2767f41dc461144cbbda1270386db089e

See more details on using hashes here.

File details

Details for the file tinyaes-1.0.4-cp39-cp39-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for tinyaes-1.0.4-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 92c44cc8247467dde7d785675d590c692ae1d4f127cdd5c9f1b681e33e1fc26e
MD5 5a1414aacf39551ebb69dbbb44f40feb
BLAKE2b-256 8fd8a8db686f9a2d13600428853a154eaa9a06b0146d84d28e7c51d5715afa7b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: tinyaes-1.0.4-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 19.9 kB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.15

File hashes

Hashes for tinyaes-1.0.4-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 aebd534b9294d5de5a7f916810b93ed00cfa2d091051ddad1d5d813f1ef91954
MD5 eddbd45aa69a0821c09174ace8b6c208
BLAKE2b-256 3936dd5afab4e7a771a23351994137445b600ffba2ebc904b6ae206524ff66af

See more details on using hashes here.

File details

Details for the file tinyaes-1.0.4-cp38-cp38-win32.whl.

File metadata

  • Download URL: tinyaes-1.0.4-cp38-cp38-win32.whl
  • Upload date:
  • Size: 17.6 kB
  • Tags: CPython 3.8, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.15

File hashes

Hashes for tinyaes-1.0.4-cp38-cp38-win32.whl
Algorithm Hash digest
SHA256 1f3763caf49086fa82310d3270f718d7d143dcb72274b0b771212b828249d6ef
MD5 036842bb0f087af785793ff3c0346190
BLAKE2b-256 8b3c18d48c57bbbe87622f7a1dfae21df1d203f7f184f4fd97da70eb01b701f9

See more details on using hashes here.

File details

Details for the file tinyaes-1.0.4-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for tinyaes-1.0.4-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 830acaced065e249e3beb4043aeb44f1301b4e1f2d5153049a63a8695b294d1e
MD5 fc57bfcc2e8409de9874c34ec8c9198a
BLAKE2b-256 288936635f4ff8370008676ae76c38000bb5d45fb01118ed8cd5387fd998aee9

See more details on using hashes here.

File details

Details for the file tinyaes-1.0.4-cp38-cp38-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for tinyaes-1.0.4-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 31afd74faf308226b442050f58812ca113fb172960420e4ad8faef324d63cccc
MD5 fd931a07f2981c250e52ed49b9a9f241
BLAKE2b-256 e70fd1cccb965126c3f7d55f2cb2af6793fac5274069720e57dcb0106a4c7f13

See more details on using hashes here.

File details

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

File metadata

  • Download URL: tinyaes-1.0.4-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 19.9 kB
  • Tags: CPython 3.7m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.15

File hashes

Hashes for tinyaes-1.0.4-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 e675e7ef0876c8d0d0e5a3542e318f433def2949a0be4f161113d38ca592261a
MD5 e4565edf3a69050e0dab896afb088d86
BLAKE2b-256 a067432026be0ae1761e486da4ef8048d552f79d892085b9a9ee7b2201dc3181

See more details on using hashes here.

File details

Details for the file tinyaes-1.0.4-cp37-cp37m-win32.whl.

File metadata

  • Download URL: tinyaes-1.0.4-cp37-cp37m-win32.whl
  • Upload date:
  • Size: 17.5 kB
  • Tags: CPython 3.7m, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.15

File hashes

Hashes for tinyaes-1.0.4-cp37-cp37m-win32.whl
Algorithm Hash digest
SHA256 654af1dd0bbc57fbd3bbcd3abf1f1a50c25290c89bddf2cecd0128bd7e8099c8
MD5 d2fc672efb8d2865110b2ac932c43c8e
BLAKE2b-256 72913d3ed761485a7dbbdf86fb56494fb99517f6294d5dbacdfd46d431a9b6f6

See more details on using hashes here.

File details

Details for the file tinyaes-1.0.4-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for tinyaes-1.0.4-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b1e9700838d89a694b89efa41151ca863962cac79b536771bde6fbf795293fee
MD5 b9add013b0a4de8fd901952e7f7c05ac
BLAKE2b-256 6dd6d0211465ede271367bad7901a4d12fd6d9a0f628d62ee362cf0966a8e69b

See more details on using hashes here.

File details

Details for the file tinyaes-1.0.4-cp37-cp37m-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for tinyaes-1.0.4-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 cac3070af2a3101c669fbb11cf5323f1d1a4002a6d93ef946e6f4a8d69c3f84d
MD5 d36975c6ed520c89cc6fef9137457506
BLAKE2b-256 a10e5aa78a3b02d3f15daccf2b25e0e397eff87a0de5adb0180cbd8c6c3c02b2

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