Joomla! Joomla!

DiceLock cipher architecture in order to generate encrypted-randomized sequences modifies if it is necessary the symmetric encryption key that is used to perform the encryption and decryption. Two main intial methods have been established to achieve such result:

Direct Key Modifier
Provide such symmetric encryption key to a function that returns directly a different value. For DiceLock implementation and to perform correctly encryption-randomization and corresponding correct decryption, such function must be supplied in the decryption process and must act deterministically in the same way.
By Index Key Modifier
Modify symmetric encryption key based on an index. For DiceLock implementation and to perform correctly encryption-randomization and corresponding correct decryption, such index must be supplied in the encrypted-randomized text sequence cause in decryption process that index can be applied to initial symmetric encryption key to get the correct plaintext.

These two kinds of encryption symmetric key modifiers can be used in these corresponding DiceLock cipher architecture classes:

Direct Key Modifier
  DiceLockDigested
DiceLockIVDigested
DiceLockXTSDigested
By Index Key Modifier
  DiceLockIndexed
DiceLockIVIndexed
DiceLockXTSIndexed

Test driver programs have been developed for Windows and Linux operating systems to verify that DiceLock cipher architecture has been implemented correctly and works as expected. These driver programs can be found at:

DiceLock 9.0.0.1 Windows - C++ Software Test Drivers   Set of Windows programs to verify that DiceLock cipher architecture implementation works as expected with common Known Test Vectors.
DiceLock 9.0.0.1 Linux - C++ Software Test Drivers   Set of Linux programs to verify that DiceLock cipher architecture implementation works as expected with common Known Test Vectors.

As DiceLock depends on previously mentioned encryption symmetric key modifer algorithms, the first step that must be performed is to check that all those algorithms are correctly implemented and perform as expected.

Test driver programs to verify encryption symmetric key modifer algorithms implemented and used by DiceLock cipher architecture are:
CheckDiceLockKeyModifiers for Windows   Windows program to verify DiceLock cipher implementation of encryption symmetric key modification.
CheckDiceLockKeyModifiers-x for Linux   Linux program to verify DiceLock cipher implementation of encryption symmetric key modification.

Unlike test driver programs addressed to verify proper DiceLock cipher architecture which rely on test vector input files, symmetric key modifer algorithm verification does not rely in this kind of input data.

Symmetric key modifer algorithm verification is performed over a limited set of input data and expected results for each verified algorithm. CheckDiceLockKeyModifiers and CheckDiceLockKeyModifiers-x implements encryption symmetric key modifer algorithm verification based on hardcoded test data (test data is inserted in C++ source code program).

The expected results that will be returned for each one of evaluated encryption symmetric key modifier tests are those specified individually in the following pages:

 
Direct Key Modifier tests
By Index Key Modifier tests
 

CheckDiceLockKeyModifiers and CheckDiceLockKeyModifiers-x will generate corresponding output test files in './OutputTests' folder within the folder where specific verification driver program is located. These output test vector files allow to verify at any moment that the corresponding algorithm has generated the correct operations.

An 'OK' string is inserted following each individual test if harcoded expected result matches computed result, and a '@@@-ERROR-@@@' string otherwise.

Each output test vector file will be generated twice if the relevant options are selected to execute the two kinds of data memory that may be used (memory that can be swapped to file - DefaultCryptoRandomStream - or memory locked in RAM - PhysicalCryptoRandomStream -).