December 2014
S M T W T F S
« Nov    
 123456
78910111213
14151617181920
21222324252627
28293031  

Recent Posts

XDiceLock 7.0.0.1 for Apple Mac OS X, IncreaseBase0IndexModifier_6_0_0_1 class (IncreaseBase0IndexModifier 6.0.0.1 key modifier) verified with Two byte key modification with propagation test set and PhysicalCryptoRandomStream class (memory pages kept in RAM, not swapped to file)

XDiceLock 7.0.0.1 for Apple Mac OS X is the cryptographic architecture that ensures that ciphertext it’s not just encrypted but also randomized.

DiceLock cipher architecture presents two main configurations:
Dicelock Digested, and
Dicelock Indexed.

DiceLock encryption architecture improves symmetric ciphers like block cipher as Advanced Encryption Standard (AES 128, AES 192 and AES 256) with different block cipher operation modes and stream ciphers as HC 128 and HC 256 and others.

DiceLock (both configurations) makes use of the following random number tests: Frequency Test, Block Frequency Test, Cumulative Sum Forward Test, Cumulative Sum Reverse Test, Runs Test, Longest Run Of Ones Test, Rank Test, Universal Test, Approximate Entropy Test, Serial Test and Discrete Fourier Transform Test.

Additionally DiceLock Digested configuration makes use currently of following hash digest algorithms: Sha 1, Sha 224, Sha 256, Sha 384, Sha 512, Ripemd 128, Ripemd 160, Ripemd 256 and Ripemd 320.

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 IncreaseBase0IndexModifier 6.0.0.1 class (computing IncreaseBase0IndexModifier 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.


Verified XDiceLock 7.0.0.1 for Apple Mac OS X

Verification components:

– Symmetric key modifier algorithm test: IncreaseBase0IndexModifier_6_0_0_1 class
– Bit stream memory management: PhysicalCryptoRandomStream class (memory pages kept in RAM, not swapped to file)

Memory characteristic used in 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: IncreaseBase0IndexModifier 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 IncreaseBase0IndexModifier 6.0.0.1 key modification has been applied once more to “original key”.
Next symmetric key: obtained symmetric key when IncreaseBase0IndexModifier 6.0.0.1 key modification has been applied once more.

Original key: 00 88 66 77
Symmetric key length in bytes: 4

Once computed we’ve got the following result:

Function call number Index Expected symmetric key Next computed symmetric key Result
1 01 00 00 01 88 66 77 01 88 66 77 OK
257 01 01 00 01 89 66 77 01 89 66 77 OK
513 01 02 00 01 8a 66 77 01 8a 66 77 OK
769 01 03 00 01 8b 66 77 01 8b 66 77 OK
1025 01 04 00 01 8c 66 77 01 8c 66 77 OK
1281 01 05 00 01 8d 66 77 01 8d 66 77 OK
1537 01 06 00 01 8e 66 77 01 8e 66 77 OK
1793 01 07 00 01 8f 66 77 01 8f 66 77 OK
2049 01 08 00 01 90 66 77 01 90 66 77 OK
2305 01 09 00 01 91 66 77 01 91 66 77 OK
2561 01 0a 00 01 92 66 77 01 92 66 77 OK
2817 01 0b 00 01 93 66 77 01 93 66 77 OK
3073 01 0c 00 01 94 66 77 01 94 66 77 OK
3329 01 0d 00 01 95 66 77 01 95 66 77 OK
3585 01 0e 00 01 96 66 77 01 96 66 77 OK
3841 01 0f 00 01 97 66 77 01 97 66 77 OK
4097 01 10 00 01 98 66 77 01 98 66 77 OK
4353 01 11 00 01 99 66 77 01 99 66 77 OK
4609 01 12 00 01 9a 66 77 01 9a 66 77 OK
4865 01 13 00 01 9b 66 77 01 9b 66 77 OK
5121 01 14 00 01 9c 66 77 01 9c 66 77 OK
5377 01 15 00 01 9d 66 77 01 9d 66 77 OK
5633 01 16 00 01 9e 66 77 01 9e 66 77 OK
5889 01 17 00 01 9f 66 77 01 9f 66 77 OK
6145 01 18 00 01 a0 66 77 01 a0 66 77 OK
6401 01 19 00 01 a1 66 77 01 a1 66 77 OK
6657 01 1a 00 01 a2 66 77 01 a2 66 77 OK
6913 01 1b 00 01 a3 66 77 01 a3 66 77 OK
7169 01 1c 00 01 a4 66 77 01 a4 66 77 OK
7425 01 1d 00 01 a5 66 77 01 a5 66 77 OK
7681 01 1e 00 01 a6 66 77 01 a6 66 77 OK
7937 01 1f 00 01 a7 66 77 01 a7 66 77 OK
8193 01 20 00 01 a8 66 77 01 a8 66 77 OK
8449 01 21 00 01 a9 66 77 01 a9 66 77 OK
8705 01 22 00 01 aa 66 77 01 aa 66 77 OK
8961 01 23 00 01 ab 66 77 01 ab 66 77 OK
9217 01 24 00 01 ac 66 77 01 ac 66 77 OK
9473 01 25 00 01 ad 66 77 01 ad 66 77 OK
9729 01 26 00 01 ae 66 77 01 ae 66 77 OK
9985 01 27 00 01 af 66 77 01 af 66 77 OK
10241 01 28 00 01 b0 66 77 01 b0 66 77 OK
10497 01 29 00 01 b1 66 77 01 b1 66 77 OK
10753 01 2a 00 01 b2 66 77 01 b2 66 77 OK
11009 01 2b 00 01 b3 66 77 01 b3 66 77 OK
11265 01 2c 00 01 b4 66 77 01 b4 66 77 OK
11521 01 2d 00 01 b5 66 77 01 b5 66 77 OK
11777 01 2e 00 01 b6 66 77 01 b6 66 77 OK
12033 01 2f 00 01 b7 66 77 01 b7 66 77 OK
12289 01 30 00 01 b8 66 77 01 b8 66 77 OK
12545 01 31 00 01 b9 66 77 01 b9 66 77 OK
12801 01 32 00 01 ba 66 77 01 ba 66 77 OK
13057 01 33 00 01 bb 66 77 01 bb 66 77 OK
13313 01 34 00 01 bc 66 77 01 bc 66 77 OK
13569 01 35 00 01 bd 66 77 01 bd 66 77 OK
13825 01 36 00 01 be 66 77 01 be 66 77 OK
14081 01 37 00 01 bf 66 77 01 bf 66 77 OK
14337 01 38 00 01 c0 66 77 01 c0 66 77 OK
14593 01 39 00 01 c1 66 77 01 c1 66 77 OK
14849 01 3a 00 01 c2 66 77 01 c2 66 77 OK
15105 01 3b 00 01 c3 66 77 01 c3 66 77 OK
15361 01 3c 00 01 c4 66 77 01 c4 66 77 OK
15617 01 3d 00 01 c5 66 77 01 c5 66 77 OK
15873 01 3e 00 01 c6 66 77 01 c6 66 77 OK
16129 01 3f 00 01 c7 66 77 01 c7 66 77 OK
16385 01 40 00 01 c8 66 77 01 c8 66 77 OK
16641 01 41 00 01 c9 66 77 01 c9 66 77 OK
16897 01 42 00 01 ca 66 77 01 ca 66 77 OK
17153 01 43 00 01 cb 66 77 01 cb 66 77 OK
17409 01 44 00 01 cc 66 77 01 cc 66 77 OK
17665 01 45 00 01 cd 66 77 01 cd 66 77 OK
17921 01 46 00 01 ce 66 77 01 ce 66 77 OK
18177 01 47 00 01 cf 66 77 01 cf 66 77 OK
18433 01 48 00 01 d0 66 77 01 d0 66 77 OK
18689 01 49 00 01 d1 66 77 01 d1 66 77 OK
18945 01 4a 00 01 d2 66 77 01 d2 66 77 OK
19201 01 4b 00 01 d3 66 77 01 d3 66 77 OK
19457 01 4c 00 01 d4 66 77 01 d4 66 77 OK
19713 01 4d 00 01 d5 66 77 01 d5 66 77 OK
19969 01 4e 00 01 d6 66 77 01 d6 66 77 OK
20225 01 4f 00 01 d7 66 77 01 d7 66 77 OK
20481 01 50 00 01 d8 66 77 01 d8 66 77 OK
20737 01 51 00 01 d9 66 77 01 d9 66 77 OK
20993 01 52 00 01 da 66 77 01 da 66 77 OK
21249 01 53 00 01 db 66 77 01 db 66 77 OK
21505 01 54 00 01 dc 66 77 01 dc 66 77 OK
21761 01 55 00 01 dd 66 77 01 dd 66 77 OK
22017 01 56 00 01 de 66 77 01 de 66 77 OK
22273 01 57 00 01 df 66 77 01 df 66 77 OK
22529 01 58 00 01 e0 66 77 01 e0 66 77 OK
22785 01 59 00 01 e1 66 77 01 e1 66 77 OK
23041 01 5a 00 01 e2 66 77 01 e2 66 77 OK
23297 01 5b 00 01 e3 66 77 01 e3 66 77 OK
23553 01 5c 00 01 e4 66 77 01 e4 66 77 OK
23809 01 5d 00 01 e5 66 77 01 e5 66 77 OK
24065 01 5e 00 01 e6 66 77 01 e6 66 77 OK
24321 01 5f 00 01 e7 66 77 01 e7 66 77 OK
24577 01 60 00 01 e8 66 77 01 e8 66 77 OK
24833 01 61 00 01 e9 66 77 01 e9 66 77 OK
25089 01 62 00 01 ea 66 77 01 ea 66 77 OK
25345 01 63 00 01 eb 66 77 01 eb 66 77 OK
25601 01 64 00 01 ec 66 77 01 ec 66 77 OK
25857 01 65 00 01 ed 66 77 01 ed 66 77 OK
26113 01 66 00 01 ee 66 77 01 ee 66 77 OK
26369 01 67 00 01 ef 66 77 01 ef 66 77 OK
26625 01 68 00 01 f0 66 77 01 f0 66 77 OK
26881 01 69 00 01 f1 66 77 01 f1 66 77 OK
27137 01 6a 00 01 f2 66 77 01 f2 66 77 OK
27393 01 6b 00 01 f3 66 77 01 f3 66 77 OK
27649 01 6c 00 01 f4 66 77 01 f4 66 77 OK
27905 01 6d 00 01 f5 66 77 01 f5 66 77 OK
28161 01 6e 00 01 f6 66 77 01 f6 66 77 OK
28417 01 6f 00 01 f7 66 77 01 f7 66 77 OK
28673 01 70 00 01 f8 66 77 01 f8 66 77 OK
28929 01 71 00 01 f9 66 77 01 f9 66 77 OK
29185 01 72 00 01 fa 66 77 01 fa 66 77 OK
29441 01 73 00 01 fb 66 77 01 fb 66 77 OK
29697 01 74 00 01 fc 66 77 01 fc 66 77 OK
29953 01 75 00 01 fd 66 77 01 fd 66 77 OK
30209 01 76 00 01 fe 66 77 01 fe 66 77 OK
30465 01 77 00 01 ff 66 77 01 ff 66 77 OK
30721 01 78 00 01 00 67 77 01 00 67 77 OK
30977 01 79 00 01 01 67 77 01 01 67 77 OK
31233 01 7a 00 01 02 67 77 01 02 67 77 OK
31489 01 7b 00 01 03 67 77 01 03 67 77 OK
31745 01 7c 00 01 04 67 77 01 04 67 77 OK
32001 01 7d 00 01 05 67 77 01 05 67 77 OK
32257 01 7e 00 01 06 67 77 01 06 67 77 OK
32513 01 7f 00 01 07 67 77 01 07 67 77 OK
32769 01 80 00 01 08 67 77 01 08 67 77 OK
33025 01 81 00 01 09 67 77 01 09 67 77 OK
33281 01 82 00 01 0a 67 77 01 0a 67 77 OK
33537 01 83 00 01 0b 67 77 01 0b 67 77 OK
33793 01 84 00 01 0c 67 77 01 0c 67 77 OK
34049 01 85 00 01 0d 67 77 01 0d 67 77 OK
34305 01 86 00 01 0e 67 77 01 0e 67 77 OK
34561 01 87 00 01 0f 67 77 01 0f 67 77 OK
34817 01 88 00 01 10 67 77 01 10 67 77 OK
35073 01 89 00 01 11 67 77 01 11 67 77 OK
35329 01 8a 00 01 12 67 77 01 12 67 77 OK
35585 01 8b 00 01 13 67 77 01 13 67 77 OK
35841 01 8c 00 01 14 67 77 01 14 67 77 OK
36097 01 8d 00 01 15 67 77 01 15 67 77 OK
36353 01 8e 00 01 16 67 77 01 16 67 77 OK
36609 01 8f 00 01 17 67 77 01 17 67 77 OK
36865 01 90 00 01 18 67 77 01 18 67 77 OK
37121 01 91 00 01 19 67 77 01 19 67 77 OK
37377 01 92 00 01 1a 67 77 01 1a 67 77 OK
37633 01 93 00 01 1b 67 77 01 1b 67 77 OK
37889 01 94 00 01 1c 67 77 01 1c 67 77 OK
38145 01 95 00 01 1d 67 77 01 1d 67 77 OK
38401 01 96 00 01 1e 67 77 01 1e 67 77 OK
38657 01 97 00 01 1f 67 77 01 1f 67 77 OK
38913 01 98 00 01 20 67 77 01 20 67 77 OK
39169 01 99 00 01 21 67 77 01 21 67 77 OK
39425 01 9a 00 01 22 67 77 01 22 67 77 OK
39681 01 9b 00 01 23 67 77 01 23 67 77 OK
39937 01 9c 00 01 24 67 77 01 24 67 77 OK
40193 01 9d 00 01 25 67 77 01 25 67 77 OK
40449 01 9e 00 01 26 67 77 01 26 67 77 OK
40705 01 9f 00 01 27 67 77 01 27 67 77 OK
40961 01 a0 00 01 28 67 77 01 28 67 77 OK
41217 01 a1 00 01 29 67 77 01 29 67 77 OK
41473 01 a2 00 01 2a 67 77 01 2a 67 77 OK
41729 01 a3 00 01 2b 67 77 01 2b 67 77 OK
41985 01 a4 00 01 2c 67 77 01 2c 67 77 OK
42241 01 a5 00 01 2d 67 77 01 2d 67 77 OK
42497 01 a6 00 01 2e 67 77 01 2e 67 77 OK
42753 01 a7 00 01 2f 67 77 01 2f 67 77 OK
43009 01 a8 00 01 30 67 77 01 30 67 77 OK
43265 01 a9 00 01 31 67 77 01 31 67 77 OK
43521 01 aa 00 01 32 67 77 01 32 67 77 OK
43777 01 ab 00 01 33 67 77 01 33 67 77 OK
44033 01 ac 00 01 34 67 77 01 34 67 77 OK
44289 01 ad 00 01 35 67 77 01 35 67 77 OK
44545 01 ae 00 01 36 67 77 01 36 67 77 OK
44801 01 af 00 01 37 67 77 01 37 67 77 OK
45057 01 b0 00 01 38 67 77 01 38 67 77 OK
45313 01 b1 00 01 39 67 77 01 39 67 77 OK
45569 01 b2 00 01 3a 67 77 01 3a 67 77 OK
45825 01 b3 00 01 3b 67 77 01 3b 67 77 OK
46081 01 b4 00 01 3c 67 77 01 3c 67 77 OK
46337 01 b5 00 01 3d 67 77 01 3d 67 77 OK
46593 01 b6 00 01 3e 67 77 01 3e 67 77 OK
46849 01 b7 00 01 3f 67 77 01 3f 67 77 OK
47105 01 b8 00 01 40 67 77 01 40 67 77 OK
47361 01 b9 00 01 41 67 77 01 41 67 77 OK
47617 01 ba 00 01 42 67 77 01 42 67 77 OK
47873 01 bb 00 01 43 67 77 01 43 67 77 OK
48129 01 bc 00 01 44 67 77 01 44 67 77 OK
48385 01 bd 00 01 45 67 77 01 45 67 77 OK
48641 01 be 00 01 46 67 77 01 46 67 77 OK
48897 01 bf 00 01 47 67 77 01 47 67 77 OK
49153 01 c0 00 01 48 67 77 01 48 67 77 OK
49409 01 c1 00 01 49 67 77 01 49 67 77 OK
49665 01 c2 00 01 4a 67 77 01 4a 67 77 OK
49921 01 c3 00 01 4b 67 77 01 4b 67 77 OK
50177 01 c4 00 01 4c 67 77 01 4c 67 77 OK
50433 01 c5 00 01 4d 67 77 01 4d 67 77 OK
50689 01 c6 00 01 4e 67 77 01 4e 67 77 OK
50945 01 c7 00 01 4f 67 77 01 4f 67 77 OK
51201 01 c8 00 01 50 67 77 01 50 67 77 OK
51457 01 c9 00 01 51 67 77 01 51 67 77 OK
51713 01 ca 00 01 52 67 77 01 52 67 77 OK
51969 01 cb 00 01 53 67 77 01 53 67 77 OK
52225 01 cc 00 01 54 67 77 01 54 67 77 OK
52481 01 cd 00 01 55 67 77 01 55 67 77 OK
52737 01 ce 00 01 56 67 77 01 56 67 77 OK
52993 01 cf 00 01 57 67 77 01 57 67 77 OK
53249 01 d0 00 01 58 67 77 01 58 67 77 OK
53505 01 d1 00 01 59 67 77 01 59 67 77 OK
53761 01 d2 00 01 5a 67 77 01 5a 67 77 OK
54017 01 d3 00 01 5b 67 77 01 5b 67 77 OK
54273 01 d4 00 01 5c 67 77 01 5c 67 77 OK
54529 01 d5 00 01 5d 67 77 01 5d 67 77 OK
54785 01 d6 00 01 5e 67 77 01 5e 67 77 OK
55041 01 d7 00 01 5f 67 77 01 5f 67 77 OK
55297 01 d8 00 01 60 67 77 01 60 67 77 OK
55553 01 d9 00 01 61 67 77 01 61 67 77 OK
55809 01 da 00 01 62 67 77 01 62 67 77 OK
56065 01 db 00 01 63 67 77 01 63 67 77 OK
56321 01 dc 00 01 64 67 77 01 64 67 77 OK
56577 01 dd 00 01 65 67 77 01 65 67 77 OK
56833 01 de 00 01 66 67 77 01 66 67 77 OK
57089 01 df 00 01 67 67 77 01 67 67 77 OK
57345 01 e0 00 01 68 67 77 01 68 67 77 OK
57601 01 e1 00 01 69 67 77 01 69 67 77 OK
57857 01 e2 00 01 6a 67 77 01 6a 67 77 OK
58113 01 e3 00 01 6b 67 77 01 6b 67 77 OK
58369 01 e4 00 01 6c 67 77 01 6c 67 77 OK
58625 01 e5 00 01 6d 67 77 01 6d 67 77 OK
58881 01 e6 00 01 6e 67 77 01 6e 67 77 OK
59137 01 e7 00 01 6f 67 77 01 6f 67 77 OK
59393 01 e8 00 01 70 67 77 01 70 67 77 OK
59649 01 e9 00 01 71 67 77 01 71 67 77 OK
59905 01 ea 00 01 72 67 77 01 72 67 77 OK
60161 01 eb 00 01 73 67 77 01 73 67 77 OK
60417 01 ec 00 01 74 67 77 01 74 67 77 OK
60673 01 ed 00 01 75 67 77 01 75 67 77 OK
60929 01 ee 00 01 76 67 77 01 76 67 77 OK
61185 01 ef 00 01 77 67 77 01 77 67 77 OK
61441 01 f0 00 01 78 67 77 01 78 67 77 OK
61697 01 f1 00 01 79 67 77 01 79 67 77 OK
61953 01 f2 00 01 7a 67 77 01 7a 67 77 OK
62209 01 f3 00 01 7b 67 77 01 7b 67 77 OK
62465 01 f4 00 01 7c 67 77 01 7c 67 77 OK
62721 01 f5 00 01 7d 67 77 01 7d 67 77 OK
62977 01 f6 00 01 7e 67 77 01 7e 67 77 OK
63233 01 f7 00 01 7f 67 77 01 7f 67 77 OK
63489 01 f8 00 01 80 67 77 01 80 67 77 OK
63745 01 f9 00 01 81 67 77 01 81 67 77 OK
64001 01 fa 00 01 82 67 77 01 82 67 77 OK
64257 01 fb 00 01 83 67 77 01 83 67 77 OK
64513 01 fc 00 01 84 67 77 01 84 67 77 OK
64769 01 fd 00 01 85 67 77 01 85 67 77 OK
65025 01 fe 00 01 86 67 77 01 86 67 77 OK
65281 01 ff 00 01 87 67 77 01 87 67 77 OK

XDiceLock 7.0.0.1 for Mac OS X C++ source code used in this test:

XDiceLock 7.0.0.1 for Mac OS X

DiceLockCipher.h
baseCryptoRandomStream.h
baseCryptoRandomStream.cpp (1)
baseCryptoRandomStream.cpp (2)
physicalCryptoRandomStream.h
physicalCryptoRandomStream.cpp
baseIndexModifier.h
baseIndexModifier.cpp
arithmeticFunctions.h
arithmeticFunctions.cpp
increaseBase0IndexModifier_6_0_0_1.h
increaseBase0IndexModifier_6_0_0_1.cpp



So, DiceLock cipher test and analysis can go on …

DiceLock is a trademark or registered trademark of his owner where applies. DiceLock research is the research to implement Self-corrector randomisation-encryption and method, european patent EP1182777 granted 08/21/2003 and US patent US7508945 granted 03/24/2009.

Leave a Reply