Maintainer | [email protected] |
---|---|
Stability | beta |
Portability | portable |
Safe Haskell | Safe-Inferred |
Language | Haskell98 |
Test.ParseNistKATs
Description
NIST KAT files are composed of properties, such as:
[SHA-1] [PredictionResistance = True] [EntropyInputSize = 128]
and individual known answer tests using these properties, ex:
COUNT = 0 EntropyInput = 7 PersonalizationString = Result = 8 COUNT = 1 EntropyInput = 4 PersonalizationString = Result = 2
Using 'many parseCategory' this input would be converted to a
single element list of TestCategory
:
[([("SHA-1",""), ("PredictionResistance", "True"), ("EntropyInputSize", "128")], [ [("COUNT", "0"), ("EntropyInput", "7"), ("PersonalizationString", ""), ("Result", "8")], , [("COUNT", "1"), ("EntropyInput", "4"), ("PersonalizationString", ""), ("Result", "2")]])]
that is, a list of tuples, the first element is a list of properties (key/value pairs) and the second element is a list of tests. Each test is itself a list of records (key/value pairs). Properties apply to all tests contained in the second element of the tuple.
Documentation
parseCategories :: String -> String -> [(Properties, [NistTest])] Source #
type Properties = [(String, String)] Source #
type TestCategory = (Properties, [NistTest]) Source #