Dear DIY Drones community,
I am very happy to announce a release of a secure version of Pprzlink. Pprzlink is a communication protocol for Paparazzi autopilot. Secure in this context means that each message send or received to or from your UAV is encrypted and authenticated. While having an encrypted communication with a UAV is by no means new (and should be the standard way of talking to drones), Secure pprzlink has two major distinctions.
First, Secure pprzlink uses a formally verified cryptographic library HACL* which is also used by, for example, Mozilla Firefox. Formally verified code is mathematically assured not to have any unintended behaviors, which is especially important for cryprography algorithms.
Second, Secure pprzlink implements a station-to-station key-exchange protocol to exchange temporary session keys before establishing encrypted connection. That way the user doesn't have to worry about key management.
Secure Pprzlink is written in C and Rust, and althogh it is mainly used by Paparazzi autopilot, it is a standalone project and can be used in other applications where secure communication is important.
More detailed explanation is on Paparazzi blog: https://blog.paparazziuav.org/2018/03/26/secure-pprzlink-released/
Happy (and secure) flying!