tiny-AES-c wrapper in Cython
Project description
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 onbytearray
s 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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Hashes for tinyaes-1.0.0-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3d1eed5808f9c6b068df2ab5a0b05f240e1a5ecc51872bc33f698d01e90b3b51 |
|
MD5 | e1092b5b71480d7a59829cd75a7ed9ef |
|
BLAKE2b-256 | ca2ce5024bdfe4510b8b0ffe981f3bae192cd4fbd787113941e53a0a4b9f66a8 |
Hashes for tinyaes-1.0.0-cp38-cp38-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 64b7efda4456317d6954b5ea20dfc06e2e2b3c333d5f4ac752eb05b157660bec |
|
MD5 | d333ec3bbc6d42db066b5d51d1834636 |
|
BLAKE2b-256 | 0c54f24aaee8b745317c283a0165e3e7c9beb6aa3a19276509d73b393ff918e8 |
Hashes for tinyaes-1.0.0-cp38-cp38-macosx_10_13_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2c74c39814181838badfda8193f917abb07726db2de7295356f85e588668d4ad |
|
MD5 | 275693db98066ea5642343ba92274eae |
|
BLAKE2b-256 | 8128daa71d92bd6f5c849fe69722bb6ece7bdc824266d5f13f41ad1544898ef7 |
Hashes for tinyaes-1.0.0-cp37-cp37m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9baf6724a1acc0cafe5a188e6f821650ad44314fb3a54aa20540c2bc8e97964e |
|
MD5 | 41694e762942b997bfa1076cdc76a8b8 |
|
BLAKE2b-256 | 444951b0d4c3172515e37d6cc24e4e27cc24ad1898d806041fb5e21104aa1f4e |
Hashes for tinyaes-1.0.0-cp37-cp37m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 62ba79fd0253527c607c09fa1d288ef22616ef559da6fbb555bd1141e86d5886 |
|
MD5 | 586f799169a7ada502f3363efe07c9ea |
|
BLAKE2b-256 | 5355fb8a90d17ea0756c768c236982a5293b561d70dbe6c8b6ae6a3f8a05f945 |
Hashes for tinyaes-1.0.0-cp37-cp37m-macosx_10_13_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 65c7a8da94907e47082aae5cb63aa4473265d340ae2ac79df9c044b1ffd46d98 |
|
MD5 | ddfcf7731a3bfce3d4eeab1bbbae99dd |
|
BLAKE2b-256 | bb2c295493656e73f4838e838d62c372c5baca214c23f958284992d0a55194ea |
Hashes for tinyaes-1.0.0-cp36-cp36m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 63b1c8951cb76cfb65856ffc8721d2b98a19c3ff633db15027fe79db15483e4a |
|
MD5 | 7f1c0a8fb60dd1a71c90deb69ac1c742 |
|
BLAKE2b-256 | 97ca9c9b075fc35dc0f1816f66b66934bcb57a9e1a9395a51c480805141c23d0 |
Hashes for tinyaes-1.0.0-cp27-cp27mu-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6798002ca7bc09ab944310a6a832a9e8b005c616c2e2626b636d342192c05c40 |
|
MD5 | 2e9891f16ee1b5520e735dae2575f831 |
|
BLAKE2b-256 | c0d5b8325d8dbeec2858cfc0edebcea165d0c89bebb47e4ff915aea278dfe1ce |
Hashes for tinyaes-1.0.0-cp27-cp27m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4db03ac0cfb62a2b6f0e739643a441f32f46b431ac823479d2e65ee9ed92c838 |
|
MD5 | 832832ed6ded6736949ec599060e3af7 |
|
BLAKE2b-256 | a38011a416868f353752f63dfda62943dc9ebfd3bd329dc794c0569b00de8e10 |
Hashes for tinyaes-1.0.0-cp27-cp27m-macosx_10_13_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ba374748ae074194d6a909da027220a9967a7e5d20810d46605bc327d7e7b20f |
|
MD5 | dd355874b8ec97a343be0b99decc2940 |
|
BLAKE2b-256 | 9f94b52493e1ceb086e8a70c9488ec8da47fbbc9cd6dafb2f00bf62008ed25c5 |