diff options
author | 2015-11-06 14:47:56 -0800 | |
---|---|---|
committer | 2015-11-06 14:47:56 -0800 | |
commit | c308101c32e1ac343635bb1541018daf5fa14aca (patch) | |
tree | 43e110e3ea7f424f4ec778c9962d86e607bf906d | |
parent | more edits on language about patterns (diff) | |
download | noise-c308101c32e1ac343635bb1541018daf5fa14aca.tar.xz noise-c308101c32e1ac343635bb1541018daf5fa14aca.zip |
Added "prologue" to Initialize().
-rw-r--r-- | noise.md | 13 |
1 files changed, 9 insertions, 4 deletions
@@ -231,10 +231,13 @@ variables, any of which may be empty: A `HandshakeState` responds to the following methods: - * **`Initialize(new_handshake_pattern, initiator, new_s, new_e, new_rs, new_re)`**: - Takes a handshake pattern (see Section 6), and an `initiator` boolean - specifying this party's role. Also takes a set of DH keypairs and public - keys for initializing local variables, any of which may be empty. + * **`Initialize(new_handshake_pattern, initiator, prologue, new_s, new_e, new_rs, + new_re)`**: Takes a handshake pattern (see Section 6), and an `initiator` + boolean specifying this party's role. Takes a `prologue` byte sequence + which may be zero-length, or which may contain context information that both + parties want to confirm is identical, such as protocol or version negotiation + messages sent previously. Takes a set of DH keypairs and public keys + for initializing local variables, any of which may be empty. * Derives a `handshake_name` byte sequence by combining the names for the handshake pattern and crypto functions, as specified in Section 9. Calls @@ -242,6 +245,8 @@ A `HandshakeState` responds to the following methods: * Sets `s`, `e`, `rs`, and `re` to the corresponding arguments. + * Calls `MixHash(prologue)`. + * Calls `MixHash()` once for each public key listed in the pre-messages from `new_handshake_pattern`, passing in that public key as input (see Section 6). If both initiator and responder have pre-messages, the initiator's |