NAME¶
scrypt —
encrypt and decrypt files.
SYNOPSIS¶
scrypt |
{enc |
dec}
[-M
maxmem ]
[-m
maxmemfrac ]
[-t
maxtime ]
infile
[outfile ] |
DESCRIPTION¶
scrypt enc
encrypts
infile and writes the result to
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.
scrypt dec
decrypts
infile and writes the result to
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.
OPTIONS¶
-M
maxmem
- Use at most maxmem bytes of RAM to
compute the derived encryption key.
-m
maxmemfrac
- Use at most the fraction maxmemfrac of
the available RAM to compute the derived encryption key.
-t
maxtime
- Use at most maxtime seconds of CPU time
to compute the derived encryption key.
In
scrypt
enc, the memory and CPU time limits are
enforced by picking appropriate parameters to the
scrypt key derivation function. In
scrypt
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.
EXIT STATUS¶
The
scrypt utility exits 0 on success, and
>0 if an error occurs.
Note that if the input encrypted file is corrupted,
scrypt
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
scrypt before using the decrypted data.
SEE ALSO¶
Colin Percival,
Stronger Key Derivation via Sequential Memory-Hard
Functions, May 2009,
Presented at BSDCan'09.
HISTORY¶
The
scrypt utility was written in May 2009 by
Colin Percival as a demonstration of the
scrypt key derivation function. The
scrypt key derivation function was invented
in March 2009 by Colin Percival in order to allow key files from the
tarsnap backup system to be passphrase
protected.