cryptopp/TestVectors
Jeffrey Walton 7f958575ea Squashed commit of the following:
commit 47c75c6e9397e240919207e50e5a611d3e2a2428
Merge: d7685c2 42085ee
Author: Jeffrey Walton <noloader@gmail.com>
Date:   Thu Sep 8 20:20:39 2016 -0400

    Attempting to fix binary file merge conflict

commit d7685c2d946beecc419ddb6901c24e972c7cf3ee
Author: Jeffrey Walton <noloader@gmail.com>
Date:   Thu Sep 8 16:39:23 2016 -0400

    Add vsClean.cmd to vs2010.zip

commit 4b96fdf1c551260da60eb021f324bcc3fcfec626
Author: Jeffrey Walton <noloader@gmail.com>
Date:   Thu Sep 8 16:15:38 2016 -0400

    Add Keccak to vs2010.zip

commit 3962db73b7113ee805b46a5bb4da64e204fe6bb0
Author: Jeffrey Walton <noloader@gmail.com>
Date:   Thu Sep 8 15:40:35 2016 -0400

    Fold hmqv.cpp and fhmqv.cpp into mqv.cpp. There's no need for three empty source files

commit 44401448cbb6c8125b0f1ab4419c5b174408ffd7
Author: Jeffrey Walton <noloader@gmail.com>
Date:   Thu Sep 8 15:39:23 2016 -0400

    Fold hmqv.cpp and fhmqv.cpp into mqv.cpp. There's no need for three empty source files

commit 847bfccb8d5c388e67745dc8c69768fa503c5135
Author: Jeffrey Walton <noloader@gmail.com>
Date:   Thu Sep 8 14:48:02 2016 -0400

    Whitespace cleanup

commit 46a37be6fef361704dcf852bc9a099ce0a1da4c8
Merge: aefb8f8 3697867
Author: Jeffrey Walton <noloader@gmail.com>
Date:   Thu Sep 8 14:43:01 2016 -0400

    Merge 'master' into 'keccak'

commit aefb8f8ff2b81b967089c53b457a92fc6f7544d6
Merge: 51a828b 3c91d93
Author: Jeffrey Walton <noloader@gmail.com>
Date:   Thu Sep 8 12:39:51 2016 -0400

    Merge 'master' into 'keccak'

commit 51a828b88e37a4d18abb00300cd5522bd0e110c5
Merge: 4152870 e7c7722
Author: Jeffrey Walton <noloader@gmail.com>
Date:   Thu Sep 8 10:41:36 2016 -0400

    Merge 'master' into 'keccak'

commit 415287041e69ddadf5ca1f6fc794b87e145fc2db
Merge: 357a0c5 83ac849
Author: Jeffrey Walton <noloader@gmail.com>
Date:   Thu Sep 8 10:34:45 2016 -0400

    Merge 'master' into 'keccak'

commit 357a0c510f75e4e58078b500dd469462e90f7650
Author: Jeffrey Walton <noloader@gmail.com>
Date:   Thu Sep 8 10:13:32 2016 -0400

    Removed deprecated warning from SHA3 classes

commit 5cf9ec10d53b895b5a583e265e4e1298ed402195
Merge: 10ce0ed c2d60cc
Author: Jeffrey Walton <noloader@gmail.com>
Date:   Thu Sep 8 09:43:15 2016 -0400

    Merge 'master' into 'keccak'

commit 10ce0ed4c5b8a1ea230062fd2dfdec0d87ec5b42
Author: Jeffrey Walton <noloader@gmail.com>
Date:   Thu Sep 8 09:37:40 2016 -0400

    Add Keccak implementation based on early SHA3. Change SHA3 to NIST FIPS 202 conforming implementation
2016-09-08 20:24:25 -04:00
..
Readme.txt Whitespace cleanup in test vectors and data files 2016-07-19 01:13:26 -04:00
aes.txt Cleared issues 11,12,13 (Clang integrated assembler), 58 (RC rollup), 66 (Coverity rollup) 2015-11-18 15:34:27 -05:00
all.txt Squashed commit of the following: 2016-09-08 20:24:25 -04:00
blake2.txt Added BLAKE2 Cryptographic Hash and Message Authentication Code 2016-04-17 03:06:28 -04:00
blake2b.txt Added BLAKE2 Cryptographic Hash and Message Authentication Code 2016-04-17 03:06:28 -04:00
blake2s.txt Added BLAKE2 Cryptographic Hash and Message Authentication Code 2016-04-17 03:06:28 -04:00
camellia.txt Cleared issues 11,12,13 (Clang integrated assembler), 58 (RC rollup), 66 (Coverity rollup) 2015-11-18 15:34:27 -05:00
ccm.txt Whitespace cleanup in test vectors and data files 2016-07-19 01:13:26 -04:00
chacha.txt Add test vectors 2016-04-21 12:37:02 -04:00
cmac.txt Whitespace cleanup in test vectors and data files 2016-07-19 01:13:26 -04:00
dlies.txt Whitespace cleanup in test vectors and data files 2016-07-19 01:13:26 -04:00
dsa.txt Cleared issues 11,12,13 (Clang integrated assembler), 58 (RC rollup), 66 (Coverity rollup) 2015-11-18 15:34:27 -05:00
dsa_1363.txt Cleared issues 11,12,13 (Clang integrated assembler), 58 (RC rollup), 66 (Coverity rollup) 2015-11-18 15:34:27 -05:00
dsa_rfc6979.txt Added 2048-bit modulus tests 2016-04-10 16:41:32 -04:00
eax.txt - add EAX mode, XSalsa20 2009-03-12 11:24:12 +00:00
esign.txt Cleared issues 11,12,13 (Clang integrated assembler), 58 (RC rollup), 66 (Coverity rollup) 2015-11-18 15:34:27 -05:00
gcm.txt Whitespace cleanup in test vectors and data files 2016-07-19 01:13:26 -04:00
hkdf.txt Crypto++ 5.6.3 check-in 2015-11-22 19:17:15 -05:00
hmac.txt Cleared issues 11,12,13 (Clang integrated assembler), 58 (RC rollup), 66 (Coverity rollup) 2015-11-18 15:34:27 -05:00
keccak.txt Squashed commit of the following: 2016-09-08 20:24:25 -04:00
mars.txt Whitespace cleanup in test vectors and data files 2016-07-19 01:13:26 -04:00
nr.txt Cleared issues 11,12,13 (Clang integrated assembler), 58 (RC rollup), 66 (Coverity rollup) 2015-11-18 15:34:27 -05:00
panama.txt Cleared issues 11,12,13 (Clang integrated assembler), 58 (RC rollup), 66 (Coverity rollup) 2015-11-18 15:34:27 -05:00
rsa_oaep.txt Whitespace cleanup in test vectors and data files 2016-07-19 01:13:26 -04:00
rsa_pkcs1_1_5.txt Cleared issues 11,12,13 (Clang integrated assembler), 58 (RC rollup), 66 (Coverity rollup) 2015-11-18 15:34:27 -05:00
rsa_pss.txt Cleared issues 11,12,13 (Clang integrated assembler), 58 (RC rollup), 66 (Coverity rollup) 2015-11-18 15:34:27 -05:00
rw.txt Cleared issues 11,12,13 (Clang integrated assembler), 58 (RC rollup), 66 (Coverity rollup) 2015-11-18 15:34:27 -05:00
salsa.txt Cleared issues 11,12,13 (Clang integrated assembler), 58 (RC rollup), 66 (Coverity rollup) 2015-11-18 15:34:27 -05:00
seal.txt Cleared issues 11,12,13 (Clang integrated assembler), 58 (RC rollup), 66 (Coverity rollup) 2015-11-18 15:34:27 -05:00
seed.txt changes for 5.6: 2009-03-02 02:39:17 +00:00
sha.txt Cleared issues 11,12,13 (Clang integrated assembler), 58 (RC rollup), 66 (Coverity rollup) 2015-11-18 15:34:27 -05:00
sha3_224_fips_202.txt Squashed commit of the following: 2016-09-08 20:24:25 -04:00
sha3_256_fips_202.txt Squashed commit of the following: 2016-09-08 20:24:25 -04:00
sha3_384_fips_202.txt Squashed commit of the following: 2016-09-08 20:24:25 -04:00
sha3_512_fips_202.txt Squashed commit of the following: 2016-09-08 20:24:25 -04:00
sha3_fips_202.txt Add SHA3/FIPS 202 test vectors. Add note to config.h on uncommenting sha3_fips_202.txt when defining CRYPTOPP_USE_FIPS_202_SHA3 2016-04-23 21:55:47 -04:00
shacal2.txt Cleared issues 11,12,13 (Clang integrated assembler), 58 (RC rollup), 66 (Coverity rollup) 2015-11-18 15:34:27 -05:00
sosemanuk.txt Cleared issues 11,12,13 (Clang integrated assembler), 58 (RC rollup), 66 (Coverity rollup) 2015-11-18 15:34:27 -05:00
tea.txt Cleared issues 11,12,13 (Clang integrated assembler), 58 (RC rollup), 66 (Coverity rollup) 2015-11-18 15:34:27 -05:00
ttmac.txt Cleared issues 11,12,13 (Clang integrated assembler), 58 (RC rollup), 66 (Coverity rollup) 2015-11-18 15:34:27 -05:00
vmac.txt Cleared issues 11,12,13 (Clang integrated assembler), 58 (RC rollup), 66 (Coverity rollup) 2015-11-18 15:34:27 -05:00
wake.txt Cleared issues 11,12,13 (Clang integrated assembler), 58 (RC rollup), 66 (Coverity rollup) 2015-11-18 15:34:27 -05:00
whrlpool.txt Cleared issues 11,12,13 (Clang integrated assembler), 58 (RC rollup), 66 (Coverity rollup) 2015-11-18 15:34:27 -05:00

Readme.txt

This file contains invisible Unicode characters!

This file contains invisible Unicode characters that may be processed differently from what appears below. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to reveal hidden characters.

Test Data Format
================

A test data file is an ASCII text file composed of sections separated by
blank lines. Each section is stand-alone and independent of other
sections that may be in the same file, and contains one or more tests.

A section is composed of a sequence of fields. Each field is one or more
lines composed of a field name, followed by a colon (":"), followed by a
field body. All but the last line of a field must end with a backslash
("\"). If any line contains a hash mark ("#"), the hash mark and
everything after it on the same line is not considered part of the field
body.

Each section must contain fields named AlgorithmType, Name, Source, and
Test. The presence and semantics of other fields depend on the algorithm
being tested and the tests to be run.

Each section may contain more than one test and therefore more than one
field named Test. In that case the order of the fields is significant. A
test should always use the last field with any given name that occurs
before the Test field.

Data Types
==========

int - small integer (less than 2^32) in decimal representation
string - human readable string
encoded string - can be one of the following
	- quoted string: "message" means "message" without the quotes
	  or terminating '\0'
	- hex encoded string: 0x74657374 or 74657374 means "test"
	- repeated string: r100 "message" to repeat "message" 100 times, or
	  r256 0x0011 to repeat 0x0011 256 times

Field Types
===========

AlgorithmType - string, for example "Signature", "AsymmetricCipher",
    "SymmetricCipher", "MAC", "MessageDigest", or "KeyFactory"
Name - string, an algorithm name from SCAN
Test - string, identifies the test to run
Source - string, text explaining where the test data came from
Comment - string, other comments about the test data
KeyFormat - string, specifies the key format. "Component" here means
    each component of the key or key pair is specified separately as a name,
    value pair, with the names depending on the algorithm being tested.
    Otherwise the value names "Key", or "PublicKey" and "PrivateKey" are
    used.
Key - encoded string
PublicKey - encoded string
PrivateKey - encoded string
Modulus - the modulus when KeyFormat=Component
SubgroupOrder - the subgroup order when KeyFormat=Component
SubgroupGenerator - the subgroup generator when KeyFormat=Component
PublicElement - the public element when KeyFormat=Component
PrivateExponent - the private exponent when KeyFormat=Component
Message - encoded string, message to be signed or verified
Signature - encoded string, signature to be verified or compared with
Plaintext - encoded string
Ciphertext - encoded string
Header - encoded string
Footer - encoded string
DerivedKey - encoded string
DerivedLength - encoded string
Digest - encoded string
TruncatedSize - int, size of truncated digest in bytes
Seek - int, seek location for random access ciphers
(more to come here)

Possible Tests
==============

KeyPairValidAndConsistent - public and private keys are both valid and
consistent with each other
PublicKeyInvalid - public key validation should not pass
PrivateKeyInvalid - private key validation should not pass
Verify - signature/digest/MAC verification should pass
VerifyTruncated - truncated digest/MAC verification should pass
NotVerify - signature/digest/MAC verification should not pass
DeterministicSign - sign message using given seed, and the resulting
    signature should be equal to the given signature
DecryptMatch - ciphertext decrypts to plaintext

(more to come here)