X-Git-Url: https://git.distorted.org.uk/~mdw/tripe/blobdiff_plain/b86e6f3fab7736f9f70131be1c48434d377a4ae0..9dd1db76f03d49c394f136658a0c60b88be07113:/server/tripe.8.in?ds=sidebyside diff --git a/server/tripe.8.in b/server/tripe.8.in index 33f07b52..3997e1db 100644 --- a/server/tripe.8.in +++ b/server/tripe.8.in @@ -349,6 +349,69 @@ key add \-aec \-pparam \-talice \e \-e"now + 1 year" tripe .VE .RE +.sv -1 +.TP +.B x25519 +.RS +Use Bernstein's X25519 Diffie\(enHellman function. +This is technically a variant on +the general elliptic curve Diffie\(enHellman +available through the +.B ec +setting, +but carefully designed and heavily optimized. +.PP +To create +.B x25519 +keys, +say something like +.VS +key add \-aempty \-eforever \e + \-tparam tripe\-param kx-group=x25519 +.VE +to construct a parameters key +(see +.BR key (1) +for details); +and create the private keys by +.VS +key add \-ax25519 \-pparam \-talice \e + \-e"now + 1 year" tripe +.VE +.RE +.sv -1 +.TP +.B x448 +.RS +Use Hamburg's X448 Diffie\(enHellman function. +Like +.B x25519 +above, +this is technically a variant on +the general elliptic curve Diffie\(enHellman +available through the +.B ec +setting, +but carefully designed and heavily optimized. +.PP +To create +.B x448 +keys, +say something like +.VS +key add \-aempty \-eforever \e + \-tparam tripe\-param kx-group=x448 +.VE +to construct a parameters key +(see +.BR key (1) +for details); +and create the private keys by +.VS +key add \-ax448 \-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 @@ -387,6 +450,18 @@ be followed by a and the desired tag length in bits. The default is .IB hash \-hmac at half the underlying hash function's output length. +If the MAC's name contains a +.RB ` / ' +character, +e.g., +.RB ` sha512/256 ', +then an +.I additional +.RB ` / ' +and the tag size is required to disambiguate, +so, e.g., +one might write +.RB ` sha512/256/256 '. .TP .B mgf A `mask-generation function', used in the key-exchange. The default is @@ -412,6 +487,48 @@ more significantly, the transform is entirely deterministic, so (a) it doesn't need the (possibly slow) random number generator, and (b) it closes a kleptographic channel, over which a compromised implementation could leak secret information to a third party. +.TP +.B naclbox +A transform based on the NaCl +.B crypto_secretbox +transformation. +The main difference is that NaCl uses XSalsa20, +while TrIPE uses plain Salsa20 or ChaCha, +because it doesn't need the larger nonce space. +You can set the +.B cipher +key attribute to one of +.BR salsa20 , +.BR salsa20/12 , +.BR salsa20/8 , +.BR chacha20 , +.BR chacha12 , +or +.B chacha8 +to select the main cipher. +You can set the +.B mac +key attribute to +.B poly1305 +or +.B poly1305/128 +but these are the default and no other choice is permitted. +(This is for forward compatibility, +in case other MACs and/or tag sizes are allowed later.) +.SS "Other key attributes" +The following attributes can also be set on keys. +.TP +.B serialization +Selects group-element serialization formats. +The recommended setting is +.BR constlen , +which selects a constant-length encoding when hashing group elements. +The default, +for backwards compatibility, is +.BR v0 ; +but this is deprecated. +(The old format uses a variable length format for hashing, +which can leak information through timing.) .SS "Using SLIP interfaces" Though not for the faint of heart, it is possible to get .B tripe