GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
ROSENPASS(1) FreeBSD General Commands Manual ROSENPASS(1)

rosenpassbuilds post-quantum-secure VPNs

rosenpass [COMMAND] [OPTIONS ...] [ARGS ...]

rosenpass performs cryptographic key exchanges that are secure against quantum-computers and then outputs the keys. These keys can then be passed to various services, such as wireguard or other vpn services, as pre-shared-keys to achieve security against attackers with quantum computers.

This is a research project and quantum computers are not thought to become practical in fewer than ten years. If you are not specifically tasked with developing post-quantum secure systems, you probably do not need this tool.

keygen private-key <file-path> public-key <file-path>
Generate a keypair to use in the exchange command later. Send the public-key file to your communication partner and keep the private-key file secret!
exchange private-key <file-path> public-key <file-path> [OPTIONS] PEERS
Start a process to exchange keys with the specified peers. You should specify at least one peer.

Its OPTIONS are as follows:

listen <ip>[:<port>]
Instructs rosenpass to listen on the specified interface and port. By default, rosenpass will listen on all interfaces and select a random port.
verbose
Extra logging.

Each PEER is defined as follows: "peer public-key <file-path> [endpoint <ip>[:<port>]] [preshared-key <file-path>] [outfile <file-path>] [wireguard <dev> <peer> <extra_params>]"

Providing a PEER instructs rosenpass to exchange keys with the given peer and write the resulting PSK into the given output file. You must either specify the outfile or wireguard output option.

The parameters of PEER are as follows:

endpoint <ip>[:<port>]
Specifies the address where the peer can be reached. This will be automatically updated after the first successful key exchange with the peer. If this is unspecified, the peer must initiate the connection.
preshared-key <file-path>
You may specify a pre-shared key which will be mixed into the final secret.
outfile <file-path>
You may specify a file to write the exchanged keys to. If this option is specified, rosenpass will write a notification to standard out every time the key is updated.
wireguard <dev> <peer> <extra_params>
This allows you to directly specify a wireguard peer to deploy the pre-shared-key to. You may specify extra parameters you would pass to "wg set" besides the preshared-key parameter which is used by rosenpass. This makes it possible to add peers entirely from rosenpass.

The rosenpass utility exits 0 on success, and >0 if an error occurs.

rp(1), wg(1)

This tool is the reference implementation of the Rosenpass protocol, written by Karolin Varner, Benjamin Lipp, Wanja Zaeske, and Lisa Schmidt.

Rosenpass was created by Karolin Varner, Benjamin Lipp, Wanja Zaeske, Marei Peischl, Stephan Ajuvo, and Lisa Schmidt.

This manual page was written by Emil Engler

The bugs are tracked at https://github.com/rosenpass/rosenpass/issues.

July 22, 2025 FreeBSD 14.3-RELEASE

Search for    or go to Top of page |  Section 1 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.