-r--r--r-- 5427 libntruprime-20240825/doc/html/cli.html raw
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<style type="text/css">
html{overflow-y:scroll;background-color:#004591}
body{font-family:"Noto Sans","Droid Sans","DejaVu Sans","Arial",sans-serif;line-height:1.5}
tt,code{background-color:#f0f0f0;font-family:"Noto Sans Mono","Droid Sans Mono","DejaVu Sans Mono","Courier New",monospace,sans-serif;font-size:1em;}
pre{margin-left:3em}
p,ul,ol,blockquote,pre{font-size:1.0em;line-height:1.6}
li p{font-size:1.0em}
blockquote p{font-size:1.0em}
h1{font-size:1.5em}
h2{font-size:1.3em}
h3{font-size:1.0em}
h1 a{text-decoration:none}
table{border-collapse:collapse}
th,td{border:1px solid black}
table a{text-decoration:none}
table tr{font-size:1.0em;line-height:1.6em}
table tr{font-size:1.0em;line-height:1.5}
tbody tr:nth-child(12n+1){background-color:#f0ffff}
tbody tr:nth-child(12n+2){background-color:#f0ffff}
tbody tr:nth-child(12n+3){background-color:#f0ffff}
tbody tr:nth-child(12n+4){background-color:#f0ffff}
tbody tr:nth-child(12n+5){background-color:#f0ffff}
tbody tr:nth-child(12n+6){background-color:#f0ffff}
tbody tr:nth-child(12n+7){background-color:#fffff0}
tbody tr:nth-child(12n+8){background-color:#fffff0}
tbody tr:nth-child(12n+9){background-color:#fffff0}
tbody tr:nth-child(12n+10){background-color:#fffff0}
tbody tr:nth-child(12n+11){background-color:#fffff0}
tbody tr:nth-child(12n+12){background-color:#fffff0}
.headline{padding:0;font-weight:bold;font-size:1.0em;vertical-align:top;padding-bottom:0.5em;color:#ffffff;background-color:#004591}
.navt{display:block;box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;margin:0;padding:0;vertical-align:center;font-size:1.0em}
.here{background-color:#004591}
.here{color:#ffffff}
.away{background-color:#004591}
.away a{text-decoration:none;display:block;color:#ffffff}
.away a:hover,.away a:active{text-decoration:underline}
.main{padding:5px}
.main{background-color:#ffffff}
.pagetitle{font-size:1.4em;font-weight:bold}
@media only screen and (min-width:512px) {
.fixed{margin:0;padding:0;width:160px;height:100%;position:fixed;overflow:auto}
.main{margin-left:170px}
}
</style>
<title>
libntruprime: CLI</title>
</head>
<body>
<div class=fixed>
<div class=headline>
libntruprime</div>
<div class="navt away"><a href=index.html>Intro</a>
</div><div class="navt away"><a href=download.html>Download</a>
</div><div class="navt away"><a href=install.html>Install</a>
</div><div class="navt away"><a href=test.html>Test</a>
</div><div class="navt away"><a href=api.html>API</a>
</div><div class="navt here">CLI
</div><div class="navt away"><a href=security.html>Security</a>
</div><div class="navt away"><a href=verification.html>Verification</a>
</div><div class="navt away"><a href=speed.html>Speed</a>
</div><div class="navt away"><a href=internals.html>Internals</a>
</div><div class="navt away"><a href=people.html>People</a>
</div><div class="navt away"><a href=license.html>License</a>
</div></div>
<div class=main>
<div class=pagetitle>libntruprime: CLI</div>
<h3>NAME</h3>
<p>sntrup - command-line interface for the libntruprime implementation of the Streamlined NTRU Prime cryptosystem</p>
<h3>SYNOPSIS</h3>
<p>Key generation (for, e.g., <code>sntrup1277</code>):</p>
<pre><code>sntrup1277-keypair 5>publickey 9>secretkey
</code></pre>
<p>Encapsulation (for, e.g., <code>sntrup1277</code>):</p>
<pre><code>sntrup1277-enc >ciphertext 7>sessionkey 4<publickey
</code></pre>
<p>Decapsulation (for, e.g., <code>sntrup1277</code>):</p>
<pre><code>sntrup1277-dec 7>sessionkey <ciphertext 8<secretkey
</code></pre>
<h3>DESCRIPTION</h3>
<p>libntruprime is an implementation
of the <a href="https://ntruprime.cr.yp.to">Streamlined NTRU Prime</a> cryptosystem.
The command-line interface for libntruprime
provides the following command-line tools:</p>
<pre><code>sntrup{653,761,857,953,1013,1277}-keypair
sntrup{653,761,857,953,1013,1277}-enc
sntrup{653,761,857,953,1013,1277}-dec
</code></pre>
<p>Each tool exits 0 on success, nonzero on failure.</p>
<p>These tools allow libntruprime
to be easily used from shell scripts.
Other languages can also use libntruprime via these tools,
but languages typically have good support for FFI
and can use the C interface directly.</p>
<p>The details below use <code>sntrup1277</code> as an example.</p>
<h3>KEY GENERATION</h3>
<p>Alice runs the <code>sntrup1277-keypair</code> command.
This command randomly generates
Alice's secret key and Alice's corresponding public key.
It writes the public key to file descriptor 5,
and then writes the secret key to file descriptor 9.</p>
<h3>ENCAPSULATION</h3>
<p>Bob runs the <code>sntrup1277-enc</code> command.
This command
reads Alice's public key from file descriptor 4.
It randomly generates
a ciphertext and the corresponding session key.
It writes the ciphertext to stdout,
and then writes the session key to file descriptor 7.</p>
<h3>DECAPSULATION</h3>
<p>Alice runs the <code>sntrup1277-dec</code> command.
This command
reads Alice's secret key from file descriptor 8,
and then reads a ciphertext from stdin.
It computes the corresponding session key,
which it writes to file descriptor 7.</p>
<h3>SEE ALSO</h3>
<p><strong>sntrup</strong>(3)</p><hr><font size=1><b>Version:</b>
This is version 2024.08.15 of the "CLI" web page.
</font>
</div>
</body>
</html>