Index: src/scrypt.1 |
diff --git a/src/scrypt.1 b/src/scrypt.1 |
new file mode 100644 |
index 0000000000000000000000000000000000000000..c0d432e0d7ea1f331171fa02e564b1ba33a72a1b |
--- /dev/null |
+++ b/src/scrypt.1 |
@@ -0,0 +1,114 @@ |
+.\" Copyright 2009 Colin Percival |
+.\" All rights reserved. |
+.\" |
+.\" Redistribution and use in source and binary forms, with or without |
+.\" modification, are permitted provided that the following conditions |
+.\" are met: |
+.\" 1. Redistributions of source code must retain the above copyright |
+.\" notice, this list of conditions and the following disclaimer. |
+.\" 2. Redistributions in binary form must reproduce the above copyright |
+.\" notice, this list of conditions and the following disclaimer in the |
+.\" documentation and/or other materials provided with the distribution. |
+.\" |
+.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND |
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE |
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE |
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL |
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS |
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) |
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT |
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY |
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF |
+.\" SUCH DAMAGE. |
+.Dd May 24, 2009 |
+.Dt SCRYPT 1 |
+.Os |
+.Sh NAME |
+.Nm scrypt |
+.Nd encrypt and decrypt files. |
+.Sh SYNOPSIS |
+.Nm |
+.Brq Cm enc | Cm dec |
+.Op Fl M Ar maxmem |
+.Op Fl m Ar maxmemfrac |
+.Op Fl t Ar maxtime |
+.Ar infile |
+.Op Ar outfile |
+.Sh DESCRIPTION |
+.Nm Cm enc |
+encrypts |
+.Ar infile |
+and writes the result to |
+.Ar outfile |
+if specified, or the standard output otherwise. |
+The user will be prompted to enter a passphrase (twice) to |
+be used to generate a derived encryption key. |
+.Pp |
+.Nm Cm dec |
+decrypts |
+.Ar infile |
+and writes the result to |
+.Ar outfile |
+if specified, or the standard output otherwise. |
+The user will be prompted to enter the passphrase used at |
+encryption time to generate the derived encryption key. |
+.Sh OPTIONS |
+.Bl -tag -width "-m maxmemfrac" |
+.It Fl M Ar maxmem |
+Use at most |
+.Ar maxmem |
+bytes of RAM to compute the derived encryption key. |
+.It Fl m Ar maxmemfrac |
+Use at most the fraction |
+.Ar maxmemfrac |
+of the available RAM to compute the derived encryption key. |
+.It Fl t Ar maxtime |
+Usr at most |
+.Ar maxtime |
+seconds of CPU time to compute the derived encryption key. |
+.El |
+In |
+.Nm Cm enc , |
+the memory and CPU time limits are enforced by picking |
+appropriate parameters to the |
+.Nm |
+key derivation function. |
+In |
+.Nm Cm dec , |
+the memory and CPU time limits are enforced by exiting with |
+an error if decrypting the file would require too much memory |
+or CPU time. |
+.Sh EXIT STATUS |
+The |
+.Nm |
+utility exits 0 on success, and >0 if an error occurs. |
+.Pp |
+Note that if the input encrypted file is corrupted, |
+.Nm Cm dec |
+may produce output prior to determining that the input |
+was corrupt and exiting with a non-zero status; so |
+users should direct the output to a safe location and |
+check the exit status of |
+.Nm |
+before using the decrypted data. |
+.Sh SEE ALSO |
+.Rs |
+.%A "Colin Percival" |
+.%T "Stronger Key Derivation via Sequential Memory-Hard Functions" |
+.%O "Presented at BSDCan'09" |
+.%D "May 2009" |
+.Re |
+.Sh HISTORY |
+The |
+.Nm |
+utility was written in May 2009 by Colin Percival as a |
+demonstration of the |
+.Nm |
+key derivation function. |
+The |
+.Nm |
+key derivation function was invented in March 2009 by Colin |
+Percival in order to allow key files from the |
+.Nm tarsnap |
+backup system to be passphrase protected. |