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.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.4rc1.tar.gz (43.3 kB view details)

Uploaded Source

Built Distributions

tinyaes-1.0.4rc1-cp311-cp311-win_amd64.whl (18.4 kB view details)

Uploaded CPython 3.11 Windows x86-64

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

Uploaded CPython 3.11 Windows x86

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

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

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

Uploaded CPython 3.11 macOS 10.9+ x86-64

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

Uploaded CPython 3.10 Windows x86-64

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

Uploaded CPython 3.10 Windows x86

tinyaes-1.0.4rc1-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.10 manylinux: glibc 2.17+ x86-64 manylinux: glibc 2.5+ x86-64

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

Uploaded CPython 3.10 macOS 10.9+ x86-64

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

Uploaded CPython 3.9 Windows x86-64

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

Uploaded CPython 3.9 Windows x86

tinyaes-1.0.4rc1-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.9 manylinux: glibc 2.17+ x86-64 manylinux: glibc 2.5+ x86-64

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

Uploaded CPython 3.9 macOS 10.9+ x86-64

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

Uploaded CPython 3.8 Windows x86-64

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

Uploaded CPython 3.8 Windows x86

tinyaes-1.0.4rc1-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.8 manylinux: glibc 2.17+ x86-64 manylinux: glibc 2.5+ x86-64

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

Uploaded CPython 3.8 macOS 10.9+ x86-64

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

Uploaded CPython 3.7m Windows x86-64

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

Uploaded CPython 3.7m Windows x86

tinyaes-1.0.4rc1-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.7m manylinux: glibc 2.17+ x86-64 manylinux: glibc 2.5+ x86-64

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

Uploaded CPython 3.7m macOS 10.9+ x86-64

File details

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

File metadata

  • Download URL: tinyaes-1.0.4rc1.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.4rc1.tar.gz
Algorithm Hash digest
SHA256 35e703c4849aa9bd2db1f1945b347c2c4b78b9fab3f25c132036335a1b73146d
MD5 d37eca3ea45e826d26d19639396932a4
BLAKE2b-256 8cb05ef160dd67c9ff7c278247e0c7d0cb7b40304a99a6ee0b88b1204f07fb0b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tinyaes-1.0.4rc1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 0b2574810a339b81402097da7546b9849678d60078ef09c4b2e447a43abc8619
MD5 9ab957052f837d62017c67f473a4d1cb
BLAKE2b-256 885d045fc084fa02107c49bfe0771a4531ce8e068fb44c57edee461b50c1d789

See more details on using hashes here.

File details

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

File metadata

  • Download URL: tinyaes-1.0.4rc1-cp311-cp311-win32.whl
  • Upload date:
  • Size: 16.6 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.4rc1-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 88743c664b962abb816f88be13a33671599d62a8c58d809c3f38ec13edf72bf6
MD5 e72a631ea2184355cce488d5dabdda1a
BLAKE2b-256 107ceca520adc9eae03eaa0231b23d72d05567b53cf5e70028b6c7378477d101

See more details on using hashes here.

File details

Details for the file tinyaes-1.0.4rc1-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.4rc1-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 094b61b5100dc023dc5bcf4bd3e8a61a0ec39eb719ba04819830863f67318ec8
MD5 209c3ca36008e63582d161ffce8934a4
BLAKE2b-256 a79cbe94aabdeaa495c56c444170be0397fea6738896824a9f48af2d45769eaf

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tinyaes-1.0.4rc1-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 258e449ba12893bad0e5fb810493a8f7a8d745e5fec4977f5bc002396c5a382b
MD5 9cd8411af1a1fea6a17f7e680bcb627d
BLAKE2b-256 0dd2271b492ee4917ef2bc5025f88dfcfabde97c0605622551a2d6874d3318fc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tinyaes-1.0.4rc1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 1b9417d531bf07ed0de3a7a401f8f5bf37a2837100121f52684004e6d67e8d2a
MD5 2906dbfeb3d73137bcc326ddb7e26a04
BLAKE2b-256 e65c09101ab5dd8a2a3b8ae5cdd357562401434a1062acf71f5fa3c5780340c4

See more details on using hashes here.

File details

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

File metadata

  • Download URL: tinyaes-1.0.4rc1-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.4rc1-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 706fa22841d004d9a24767836d3bbbd2c40f231816ecc8865fae176932ce2086
MD5 4ecde49e378980eb5a5754618eae2387
BLAKE2b-256 0e4d8e94a130ffb1c180cac574ff439ecc3ac4b1d3650e3149c5dfa483adcfc9

See more details on using hashes here.

File details

Details for the file tinyaes-1.0.4rc1-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.4rc1-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 40ec3f498728f9025cddd87f934c8249080aaffe3d7ea0fce76fea3ab731a01d
MD5 ab83147530f955dab8358166725cad48
BLAKE2b-256 1e8b25a0686e087658b4db4dd6015fef9d6b9c1631eb87a62acce174ea71ed89

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tinyaes-1.0.4rc1-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 ecfddc8d1db129dce3bc5d16989c51f05e04271f49f3d8e161edd16f5c145958
MD5 8701bdc391c07e7e3d3a945969c08bdf
BLAKE2b-256 6a2322853a1da75082dce3bb3b508f99d23d52de6e7605d73dbde7179e77b571

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tinyaes-1.0.4rc1-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 3ca50e25e77c45ebed8b2b0a9c4a1ad49ecd176d0140ccd1642bd56cdec4ef99
MD5 1a20eff79def55185eb8340c392cbaf3
BLAKE2b-256 ce3cfc2973049786e9cdc30406dd4fc8a16ff15d45bae12ad0d44af660baf78a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: tinyaes-1.0.4rc1-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.4rc1-cp39-cp39-win32.whl
Algorithm Hash digest
SHA256 337d05c00a1ff552b630f91598005209df4e2d3e4a38bc3d4253c892336d2a34
MD5 67ccb3e02d974ec1a353010baa2f8853
BLAKE2b-256 ef1b582286fb249f8d7350a1286e615e8178301ea292cd89b4b1388273bb4ba9

See more details on using hashes here.

File details

Details for the file tinyaes-1.0.4rc1-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.4rc1-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1d1de3ff2717d1ed71256411acf0ed2e71ab8cabbff91a87466c135b6b3f4787
MD5 e07fb138f0a72f392d331f898a2b38f1
BLAKE2b-256 f22f3bc09909de757863557679cd54fd76fe77a9c5c22caa997ec39ad6a068f0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tinyaes-1.0.4rc1-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 2a2965d06fc9ef4edd31e209604d51cdb46550ad292fc50a45129149af23ce5c
MD5 e202edd96c19b9a079974111ac131cc0
BLAKE2b-256 59a562e2e06ce9f1826897fadcadfbb11295501c9ef08fdf4ced67fc2012ad6a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tinyaes-1.0.4rc1-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 7e57056be023a8f106141f68f47448081303ca49b7e6dda158f4d8254e5ca436
MD5 9a2db6d9b5ee1b31ede250b02c71d029
BLAKE2b-256 a79d56d8e1e56f38969f80f5c0c99a402fe6a213d3da8755cc87daa1c09576b2

See more details on using hashes here.

File details

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

File metadata

  • Download URL: tinyaes-1.0.4rc1-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.4rc1-cp38-cp38-win32.whl
Algorithm Hash digest
SHA256 83ba0f4a9959363effa1fc3dbe36459812f1a97060ca9367d16dd2a65f854ddb
MD5 d925ac69f9efe22aeeaada9502986a24
BLAKE2b-256 c911b4bbd3e06abba05f899bc523153e6c95882351b1f1643fa69dbc86583055

See more details on using hashes here.

File details

Details for the file tinyaes-1.0.4rc1-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.4rc1-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 625a6dddb770d1cd6fad354a6f90dee6535ef860959af502837b527873076fa7
MD5 ec7ab1a26ca49c487a6caabac1be35eb
BLAKE2b-256 cff9ae762877d066ca8110a493297620d10dec2d699d4fa20c78eaead4d9e463

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tinyaes-1.0.4rc1-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 96c1b04935a88afe23334450565eda0bc003d01d81f353e7e4fba696e826c400
MD5 943c615a7e518e32cc40d84488db6f11
BLAKE2b-256 df3af0b302d4af8f0e41b83ed50a17cb65971d775c68f006fd2b44d004f7a655

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tinyaes-1.0.4rc1-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 da5492cb5707ee20a204d2d9fd01b04f738dc9e9e5b341825d408dc1a22305be
MD5 7749b5e5afb5b4be8bdd5d19b8c0d2bd
BLAKE2b-256 d41eccc3589b1cc07e18488353397f558247c4236dc7151f361e96a0007246fa

See more details on using hashes here.

File details

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

File metadata

  • Download URL: tinyaes-1.0.4rc1-cp37-cp37m-win32.whl
  • Upload date:
  • Size: 17.6 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.4rc1-cp37-cp37m-win32.whl
Algorithm Hash digest
SHA256 23eed9ff1792a1af94176cdd9ac0ddfda0b557ef60e76cd263d8b8acb578ea8f
MD5 89b6b6b33074a364b6af1fbf4b55d3c6
BLAKE2b-256 7ae68b421ea06fc3c473bf4083a82cacce15046dd0d09e54ea04d1675db29ee9

See more details on using hashes here.

File details

Details for the file tinyaes-1.0.4rc1-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.4rc1-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3d94d0d015984fd2a2c0a95495462c4807f1bf7837aaa18323560ab2b601cc6c
MD5 b1d0de83f5147b4513a2b483b597ef2b
BLAKE2b-256 71b89196b9187c6ae3f25cad38d6fa8415080f6f2d2869291248bde6cc215c87

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tinyaes-1.0.4rc1-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 28202b7fdd6b51dca48d31d71862c38d1a2e361cab2b4170c37618d079d5d31f
MD5 6c3e1426941efc6d89194ffc34f0a3db
BLAKE2b-256 8fcf0f374e51d2d9ab4bf7b124b11216a5b2b6f4b3c0b07e749a5e62af67842d

See more details on using hashes here.

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