pipes-cacophony-0.1.0: tests/HandshakeStates.hs
{-# LANGUAGE OverloadedStrings, RecordWildCards #-}
module HandshakeStates where
import Data.ByteString (ByteString)
import Data.Proxy
import Crypto.Noise.Descriptors
import Crypto.Noise.Handshake
import Crypto.Noise.Cipher
import Crypto.Noise.Cipher.ChaChaPoly1305
import Crypto.Noise.Curve
import Crypto.Noise.Curve.Curve25519
import Crypto.Noise.Hash
import Crypto.Noise.Hash.SHA256
import Crypto.Noise.Types
data HandshakeKeys =
HandshakeKeys { initStatic :: KeyPair Curve25519
, respStatic :: KeyPair Curve25519
, respEphemeral :: KeyPair Curve25519
}
makeHSN :: ByteString -> ScrubbedBytes
makeHSN hs = concatSB [p, convert hs, u, a, u, b, u, c]
where
a = curveName (Proxy :: Proxy Curve25519)
b = cipherName (Proxy :: Proxy ChaChaPoly1305)
c = hashName (Proxy :: Proxy SHA256)
u = bsToSB' "_"
p = bsToSB' "Noise_"
noiseNNIHS :: HandshakeState ChaChaPoly1305 Curve25519 SHA256
noiseNNIHS =
handshakeState
(makeHSN "NN")
Nothing
Nothing
Nothing
Nothing
Nothing
noiseKNIHS :: HandshakeKeys
-> HandshakeState ChaChaPoly1305 Curve25519 SHA256
noiseKNIHS HandshakeKeys{..} =
handshakeState
(makeHSN "KN")
(Just initStatic)
Nothing
Nothing
Nothing
(Just noiseKNI0)
noiseNKIHS :: HandshakeKeys
-> HandshakeState ChaChaPoly1305 Curve25519 SHA256
noiseNKIHS HandshakeKeys{..} =
handshakeState
(makeHSN "NK")
Nothing
Nothing
(Just (snd respStatic))
Nothing
(Just noiseNKI0)
noiseKKIHS :: HandshakeKeys
-> HandshakeState ChaChaPoly1305 Curve25519 SHA256
noiseKKIHS HandshakeKeys{..} =
handshakeState
(makeHSN "KK")
(Just initStatic)
Nothing
(Just (snd respStatic))
Nothing
(Just noiseKKI0)
noiseNEIHS :: HandshakeKeys
-> HandshakeState ChaChaPoly1305 Curve25519 SHA256
noiseNEIHS HandshakeKeys{..} =
handshakeState
(makeHSN "NE")
Nothing
Nothing
(Just (snd respStatic))
(Just (snd respEphemeral))
(Just noiseNEI0)
noiseKEIHS :: HandshakeKeys
-> HandshakeState ChaChaPoly1305 Curve25519 SHA256
noiseKEIHS HandshakeKeys{..} =
handshakeState
(makeHSN "KE")
(Just initStatic)
Nothing
(Just (snd respStatic))
(Just (snd respEphemeral))
(Just noiseKEI0)
noiseNXIHS :: HandshakeKeys
-> HandshakeState ChaChaPoly1305 Curve25519 SHA256
noiseNXIHS HandshakeKeys{..} =
handshakeState
(makeHSN "NX")
Nothing
Nothing
Nothing
Nothing
Nothing
noiseKXIHS :: HandshakeKeys
-> HandshakeState ChaChaPoly1305 Curve25519 SHA256
noiseKXIHS HandshakeKeys{..} =
handshakeState
(makeHSN "KX")
(Just initStatic)
Nothing
(Just (snd respStatic))
Nothing
(Just noiseKXI0)
noiseXNIHS :: HandshakeKeys
-> HandshakeState ChaChaPoly1305 Curve25519 SHA256
noiseXNIHS HandshakeKeys{..} =
handshakeState
(makeHSN "XN")
(Just initStatic)
Nothing
Nothing
Nothing
Nothing
noiseINIHS :: HandshakeKeys
-> HandshakeState ChaChaPoly1305 Curve25519 SHA256
noiseINIHS HandshakeKeys{..} =
handshakeState
(makeHSN "IN")
(Just initStatic)
Nothing
Nothing
Nothing
Nothing
noiseXKIHS :: HandshakeKeys
-> HandshakeState ChaChaPoly1305 Curve25519 SHA256
noiseXKIHS HandshakeKeys{..} =
handshakeState
(makeHSN "XK")
(Just initStatic)
Nothing
(Just (snd respStatic))
Nothing
(Just noiseXKI0)
noiseIKIHS :: HandshakeKeys
-> HandshakeState ChaChaPoly1305 Curve25519 SHA256
noiseIKIHS HandshakeKeys{..} =
handshakeState
(makeHSN "IK")
(Just initStatic)
Nothing
(Just (snd respStatic))
Nothing
(Just noiseIKI0)
noiseXEIHS :: HandshakeKeys
-> HandshakeState ChaChaPoly1305 Curve25519 SHA256
noiseXEIHS HandshakeKeys{..} =
handshakeState
(makeHSN "XE")
(Just initStatic)
Nothing
(Just (snd respStatic))
(Just (snd respEphemeral))
(Just noiseXEI0)
noiseIEIHS :: HandshakeKeys
-> HandshakeState ChaChaPoly1305 Curve25519 SHA256
noiseIEIHS HandshakeKeys{..} =
handshakeState
(makeHSN "IE")
(Just initStatic)
Nothing
(Just (snd respStatic))
(Just (snd respEphemeral))
(Just noiseIEI0)
noiseXXIHS :: HandshakeKeys
-> HandshakeState ChaChaPoly1305 Curve25519 SHA256
noiseXXIHS HandshakeKeys{..} =
handshakeState
(makeHSN "XX")
(Just initStatic)
Nothing
Nothing
Nothing
Nothing
noiseIXIHS :: HandshakeKeys
-> HandshakeState ChaChaPoly1305 Curve25519 SHA256
noiseIXIHS HandshakeKeys{..} =
handshakeState
(makeHSN "IX")
(Just initStatic)
Nothing
Nothing
Nothing
Nothing
noiseNIHS :: HandshakeKeys
-> HandshakeState ChaChaPoly1305 Curve25519 SHA256
noiseNIHS HandshakeKeys{..} =
handshakeState
(makeHSN "N")
Nothing
Nothing
(Just (snd respStatic))
Nothing
(Just noiseNI0)
noiseKIHS :: HandshakeKeys
-> HandshakeState ChaChaPoly1305 Curve25519 SHA256
noiseKIHS HandshakeKeys{..} =
handshakeState
(makeHSN "K")
(Just initStatic)
Nothing
(Just (snd respStatic))
Nothing
(Just noiseKI0)
noiseXIHS :: HandshakeKeys
-> HandshakeState ChaChaPoly1305 Curve25519 SHA256
noiseXIHS HandshakeKeys{..} =
handshakeState
(makeHSN "X")
(Just initStatic)
Nothing
(Just (snd respStatic))
Nothing
(Just noiseXI0)
noiseNNRHS :: HandshakeState ChaChaPoly1305 Curve25519 SHA256
noiseNNRHS =
handshakeState
(makeHSN "NN")
Nothing
Nothing
Nothing
Nothing
Nothing
noiseKNRHS :: HandshakeKeys
-> HandshakeState ChaChaPoly1305 Curve25519 SHA256
noiseKNRHS HandshakeKeys{..} =
handshakeState
(makeHSN "KN")
Nothing
Nothing
(Just (snd initStatic))
Nothing
(Just noiseKNR0)
noiseNKRHS :: HandshakeKeys
-> HandshakeState ChaChaPoly1305 Curve25519 SHA256
noiseNKRHS HandshakeKeys{..} =
handshakeState
(makeHSN "NK")
(Just respStatic)
Nothing
Nothing
Nothing
(Just noiseNKR0)
noiseKKRHS :: HandshakeKeys
-> HandshakeState ChaChaPoly1305 Curve25519 SHA256
noiseKKRHS HandshakeKeys{..} =
handshakeState
(makeHSN "KK")
(Just respStatic)
Nothing
(Just (snd initStatic))
Nothing
(Just noiseKKR0)
noiseNERHS :: HandshakeKeys
-> HandshakeState ChaChaPoly1305 Curve25519 SHA256
noiseNERHS HandshakeKeys{..} =
handshakeState
(makeHSN "NE")
(Just respStatic)
(Just respEphemeral)
Nothing
Nothing
(Just noiseNER0)
noiseKERHS :: HandshakeKeys
-> HandshakeState ChaChaPoly1305 Curve25519 SHA256
noiseKERHS HandshakeKeys{..} =
handshakeState
(makeHSN "KE")
(Just respStatic)
(Just respEphemeral)
(Just (snd initStatic))
Nothing
(Just noiseKER0)
noiseNXRHS :: HandshakeKeys
-> HandshakeState ChaChaPoly1305 Curve25519 SHA256
noiseNXRHS HandshakeKeys{..} =
handshakeState
(makeHSN "NX")
(Just respStatic)
Nothing
Nothing
Nothing
Nothing
noiseKXRHS :: HandshakeKeys
-> HandshakeState ChaChaPoly1305 Curve25519 SHA256
noiseKXRHS HandshakeKeys{..} =
handshakeState
(makeHSN "KX")
(Just respStatic)
Nothing
(Just (snd initStatic))
Nothing
(Just noiseKXR0)
noiseXNRHS :: HandshakeKeys
-> HandshakeState ChaChaPoly1305 Curve25519 SHA256
noiseXNRHS HandshakeKeys{..} =
handshakeState
(makeHSN "XN")
Nothing
Nothing
Nothing
Nothing
Nothing
noiseINRHS :: HandshakeKeys
-> HandshakeState ChaChaPoly1305 Curve25519 SHA256
noiseINRHS HandshakeKeys{..} =
handshakeState
(makeHSN "IN")
Nothing
Nothing
Nothing
Nothing
Nothing
noiseXKRHS :: HandshakeKeys
-> HandshakeState ChaChaPoly1305 Curve25519 SHA256
noiseXKRHS HandshakeKeys{..} =
handshakeState
(makeHSN "XK")
(Just respStatic)
Nothing
Nothing
Nothing
(Just noiseXKR0)
noiseIKRHS :: HandshakeKeys
-> HandshakeState ChaChaPoly1305 Curve25519 SHA256
noiseIKRHS HandshakeKeys{..} =
handshakeState
(makeHSN "IK")
(Just respStatic)
Nothing
Nothing
Nothing
(Just noiseIKR0)
noiseXERHS :: HandshakeKeys
-> HandshakeState ChaChaPoly1305 Curve25519 SHA256
noiseXERHS HandshakeKeys{..} =
handshakeState
(makeHSN "XE")
(Just respStatic)
(Just respEphemeral)
Nothing
Nothing
(Just noiseXER0)
noiseIERHS :: HandshakeKeys
-> HandshakeState ChaChaPoly1305 Curve25519 SHA256
noiseIERHS HandshakeKeys{..} =
handshakeState
(makeHSN "IE")
(Just respStatic)
(Just respEphemeral)
Nothing
Nothing
(Just noiseIER0)
noiseXXRHS :: HandshakeKeys
-> HandshakeState ChaChaPoly1305 Curve25519 SHA256
noiseXXRHS HandshakeKeys{..} =
handshakeState
(makeHSN "XX")
(Just respStatic)
Nothing
Nothing
Nothing
Nothing
noiseIXRHS :: HandshakeKeys
-> HandshakeState ChaChaPoly1305 Curve25519 SHA256
noiseIXRHS HandshakeKeys{..} =
handshakeState
(makeHSN "IX")
(Just respStatic)
Nothing
Nothing
Nothing
Nothing
noiseNRHS :: HandshakeKeys
-> HandshakeState ChaChaPoly1305 Curve25519 SHA256
noiseNRHS HandshakeKeys{..} =
handshakeState
(makeHSN "N")
(Just respStatic)
Nothing
Nothing
Nothing
Nothing
noiseKRHS :: HandshakeKeys
-> HandshakeState ChaChaPoly1305 Curve25519 SHA256
noiseKRHS HandshakeKeys{..} =
handshakeState
(makeHSN "K")
(Just respStatic)
Nothing
(Just (snd initStatic))
Nothing
(Just noiseKR0)
noiseXRHS :: HandshakeKeys
-> HandshakeState ChaChaPoly1305 Curve25519 SHA256
noiseXRHS HandshakeKeys{..} =
handshakeState
(makeHSN "X")
(Just respStatic)
Nothing
Nothing
Nothing
(Just noiseXR0)