Mentions légales du service

Skip to content

extend `SecaggRequest` message with `job_id`

VESIN Marc requested to merge feature/355-extend-message into develop

Content of MR

This MR partially implements #355 (closed):

  • extend the SecaggRequest message with job_id field + adapt node/server side handling of secagg context setup. This is a needed step to save/load secagg context on node side.

This MR also covers:

  • partial rewrite of secagg implementation to implement additional rule: secagg server key context element is specific to a job_id, while secagg biprime context element is common to all jobs (empty job_id or no job_id parameter, depending on the class)
  • partial rewrite of node side secagg implementation to better check the content of SecaggRequest message (move from Node() to SecaggSetup(), use Validate(), additional checks on content)
  • fix error in SecaggRequest message handling on node side: catch more bad message cases, send reply message in case of error

Guidelines for MR review

You may use the notebooks/general-tutorial-secagg.ipynb. At least this notebook should work (tested in my env).

General:

  • give a glance to DoD
    • note: added full unit test coverage for additions
  • check coding rules and coding style
  • check docstrings (eg run tests/docstrings/check_docstrings)
    • note: done, it builds

Specific to some cases:

  • update all conda envs consistently (development and vpn, Linux and MacOS)
    • note: does not apply, no conda update needed for this MR
  • if modified researcher (eg new attributes in classes) check if breakpoint needs update (breakpoint/load_breakpoint in Experiment(), save_state/load_state in aggregators, strategies, secagg, etc.)
    • note: tested saving/loading breakpoint, see secagg tutorial notebook and unit tests
Edited by VESIN Marc

Merge request reports