ext-cryptopp/TestVectors
2018-12-15 04:24:30 -05: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 Add HC-256 stream cipher (GH #680) 2018-07-05 06:43:04 -04:00
aria.txt Add ARIA test vectors from RFC 5794 2017-04-13 16:00:59 -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_tls.txt Add Test vectors and data to VS project files 2018-12-15 04:24:30 -05:00
chacha.txt Add additional test vectors 2018-11-04 20:05:08 -05:00
cham.txt Add additional CHAM test vectors (PR #670) 2018-06-19 17:09:43 -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_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 Group DSA-RFC6979 tests together by hash value 2017-04-15 09:03:22 -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
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
hc128.txt Update comments 2018-07-05 22:42:17 -04:00
hc256.txt Add HC-256 stream cipher (GH #680) 2018-07-05 06:43:04 -04:00
hight.txt Fix copy/paste error 2018-06-25 15:38:50 -04:00
hkdf.txt Add KeyDerivationFunction interface (GH #610, PR #611) 2018-03-29 20:18:27 -04: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
kalyna.txt Convert Kalyna from variable block size (GH #535) 2018-01-18 20:26:10 -05:00
keccak.txt Squashed commit of the following: 2016-09-08 20:24:25 -04:00
lea.txt Add additional LEA test vectors (GH #669) 2018-06-23 17:58:12 -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
ocb.txt Add SPECK-64 and SPECK-128 lightweight block ciphers (GH #538) 2017-11-20 06:30:21 -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
rabbit.txt Update comments 2018-07-04 21:53:08 -04:00
Readme.txt Add ability to Seek64 in test framework (GH #732) 2018-11-04 14:21:54 -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 Whitespace check-in 2018-11-05 20:43:11 -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
sha1_160_fips_180.txt Add full NIST SHA test vector suite for use with 'cryptest.exe tv' 2016-12-01 12:57:15 -05:00
sha1_fips_180.txt Add full NIST SHA test vector suite for use with 'cryptest.exe tv' 2016-12-01 12:57:15 -05:00
sha2_224_fips_180.txt Add full NIST SHA test vector suite for use with 'cryptest.exe tv' 2016-12-01 12:57:15 -05:00
sha2_256_fips_180.txt Add full NIST SHA test vector suite for use with 'cryptest.exe tv' 2016-12-01 12:57:15 -05:00
sha2_384_fips_180.txt Add full NIST SHA test vector suite for use with 'cryptest.exe tv' 2016-12-01 12:57:15 -05:00
sha2_512_fips_180.txt Add full NIST SHA test vector suite for use with 'cryptest.exe tv' 2016-12-01 12:57:15 -05:00
sha2_fips_180.txt Add full NIST SHA test vector suite for use with 'cryptest.exe tv' 2016-12-01 12:57:15 -05:00
sha2.txt Add missing sha2 and sha3 test file names 2017-04-15 08:49:00 -04: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
sha3.txt Add missing sha2 and sha3 test file names 2017-04-15 08:49:00 -04: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
shacal2.txt Cleared issues 11,12,13 (Clang integrated assembler), 58 (RC rollup), 66 (Coverity rollup) 2015-11-18 15:34:27 -05:00
simeck.txt Add additional SIMECK tests (GH #675) 2018-06-30 09:48:09 -04:00
simon.txt Updated source comment 2018-02-20 00:01:23 -05:00
siphash.txt Add Aumasson and Bernstein's SipHash (Issue 348) 2016-12-17 03:58:36 -05:00
sm3.txt Add additional SM3 test vectors (GH #541) 2017-11-24 19:41:58 -05:00
sm4.txt Add additional SM3 test vectors 2017-11-24 00:40:18 -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
speck.txt Updated source comment 2018-02-20 00:01:23 -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
threefish.txt Remove variable block size for Threefish (GH #535) 2017-11-17 19:15:14 -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

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
==========

signed int - small integer (less than 2^32) in decimal representation
unsigned long - large integer (less than 2^64) convertible by strtoul or strtoull
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
BlockSize - encoded string, block size for vaiable block ciphers
Plaintext - encoded string
Ciphertext - encoded string
Header - encoded string
Footer - encoded string
Secret - encoded string, used by some key derivation functions
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
Seek64 - unsigned long, 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 equal the given signature
Encrypt - plaintext encrypts to ciphertext
DecryptMatch - ciphertext decrypts to plaintext
(more to come here)