ROSENPASS(1)
β¨ NAME β¨
rosenpass(1) β from the General Commands Manual β rosenpass builds post-quantum-secure VPNs π
β¨
π¦ SYNOPSIS π¦
rosenpass [COMMAND] [OPTIONS ...] [ARGS ...]
π DESCRIPTION π
Okay bestie, so rosenpass does cryptographic key exchanges that are secure against quantum-computers, and then it outputs the keys. Those 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. π₯
Real talk: 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. No cap. π
π COMMANDS π
You got two main-character commands, bestie:
keygen private-key <file-path> public-key <file-path>β Generate a keypair to use in theexchangecommand later. Send thepublic-keyfile to your communication partner and keep theprivate-keyfile 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>]β Instructsrosenpassto listen on the specified interface and port. By default,rosenpasswill listen on all interfaces and select a random port. πverboseβ Extra logging. π£οΈ
π PEER π
Each PEER is defined as follows, exactly like this:
"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,rosenpasswill 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 thepreshared-keyparameter which is used byrosenpass. This makes it possible to add peers entirely fromrosenpass. π°οΈ
π EXIT STATUS π
The rosenpass utility exits 0 on success, and >0 if an error occurs. Periodt. β
π SEE ALSO π
rp(1), wg(1)
π STANDARDS π
This tool is the reference implementation of the Rosenpass protocol, written by Karolin Varner, Benjamin Lipp, Wanja Zaeske, and Lisa Schmidt. π
π«Ά AUTHORS π«Ά
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
π BUGS π
The bugs are tracked at https://github.com/rosenpass/rosenpass/issues. π
Sign-off: this page is from Debian, dated $Mdocdate$, for ROSENPASS(1) β mwah, bestie πβ¨
π¦ where this page comes from
- nixos 26.05: rosenpass 0.2.2
- nixpkgs unstable: rosenpass 0.2.3
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms