0cb7faf698
Add Gitea release workflow: per-platform wheel builds, then publish to PyPI
LeoVasanko2026-10-04 02:54:30 +00:00
a1bfeb2434
Build updated for upstream libaegis 0.9.0 simplified API with matching changes on Python side. Set lower MacOS build target (11.0). Build abi3 version for all supported Python versions, reducing the number of wheels. Other build cleanup.
v0.9.0
LeoVasanko2026-01-10 20:23:37 +00:00
a26ce6a9fb
Considered stable from here onwards.
LeoVasanko2026-01-10 20:22:44 +00:00
7e6a5bf52a
Allow the cipher() function also work without prefix aegis
LeoVasanko2026-01-04 14:25:39 +00:00
8018e68274
Add nonce_increment and wipe functions on typing.
LeoVasanko2026-01-04 14:19:01 +00:00
ccccfd7918
README: Add the new aeg.cipher() function for fetching variants.
LeoVasanko2025-12-31 22:51:19 +00:00
4de66b6bc6
[packaging] Release script: Fix further problems with freethreaded wheels and a variable name overlap.
LeoVasanko2025-12-31 22:30:28 +00:00
67ec091bc5
Add aeg.cipher(alg) for loading modules by name in str. Added aeg.CIPHERS mapping of the nominal names to module names and Cipher for typing literals.
LeoVasanko2025-12-31 21:38:30 +00:00
4977a7e79d
Added free-threaded non-GIL Python and PyPy wheels, up to 3.15 now.
LeoVasanko2025-12-31 21:24:56 +00:00
cb0f9956c3
Convert all input buffers to memoryview before use and use .nbytes, because len() doesn't work correctly with some buffers. Update docs with a Numpy example.
LeoVasanko2025-11-09 21:19:50 +00:00
0d63844201
Make Mac class prevent further updates or final after finalisation. Keep cached values for hashlib API.
LeoVasanko2025-11-09 20:53:19 +00:00
26b883ecbc
Simplify implementation: remove bytes_in and bytes_out counters from all classes.
LeoVasanko2025-11-09 08:09:26 +00:00
87d9a07868
Wipe state structs automatically after use. Simplified aligned allocator and its use via a single handle.
LeoVasanko2025-11-09 08:04:00 +00:00
eed36e2463
API updates: - Mac class follows hashlib API: digest functions added and finalization no longer modifies state. - Encryptor and Decryptor now raise RuntimeError if still used after final.
LeoVasanko2025-11-09 06:53:27 +00:00
46bc05f547
Add human-readable algorithm name as NAME constant.
LeoVasanko2025-11-09 04:01:05 +00:00
56d304a82e
Constants renamed and values extracted from C code rather than function call at runtime. Documentation update.
LeoVasanko2025-11-09 03:43:01 +00:00
28ee0e1314
Combine the two generator scripts into one that also reads ALIGNMENT and RATE from C sources.
LeoVasanko2025-11-09 01:20:15 +00:00
fc1025f56d
Do not return True from MAC verify function on success.
LeoVasanko2025-11-07 09:11:24 +00:00
3d75cc7e55
Add random_key and random_nonce functions to each submodule. Update docstrings to show the correct lengths for keys and nonces.
LeoVasanko2025-11-07 08:03:56 +00:00
5b49422cb7
Remove examples folder, keep benchmark as pyaegis.benchmark that becomes part of the install.
LeoVasanko2025-11-07 07:55:51 +00:00
cca78f4224
API cleanup for simplified update/final. Returns bytearrays when into is not used. Allows into buffers larger than needed. Misc other changes.
LeoVasanko2025-11-07 07:38:18 +00:00
93bdbc26a2
Remove Encryptor.final_detached(), as final() handles both cases identically (only returns MAC).
LeoVasanko2025-11-07 04:33:04 +00:00
2612dc8187
The update functions of libaegis now return the same number of bytes that went in. Update the binding accordingly.
LeoVasanko2025-11-07 04:27:48 +00:00
302429b7a4
Add comments to generated files saying how they are generated.
LeoVasanko2025-11-07 03:31:29 +00:00
b83120187c
Build cleanup, pathname reorganisation, cdef to repository (although generated with gen_cdef.py).
LeoVasanko2025-11-07 03:23:30 +00:00
df6b1b2832
Add tests for all functions of each algorithm against AEGIS test vectors (JSON). Incremental updates are tested with randomized splits to catch a variety of errors.
LeoVasanko2025-11-06 19:56:12 +00:00
2ffe7b6c0e
Add helper function for calculating the incremental update output buffer size. Add bytes_in and bytes_out counters on the incremental classes. Avoid ERANGE errors caused by too small output buffer.
LeoVasanko2025-11-06 03:13:46 +00:00
618d9e0967
Make key, nonce the first arguments (in this order), require kwargs past the initial few positional arguments. Add ALIGNMENT constant to each module. Add a script to generate all other modules from aegis256x4.py.
LeoVasanko2025-11-05 08:26:47 +00:00