This PR adds the option to use an encrypted communication with paparazzi link, similar to Galois Embedded Crypto
The intention was to hide all the crypto from the user, so there is the same Paparazzi code for normal and encrypted version of pprzlink.
It uses a formally verified crypto library HACL* (or specifically an automatically generated C snapshot).
More detailed description of the algorithm is on the wiki (to be expanded).
Summary of changes
Added HACL-C snapshot
Added secure_pprz_transport
minor fixes in paths etc to make it compile
Notes
so far implemented only the symmetric encryption part, the key exchange will come later
the keys are currently hard-coded, see comments in the code
only for v1.0 at the moment
For reviewers
you can ignore the content of HACL-C files, they are just a copy of the generated code
see notes in the code
intentionally omitting OCaml files as I have no expertise in OCaml. The ground part of pprzlink will be handled by a Rust library (see https://github.com/paparazzi/pprzlink-rust )
This PR adds the option to use an encrypted communication with paparazzi link, similar to Galois Embedded Crypto
The intention was to hide all the crypto from the user, so there is the same Paparazzi code for normal and encrypted version of pprzlink.
It uses a formally verified crypto library HACL* (or specifically an automatically generated C snapshot).
More detailed description of the algorithm is on the wiki (to be expanded).
Summary of changes
secure_pprz_transport
Notes
For reviewers