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