As the new version XDiceLock 7.0.0.1 for Apple Mac OS X is developed, all individual components must be tested and verified, and in this article we verify DecreaseBase0IndexModifier 6.0.0.1 class (computing DecreaseBase0IndexModifier 6.0.0.1 symmetric key modifier algorithm).

Symmetric key modification is a crucial point of DiceLock architecture, cause determines which new key will be used in next re-encryption (if current encryption does not provide randomized ciphertext) of same plaintext in order to get a verified randomized-encrypted text sequence.

At the bottom of the post you can find C++ source code being used to perform this test.

PhysicalCryptoRandomStream class makes use of AWE (Address Windowing Extensions) that uses physical nonpaged memory, so memory is not swapped to hard disk.
In order to use PhysicalCryptoRandomStream class, which works with AWE it requires that “Lock Pages In Memory” Windows security setting policy permission must be granted in “Local Policy Settings” to the account executing the program, and in some versions the program must have “Run this program as an administrator” “Privilege Level” option checked.

In this test we set:

Original key: initial user symmetric key as usually known in cryptographic technology.Symmetric key length in bytes: symmetric key length.Function call number: DecreaseBase0IndexModifier 6.0.0.1 key modification call number.Index: index to apply to”original key” in order to get modified symmetric key.Expected symmetric key: next expected symmetric key when DecreaseBase0IndexModifier 6.0.0.1 key modification has been applied once more to “original key”.Next symmetric key: obtained symmetric key when DecreaseBase0IndexModifier 6.0.0.1 key modification has been applied once more.