DiceLockIVIndexedNoOMCheck is a C++ program to verify that DiceLockIVIndexed class implementing one of DiceLock different architectures is working as expected.

DiceLockIVIndexed class is the class that implements DiceLock architecture with the following characteristics:
– base encryption cipher/decipher is any symmetric cipher (stream cipher or block cipher operation mode) working with symmetric key, and initialization vector (IV) are needed,
– ciphered index pointing symmetric key modification plus ciphertext is checked for random number test properties,
– any function that is able to change original symmetric key with new values generating index pointing out such modification,
– bit random number tests that can verify that encrypted ciphertext is at random.

Current algorithm classes that can be used with DiceLockIVIndexed architecture are:

While performing internal software quality assurance we have verified that DiceLockIVIndexedNoOMCheck in debug mode does not generate any memory leaks with any executed option.
Debug mode was run with the corresponding debugger and the C Run-Time Libraries (CRT) debug heap functions as well as with dump memory leak information function that can be obtained executing “_CrtDumpMemoryLeaks” statement before program ends execution.

In order to verify that DiceLockIVIndexed class is performing the following program has been used. Execution call must be:DiceLockIVIndexedNoOMCheck [stream cipher][key modifier][stream type] log_output_file, where the different values can be easily infered from source code.