Working on a Rust implementation, and request for test vectors

sopium sopium at mysterious.site
Tue Feb 21 07:07:25 CET 2017


Hello list and Jason,

I'd like to tell you that I have started working on a Rust
implementation of WireGuard (actually to make my TiTun[0] program
compatible with WireGuard).

I have already implemented the Noise part in noise-rust[1]. It is a
rewrite of screech, with hopefully better API, documentation, testing
and overall quality. Issues like [2] and [3] should have been
solved. I wish noise-rust would be helpful for those who want to
implement WireGuard (or other Noise based protocols) in Rust.

I plan to implement the rest of the WireGuard protocol in the
following weeks. (Well, no promises.) You are welcome to join the
effort, of course.

Jason, can you generate and provide some test vectors for WireGuard?
E.g. for the less widely used or less clearly defined primitives, like
HMAC-BLAKE2s and XChaCha20Poly1305. And for whole handshake and
transportation sessions. And for cookie reply packet generation. That
should greatly help ensure interoperability between different WireGuard
implementations.

0. https://github.com/sopium/titun

1. https://github.com/sopium/noise-rust

2. https://github.com/trevp/screech/issues/5

3. https://github.com/solidsnack/screech/commit/6d91d075ad2f98f03c807a471953495c720a5696

Regards,
Sopium




More information about the WireGuard mailing list