Commit Graph

  • 88efc4cabc Update pyproject, bump version. main v0.3.1 Leo Vasanko 2025-11-09 20:41:40 -06:00
  • 04b11e9925 README tuning. New benchmark results (a bit slower than initial versions were). Leo Vasanko 2025-11-09 20:40:04 -06:00
  • d8a9a7ee9d Use a much faster method to wipe buffers. Leo Vasanko 2025-11-09 20:38:28 -06:00
  • f5430a6ad4 Cleanup. Leo Vasanko 2025-11-09 20:00:12 -06:00
  • f84ef727d3 Bump version v0.3.0 Leo Vasanko 2025-11-09 09:47:08 -06:00
  • 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
  • d4f8be69ed Bump version v0.2.0 Leo Vasanko 2025-11-07 12:51:40 -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