aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authortrevp <github@trevp.net>2015-10-17 13:16:09 -0700
committertrevp <github@trevp.net>2015-10-17 13:16:09 -0700
commitc3dc521be3d585ade277c023f0352dc622d0bc0f (patch)
treefb1a0c8be13dd1573fd35df2dca06ffcd7966653
parentHASHLEN (diff)
downloadnoise-rev11.tar.xz
noise-rev11.zip
Added advice on choosing crypto functions.rev11
-rw-r--r--noise.md9
1 files changed, 7 insertions, 2 deletions
diff --git a/noise.md b/noise.md
index f70f46c..c202870 100644
--- a/noise.md
+++ b/noise.md
@@ -571,6 +571,11 @@ To produce a **handshake name** for `Initialize()` you add the names for the DH
An application built on Noise must consider several issues:
+ * **Choosing crypto functions**: The `25519` DH functions are recommended for
+ most uses, along with either `AESGCM_SHA256` or `ChaChaPoly_BLAKE2s`. For an
+ extreme security margin, you could use the `448` DH functions with either
+ `AESGCM_SHA512` or `ChaChaPoly_BLAKE2b`.
+
* **Extensibility**: Applications are recommended to use an extensible data
format for the payloads of all messages (e.g. JSON, Protocol Buffers). This
ensures that fields can be added in the future which are ignored by older
@@ -588,8 +593,8 @@ An application built on Noise must consider several issues:
* **Length fields**: Applications must handle any framing or additional length
fields for Noise messages, considering that a Noise message may be up to 65535
- bytes in length. Applications are recommended to add a 16-bit big-endian
- length field prior to each message.
+ bytes in length. If an explicit length field is needed, applications are
+ recommended to add a 16-bit big-endian length field prior to each message.
* **Type fields**: Applications are recommended to include a single-byte type
field prior to each Noise handshake message (and prior to the length field,