Leo Vasanko
88efc4cabc
Update pyproject, bump version.
v0.3.1
2025-11-09 20:41:40 -06:00
Leo Vasanko
04b11e9925
README tuning. New benchmark results (a bit slower than initial versions were).
2025-11-09 20:40:04 -06:00
Leo Vasanko
d8a9a7ee9d
Use a much faster method to wipe buffers.
2025-11-09 20:38:28 -06:00
Leo Vasanko
f5430a6ad4
Cleanup.
2025-11-09 20:00:12 -06:00
Leo Vasanko
f84ef727d3
Bump version
v0.3.0
2025-11-09 09:47:08 -06:00
Leo Vasanko
bb9d11842a
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.
2025-11-09 09:46:21 -06:00
Leo Vasanko
20e0ed8c5f
Cleanup benchmark
2025-11-09 08:59:53 -06:00
Leo Vasanko
62fc8fa855
Make Mac class prevent further updates or final after finalisation. Keep cached values for hashlib API.
2025-11-09 08:53:50 -06:00
Leo Vasanko
67c2958384
Cleanup
2025-11-08 20:39:41 -06:00
Leo Vasanko
a6faaf9f62
Simplify implementation: remove bytes_in and bytes_out counters from all classes.
2025-11-08 20:09:26 -06:00
Leo Vasanko
75cbc76845
Wipe state structs automatically after use. Simplified aligned allocator and its use via a single handle.
2025-11-08 20:04:39 -06:00
Leo Vasanko
95563a43d1
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.
Documentation updated with the changes and further examples.
Tests updated with the changes, new test module for error cases (test_raises).
Docstrings improved.
2025-11-08 18:53:27 -06:00
Leo Vasanko
e58990a1c2
Add human-readable algorithm name as NAME constant.
2025-11-08 16:01:05 -06:00
Leo Vasanko
13445887e9
Constants renamed and values extracted from C code rather than function call at runtime. Documentation update.
2025-11-08 15:43:01 -06:00
Leo Vasanko
751a929836
Combine the two generator scripts into one that also reads ALIGNMENT and RATE from C sources.
2025-11-08 13:20:15 -06:00
Leo Vasanko
d4f8be69ed
Bump version
v0.2.0
2025-11-07 12:51:40 -06:00
Leo Vasanko
77601d7f57
README
2025-11-07 10:30:23 -06:00
Leo Vasanko
4356e57ace
Move the build_backend script to tools folder.
2025-11-07 10:26:03 -06:00
Leo Vasanko
5e19bd980e
Documentation updates, added BUILD.md
2025-11-07 10:20:27 -06:00
Leo Vasanko
63ccef577d
Use uv in the commands.
2025-11-07 10:00:36 -06:00
Leo Vasanko
555bbcf2a5
README formatting
2025-11-07 09:59:20 -06:00
Leo Vasanko
1dcdafa008
util.nonce_increment and util.wipe functions, also exported by each module for convenience.
2025-11-07 09:53:39 -06:00
Leo Vasanko
96ce7867de
README updated
2025-11-07 09:52:28 -06:00
Leo Vasanko
b15174af8b
Make random_key and random_nonce return bytearray, and add a nonce_increment utility function.
2025-11-07 07:43:33 -06:00
Leo Vasanko
02eb4d7718
README
2025-11-06 21:11:38 -06:00
Leo Vasanko
1b4d43a448
Do not return True from MAC verify function on success.
2025-11-06 21:11:24 -06:00
Leo Vasanko
a8947c23b3
Add random_key and random_nonce functions to each submodule. Update docstrings to show the correct lengths for keys and nonces.
2025-11-06 20:03:56 -06:00
Leo Vasanko
2677df3bde
Remove examples folder, keep benchmark as pyaegis.benchmark that becomes part of the install.
2025-11-06 19:55:51 -06:00
Leo Vasanko
7175654b27
API cleanup for simplified update/final. Returns bytearrays when into is not used. Allows into buffers larger than needed. Misc other changes.
2025-11-06 19:38:18 -06:00
Leo Vasanko
46dff56e28
Cleanup.
2025-11-06 19:36:43 -06:00
Leo Vasanko
fc76bc4280
More informative build error message when Zig is not installed.
2025-11-06 17:04:03 -06:00
Leo Vasanko
9f2b931a0b
Another approach to use zig build with setuptools.
2025-11-06 16:56:39 -06:00
Leo Vasanko
fbf9c944e6
Include zig build in the build process.
2025-11-06 16:43:54 -06:00
Leo Vasanko
f8cc02eb41
Switch from hatch to setuptools/CFFI build to produce wheels correctly.
2025-11-06 16:34:32 -06:00
Leo Vasanko
fd24bb02f8
Test cleanup, remove debug.
2025-11-06 16:33:51 -06:00
Leo Vasanko
285f11299e
Remove Encryptor.final_detached(), as final() handles both cases identically (only returns MAC).
2025-11-06 16:33:04 -06:00
Leo Vasanko
3248fccbac
The update functions of libaegis now return the same number of bytes that went in. Update the binding accordingly.
2025-11-06 16:27:48 -06:00
Leo Vasanko
17a5f45394
Add comments to generated files saying how they are generated.
2025-11-06 15:31:29 -06:00
Leo Vasanko
d43a22bc6c
Build cleanup, pathname reorganisation, cdef to repository (although generated with gen_cdef.py).
2025-11-06 15:23:30 -06:00
Leo Vasanko
c8fe16d21f
Add .gitignore
2025-11-06 10:52:23 -06:00
Leo Vasanko
ea066e101d
Add libaegis submodule
2025-11-06 10:51:32 -06:00
Leo Vasanko
42ddaac6bc
Rename module to pyaegis, implement build with zig.
2025-11-06 10:47:54 -06:00
Leo Vasanko
8898cec50f
Add pytest dev dependency.
2025-11-06 08:20:23 -06:00
Leo Vasanko
3579b94e83
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.
2025-11-06 07:56:12 -06:00
Leo Vasanko
bcf4655f64
Precise update output length calculation to allocate exactly sized buffers.
2025-11-06 07:45:15 -06:00
Leo Vasanko
438627e0db
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.
2025-11-05 15:13:46 -06:00
Leo Vasanko
02310675b7
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.
2025-11-04 21:02:29 -06:00
Leo Vasanko
6ceb2971fa
Cleanup
2025-11-04 18:40:22 -06:00
Leo Vasanko
7541d9d837
Initial commit
2025-11-04 18:14:07 -06:00