explaingit

mullvad/oqs-rs

Analysis updated 2026-08-08 · repo last pushed 2020-10-12

36RustAudience · developerComplexity · 3/5DormantSetup · moderate

TLDR

Rust tools for experimenting with quantum-resistant cryptography, built by Mullvad to explore post-quantum VPN security. Archived and unmaintained, now mainly useful as a historical reference.

Mindmap

mindmap
  root((repo))
    What it does
      Post-quantum crypto bindings
      Wireguard key exchange
      JSON key server client
    Tech stack
      Rust
      liboqs
      Wireguard
    Use cases
      Post-quantum VPN tunnels
      Privacy infrastructure research
      Quantum-safe key exchange
    Audience
      Rust developers
      Security engineers
      VPN builders
    Status
      Archived unmaintained
      Historical reference only

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Add quantum-resistant encryption to a Rust networking or security tool.

USE CASE 2

Exchange post-quantum cryptographic keys using a JSON-based server and client.

USE CASE 3

Negotiate a quantum-safe pre-shared key over a Wireguard VPN tunnel.

USE CASE 4

Study how a privacy-focused VPN company approached post-quantum security.

What is it built with?

RustliboqsWireguard

How does it compare?

mullvad/oqs-rsdicklesworthstone/frankensimsergiobenitez/ubyte
Stars363636
LanguageRustRustRust
Last pushed2020-10-122023-10-02
MaintenanceDormantDormant
Setup difficultymoderatehardeasy
Complexity3/55/52/5
Audiencedeveloperresearcherdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 1h+

Requires building liboqs from source and linking it with Rust, plus the project is archived and unmaintained.

No license information was mentioned in the README, so the licensing terms are unknown.

In plain English

This repository provides Rust tools for experimenting with quantum-resistant cryptography, encryption designed to stay secure even if future quantum computers break today's standard encryption. It was built by Mullvad, a privacy-focused VPN company, to explore how to make VPN tunnels resistant to quantum attacks. However, the README notes clearly that these bindings are no longer maintained, pointing to a newer official project as the replacement. The project includes several pieces. One provides low-level connections to liboqs, a library of post-quantum cryptographic algorithms. Another wraps those into higher-level Rust code that's easier to work with. There's also a server and client for exchanging cryptographic keys using JSON-based communication. Finally, there's a tool specifically for negotiating a pre-shared key over a Wireguard tunnel, a common VPN protocol, so that tunnel can be upgraded to post-quantum security. The intended users are developers building networking or security tools in Rust who want to add quantum-resistant encryption to their projects. The most concrete example from the README is Mullvad's own use case: establishing a post-quantum-safe pre-shared key over an existing Wireguard VPN connection. Someone building similar privacy infrastructure might have used this as a reference or starting point. Since this is archived and unmaintained, it's mainly useful as a historical reference rather than something to build on today. The README doesn't go into detail about which specific quantum-resistant algorithms are supported or how the key exchange protocols work under the hood. Those interested in the current state of the project would want to look at the replacement repository it points to.

Copy-paste prompts

Prompt 1
I want to add post-quantum key exchange to a Wireguard VPN tunnel in Rust. Use the mullvad/oqs-rs repository as a reference to show me how to negotiate a quantum-safe pre-shared key over an existing connection.
Prompt 2
Show me how the mullvad/oqs-rs project wraps liboqs post-quantum algorithms into higher-level Rust code, and help me adapt that pattern for my own Rust networking tool.
Prompt 3
Using the archived mullvad/oqs-rs repo as a starting point, help me build a simple Rust server and client that exchange post-quantum cryptographic keys over JSON.

Frequently asked questions

What is oqs-rs?

Rust tools for experimenting with quantum-resistant cryptography, built by Mullvad to explore post-quantum VPN security. Archived and unmaintained, now mainly useful as a historical reference.

What language is oqs-rs written in?

Mainly Rust. The stack also includes Rust, liboqs, Wireguard.

Is oqs-rs actively maintained?

Dormant — no commits in 2+ years (last push 2020-10-12).

What license does oqs-rs use?

No license information was mentioned in the README, so the licensing terms are unknown.

How hard is oqs-rs to set up?

Setup difficulty is rated moderate, with roughly 1h+ to a first successful run.

Who is oqs-rs for?

Mainly developer.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.