From b86e6f3fab7736f9f70131be1c48434d377a4ae0 Mon Sep 17 00:00:00 2001 Message-Id: From: Mark Wooding Date: Thu, 26 May 2016 09:26:09 +0100 Subject: [PATCH] keys/tripe-keys.conf.5.in, server/tripe.8.in: Contemplate more group types. Organization: Straylight/Edgeware From: Mark Wooding Rather than listing the group types in prose as if there will never be any more, list them out one by one. --- keys/tripe-keys.conf.5.in | 26 +++++++++------- server/tripe.8.in | 64 ++++++++++++++++++++------------------- 2 files changed, 48 insertions(+), 42 deletions(-) diff --git a/keys/tripe-keys.conf.5.in b/keys/tripe-keys.conf.5.in index b6bc6eb6..0b488f07 100644 --- a/keys/tripe-keys.conf.5.in +++ b/keys/tripe-keys.conf.5.in @@ -237,26 +237,30 @@ output length. Mask-generation algorithm to use. Default is .IB hash -mgf \fR. This is probably a good choice. +.ne 6 .TP .I cipher Symmetric encryption scheme to use. Default is .BR rijndael-cbc . +.ne 6 .TP .I sig Signature scheme to use. Must be one of those recognized by .BR catsign (1). -Default is -.B dsa -if -.I kx -is -.BR dh , -or -.B ecdsa -if +Default depends on .I kx -is -.BR ec . +as follows. +.TS +center; +| ci | ci | +| lb | lb |. +_ +kx sig +_ +dh dsa +ec ecdsa +_ +.TE .ne 10 .TP .I sig-genalg diff --git a/server/tripe.8.in b/server/tripe.8.in index 439cc206..33f07b52 100644 --- a/server/tripe.8.in +++ b/server/tripe.8.in @@ -279,40 +279,11 @@ below for the list of options. The .B tripe server uses Diffie\(en\&Hellman key exchange to agree the symmetric keys -used for bulk data transfer. Currently -.B tripe -can do Diffie\(en\&Hellman in two different kinds of cyclic groups: -.I "Schnorr groups" -(denoted -.BR dh ) -and -.I "elliptic curve groups" -(denoted -.BR ec ). -.PP -A Schnorr group is a prime-order subgroup of the multiplicative group of -a finite field; this is the usual -.I g\*(ssx\*(se -mod -.I p -kind of Diffie\(en\&Hellman. An elliptic curve group is a prime-order -subgroup of the abelian group of -.BR K -rational -points on an elliptic curve defined over a finite field -.BR K . -.PP -Given current public knowledge, elliptic curves can provide similar or -better security to systems based on integer discrete log problems, -faster, and with less transmitted data. It's a matter of controversy -whether this will continue to be the case. The author uses elliptic -curves. +used for bulk data transfer. .PP The server works out which it should be doing based on the key's .B kx-group -attribute, which should be either -.B dh -or -.BR ec . +attribute. If this attribute isn't present, then the key's type is examined: if it's of the form .BI tripe\- group @@ -321,6 +292,18 @@ then the is used. If no group is specified, .B dh is used as a fallback. +The following groups are defined. +.TP +.B dh +.RS +Use traditional Diffie\(enHellman in a +.IR "Schnorr group" : +a prime-order subgroup of the multiplicative group of +a finite field; this is the usual +.I g\*(ssx\*(se +mod +.I p +kind of Diffie\(en\&Hellman. .PP To create usual Schnorr-group keys, say something like .VS @@ -332,6 +315,24 @@ to construct a parameters key; and create the private keys by key add \-adh \-pparam \-talice \e \-e"now + 1 year" tripe .VE +.RE +.sv -1 +.TP +.B ec +.RS +Use elliptic curve Diffie\(enHellman. +An elliptic curve group is a prime-order +subgroup of the abelian group of +.BR K -rational +points on an elliptic curve defined over a finite field +.BR K . +.PP +Given current public knowledge, elliptic curves can provide similar or +better security to systems based on integer discrete log problems, +faster, and with less transmitted data. It's a matter of controversy +whether this will continue to be the case. The author uses elliptic +curves. +.PP To create elliptic curve keys, say something like .VS key add \-aec\-param \-Cnist-p256 \-eforever \e @@ -347,6 +348,7 @@ for details); and create the private keys by key add \-aec \-pparam \-talice \e \-e"now + 1 year" tripe .VE +.RE Note that the .BR tripe-keys (8) program provides a rather more convenient means for generating and -- [mdw]