cacophony-0.10.0: A library implementing the Noise protocol.

MaintainerJohn Galt <jgalt@centromere.net>
Stabilityexperimental
PortabilityPOSIX
Safe HaskellNone
LanguageHaskell2010

Crypto.Noise.HandshakePatterns

Contents

Description

This module contains all of the handshake patterns specified in sections 7.2, 7.3, and 9.4.

Synopsis

Standard patterns

noiseNN :: HandshakePattern Source #

Noise_NN():
  -> e
  <- e, ee

noiseKN :: HandshakePattern Source #

Noise_KN(s):
  -> s
  ...
  -> e
  <- e, ee, se

noiseNK :: HandshakePattern Source #

Noise_NK(rs):
  <- s
  ...
  -> e, es
  <- e, ee

noiseKK :: HandshakePattern Source #

Noise_KK(s, rs):
  -> s
  <- s
  ...
  -> e, es, ss
  <- e, ee, se

noiseNX :: HandshakePattern Source #

Noise_NX(rs):
  -> e
  <- e, ee, s, es

noiseKX :: HandshakePattern Source #

Noise_KX(s, rs):
  -> s
  ...
  -> e
  <- e, ee, se, s, es

noiseXN :: HandshakePattern Source #

Noise_XN(s):
  -> e
  <- e, ee
  -> s, se

noiseIN :: HandshakePattern Source #

Noise_IN(s):
  -> e, s
  <- e, ee, se

noiseXK :: HandshakePattern Source #

Noise_XK(s, rs):
  <- s
  ...
  -> e, es
  <- e, ee
  -> s, se

noiseIK :: HandshakePattern Source #

Noise_IK(s, rs):
  <- s
  ...
  -> e, es, s, ss
  <- e, ee, se

noiseXX :: HandshakePattern Source #

Noise_XX(s, rs):
  -> e
  <- e, ee, s, es
  -> s, se

noiseIX :: HandshakePattern Source #

Noise_IX(s, rs):
  -> e, s
  <- e, ee, se, s, es

noiseN :: HandshakePattern Source #

Noise_N(rs):
  <- s
  ...
  -> e, es

noiseK :: HandshakePattern Source #

Noise_K(s, rs):
  -> s
  <- s
  ...
  -> e, es, ss

noiseX :: HandshakePattern Source #

Noise_X(s, rs):
  <- s
  ...
  -> e, es, s, ss

PSK patterns

noiseNNpsk0 :: HandshakePattern Source #

Noise_NNpsk0():
  -> psk, e
  <- e, ee

noiseNNpsk2 :: HandshakePattern Source #

Noise_NNpsk2():
  -> e
  <- e, ee, psk

noiseNKpsk0 :: HandshakePattern Source #

Noise_NKpsk0(rs):
  <- s
  ...
  -> psk, e, es
  <- e, ee

noiseNKpsk2 :: HandshakePattern Source #

Noise_NKpsk2(rs):
  <- s
  ...
  -> e, es
  <- e, ee, psk

noiseNXpsk2 :: HandshakePattern Source #

Noise_NXpsk2(rs):
  -> e
  <- e, ee, s, es, psk

noiseXNpsk3 :: HandshakePattern Source #

Noise_XNpsk3(s):
  -> e
  <- e, ee
  -> s, se, psk

noiseXKpsk3 :: HandshakePattern Source #

Noise_XKpsk3(s, rs):
  <- s
  ...
  -> e, es
  <- e, ee
  -> s, se, psk

noiseXXpsk3 :: HandshakePattern Source #

Noise_XXpsk3(s, rs):
  -> e
  <- e, ee, s, es
  -> s, se, psk

noiseKNpsk0 :: HandshakePattern Source #

Noise_KNpsk0(s):
  -> s
  ...
  -> psk, e
  <- e, ee, se

noiseKNpsk2 :: HandshakePattern Source #

Noise_KNpsk2(s):
  -> s
  ...
  -> e
  <- e, ee, se, psk

noiseKKpsk0 :: HandshakePattern Source #

Noise_KKpsk0(s, rs):
  -> s
  <- s
  ...
  -> psk, e, es, ss
  <- e, ee, se

noiseKKpsk2 :: HandshakePattern Source #

Noise_KKpsk2(s, rs):
  -> s
  <- s
  ...
  -> e, es, ss
  <- e, ee, se, psk

noiseKXpsk2 :: HandshakePattern Source #

Noise_KXpsk2(s, rs):
  -> s
  ...
  -> e
  <- e, ee, se, s, es, psk

noiseINpsk1 :: HandshakePattern Source #

Noise_INpsk1(s):
  -> e, s, psk
  <- e, ee, se

noiseINpsk2 :: HandshakePattern Source #

Noise_INpsk2(s):
  -> e, s
  <- e, ee, se, psk

noiseIKpsk1 :: HandshakePattern Source #

Noise_IKpsk1(s, rs):
  <- s
  ...
  -> e, es, s, ss, psk
  <- e, ee, se

noiseIKpsk2 :: HandshakePattern Source #

Noise_IKpsk2(s, rs):
  <- s
  ...
  -> e, es, s, ss
  <- e, ee, se, psk

noiseIXpsk2 :: HandshakePattern Source #

Noise_IXpsk2(s, rs):
  -> e, s
  <- e, ee, se, s, es, psk

noiseNpsk0 :: HandshakePattern Source #

Noise_Npsk0(rs):
  <- s
  ...
  -> psk, e, es

noiseKpsk0 :: HandshakePattern Source #

Noise_Kpsk0(s, rs):
  <- s
  ...
  -> psk, e, es, ss

noiseXpsk1 :: HandshakePattern Source #

Noise_Xpsk1(s, rs):
  <- s
  ...
  -> e, es, s, ss, psk