mirror of
https://codeberg.org/scip/pcp.git
synced 2025-12-17 03:50:57 +01:00
updated POD to reflect recent changes
This commit is contained in:
320
man/pcp1.1
320
man/pcp1.1
@@ -1,4 +1,4 @@
|
||||
.\" Automatically generated by Pod::Man 2.23 (Pod::Simple 3.14)
|
||||
.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16)
|
||||
.\"
|
||||
.\" Standard preamble:
|
||||
.\" ========================================================================
|
||||
@@ -124,7 +124,7 @@
|
||||
.\" ========================================================================
|
||||
.\"
|
||||
.IX Title "PCP1 1"
|
||||
.TH PCP1 1 "2014-01-19" "PCP 0.1.5" "USER CONTRIBUTED DOCUMENTATION"
|
||||
.TH PCP1 1 "2014-01-27" "PCP 0.2.0" "USER CONTRIBUTED DOCUMENTATION"
|
||||
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
|
||||
.\" way too many mistakes in technical documents.
|
||||
.if n .ad l
|
||||
@@ -193,14 +193,22 @@ Pretty Curved Privacy \- File encryption using eliptic curve cryptography.
|
||||
\& as YAML formatted text. Use \-O to put
|
||||
\& the export into a file.
|
||||
\& Encryption Options:
|
||||
\& \-e \-\-encrypt Encrypt a message. Read from stdin or
|
||||
\& specified via \-I. If a keyid (\-i) has been
|
||||
\& \-e \-\-encrypt Asym\-Encrypt a message. Read from stdin or
|
||||
\& specified via \-I. Output will be written
|
||||
\& to stdout or the file given with \-O.
|
||||
\& If a keyid (\-i) has been
|
||||
\& given, use that public key for encryption.
|
||||
\& If a recipient (\-r) has been given, use
|
||||
\& a derived public key. If none of \-i or
|
||||
\& \-r has been given, use the primary
|
||||
\& secret key and the public part of it
|
||||
\& for encrytion (self\-encryption mode).
|
||||
\& If one or more recipient (\-r) has been given,
|
||||
\& encrypt the message for all recipients
|
||||
\& asymetrically, given there are matching
|
||||
\& public keys installed in the vault for them.
|
||||
\& If none of \-i or \-r has been given, encrypt
|
||||
\& the message symetrically. This is the same
|
||||
\& as \-m (self\-encryption mode).
|
||||
\& \-m \-\-encrypt\-me Sym\-Encrypt a message. Specify \-I and/or
|
||||
\& \-O for input/output file. You will be asked
|
||||
\& for a passphrase. No key material will
|
||||
\& be used. Same as \-e without \-r and \-i.
|
||||
\& \-d \-\-decrypt Decrypt a message. Read from stdin or
|
||||
\& specified via \-I. Output to stdout or
|
||||
\& written to the file specified via \-O.
|
||||
@@ -209,17 +217,25 @@ Pretty Curved Privacy \- File encryption using eliptic curve cryptography.
|
||||
\& just one secret key in the vault, this
|
||||
\& one will be used. Otherwise you\*(Aqll have
|
||||
\& to specify the keyid (\-i) of the key.
|
||||
\& You need to have the public key of the
|
||||
\& sender installed in your vault.
|
||||
\& If the input is self\-encrypted (symetrically)
|
||||
\& a passphrase will be requested.
|
||||
\&
|
||||
\& Signature Options:
|
||||
\& \-g \-\-sign Create a signature of file specified with
|
||||
\& \-I (or from stdin) using your primary
|
||||
\& secret key. If \-r has been given, a derived
|
||||
\& secret key will be used for signing.
|
||||
\&
|
||||
\& \-c \-\-check\-signature <file> Verify a signature in file <file> against
|
||||
\& the file specified with \-I (or stdin).
|
||||
\& The public key required for this must
|
||||
\& exist in your vault file.
|
||||
\& \-a \-\-detach Write a detached signature file, which doesn\*(Aqt
|
||||
\& contain the original content. Output will be
|
||||
\& z85 encoded always. To verify, you need to
|
||||
\& specify the original file to be verified
|
||||
\& against using \-I as well (plus \-a).
|
||||
\&
|
||||
\& Encoding Options:
|
||||
\& \-z \-\-z85\-encode Encode something to Z85 encoding. Use
|
||||
@@ -289,10 +305,10 @@ sends it to Bobby, who in turn decrypts it:
|
||||
.Vb 4
|
||||
\& Alicia Bobby
|
||||
\& echo "Love you, honey" > letter
|
||||
\& pcp1 \-e \-i 0x29A323A2C295D391 \-I letter \-O letter.z85
|
||||
\& cat letter.z85 | mail bobby@foo.bar
|
||||
\& pcp1 \-e \-r Bobby \-I letter \-O letter.asc
|
||||
\& cat letter.asc | mail bobby@foo.bar
|
||||
\&
|
||||
\& pcp1 \-d \-I letter.z85 | less
|
||||
\& pcp1 \-d \-I letter.asc | less
|
||||
.Ve
|
||||
.PP
|
||||
And that's it.
|
||||
@@ -342,33 +358,29 @@ There are 2 modes of encryption available in pcp1:
|
||||
.IP "\fBStandard public key encryption\fR" 4
|
||||
.IX Item "Standard public key encryption"
|
||||
In this mode, which is the default, a public key as specified
|
||||
with \fB\-i\fR and a dynamically generated secret key will be used
|
||||
for encryption. The public part of the generated sender key
|
||||
will be included with the encrypted file, which the recipient
|
||||
can use to decrypt it.
|
||||
with \fB\-i\fR or \fB\-r\fR and your primary secret key will be used
|
||||
for encryption.
|
||||
.Sp
|
||||
Example command:
|
||||
.Sp
|
||||
.Vb 1
|
||||
\& pcp1 \-e \-i 0x2BD734B15CE2722D \-I message.txt \-O cipher.z85
|
||||
\& pcp1 \-e \-i 0x2BD734B15CE2722D \-I message.txt \-O message.asc
|
||||
.Ve
|
||||
.Sp
|
||||
Here we didn't specify a recipient. Therefore the public
|
||||
key given with \-i will be used directly.
|
||||
.Sp
|
||||
Another example:
|
||||
.Sp
|
||||
.Vb 1
|
||||
\& pcp1 \-e \-r Bobby \-r McCoy \-I message.txt \-O message.asc
|
||||
.Ve
|
||||
.IP "\fBSelf encryption mode\fR" 4
|
||||
.IX Item "Self encryption mode"
|
||||
Pretty Curved Privacy doesn't provide symetric file encryption.
|
||||
However there are cases when you need to encrypt a file just
|
||||
for yourself. In such a case the file will be encrypted using
|
||||
the public key part of your primary secret key and the secret
|
||||
key itself (thanks to the wonders of \s-1ECC\s0 this works like a charm).
|
||||
.Sp
|
||||
The file can be decrypted using the primary key pair.
|
||||
.Sp
|
||||
You can also encrypt a file symetrically. No public key material
|
||||
will be used in this mode.
|
||||
While this works, the security of it totally depends on the
|
||||
strength of your password, especially if the primary secret
|
||||
used for this kind of encryption is stored in a vault on the
|
||||
same system.
|
||||
strength of the passphrase used for encryption.
|
||||
.Sp
|
||||
Example command:
|
||||
.Sp
|
||||
@@ -377,7 +389,91 @@ Example command:
|
||||
.Ve
|
||||
.Sp
|
||||
As you can see we didn't specify \-i or \-r and therefore pcp1
|
||||
tries to use the primary keypair for encryption.
|
||||
operates in self mode for encryption. It will ask you for a passphrase
|
||||
to protect the encryption key.
|
||||
.SH "SIGNATURES"
|
||||
.IX Header "SIGNATURES"
|
||||
There are 3 modes for digital signatures available on pcp1:
|
||||
.IP "\fBStandard \s-1NACL\s0 binary signatures\fR" 4
|
||||
.IX Item "Standard NACL binary signatures"
|
||||
In this mode, which is the default, an \s-1ED25519\s0 signature will
|
||||
be calculated from a \s-1BLAKE2\s0 hash of the input file content. Both
|
||||
the original file content plus the signature will be written to
|
||||
the output file.
|
||||
.Sp
|
||||
Example:
|
||||
.Sp
|
||||
.Vb 1
|
||||
\& pcp1 \-g \-I message.txt \-O message.asc \-g
|
||||
.Ve
|
||||
.Sp
|
||||
You will be asked for the passphrase to access your primary
|
||||
secret key. The output file will be a binary file.
|
||||
.IP "\fBArmored \s-1NACL\s0 signatures\fR" 4
|
||||
.IX Item "Armored NACL signatures"
|
||||
While this mode does the very same calculations, the output
|
||||
slightly differs. The output file will be marked as a signature
|
||||
file, the signature itself will be appended with its own headers
|
||||
and Z85 encoded.
|
||||
.Sp
|
||||
Example:
|
||||
.Sp
|
||||
.Vb 1
|
||||
\& pcp1 \-g \-I message.txt \-O message.asc \-g \-z
|
||||
.Ve
|
||||
.Sp
|
||||
You will be asked for the passphrase to access your primary
|
||||
secret key. The output file will be a text file.
|
||||
.IP "\fBDetached \s-1NACL\s0 signatures\fR" 4
|
||||
.IX Item "Detached NACL signatures"
|
||||
In some cases you will need to have the signature separated
|
||||
from the original input file, e.g. to sign download files. You
|
||||
can generate detached signatures for such purposes. Still, the
|
||||
signature will be calculated the same way as in standard signatures
|
||||
but put out into a separate file. A detached signature file will always
|
||||
be Z85 encoded.
|
||||
.Sp
|
||||
Example:
|
||||
.Sp
|
||||
.Vb 1
|
||||
\& pcp1 \-g \-I message.txt \-O message.asc \-g \-\-detach
|
||||
.Ve
|
||||
.SH "SIGNED ENCRYPTION"
|
||||
.IX Header "SIGNED ENCRYPTION"
|
||||
Beside pure encryption and signatures pcp1 also supports signed
|
||||
encryption. In this mode an input file will be encrypted and
|
||||
a signature using your primary secret key from a \s-1BLAKE2\s0 hash of
|
||||
the file contents will be appended to it.
|
||||
.PP
|
||||
Example:
|
||||
.PP
|
||||
.Vb 1
|
||||
\& pcp1 \-e \-g \-r Bobby \-I README.txt \-O README.asc
|
||||
.Ve
|
||||
.PP
|
||||
Please note the additional \fB\-g\fR parameter. The recipient can
|
||||
decrypt and verify the so created data like this:
|
||||
.PP
|
||||
.Vb 1
|
||||
\& pcp1 \-d \-c \-I README.asc \-o README.txt
|
||||
.Ve
|
||||
.PP
|
||||
Please note the additional \fB\-c\fR parameter.
|
||||
.PP
|
||||
If decryption works, the output file will be written. If signature
|
||||
verification fails you will be informed, but the decrypted
|
||||
output will be left untouched. It is up to you how to react
|
||||
on an invalid signature.
|
||||
.PP
|
||||
\&\fBCaution: as of this writing (pcp version 0.2.0) there is
|
||||
no offset marker included into the output which separates
|
||||
the signature from the cipher. Therefore a recipient has to
|
||||
know that the file is encrypted \s-1AND\s0 signed. If, for example,
|
||||
the recpient leaves the \-c parameter on such a file, the decryption
|
||||
process will fail. Otherwise, if the user supplies \-c on an
|
||||
encrypted file without a signature, decryption will fail as well.\fR
|
||||
.PP
|
||||
Note: this behavior might change in the future.
|
||||
.SH "VULNERABILITIES"
|
||||
.IX Header "VULNERABILITIES"
|
||||
Currently there are a couple of problems which are not
|
||||
@@ -516,97 +612,115 @@ Key generation works like this:
|
||||
.IP "\(bu" 4
|
||||
Generate a random seed (32 bytes).
|
||||
.IP "\(bu" 4
|
||||
Generate a \s-1ED25519\s0 keypair from that seed.
|
||||
Generate a \s-1ED25519\s0 sigining keypair from that seed.
|
||||
.IP "\(bu" 4
|
||||
Take the first 32 bytes of the generated \s-1ED25519\s0 secret
|
||||
and generate a \s-1SHA512\s0 hash from it.
|
||||
Generate a random seed (32 bytes).
|
||||
.IP "\(bu" 4
|
||||
Clamp bytes 0 and 31 which turns it into a Curve25519 secret.
|
||||
.IP "\(bu" 4
|
||||
Do scalar multiplication from that secret to retrieve
|
||||
the matching public key.
|
||||
Generate a Curve25519 encryption keypair from that seed.
|
||||
.PP
|
||||
So, while both secrets are stored in the sam \s-1PCP\s0 key, they
|
||||
are otherwise unrelated. If one of them leaks, the other
|
||||
cannot be recalculated from it.
|
||||
.PP
|
||||
Take a look at the function \fB\f(BIpcp_keypairs()\fB\fR for details.
|
||||
.SS "\s-1ENCRYPTED\s0 \s-1OUTPUT\s0 \s-1FORMAT\s0"
|
||||
.IX Subsection "ENCRYPTED OUTPUT FORMAT"
|
||||
Encrypted output will always be Z85 encoded and has the following
|
||||
format:
|
||||
Encrypted output will always written as binary files. No armoring
|
||||
supported yet. The encryption process works as this:
|
||||
.IP "generate a random symetric 32 byte key \fBS\fR" 4
|
||||
.IX Item "generate a random symetric 32 byte key S"
|
||||
.PD 0
|
||||
.IP "encrypt it asymetrically for each recipient using a unique nonce (\fBR\fR)" 4
|
||||
.IX Item "encrypt it asymetrically for each recipient using a unique nonce (R)"
|
||||
.IP "encrypt the input file 32k blockwise using the symetric key" 4
|
||||
.IX Item "encrypt the input file 32k blockwise using the symetric key"
|
||||
.PD
|
||||
.PP
|
||||
.Vb 9
|
||||
\& +\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+
|
||||
\& | Field Size Description |
|
||||
\& +\-\-\-\-\-\-\-\-\-\-\-\-\-+\-\-\-\-\-\-\-\-+\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+
|
||||
\& | Pubkey | 32 | Publix key of the sender |
|
||||
\& +\-\-\-\-\-\-\-\-\-\-\-\-\-|\-\-\-\-\-\-\-\-|\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+
|
||||
\& | Nonce | 24 | Random Nonce |
|
||||
\& +\-\-\-\-\-\-\-\-\-\-\-\-\-|\-\-\-\-\-\-\-\-|\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+
|
||||
\& | Encrypted | ~ | The actual encrypted data |
|
||||
\& +\-\-\-\-\-\-\-\-\-\-\-\-\-|\-\-\-\-\-\-\-\-|\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+
|
||||
.Ve
|
||||
.SS "\s-1SIGNATURE\s0 \s-1FORMAT\s0"
|
||||
.IX Subsection "SIGNATURE FORMAT"
|
||||
Signatures will always be Z85 encoded and have the following
|
||||
format:
|
||||
Symetric encryption works the very same with the recipient stuff
|
||||
left out.
|
||||
.PP
|
||||
Formal format description, asymetric encrypted files:
|
||||
.PP
|
||||
.Vb 11
|
||||
\& +\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+
|
||||
\& | Field Size Description |
|
||||
\& +\-\-\-\-\-\-\-\-\-\-\-\-\-+\-\-\-\-\-\-\-\-+\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+
|
||||
\& | Key ID | 17 | Signers key id
|
||||
\& | Type | 1 | Filetype, 5=ASYM, 23=SYM |
|
||||
\& +\-\-\-\-\-\-\-\-\-\-\-\-\-|\-\-\-\-\-\-\-\-|\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+
|
||||
\& | Ctime | 4 | Creation time, sec since epoch |
|
||||
\& | Len R | 4 | Number of recipients (*) |
|
||||
\& +\-\-\-\-\-\-\-\-\-\-\-\-\-|\-\-\-\-\-\-\-\-|\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+
|
||||
\& | Version | 4 | Signature version |
|
||||
\& | Recipients | R*72 | C(recipient)|C(recipient)... (*) |
|
||||
\& +\-\-\-\-\-\-\-\-\-\-\-\-\-|\-\-\-\-\-\-\-\-|\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+
|
||||
\& | Signature | 96 | ED25519 signature of SHA256 Hash |
|
||||
\& | Encrypted | ~ | The actual encrypted data |
|
||||
\& +\-\-\-\-\-\-\-\-\-\-\-\-\-|\-\-\-\-\-\-\-\-|\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+
|
||||
.Ve
|
||||
.PP
|
||||
Left out when doing symetric encryption.
|
||||
.PP
|
||||
Recipient field format:
|
||||
.PP
|
||||
.Vb 7
|
||||
\& +\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+
|
||||
\& | Field Size Description |
|
||||
\& +\-\-\-\-\-\-\-\-\-\-\-\-\-+\-\-\-\-\-\-\-\-+\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+
|
||||
\& | Nonce | 24 | Random Nonce, one per R |
|
||||
\& +\-\-\-\-\-\-\-\-\-\-\-\-\-|\-\-\-\-\-\-\-\-|\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+
|
||||
\& | Cipher | 48 | S encrypted with PK or R |
|
||||
\& +\-\-\-\-\-\-\-\-\-\-\-\-\-|\-\-\-\-\-\-\-\-|\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+
|
||||
.Ve
|
||||
.PP
|
||||
R is calculated using public key encryption using the senders
|
||||
secret key, the recipients public key and a random nonce.
|
||||
.SS "\s-1SIGNATURE\s0 \s-1FORMAT\s0"
|
||||
.IX Subsection "SIGNATURE FORMAT"
|
||||
There are different signature formats. Standard binary \s-1NACL\s0
|
||||
signatures have the following format:
|
||||
.PP
|
||||
.Vb 11
|
||||
\& +\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+
|
||||
\& | Field Size Description |
|
||||
\& +\-\-\-\-\-\-\-\-\-\-\-\-\-+\-\-\-\-\-\-\-\-+\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+
|
||||
\& | Content | ~ | Original file content |
|
||||
\& +\-\-\-\-\-\-\-\-\-\-\-\-\-|\-\-\-\-\-\-\-\-|\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+
|
||||
\& | \ennacl\- | 6 | Offset separator |
|
||||
\& +\-\-\-\-\-\-\-\-\-\-\-\-\-|\-\-\-\-\-\-\-\-|\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+
|
||||
\& | Hash | 64 | BLAKE2 hash of the content |
|
||||
\& +\-\-\-\-\-\-\-\-\-\-\-\-\-|\-\-\-\-\-\-\-\-|\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+
|
||||
\& | Signature | 64 | ED25519 signature of BLAKE2 Hash |
|
||||
\& +\-\-\-\-\-\-\-\-\-\-\-\-\-|\-\-\-\-\-\-\-\-|\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+
|
||||
.Ve
|
||||
.PP
|
||||
The actual signature is not a signature over the whole content
|
||||
of an input file but of a \s-1SHA256\s0 hash of the content.
|
||||
of an input file but of a \s-1BLAKE2\s0 hash of the content.
|
||||
.PP
|
||||
Armored signatures have the following format:
|
||||
.PP
|
||||
.Vb 2
|
||||
\& \-\-\-\-\- BEGIN ED25519 SIGNED MESSAGE \-\-\-\-\-
|
||||
\& Hash: Blake2
|
||||
\&
|
||||
\& MESSAGE
|
||||
\&
|
||||
\& \-\-\-\-\- BEGIN ED25519 SIGNATURE \-\-\-\-\-
|
||||
\& Version: PCP v0.2.0
|
||||
\&
|
||||
\& 195j%\-^/G[cVo4dSk7hU@D>NT\-1rBJ]VbJ678H4I!%@\-)bzi>zOba5$KSgz7b@R]A0!kL$m
|
||||
\& MTQ\-1DW(e1mma(<jH=QGA(VudgAMXaKF5AGo65Zx7\-5fuMZt&:6IL:n2N{KMto*KQ$:J+]d
|
||||
\& dp1{3}Ju*M&+Vk7=:a=J0}B
|
||||
\& \-\-\-\-\-\- END ED25519 SIGNATURE \-\-\-\-\-\-
|
||||
.Ve
|
||||
.PP
|
||||
The Z85 encoded signature at the end contains the same signature
|
||||
contents as the binary signature outlined above (hash+sig).
|
||||
.SS "\s-1SIGNED\s0 \s-1ENCRYPTION\s0 \s-1FORMAT\s0"
|
||||
.IX Subsection "SIGNED ENCRYPTION FORMAT"
|
||||
Signed encrypted files are in binary form only. The first part is
|
||||
the standard encrypted file as described in \fB\s-1ENCRYPTED\s0 \s-1OUTPUT\s0 \s-1FORMAT\s0\fR
|
||||
followed by the binary signature described in \fB\s-1SIGNATURE\s0 \s-1FORMAT\s0\fR without
|
||||
the offset separator.
|
||||
.SS "Z85 \s-1ENCODING\s0"
|
||||
.IX Subsection "Z85 ENCODING"
|
||||
\&\fBpcp1\fR uses Z85 to encode exported keys and encrypted messages.
|
||||
Therefore it includes a Z85 utility mode:
|
||||
.PP
|
||||
\&\fBpcp1\fR can be used to encode and decode strings to Z85 encoding.
|
||||
.PP
|
||||
The option \fB\-z\fR encodes \fBto\fR Z85, the option \fB\-Z\fR does the opposite
|
||||
and decodes \fBfrom\fR Z85.
|
||||
.PP
|
||||
If no input file have been specified using \fB\-I\fR, \fBpcp1\fR expects the
|
||||
input to come from \fB\s-1STDIN\s0\fR, otherwise it reads the contents
|
||||
of \fBfile\fR.
|
||||
.PP
|
||||
Encoded or decoded output will be written to \fB\s-1STDOUT\s0\fR unless an
|
||||
output file has been specified using the option \fB\-O\fR.
|
||||
.PP
|
||||
\fIZ85 \s-1EXAMPLES\s0\fR
|
||||
.IX Subsection "Z85 EXAMPLES"
|
||||
.PP
|
||||
To encode a given file to Z85 and write the output to another:
|
||||
.PP
|
||||
.Vb 1
|
||||
\& pcp1 \-z myfile.bin > myfile.z85
|
||||
.Ve
|
||||
.PP
|
||||
To decode the file created above and restore the original:
|
||||
.PP
|
||||
.Vb 1
|
||||
\& pcp1 \-Z \-d myfile.z85 > myfile.bin
|
||||
.Ve
|
||||
.PP
|
||||
To encode something from stdin to Z85:
|
||||
.PP
|
||||
.Vb 1
|
||||
\& ps axuw | pcp1 \-z > pslist.z85
|
||||
.Ve
|
||||
.PP
|
||||
To decode the above and print to stdout:
|
||||
.PP
|
||||
.Vb 1
|
||||
\& pcp1 \-Z \-d pslist.z85
|
||||
.Ve
|
||||
\&\fBpcp1\fR uses Z85 to encode exported keys and armored signatures.
|
||||
.PP
|
||||
\fIZ85 \s-1BACKGROUND\s0\fR
|
||||
.IX Subsection "Z85 BACKGROUND"
|
||||
@@ -649,6 +763,12 @@ After decoding Z85 input the process will be reversed.
|
||||
\&\fBTrying to use another tool to decode an Z85 encoded string produced
|
||||
by z85, might not work therefore, unless the tool takes the padding scheme
|
||||
outlined above into account\fR.
|
||||
.SS "\s-1PBP\s0 \s-1COMPATIBILITY\s0"
|
||||
.IX Subsection "PBP COMPATIBILITY"
|
||||
\&\s-1PCP\s0 tries to be fully compatible with \s-1PBP\s0 (https://github.com/stef/pbp). Encrypted
|
||||
files and signatures \- at least their binary versions \- should be exchangable. However,
|
||||
this is a work in progress and might not work under all circumstances. Also there's currently
|
||||
no shared key format between pbp and pcp.
|
||||
.SH "COPYRIGHT"
|
||||
.IX Header "COPYRIGHT"
|
||||
Copyright (c) 2013 by T.Linden <tom \s-1AT\s0 cpan \s-1DOT\s0 org>
|
||||
|
||||
Reference in New Issue
Block a user