Working on a Rust implementation, and request for test vectors

Sascha Grunert saschagrunert at
Tue Feb 21 11:07:10 CET 2017

Hey sopium,

I also would like to develop a Rust version of wireguard, we should join our forces! :)
I had a short look at your implementation and suggest some things:

- If we want to develop an implementation of wireguard we should give it an "official touch“, like
  a wireguard GitHub Organization and some official repo.
- We should consider using tokio for async IO processing, that would also mean that we implement
  the noise protocol for tokio.

Best regards,

> Am 21.02.2017 um 07:07 schrieb sopium <sopium at>:
> 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.
> 1.
> 2.
> 3.
> Regards,
> Sopium
> _______________________________________________
> WireGuard mailing list
> WireGuard at

More information about the WireGuard mailing list