Joomla! Joomla!

In this section you can find developed Test Vector Response Files used to verify the implementations of DiceLock 9.0.0.1 for Windows and Linux.

These test vectors are used with developed validation programs found in C++ Software Test Drivers of DiceLock 9.0.0.1 Windows section and C++ Software Test Drivers of DiceLock-x 9.0.0.1 Linux.

All test vectors are used with DiceLock 9.0.0.1 cipher architecture to verify compatibility, and they can be used to port DiceLock 9.0.0.1 to any other language (C, Java, Basic, etc) or operating system (OSX, iOS, Android, AIX, 64 bit systems or others) and to verify backward compatibility of any further development carried out in the future.

DiceLock cipher architecure presents multiple possible configurations, for this reason DiceLock implementation verification has been splitted into different sets.

This set selection is based on DiceLock main class options, DiceLockIndexed, DiceLockDigested, DiceLockIVIndexed, DiceLockIVDigested, DiceLockXTSIndexed and DiceLockXTSDigested for Windows and for Linux all of them.

DiceLock cipher architecture input response test vector files can be downloaded from different sources depending on verification subject:
DiceLock class Response test vector files
DiceLockIndexed DiceLockIndexed test vectors
DiceLockDigested DiceLockDigested test vectors
DiceLockIVIndexed DiceLockIVIndexed test vectors
DiceLockIVDigested DiceLockIVDigested test vectors
DiceLockXTSIndexed DiceLockXTSIndexed test vectors
DiceLockXTSDigested DiceLockXTSDigested test vectors

All test driver programs for Windows and for Linux make use of indicated response test vector files that must be included in './ResponseTests' folder and will generate corresponding output vector test files in './OutputTests' folder within the folder where specific verification driver program is located.

In order to clarify which options can be executed in verification test driver programs, the input test vector files that are going to be processed and the ouput test vector files that will be produced follow a logical notation.

Online guides clarify input and output test vector file naming and their content:
Response test vector file naming Input test vector file naming convention and clarification of content tests to be processed.
Output test vector file naming Output test vector file naming convention and clarification of content tests that will be produced.

Driver programs

These test vectors are input data files for the following DiceLock cipher architecture test driver programs:

  Windows Linux  
  CheckDiceLockIndexed CheckDiceLockIndexed-x  
  CheckDiceLockDigested CheckDiceLockDigested-x  
  CheckDiceLockIVIndexed-CBC CheckDiceLockIVIndexed-CBC-x  
  CheckDiceLockIVIndexed-CFB CheckDiceLockIVIndexed-CFB-x  
  CheckDiceLockIVIndexed-OFB CheckDiceLockIVIndexed-OFB-x  
  CheckDiceLockIVIndexed-noOM CheckDiceLockIVIndexed-noOM-x  
  CheckDiceLockIVDigested-CBC CheckDiceLockIVDigested-CBC-x  
  CheckDiceLockIVDigested-CFB CheckDiceLockIVDigested-CFB-x  
  CheckDiceLockIVDigested-OFB CheckDiceLockIVDigested-OFB-x  
  CheckDiceLockIVDigested-noOM CheckDiceLockIVDigested-noOM-x  
  CheckDiceLockXTSIndexedFull CheckDiceLockXTSIndexedFull-x  
  CheckDiceLockXTSIndexedSector CheckDiceLockXTSIndexedSector-x  
  CheckDiceLockXTSDigestedFull CheckDiceLockXTSDigestedFull-x  
  CheckDiceLockXTSDigestedSector CheckDiceLockXTSDigestedSector-x  

HOW TO check verification of all output test files generated with mentioned driver programs

- Individual test comparison for each test is done over:

  • • full or partial test vector ciphertext against corresponding full or partial computed ciphertext,
  • • full plaintext against full computed decipheredtext,
  • • matching number of reciphers in test vector against computed number of reciphers,

individual test comparison output for each element has two possible values:

  • • matching values are pointed out with "-----OK-----" string, and
  • • non matching values are pointed out with "@@@-ERROR-@@@" string.

- Full response file verification is done over:

  • • comparing test vector response file ending Sha1 digest value (harcoded hash of all test symmetric keys, plaintexts, ciphertexts and decipheredtexts) against computed Sha1 digest value (includes hash of all test computed symmetric keys, plaintexts, ciphertexts and decipheredtexts) ,

full test comparison output has two possible values:

  • • matching sha1 digest value is pointed out with "---SHA1OK---" string, and
  • • non matching sha1 digest value is pointed out with "@@@-ERROR-@@@" string.

Fast verification

Fast output verification of all performed tests in './OutputTests' (if it only stores these kind of files):

  • • search for "-----OK-----" in content files to see that all files has any correct verification (matching number of files to all files in folder),
  • • search for "@@@-ERROR-@@@" in content files to see that there is no one wrong execution (number of matching files in folder must be 0),
  • • search for "---SHA1OK---" in content files to see that there is no one wrong output execution (number of matching files in folder must match number of output test files in folder).