Skip to content

Latest commit

 

History

History
30 lines (24 loc) · 1.4 KB

README.md

File metadata and controls

30 lines (24 loc) · 1.4 KB

Warble

Warble is an Authenticated Encryption with Additional Data (AEAD) protocol using the Strobe framework.

The implementation of the AEAD traits for the Strobe struct allows for composition with other protocols, and for the transmission of any number of in-order messages.

The implementation of the AEAD traits for the Warble structs supports the transmission of any number of unordered messages by using session keys and nonces to ensure key uniqueness.

Warble assumes that key exchange has already taken place.

Known security considerations:

  • This is unaudited code built on top of unaudited code.
  • (keys,version,nonce,auth_data) tuple must be unique, so it is important that nonce generation ensure uniqueness at least per key.
  • This protocol assumes that key exchange has already taken place. Its security relies on the strength of these keys.
  • This construction is not nonce-misuse resistant.
  • Implementation of anti-replay window is not thread-safe.

Subset of resources used: