C library implementation of the Rail Safe Transport Application (RaSTA) protocol.
This implementation of the RaSTA protocol supports Datagram TLS (DTLS), see TLS HowTo.
The project is built with CMake.
It provides different variants of librasta
as an output, depending on which transport layer is required:
- librasta_udp
- librasta_tcp
- librasta_dtls (if
ENABLE_RASTA_TLS
is enabled) - librasta_tls (if
ENABLE_RASTA_TLS
is enabled)
see CUnit HowTo
see Getting started
- CUnit - For Unit tests
- CppCheck - For static code analysis
- Doxygen - Documentation generation
- CMake - Compilation
Orthogonally to DTLS/TLS, this implementation of the RaSTA protocol also supports an additional key exchange phase after the initial handshake. During this phase, using the OPAQUE password authenticated key exchange protocol and a user-supplied pre-shared key, a session key with high randomness is exchanged between the peers. Also, it is verified that both peers have knowledge of the PSK. For more details, see OPAQUE HowTo.