Skip to content
/ warble Public

Authenticated Encryption with Additional Data (AEAD) protocol using the Strobe framework. Experimental, not audited.

License

Notifications You must be signed in to change notification settings

mmou/warble

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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:

About

Authenticated Encryption with Additional Data (AEAD) protocol using the Strobe framework. Experimental, not audited.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages