Scroll to navigation



sq-decrypt - Decrypts a message

Decrypts a message using either supplied keys, or by prompting for a password. If message tampering is detected, an error is returned. See below for details.

If certificates are supplied using the "--signer-cert" option, any signatures that are found are checked using these certificates. Verification is only successful if there is no bad signature, and the number of successfully verified signatures reaches the threshold configured with the "--signatures" parameter.

If the signature verification fails, or if message tampering is detected, the program terminates with an exit status indicating failure. In addition to that, the last 25 MiB of the message are withheld, i.e. if the message is smaller than 25 MiB, no output is produced, and if it is larger, then the output will be truncated.

The converse operation is "sq encrypt".


sq decrypt [FLAGS] [OPTIONS] [--] [FILE]


Prints help information

Prints the session key to stderr

Prints a packet dump to stderr

Prints a hexdump (implies --dump)


Writes to FILE or stdout if omitted

Sets the threshold of valid signatures to N. The message will only be considered verified if this threshold is reached. [default: 1 if at least one signer cert file is given, 0 otherwise]

Verifies signatures with CERT

Decrypts with KEY


Reads from FILE or stdin if omitted


# Decrypt a file using a secret key
$ sq decrypt --recipient-key juliet.pgp ciphertext.pgp
# Decrypt a file verifying signatures
$ sq decrypt --recipient-key juliet.pgp --signer-cert romeo.pgp ciphertext.pgp
# Decrypt a file using a password
$ sq decrypt ciphertext.pgp


For the full documentation see <>.

sq(1), sq-armor(1), sq-autocrypt(1), sq-certify(1), sq-dearmor(1), sq-decrypt(1), sq-encrypt(1), sq-inspect(1), sq-key(1), sq-keyring(1), sq-packet(1), sq-sign(1), sq-verify(1)


Azul <>
Igor Matuszewski <>
Justus Winter <>
Kai Michaelis <>
Neal H. Walfield <>
Nora Widdecke <>
Wiktor Kwapisiewicz <>
MARCH 2021 0.24.0 (SEQUOIA-OPENPGP 1.0.0)