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.