module Crypto.Noise.HandshakePatterns
(
noiseNN
, noiseKN
, noiseNK
, noiseKK
, noiseNX
, noiseKX
, noiseXN
, noiseIN
, noiseXK
, noiseIK
, noiseXX
, noiseIX
, noiseN
, noiseK
, noiseX
, noiseNNpsk0
, noiseNNpsk2
, noiseNKpsk0
, noiseNKpsk2
, noiseNXpsk2
, noiseXNpsk3
, noiseXKpsk3
, noiseXXpsk3
, noiseKNpsk0
, noiseKNpsk2
, noiseKKpsk0
, noiseKKpsk2
, noiseKXpsk2
, noiseINpsk1
, noiseINpsk2
, noiseIKpsk1
, noiseIKpsk2
, noiseIXpsk2
, noiseNpsk0
, noiseKpsk0
, noiseXpsk1
) where
import Crypto.Noise.Internal.Handshake.Pattern
noiseNN :: HandshakePattern
noiseNN = handshakePattern "NN" $
initiator e *>
responder (e *> ee)
noiseKN :: HandshakePattern
noiseKN = handshakePattern "KN" $
preInitiator s *>
initiator e *>
responder (e *> ee *> se)
noiseNK :: HandshakePattern
noiseNK = handshakePattern "NK" $
preResponder s *>
initiator (e *> es) *>
responder (e *> ee)
noiseKK :: HandshakePattern
noiseKK = handshakePattern "KK" $
preInitiator s *>
preResponder s *>
initiator (e *> es *> ss) *>
responder (e *> ee *> se)
noiseNX :: HandshakePattern
noiseNX = handshakePattern "NX" $
initiator e *>
responder (e *> ee *> s *> es)
noiseKX :: HandshakePattern
noiseKX = handshakePattern "KX" $
preInitiator s *>
initiator e *>
responder (e *> ee *> se *> s *> es)
noiseXN :: HandshakePattern
noiseXN = handshakePattern "XN" $
initiator e *>
responder (e *> ee) *>
initiator (s *> se)
noiseIN :: HandshakePattern
noiseIN = handshakePattern "IN" $
initiator (e *> s) *>
responder (e *> ee *> se)
noiseXK :: HandshakePattern
noiseXK = handshakePattern "XK" $
preResponder s *>
initiator (e *> es) *>
responder (e *> ee) *>
initiator (s *> se)
noiseIK :: HandshakePattern
noiseIK = handshakePattern "IK" $
preResponder s *>
initiator (e *> es *> s *> ss) *>
responder (e *> ee *> se)
noiseXX :: HandshakePattern
noiseXX = handshakePattern "XX" $
initiator e *>
responder (e *> ee *> s *> es) *>
initiator (s *> se)
noiseIX :: HandshakePattern
noiseIX = handshakePattern "IX" $
initiator (e *> s) *>
responder (e *> ee *> se *> s *> es)
noiseN :: HandshakePattern
noiseN = handshakePattern "N" $
preResponder s *>
initiator (e *> es)
noiseK :: HandshakePattern
noiseK = handshakePattern "K" $
preInitiator s *>
preResponder s *>
initiator (e *> es *> ss)
noiseX :: HandshakePattern
noiseX = handshakePattern "X" $
preResponder s *>
initiator (e *> es *> s *> ss)
noiseNNpsk0 :: HandshakePattern
noiseNNpsk0 = handshakePattern "NNpsk0" $
initiator (psk *> e) *>
responder (e *> ee)
noiseNNpsk2 :: HandshakePattern
noiseNNpsk2 = handshakePattern "NNpsk2" $
initiator e *>
responder (e *> ee *> psk)
noiseNKpsk0 :: HandshakePattern
noiseNKpsk0 = handshakePattern "NKpsk0" $
preResponder s *>
initiator (psk *> e *> es) *>
responder (e *> ee)
noiseNKpsk2 :: HandshakePattern
noiseNKpsk2 = handshakePattern "NKpsk2" $
preResponder s *>
initiator (e *> es) *>
responder (e *> ee *> psk)
noiseNXpsk2 :: HandshakePattern
noiseNXpsk2 = handshakePattern "NXpsk2" $
initiator e *>
responder (e *> ee *> s *> es *> psk)
noiseXNpsk3 :: HandshakePattern
noiseXNpsk3 = handshakePattern "XNpsk3" $
initiator e *>
responder (e *> ee) *>
initiator (s *> se *> psk)
noiseXKpsk3 :: HandshakePattern
noiseXKpsk3 = handshakePattern "XKpsk3" $
preResponder s *>
initiator (e *> es) *>
responder (e *> ee) *>
initiator (s *> se *> psk)
noiseXXpsk3 :: HandshakePattern
noiseXXpsk3 = handshakePattern "XXpsk3" $
initiator e *>
responder (e *> ee *> s *> es) *>
initiator (s *> se *> psk)
noiseKNpsk0 :: HandshakePattern
noiseKNpsk0 = handshakePattern "KNpsk0" $
preInitiator s *>
initiator (psk *> e) *>
responder (e *> ee *> se)
noiseKNpsk2 :: HandshakePattern
noiseKNpsk2 = handshakePattern "KNpsk2" $
preInitiator s *>
initiator e *>
responder (e *> ee *> se *> psk)
noiseKKpsk0 :: HandshakePattern
noiseKKpsk0 = handshakePattern "KKpsk0" $
preInitiator s *>
preResponder s *>
initiator (psk *> e *> es *> ss) *>
responder (e *> ee *> se)
noiseKKpsk2 :: HandshakePattern
noiseKKpsk2 = handshakePattern "KKpsk2" $
preInitiator s *>
preResponder s *>
initiator (e *> es *> ss) *>
responder (e *> ee *> se *> psk)
noiseKXpsk2 :: HandshakePattern
noiseKXpsk2 = handshakePattern "KXpsk2" $
preInitiator s *>
initiator e *>
responder (e *> ee *> se *> s *> es *> psk)
noiseINpsk1 :: HandshakePattern
noiseINpsk1 = handshakePattern "INpsk1" $
initiator (e *> s *> psk) *>
responder (e *> ee *> se)
noiseINpsk2 :: HandshakePattern
noiseINpsk2 = handshakePattern "INpsk2" $
initiator (e *> s) *>
responder (e *> ee *> se *> psk)
noiseIKpsk1 :: HandshakePattern
noiseIKpsk1 = handshakePattern "IKpsk1" $
preResponder s *>
initiator (e *> es *> s *> ss *> psk) *>
responder (e *> ee *> se)
noiseIKpsk2 :: HandshakePattern
noiseIKpsk2 = handshakePattern "IKpsk2" $
preResponder s *>
initiator (e *> es *> s *> ss) *>
responder (e *> ee *> se *> psk)
noiseIXpsk2 :: HandshakePattern
noiseIXpsk2 = handshakePattern "IXpsk2" $
initiator (e *> s) *>
responder (e *> ee *> se *> s *> es *> psk)
noiseNpsk0 :: HandshakePattern
noiseNpsk0 = handshakePattern "Npsk0" $
preResponder s *>
initiator (psk *> e *> es)
noiseKpsk0 :: HandshakePattern
noiseKpsk0 = handshakePattern "Kpsk0" $
preInitiator s *>
preResponder s *>
initiator (psk *> e *> es *> ss)
noiseXpsk1 :: HandshakePattern
noiseXpsk1 = handshakePattern "Xpsk1" $
preResponder s *>
initiator (e *> es *> s *> ss *> psk)