source: git/src-cryptopp/TestVectors/Readme.txt

Last change on this file was e230cb0, checked in by David Stainton <dstainton415@…>, at 2016-10-12T13:27:29Z

Add cryptopp from tag CRYPTOPP_5_6_5

  • Property mode set to 100644
File size: 3.5 KB
Line 
1Test Data Format
2================
3
4A test data file is an ASCII text file composed of sections separated by
5blank lines. Each section is stand-alone and independent of other
6sections that may be in the same file, and contains one or more tests.
7
8A section is composed of a sequence of fields. Each field is one or more
9lines composed of a field name, followed by a colon (":"), followed by a
10field body. All but the last line of a field must end with a backslash
11("\"). If any line contains a hash mark ("#"), the hash mark and
12everything after it on the same line is not considered part of the field
13body.
14
15Each section must contain fields named AlgorithmType, Name, Source, and
16Test. The presence and semantics of other fields depend on the algorithm
17being tested and the tests to be run.
18
19Each section may contain more than one test and therefore more than one
20field named Test. In that case the order of the fields is significant. A
21test should always use the last field with any given name that occurs
22before the Test field.
23
24Data Types
25==========
26
27int - small integer (less than 2^32) in decimal representation
28string - human readable string
29encoded string - can be one of the following
30        - quoted string: "message" means "message" without the quotes
31          or terminating '\0'
32        - hex encoded string: 0x74657374 or 74657374 means "test"
33        - repeated string: r100 "message" to repeat "message" 100 times, or
34          r256 0x0011 to repeat 0x0011 256 times
35
36Field Types
37===========
38
39AlgorithmType - string, for example "Signature", "AsymmetricCipher",
40    "SymmetricCipher", "MAC", "MessageDigest", or "KeyFactory"
41Name - string, an algorithm name from SCAN
42Test - string, identifies the test to run
43Source - string, text explaining where the test data came from
44Comment - string, other comments about the test data
45KeyFormat - string, specifies the key format. "Component" here means
46    each component of the key or key pair is specified separately as a name,
47    value pair, with the names depending on the algorithm being tested.
48    Otherwise the value names "Key", or "PublicKey" and "PrivateKey" are
49    used.
50Key - encoded string
51PublicKey - encoded string
52PrivateKey - encoded string
53Modulus - the modulus when KeyFormat=Component
54SubgroupOrder - the subgroup order when KeyFormat=Component
55SubgroupGenerator - the subgroup generator when KeyFormat=Component
56PublicElement - the public element when KeyFormat=Component
57PrivateExponent - the private exponent when KeyFormat=Component
58Message - encoded string, message to be signed or verified
59Signature - encoded string, signature to be verified or compared with
60Plaintext - encoded string
61Ciphertext - encoded string
62Header - encoded string
63Footer - encoded string
64DerivedKey - encoded string
65DerivedLength - encoded string
66Digest - encoded string
67TruncatedSize - int, size of truncated digest in bytes
68Seek - int, seek location for random access ciphers
69(more to come here)
70
71Possible Tests
72==============
73
74KeyPairValidAndConsistent - public and private keys are both valid and
75consistent with each other
76PublicKeyInvalid - public key validation should not pass
77PrivateKeyInvalid - private key validation should not pass
78Verify - signature/digest/MAC verification should pass
79VerifyTruncated - truncated digest/MAC verification should pass
80NotVerify - signature/digest/MAC verification should not pass
81DeterministicSign - sign message using given seed, and the resulting
82    signature should be equal to the given signature
83DecryptMatch - ciphertext decrypts to plaintext
84
85(more to come here)
Note: See TracBrowser for help on using the repository browser.