1{-# LANGUAGE OverloadedStrings #-}
2module Main where
3
4import Imports
5
6import Crypto.System.CPU
7
8import qualified Number
9import qualified Number.F2m
10import qualified BCrypt
11import qualified BCryptPBKDF
12import qualified ECC
13import qualified ECC.Edwards25519
14import qualified ECDSA
15import qualified Hash
16import qualified Poly1305
17import qualified Salsa
18import qualified XSalsa
19import qualified ChaCha
20import qualified ChaChaPoly1305
21import qualified KAT_MiyaguchiPreneel
22import qualified KAT_CMAC
23import qualified KAT_HMAC
24import qualified KAT_KMAC
25import qualified KAT_HKDF
26import qualified KAT_Argon2
27import qualified KAT_PBKDF2
28import qualified KAT_Curve25519
29import qualified KAT_Curve448
30import qualified KAT_Ed25519
31import qualified KAT_Ed448
32import qualified KAT_OTP
33import qualified KAT_PubKey
34import qualified KAT_Scrypt
35-- symmetric cipher --------------------
36import qualified KAT_AES
37import qualified KAT_AESGCMSIV
38import qualified KAT_Blowfish
39import qualified KAT_CAST5
40import qualified KAT_Camellia
41import qualified KAT_DES
42import qualified KAT_RC4
43import qualified KAT_TripleDES
44import qualified KAT_Twofish
45-- misc --------------------------------
46import qualified KAT_AFIS
47import qualified Padding
48
49tests = testGroup "cryptonite"
50    [ testGroup "runtime"
51        [ testCaseInfo "CPU" (return $ show processorOptions)
52        ]
53    , Number.tests
54    , Number.F2m.tests
55    , Hash.tests
56    , Padding.tests
57    , testGroup "ConstructHash"
58        [ KAT_MiyaguchiPreneel.tests
59        ]
60    , testGroup "MAC"
61        [ Poly1305.tests
62        , KAT_CMAC.tests
63        , KAT_HMAC.tests
64        , KAT_KMAC.tests
65        ]
66    , KAT_Curve25519.tests
67    , KAT_Curve448.tests
68    , KAT_Ed25519.tests
69    , KAT_Ed448.tests
70    , KAT_PubKey.tests
71    , KAT_OTP.tests
72    , testGroup "KDF"
73        [ KAT_PBKDF2.tests
74        , KAT_Scrypt.tests
75        , BCrypt.tests
76        , BCryptPBKDF.tests
77        , KAT_HKDF.tests
78        , KAT_Argon2.tests
79        ]
80    , testGroup "block-cipher"
81        [ KAT_AES.tests
82        , KAT_AESGCMSIV.tests
83        , KAT_Blowfish.tests
84        , KAT_CAST5.tests
85        , KAT_Camellia.tests
86        , KAT_DES.tests
87        , KAT_TripleDES.tests
88        , KAT_Twofish.tests
89        ]
90    , testGroup "stream-cipher"
91        [ KAT_RC4.tests
92        , ChaCha.tests
93        , ChaChaPoly1305.tests
94        , Salsa.tests
95        , XSalsa.tests
96        ]
97    , KAT_AFIS.tests
98    , ECC.tests
99    , ECC.Edwards25519.tests
100    , ECDSA.tests
101    ]
102
103main = defaultMain tests
104