.TP
.B ec
This is the elliptic-curve analogue of
-.BR dh . Use the
+.BR dh .
+Use the
.B ec
algorithm of the
.BR key (1))
attribute then the
.I hash
in the
-.I kemalgspec is used; if that is absent then the default of
+.I kemalgspec
+is used; if that is absent then the default of
.B rmd160
is used. Run
.B catcrypt show hash
.TP
.B "DATA"
The plaintext follows, starting just after the next newline character or
-sequence. This is only produced if main output is being sent to
+sequence. This is only produced if main output is also being sent to
standard output.
.TP
.BI "INFO " note
All output written has been checked for authenticity. However, output
can fail madway through for many reasons, and the resulting message may
therefore be truncated. Don't rely on the output being complete until
-.B OK is printed or
+.B OK
+is printed or
.B catcrypt decrypt
exits successfully.
.SS "encode"
warranties. But it does avoid the usual problem with separate signing
and encryption that a careful leak by the recipient can produce evidence
that you signed some incriminating message.
+.PP
+Note that
+.BR catcrypt 's
+signatures do
+.I not
+provide `non-repudiation' in any useful way. This is deliberate: the
+purpose of signing is to convince the recipient of the sender's
+identity, rather than to allow the recipient to persuade anyone else.
+Indeed, given an encrypted and signed message, the recipient can
+straightforwardly construct a new message, apparently from the same
+sender, and whose signature still verifies, but with arbitrarily chosen
+content.
.SH "CRYPTOGRAPHIC THEORY"
Encryption of a message proceeds as follows.
.hP 0.