module Crypto.Noise.HandshakePatterns
(
HandshakePattern
, noiseNN
, noiseKN
, noiseNK
, noiseKK
, noiseNE
, noiseKE
, noiseNX
, noiseKX
, noiseXN
, noiseIN
, noiseXK
, noiseIK
, noiseXE
, noiseIE
, noiseXX
, noiseIX
, noiseN
, noiseK
, noiseX
, noiseXXfallback
) where
import Crypto.Noise.Internal.HandshakePattern
noiseNN :: HandshakePattern
noiseNN = HandshakePattern "NN" $ do
initiator e
responder $ do
e
dhee
noiseKN :: HandshakePattern
noiseKN = HandshakePattern "KN" $ do
preInitiator s
initiator e
responder $ do
e
dhee
dhes
noiseNK :: HandshakePattern
noiseNK = HandshakePattern "NK" $ do
preResponder s
initiator $ do
e
dhes
responder $ do
e
dhee
noiseKK :: HandshakePattern
noiseKK = HandshakePattern "KK" $ do
preInitiator s
preResponder s
initiator $ do
e
dhes
dhss
responder $ do
e
dhee
dhes
noiseNE :: HandshakePattern
noiseNE = HandshakePattern "NE" $ do
preResponder $ do
e
s
initiator $ do
e
dhee
dhes
responder $ do
e
dhee
noiseKE :: HandshakePattern
noiseKE = HandshakePattern "KE" $ do
preInitiator s
preResponder $ do
e
s
initiator $ do
e
dhee
dhes
dhse
responder $ do
e
dhee
dhes
noiseNX :: HandshakePattern
noiseNX = HandshakePattern "NX" $ do
initiator e
responder $ do
e
dhee
s
dhse
noiseKX :: HandshakePattern
noiseKX = HandshakePattern "KX" $ do
preInitiator s
initiator e
responder $ do
e
dhee
dhes
s
dhse
noiseXN :: HandshakePattern
noiseXN = HandshakePattern "XN" $ do
initiator e
responder $ do
e
dhee
initiator $ do
s
dhse
noiseIN :: HandshakePattern
noiseIN = HandshakePattern "IN" $ do
initiator $ do
e
s
responder $ do
e
dhee
dhes
noiseXK :: HandshakePattern
noiseXK = HandshakePattern "XK" $ do
preResponder s
initiator $ do
e
dhes
responder $ do
e
dhee
initiator $ do
s
dhse
noiseIK :: HandshakePattern
noiseIK = HandshakePattern "IK" $ do
preResponder s
initiator $ do
e
dhes
s
dhss
responder $ do
e
dhee
dhes
noiseXE :: HandshakePattern
noiseXE = HandshakePattern "XE" $ do
preResponder $ do
e
s
initiator $ do
e
dhee
dhes
responder $ do
e
dhee
initiator $ do
s
dhse
noiseIE :: HandshakePattern
noiseIE = HandshakePattern "IE" $ do
preResponder $ do
e
s
initiator $ do
e
dhee
dhes
s
dhse
responder $ do
e
dhee
dhes
noiseXX :: HandshakePattern
noiseXX = HandshakePattern "XX" $ do
initiator e
responder $ do
e
dhee
s
dhse
initiator $ do
s
dhse
noiseIX :: HandshakePattern
noiseIX = HandshakePattern "IX" $ do
initiator $ do
e
s
responder $ do
e
dhee
dhes
s
dhse
noiseN :: HandshakePattern
noiseN = HandshakePattern "N" $ do
preResponder s
initiator $ do
e
dhes
noiseK :: HandshakePattern
noiseK = HandshakePattern "K" $ do
preInitiator s
preResponder s
initiator $ do
e
dhes
dhss
noiseX :: HandshakePattern
noiseX = HandshakePattern "X" $ do
preResponder s
initiator $ do
e
dhes
s
dhss
noiseXXfallback :: HandshakePattern
noiseXXfallback = HandshakePattern "XXfallback" $ do
preResponder e
initiator $ do
e
dhee
s
dhse
responder $ do
s
dhse